✨✨ 欢迎大家来到贝蒂大讲堂✨✨
🎈🎈养成好习惯,先赞后看哦~🎈🎈
所属专栏:Linux学习
贝蒂的主页:Betty’s blog
1. tac指令
- 语法:
cat 文件
。- 功能: 反向查看目标文件的内容。
2. more指令
2.1 基本语法
- 语法:
more 选项 文件
。- 功能: 查看目标文件的内容。
之前我们谈到,cat
指令只适用于查看内容较少的文件,如果一个文件的数据量过多,我们就可以使用more
指令查看。首先我们可以通过以下脚本命令得到一个大文本new.c
:
cnt=0; while [ $cnt -le 1000 ]; do echo “hello $cnt”; let cnt++; done > new.c
然后我们more
指令打开该文件可以看见全屏的数据,按下回车可以查看下面的数据。
并且值得注意的是more
指令,无法进行上翻操作,并且more
指令在查看之前会先加载整个文件。
2.2 选项
-n
:对输出的所有行编号
q
:退出more
3. less指令
3.1 基本语法
- 语法:
less 选项 文件
。- 功能: 既有查看目标文件的内容的功能,又有搜索功能。
与more
指令不同的是,less
指令可以进行上翻操作,并且less
指令在查看之前不会先加载整个文件。
然后我们可以通过↑
键查看以前数据,↓
键查看之后数据。
3.2 选项
-i
:忽略搜索时的大小写。-N
:显示每行的行号。/字符串
:向下搜索“字符串”的功能。?字符串
: 向上搜索“字符串”的功能。n
:重复前一个搜索(与/或?有关)。N
:反向重复前一个搜索·(与/或?有关)。
4. head指令
- 语法:
head 选项 文件
。- 功能: 用于显示文件的开头至标准输出中,默认
head
指令打印其相应文件的开头10行。
其中如果选择-n
就可以后面指定输出行数。
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. 时间相关指令
7.1 显示时间
- 语法:
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
7.2 时间戳
时间戳,是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数(不考虑闰秒),用于表示一个时间点。然而,这种格式对于人类阅读并不友好,因此需要转换成可读的日期和时间格式。
我们通过date+%s
指令获取当前的时间戳
然后我们可以通过date -d@时间戳
转换为正常时间。
7.3 设定时间
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指令
8.1 基本语法
- 语法:
cal 选项 月份 年份
。- 功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。
8.2 选项
-3
显示系统前一个月,当前月,下一个月的月历。-j
显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。-y
显示当前年份的日历。
9. sort指令
- 语法:
sort 选项 文件
。- 功能:可以对文本内容进行排序,排序规则其实是比较每行数据第一个字母的
ASCII
码值(相同比较后面的),默认升序。
如果想降序,可以带一个选项-r
。
10. uniq指令
- 语法:
uniq 文件
。- 功能:以对文件内容进行去重。
11. find指令
11.1 基本语法
- 语法:
find 路径 选项 …
- 功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。
11.2 选项
-name
按照文件名查找文件。-size
按照文件大小查找文件。
其中查找大小时,+
代表大于,-
代表小于,没有任何符号代码等于。
12. which指令
- 语法:
which 指令
- 功能: 用于查找某一指令的程序文件所在路径。
13. whereis指令
- 语法:
whereis 文件
- 功能:会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
14. alias指令
- 语法:
alias 别名=‘原名’
- 功能: 可以用于给指令取别名。
如果一个指令太长,我们就可以给它取一个别名。比如说ls -a -l -i -n
。
15. grep指令
15.1 基本语法
- 语法:
grep 选项 搜寻字符串 文件
。- 功能: 在文件中搜索字符串,将找到的行打印出来。
15.2 选项
-i
:忽略大小写进行查找。-n
:输出行号。-v
:反向选择,显示出没有待搜索字符串的行。
16. zip与unzip指令
如果系统内没有该指令,需要手动安装:
yum -y install zip
yum -y install unzip
- 语法:
zip 选项 压缩文件.zip 待打包目录或文件
。- 功能: 将目录或文件打包压缩成
zip
格式。
-r
选项递归处理,将指定目录下的所有文件和子目录一并处理。
- 语法:
unzip 压缩文件.zip 选项 目录
。- 功能: 将压缩文件解压到指定目录当中。
解压文件时若不带-d
选项和目标目录,则默认解压到当前目录下。
17. tar指令
17.1 基本语法
tar
指令也可以用来打包压缩和解压文件,并且可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。
语法:
tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。
17.2 选项
-c
:建立一个压缩文件的参数指令。-x
:解开一个压缩文件的参数指令。-t
:查看tarfile
里面的文件。-z
:是否同时具有gzip
属性?即是否需要用gzip
压缩?-j
:是否同时具有bzip2
属性?即是否需要用bzip2
压缩?-v
:压缩的过程中显示文件(常用)。-f
:使用档名,请留意,在f
之后要立即接文档名,不要再加参数。-C
:解压到指定目录。
我们也可以不解压,直接查看里面内容:
18. file指令
- 语法:
file 文件
。- 功能: 查看文件的更多属性信息。
19. bc指令
- 语法:
bc
- 功能: 打开计算器,进行运算。
20. uname指令
20.1 基本语法
- 语法:
uname 选项
。- 功能: 用于获取电脑和操作系统的相关信息。
20.2 选项
-r
:输出电脑和操作系统相关信息。-a
详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
21 . shutdown指令
- 语法:
shutdown 选项
。- 功能:关闭计算机,并且所有关机指令只能由
root
用户执行。
选项:
-h
:将系统的服务停掉后,立即关机。-r
:将系统的服务停掉之后就重新启动。-t sec
:经过sec
秒后关机。
22. historty指令
- 语法:
history
。- 功能:查看历史命令。
23. 几个常用的快捷键
Ctrl+D
:退出当前命令行。Ctrl+C
:让当前程序停掉(终止失控程序)。Tab
:命令补全和档案补齐。