【Linux】常用命令二
声明:以下内容均学习自《Linux就该这么学》一书。
1、cat
用于查看内容较少的纯文本文件。
参数-n可以显示行号。
2、more
用于查看内容较多的纯文本文件。
它会在最下面使用百分比的形式来提示你已经月读了多少内容,你可以使用空格键或回车键向下翻页。
3、head
用于查看纯文本文档的前N行。
4、tail
用于查看纯文本文档的后N行和持续刷新内容。
tail -f
实时查看持续刷新的文件的内容.
5、tr
用于替换文本文件中的字符。格式:tr 原字符 新字符
可以配合cat命令进行替换操作,如:cat 2024-11-30-log.log | tr [a-z] [A-Z]
6、wc
用于统计指定文本的行数、字数、字节数。
wc -l:只显示行数
wc -w:只显示单词数
wc -c:只显示字节数
也可以任意组合参数一起使用,如wc -lw
7、stat
用于查看文件的具体存储信息和时间等信息。
8、cut
用于按列提取文本字符。需要使用 -f 参数设置需要看的列数和 -d 参数设置间隔符号。
如下示例表示按照冒号分割,然后提取第一列的内容。
9、diff
用于比较多个文本文件的差异。
diff --brief:显示比较后的结果
diff -c:描述文件内容的具体不同之处。
10、touch
用于创建空白文件或设置文件的时间。
对touch命令来说,有难度的操作主要是设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)。
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
以下示例为修改文件时间:把修改后的文件时间设置成修改之前的时间(很多黑客就是这样做的)
11、mkdir
用于创建空白目录。
结合 -p 参数创建嵌套层目录,如:mkdir -p /test/ln/2024
12、cp
用于复制文件或目录。
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 等同于-pdr三者的共同作用 |
13、mv
用于剪切文件或将文件重命名。
如果在同一个目录中对一个文件进行剪切操作,其实就是对其进行重命名。
14、rm
用于删除文件或目录。
rm -f:强制删除(不会让你反复确认“是否删除”)
rm -r:删除目录。
15、dd
用于按照指定大小和个数的数据块来复制文件或转换文件;也可以在复制过程中转换其中的数据。
它也可以把光驱设备中的光盘制作成可立即使用的iso格式的镜像文件。
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数。 |
16、file
用于查看文件的类型。
17、tar
用于对文件进行打包压缩或解压。
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-P | 保留原始的权限与属性 |
-p | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
18、grep
用于在文本中执行关键词搜索,并显示匹配的结果。
-b | 将可执行文件(binary)当做文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——列出没有关键词的行 |
19、find
用于按照指定条件来查找文件
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n:n天以内,+n:n天以前) |
-atime -n +n | 匹配访问文件的时间(-n:n天以内,+n:n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n:n天以内,+n:n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec | 用于把find命令搜索到的结果交由紧随其后的命令做进一步处理 |
19、alias、unalias
用于创建一个属于自己的命令别名。理解为给某个人起了一个外号,当你叫这个外号时指的还是这个人。
# 将‘rm -f’命令起个别名为rm, 执行rm时就相当于执行rm -f
alias rm='rm -f'# 取消命令别名
unalias rm
20、type
用来判断用户输入的命令是内部命令还是外部命令:type 命令名称
内部命令是Bash解释器内部的指令,会被直接执行;但绝大部分输入的都是外部命令。