Linux相关知识点可以通过点击以下链接举行学习一起加油!初识指令 让我们继续踏上Linux学习之旅!在这篇文章中,我将连续上篇内容,深入解说一些基础指令。欢迎各人观看!
一、输出输入指令
1.1 cat指令
【语法】:cat [选项] [文件]
【功能】:查找目标文件的内容,跟打印一样
【常用选项】:
- -b 对非空输出行编号
- -n 对输出的全部行编号
- -s 不输出多行空行
【-s指令压缩空格】
【注意】:选项是可以多选项的
1.2 tac指令
同cat指令为查看目标文件的内容,不外是倒置查看
无论是cat指令还是tac指令,适用于查看短一些的小文件
1.3 echo指令
用于在终端显示一段文本或变量的值,也可以配合输出重定向用来创建文件向文件中写入内容
1.4 输出重定向 >
【输出重定向功能】:
- 原来应该显示在显示器上的数据,显示到文件中
- 清空文件、创建文件(每次举行重定向,都会清空文件后在写入文件内容)
- 创建一个空文件> file 清空一个文件>file
【Linux理念】
Linux中一切即文件,意味着Linux可以统一的方式举行文件/设备访问。利益就是可以让操作体系以统一的一套方案来管理全部软件。
【平凡文件 vs 显示器】
对于任何文件来讲,无非就是对文件举行读写文件操作
对于显示器设备->显示器文件->向显示器文件举行写入
1.5 追加重定向>>
不会清空文件内容在该基础上,追加输入内容。
1.6 输入重定向 <
原来应该从键盘文件中读取 ,改为从平凡的log.txt文件中读取
这两个虽然都能打印,但是本质不是一样的。
【重定向总结】
- 【输出重定向】:command > filename
- 【追加重定向】:command >> filename
- 【输入重定向】:command < filename
二、查看大文件指令
查看日志具有多方面的利益,尤其是在操作体系、应用程序或网络设备的管理和故障排除过程中。以下几个指令推荐利用来查看大文本(日志)
【创建大文件】 (具体细节先不管)
# i=1; while [ $i -le 10000 ]; do echo "hello Linux $i"; let i++; done > big.txt
2.1 more指令
【语法】:more[选项] [文件]
【功能】: more命令功能类似cat,支持查找大文件
【常用选项】:
more可以打满一屏输出就停下来,让用户下翻逐行举行阅读,但是不适合利用大文本,比如查看日志,逐行查看会很废时间。
对于↑↓健一般没啥用,只能通过回车实行下翻,实在我们并不怎么推荐这个指令,更加推荐下一个指令
2.2 less指令
【语法】:less [参数] 文件
【功能】:less与more类似,但利用less可以随意欣赏文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
【常用选项】:
- [-i ]:忽略搜索时的巨细写
- [-N] :显示每行的行号
- [/]字符串:向下搜索“字符串”的功能
- [?]字符串:向上搜索“字符串”的功能
- [n]:重复前一个搜索(与 / 或 ? 有关)
- [N]:反向重复前一个搜索(与 / 或 ? 有关)
- [q] :quit退出
less工具也是对文件或其他输出举行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。差异于more只能向前面翻看,less更加具有弹性可以借助↑↓键查看一个文件的内容。
像这样子大文件,比如说日志,做好日志记载,也是很重要的,能帮助我们办理很多题目,就来程序来说,假如程序出现BUG,通过日志定位题目是一种高效的方法
【/与-i选项配合利用】
这里我们利用/和-i参数配合演示下,将忽略搜索时的巨细写和向下搜索“字符串”的功能配合起来。
- less -i filename
- 输入[ / ]举行字符串向下查找
2.3 head指令
【语法】:head [参数]… [文件]…
【功能】:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
【选项】:假如你想显示差异数量的行数,可以利用 -n 选项
2.4 tail指令
【语法】:tall [必要参数] [选择参数] [文件]
【功能】:默认tail命令打印其指定文件末端内容的末端10行。不指定文件按时,作为输入信息举行处理。常用查看日志文件
【选项】 :
- f 循环读取
- 假如你想显示差异数量的行数,可以利用 -n 选项
【题目:如何得到文件内容5000~5100行间的内容。】
那么我们可以借助head和tail指令配合-n实现,如下先创建一个文件tmp,将前5100行重定向输出到tmp文件,在对文件实行tail指令读取前后100个文件。
【这里存在一个致命的缺点】:它必要创建临时文件举行中转。那么简朴了解下管道的用法,在后继会详细介绍的。
利用管道在显示器上倒着打印5000~5100行内容。管道可以举行【多指令级联】,流水线作业,就是跟打连招一样。
三、时间相关指令
3.1 date指令
data 指定格式显示时间: date +%Y:%m:%d(留意下巨细写,[:]可以更换其他字符)
【date用法】: date +[OPTION]…[+FORMAT]
【显示格式】
1.在显示方面,利用者可以设定该显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
【常用标记】:
- [%H] : 小时(00…23)
- [%M] : 分钟(00…59)
- [%S] : 秒(00…61)
- [%X] : 相称于 %H:%M:%S
- [%d] : 日 (01…31)
- [%m ] : 月份 (01…12)
- [%Y] : 完整年份 (0000…9999)
- [%F] : 相称于 %Y-%m-%d
【设定时间】
2.在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他只能查看。
- date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 //设置具体时间,不会对日期做更改
- date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
- date -s “01:01:01 20080523″ //这样可以设置全部时间
- date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
- date -s “20080523 01:01:01″ //这样可以设置全部时间
【时间戳 】
3.时间戳 (单调递增的时间)
时间->时间戳: date +%s
时间戳->时间: date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从格林威治的1970年1月1日(UTC/GMT的午夜)开始所颠末的秒数,不考虑闰秒。至于从八点开始,由于我们利用的是北京时间,处于东八区处在时差。
3.2 Cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
【语法】: cal [参数] [月份] [年份]
【功能】:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
【常用选项】:
- -3 显示体系前一个月,当前月,下一个月的月历(连续三个月)
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日
在windows下自带查看日历的工具,假如在Linux想看下日历可以利用cal指令
四、查找文件指令
4.1 find 指令(非常重要)
【语法】: find pathname -options
【功能】:用于在文件树中查找文件,并作出相应的处理(大概访问磁盘)
【常用选项】: -name 安按照文件名查找文件,是真正的在体系的树形布局中举行文件查找
Linux下find命令提供了相称多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项值得我们花时间了解一下。
即使体系中含有网络文件体系(NFS),find命令在该文件体系中同样有效,只你具有相应的权限,在运行一个非常烧毁资源的find指令时,很多人都倾向于它放在配景实行,由于遍历一个大文件体系大概会花费很长的时间(这里是指30G字节以上的文件体系)。第二次是利用find查找指定目次比第一次查找会比力快。
【find指令利用】
这里具体运用,在当前目次及其子目次中查找名为"file1.txt"的文件
4.2 grep指令
【语法】:grep [选项] 搜查字符串 文件
【功能】:在文件中搜索字符串,将找到的行打印出来
【常用选项】:
- -i :忽略巨细写的差异,所以巨细写视为雷同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
五、打包与压缩指令
【打包和压缩是什么?】
比如你上学必要装东西,打包好比拿一个麻袋装起来,而压缩就是先把东西整理好再放进去。
【打包和压缩作用】
- 缩小体积,占据磁盘空间比力小,下载速率快
- 不会容易的丢失文件
- 便于网络传输
5.1 zip/unzip指令
【语法】:zip压缩文件[zip目次或文件]
【功能】:将目次或文件压缩成zip格式
【常用选项】:-r 递归处理,将指定目次下的所用文件和子目次一并处理
【场景利用】:zip/unzip举行对文件的压缩和解压操作
【出现空目次情况】:
对于压缩dir目次到解压dir目次中,导致解压出来一个空目次情况,是由于压缩dir目次时,没有利用-r递归处理,将指定目次下的全部文件和子目次一同压缩到.zip文件中。
在压缩过程中压缩文件可以取名,但是.zip后缀是固定的(差异压缩指令,有差异后缀),在解压到指定目次下,假如不存在该目次,会自动创建目次。
【通配符*利用】
假如必要将零散的文件全部压缩,这里可以利用通配符*会比力方便。
5.2 tar指令(重要):打包/解包 不打开直接查看内容
【语法】:tar [-cxtzjvf] 文件与目次 …参数
【常用选项】:
- [-t ]:查看 tarfile 里面的文件!
- [-z] :是否同时具有 gzip 的属性?亦即是否必要用 gzip 压缩?
- [-j ]:是否同时具有 bzip2 的属性?亦即是否必要用 bzip2 压缩?
- [-c ] :创建新的压缩包
- [-x] :解开一个压缩文件的参数指令
- [-z] : 对应在打包的时候,利用压缩算法来举行压缩,z就是压缩的意思
- [-f] :利用档名,请留意,在 f 之后要立即接档名喔!不要再加参数
- [-v] : 压缩的过程中显示文件!这个常用,但不建议用在配景实行过程
- [-C] : 解压到指定目次
这里通过常见的选项组合在一起利用,打包选项cvzf、解包选项xvzf
【案例】 (剩下指令有必要看):
- 范例一:将整个 /etc 目录下的文件全部打包成为 `/tmp/etc.tar`
- [root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
- [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
- [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
- 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
- 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
- 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
- 上述指令在执行的时候,会显示一个警告讯息:
- 『`tar: Removing leading `/" from member names`』那是关於绝对路径的特殊设定。
- 范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
- [root@linux ~]# tar -ztvf /tmp/etc.tar.gz
- 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!
- 范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
- [root@linux ~]# cd /usr/local/src
- [root@linux src]# tar -zxvf /tmp/etc.tar.gz
- 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
- 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
- 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
- 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
- 范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[root@linux ~]# cd /tmp
- [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
- 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
- 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
- 范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
- [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
- 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
- 范例六:在 /home 当中,比 2005/06/01 新的文件才备份
- [root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
- 范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
- [root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
- 范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
- [root@linux ~]# cd /tmp
- [root@linux tmp]# tar -cvf - /etc | tar -xvf -
- 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
- 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
- 这分别代表 standard output, standard input 与管线命令啦!
复制代码
按照上面的说法,这个压缩包用来便于网络传输的,那么这里我们操作两台Linux下举行信息的互传,必要利用rz和scp指令(这里仅当了解)
六、其他指令
6.1 bc指令
bc命令可以很方便的举行浮点运算(计算器)
6.2 uname -r指令
【语法】: uname [选项]
【功能】: uname用来获取电脑和操作体系的相关信息
【补充阐明】:uname可显示Linux主机所用的操作体系版本,硬件的名称的基本信息
【常用选项】:-a或–all 详细输出全部信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作体系名称 。(32位以下的软件可以兼容64位,但是64位上32位以下软件不能跑)
七、热键
- [Tab]按键—具有『命令补全』和『档案补齐』的功能
- [Ctrl]-c按键—让当前的程序『停掉』
- [Ctrl]-d按键—通常代表着:『键盘输入竣事(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
八、关机指令
【语法】: shutdown [选项]
【常见选项】:
- [-h] : 将体系的服务停掉后,立刻关机
- [-r ]: 在将体系服务停掉之后重新启动
- [-t sec ]: -t 背面加秒数,亦即『过几秒后关机』的意思
九、扩展命令
- 【安装和登录命令】: login、 shutdown、 halt、 reboot、 install、 mount、 umount、 chsh、 exit、 last;
- 【文件处理命令】: file、 mkdir、 grep、 dd、 find、 mv、 ls、 diff、 cat、 ln;
- 【 体系管理相关命令】: df、 top、 free、 quota、 at、 lp、 adduser、 groupadd、 kill、 crontab;
- 【 网络操作命令】: ifconfig、 ip、 ping、 netstat、 telnet、 ftp、 route、 rlogin、 rcp、 finger、 mail、 nslookup;
- 【体系安全相关命令】: passwd、 su、 umask、 chgrp、 chmod、 chown、 chattr、 sudo ps、 who;
- 【其它命令】: tar、 unzip、 gunzip、 unarj、 mtools、 man、 unendcode、 uudecode。
以上就是本篇文章的全部内容,在此感谢各人的观看!这里是Linux笔记,盼望对你在学习Linux旅途中有所帮助!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |