文章目录
1.tac
语法与功能
语法: cat 文件。
功能: 反向查看目标文件的内容。
2.more
语法与功能
语法: more 选项 文件。
功能: 查看目标文件的内容
由于cat只适用查看内容较少的文件,所以用more查看内容较多的文件。
使用这一脚本得到一个超大的文本
cnt=0; while [ $cnt -le 1000 ]; do echo “hello $cnt”; let cnt++; done > new.c
需要值得注意的是,more指令无法进行上翻操作,并且more指令在查看之前会先加载整个文件。
选项
-n:对输出的所有行编号
q:退出more
3.less
语法与功能
语法: less 选项 文件。
功能: 既有查看目标文件的内容的功能,又有搜索功能。
与more指令不同的是,less指令可以进行上翻操作,并且less指令在查看之前不会先加载整个文件。
使用滚轮或者↑↓键查看数据
选项
-i:忽略搜索时的大小写。
-N:显示每行的行号。
/字符串:向下搜索“字符串”的功能。
?字符串: 向上搜索“字符串”的功能。
n :重复前一个搜索(与/或?有关)。
N:反向重复前一个搜索·(与/或?有关)。
4.head
语法与功能
语法:head 选项 文件。
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。
5.tail
语法与功能
语法: tail 选项 文件。
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。
与head类似,其中如果选择-n就可以后面指定输出行数。
6.命令行管道
如果现在有一个文件new.c,里面有1000行数据,该如何获取第501~510行的数据呢?我们可以通过两行指令来获取:
首先将文件的前510行数据重定向进一个临时文件tmp
head -510 new.c > tmp.txt
然后使用tail指令截取最后10行数据
tail tmp.txt
但是这样操作就显得繁琐了,为了简化该操作,我们就可以使用Linux中的管道。管道是用于传输某种资源的,而计算机上面最重要的资源就是数据。在指令中管道用|来表示,管道左边接收产生的数据,右边读取数据。所以我们就可以将上述操作简化为:
head -510 new.c | tail
7.时间相关指令
显示时间
语法与功能
语法:date 选项 格式。
功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。
选项
%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
时间戳
时间戳,是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数(不考虑闰秒),用于表示一个时间点。然而,这种格式对于人类阅读并不友好,因此需要转换成可读的日期和时间格式。
我们通过date+%s指令获取当前的时间戳
然后我们可以通过date -d@时间戳转换为正常时间
设定时间
- date -s 设置当前时间,只有root用户才能设置,普通用户只能查看。date -s 20210725 将时间 设置为20210725,这样会将具体时间设置为空(00:00:00)。
- date -s 01:01:01 设置具体时间,不会对日期做更改。
- date -s “01:01:01 2021-07-25" 同时设置日期和具体时间。
- date -s “01:01:01 20210725” 同时设置日期和具体时间。
- date -s “2021-07-25 01:01:01” 同时设置日期和具体时间。
- date -s “2021072501:01:01” 同时设置日期和具体时间。
8.cal
语法与功能
语法:cal 选项 月份 年份。
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。
选项
-3 显示系统前一个月,当前月,下一个月的月历。
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。
-y 显示当前年份的日历。
9.sort
语法与功能
语法:sort 选项 文件。
功能:可以对文本内容进行排序,排序规则其实是比较每行数据第一个字母的ASCII码值(相同比较后面的),默认升序。
如果想降序,可以带一个选项-r
10.uniq
语法与功能
语法:uniq 文件。
功能:以对文件内容进行去重。
11.find
语法与功能
语法:find 路径 选项 …
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。
选项
-name按照文件名查找文件。
-size按照文件大小查找文件。
12.which
语法与功能
语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。
13.whereis
语法与功能
语法:whereis 文件
功能:会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
14.alias
功能与语法
语法: alias 别名=‘原名’
功能: 可以用于给指令取别名。
如果一个指令太长,我们就可以给它取一个别名。比如说ls -a -l -i -n
15.grep
语法与功能
语法: grep 选项 搜寻字符串 文件。
功能: 在文件中搜索字符串,将找到的行打印出来。
选项
-i:忽略大小写进行查找。
-n:输出行号。
-v:反向选择,显示出没有待搜索字符串的行。
16.zip与unzip
如果系统没有该指令,那就手动安装,centos和ubentu安装命令不一样
ubentu
sudo apt-get install zip
sudo apt-get install unzip
centos
yum -y install zip
yum -y install unzip
语法与功能
语法:zip 选项 压缩文件.zip 待打包目录或文件。
功能: 将目录或文件打包压缩成zip格式。语法: unzip 压缩文件.zip 选项 目录。
功能: 将压缩文件解压到指定目录当中。
选项
-r 选项递归处理,将指定目录下的所有文件和子目录一并处理。
解压文件时若不带-d选项和目标目录,则默认解压到当前目录下。
17.tar
tar指令也可以用来打包压缩和解压文件,并且可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。
语法与功能
语法: tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。
选项
-c:建立一个压缩文件的参数指令。
-x:解开一个压缩文件的参数指令。
-t:查看tarfile里面的文件。
-z:是否同时具有gzip属性?即是否需要用gzip压缩?
-j:是否同时具有bzip2属性?即是否需要用bzip2压缩?
-v:压缩的过程中显示文件(常用)。
-f:使用档名,请留意,在f之后要立即接文档名,不要再加参数。
-C:解压到指定目录。
18.file
语法与功能
语法: file 文件。
功能: 查看文件的更多属性信息。
19.bc
语法与功能
语法: bc
功能: 打开计算器,进行运算。
20.uname
功能与语法
语法: uname 选项。
功能: 用于获取电脑和操作系统的相关信息。
选项
-r:输出电脑和操作系统相关信息。
-a详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
21.shutdown
语法与功能
语法:shutdown 选项。
功能:关闭计算机,并且所有关机指令只能由root用户执行。
选项
-h:将系统的服务停掉后,立即关机。
-r:将系统的服务停掉之后就重新启动。
-t sec:经过sec秒后关机。
22.history
语法与功能
语法:history。
功能:查看历史命令。
23.常用快捷键
- Ctrl+D:退出当前命令行。
- Ctrl+C:让当前程序停掉(终止失控程序)。
- Tab:命令补全和档案补齐。