title: linux运维之道
date: 2021-03-24 11:23:36

tags:Linux

一、命令工具

1.1 基本命令

1.1.1 目录及文件的基本操作

1. pwd

描述:显示当前工作目录的名称

用法: pwd [选项]…

2. cd

描述:切换当前工作目录

1
2
3
cd ..  # 切换工作目录至当前目录的上一级目录
cd - # 返回前一个目录
cd # 切换工作目录至当前用户的家目录

3. ls

描述:显示目录与文件信息

用法:ls [选项]… [文件/目录]…

选项:

-a 显示所有,包括隐藏文件与目录。

-d 显示目录本身的信息,而非目录下的文档信息。

-h 人性化显示容量信息。

-l 长格式显示文档的详细信息。

-u 显示文件或目录最后被访问的时间。

-t 以修改时间顺序,ls命令默认是按文件名称排序的。

4. touch

描述:创建或修改文件时间

如果文件不存在则创建,如果已存在则更新文件所有的时间为当前系统时间

5. mkdir

描述:创建目录

用法: mkdir [选项]… [目录]…

选项:-p 创建多级目录

6. cp

描述:复制文件与目录

用法:cp [选项] 源 目标

选项:

-r 递归,复制子文件与子目录,一般复制目录时使用。

-a 复制时保留原文档的所有属性(包括权限、时间等)。

7. rm

描述:删除文件或目录

用法: rm [选项]… 文件…

选项:

-f 不提示,强制删除

-i 删除前,提示是否删除

-r 递归删除,删除目录以及目录下的所有内容

8. mv

描述:移动(重命名)文件或目录

9. find

描述:搜索文件或目录

用法:find [命令选项] [路径] [表达式选项]

选项:

-empty 查找空白文件或目录

-group 按组查找

-name 按文档名称查找

-iname 按文档名称查找且不区分大小写

-mtime 按修改时间查找

-size 按容量大小查找

-type 按文档类型查找,文件(f),目录(d),设备(b,c),连接(l)等。

-user 按用户查找

-exec 对找到的文档执行特定命令

-a 并且

-o 或者

1
2
3
4
5
6
7
8
9
10
11
find /root -name "*.log"  #查找/root目录下所有名称以.log结尾的文档
find / -empty # 查找计算机中所有的空文档
find / -group tom # 查找计算机中所属组为tom的文档
find / -mtime -3 # 查找计算机中所有3天内被修改过的文档
find / -mtime +4 # 查找计算机中所有4天前被修改过的文档
find / -mtime 2 # 查找计算机中两天前的当天被修改过的文档
find ./ -size +10M # 查找当天目录下大于10MB的文档
find ./ -type f # 查找当天目录下的所有普通文件
find / -user tom # 查找计算机中tom所拥有的所有文档
find ./ -size +1M -exec ls -l {} \; #查找大于1MB的文件后,列出文件的详细信息。
find / -size +1M -a -type f # 查找计算机中所有大于1MB的文件

10. du

描述:计算文件或目录的容量

用法:du [选项]… [文件或目录]…

选项:

-h 人性化展示容量信息

-a 查看所有目录以及文件的信息

-s 仅显示总容量

1.1.2 查看文件内容

1. cat

描述:查看文件内容

用法:cat [选项]… [文件]…

选项:

-b 显示行号,空白行不显示行号

-n 显示行号,包括空白行

2. more

描述:分页查看文件内容,通过空格键查看下一页,q键则退出查看

3. less

描述:分页查看文件内容,空格(下一页)、方向键(上下回翻)、q键(退出查看)

4. head

描述:查看文件头部内容,默认显示前10行

用法:head [选项]…[文件]…

选项:

-c nK 显示文件前nKB的内容

-n 显示文件前n行的内容

5. tail

描述:查看文件的尾部内容,默认显示文件的末尾10行

用法:tail [选项]… [文件]…

选项:

-c nK 显示文件末尾nKB的内容

-n 显示文件末尾n行的内容

-f 动态显示文件内容,常用于查看日志,按ctrl+c组合键退出

6. wc

描述:显示文件的行、单词与字节统计信息

用法:wc [选项]…[文件]…

选项:

-c 显示文件字节统计信息

-l 显示文件行数统计信息

-w 显示文件单词统计信息

7. grep

描述:查找关键词并打印匹配的行

用法:grep [选项] 匹配模式 [文件]

选项:

-i 忽略大小写

-v 取反匹配

-w 匹配单词

–color 显示颜色

1
2
3
4
5
grep th test.txt  # 在test.txt文件中过滤出包含th的行
grep --color th test.txt # 对匹配的关键词显示颜色
grep -i the test.txt # 过滤包含the的行(不区分大小写)
grep -w num test.txt # 过滤单词num(不过滤number)
grep -v the test.txt # 过滤不包含the关键词的行

8. 基本命令:echo

描述:显示一行指定的字符串

用法:echo [选项]…[字符串]…

选项:

-n 不输出换行,默认echo输出内容后会换行

-e 支持反斜线开始的转义字符,屏蔽反斜线后面字符的原本含义

1.1.3 连接文件

Linux中的连接文件不同于windows的快捷方式,linux的连接文件分为软链接与硬链接,软链接可以夸分区,但源文件不可删除,硬连接不可跨分区,但可以将源文件删除。

1. 软链接

1
2
3
ln -s /test/hello.txt /tmp/hi.txt  #创建文件软链接
ln -s /test/ /var/test #创建目录软链接
rm /test/hello.txt; cat /tmp/hi.txt #删除源后,链接无法使用

2. 硬链接

1
2
ln /test/hello.txt /test/hi.txt
rm /test/hello.txt #删除源文件后,链接文件仍可以正常使用

1.1.4 压缩与解压

1. gzip

描述:压缩与解压缩

用法:gzip [选项]…[文件名称]…

选项:-d 解压

1
2
gzip hello.txt  #文件压缩后名为hello.txt.gz
gzip -d hello.txt.gz #解压gz文件

2. bzip2

描述:压缩与解压缩

1
2
bzip2 hello.txt  # 文件压缩后名为hello.txt.bz2
bzip2 -d hello.txt.bz2 #解压bz2文件

提示:gzip与bzip2工具不可以直接对目录做打包压缩操作

3. tar

描述:打包与解包文件

用法:tar 模式 [选项] [路径]…

模式:

-c 创建打包文件

–delete 从打包文件中删除文件

-r 追加文件至打包文档

-t 列出打包文档的内容

-x 释放打包文件

选项:

-C 指定解压路径

-f 指定打包后的文件名称

-j 打包后通过bzip2格式压缩

–remove-files 打包后删除源文件

-z 打包后通过gzip格式压缩

1
2
3
4
5
6
7
8
9
10
11
tar -cf etc.tar /etc/ #将/etc/目录打包保存为etc.tar
tar -czf etc.tar.gz /etc/ #将/boot目录打包并压缩为etc.tar.gz
tar -cjf etc.tar.bz2 /tmp/ #将/tmp/目录打包并压缩为etc.tar.bz2
tar --delete etc/hosts -f etc.tar #从打包文档中删除文件hosts
tar -f etc.tar -r /root/ instal1.1og #追加文件至打包文档etc. tar中
tar -tf boot.tar.gz #查看打包文档中档案的信息
tar -tvf etc.tar #查看打包文档中档案的详细信息
tar -xzf boot.tar.gz #解压gz格式的打包文档至当前目录
tar -xjf etc.tar.bz2 #解压bz2格式的打包文档至当前目录
tar -xzf boot.tar.gz -C /tmp #指定解压路径为/tmp
tar -czfmess. tar.gz /vax/log/mesages --remove-files #打包压缩后删除源文件

1.1.5 命令使用技巧

  • 按tab键补齐命令或路径;如果命令不唯一,如通过键盘输入c,可连续按两次tab键,即可显示所有以c开头的命令
  • 键盘输入history可查看命令历史,然后痛过 :!序号, 即可调用命令;也可通过上下方向键翻阅历史命令
  • ctrl +l 或者clear清屏
  • which+ 命令找到常用命令的存储位置,如which find

1.1.6 帮助

1. man

描述:通过man(manual)手册文档可以帮助我们快速掌握命令用法

例如:man ls

注意: 空格键表示向下翻页,q键表示退出man手册,/关键字(如:/file)搜索需要的内容并通过按键盘上的n键来查看下一行匹配的行

2. info

描述:info信息与man手册内容类似,但info信息是模块化的,它通过链接显示不同的信息块,看起来有点类似于网页

例如:info ls

注意:n键进入下一信息块,P键进入上一信息块,U键返回上一层,空格键翻页,q键退出

3. help

描述:man手册与info信息的内容比较过,可以通过–help来获取简要信息

例如:ls –help