linux实用指令
帮助指令
1.man
查找函数的详细帮助文档,获得帮助信息
1  | man ls  | 
2.help
获得shell内置命令的帮助信息
1  | help cd  | 
文档目录类
1.pwd
显示当前工作目录的绝对路径
2.ls
显示目录或者文件
- 常用选项
 
- -a:显示当前目录的所有文件和目录,包括隐藏的
 - -l:以列表的方式显示信息
 - -al:以列表的方式显示信息
 
3.cd
切换到指定目录
常用选项
绝对路径/相对路径
1
21. 绝对路径:/home 即从根目录开始定位
2. 相对路径: ../home 从当前工作目录开始定位到需要的目录中去
- cd ~或者cd 回到自己的家目录
 - cd .. 回到当前目录的上一级目录
 
4.mkdir
创建目录
1  | mkdir /home/dog  | 
- 常用选项
 
- -p 创建多级目录用
1
mkdir -p /home/cat/cat1
 
5.rmdir
删除目录
1  | rmdir /home/dog  | 
- 说明
 
- 不能删除非空目录
 - 删除非空目录 则 rm -rf /home/cat
 
6.touch
创建空文件
1  | touch hello.txt  | 
- 说明
 
- 一次性创建多个文件 空格间隔
1
touch hello.txt hello1.txt
 
7.cp
拷贝到指定目录 -- cp [参数] 源目录 目标目录
- 常用选项
 
-r 递归拷贝文件夹
1
2
3cp -r aaa/ bbb/
cp -r hello.txt bbb/\cp 强制覆盖 当目标目录有同名文件强制覆盖操作
1
\cp -r aaa/ bbb/
- 说明
强制覆盖的时候,有同名的会覆盖不同名则会复制 
8.rm
删除文件或文件夹
- 常用选项
 
- -r:递归删除整个文件夹
 - -f:强制删除不提示
 
1  | rm -rf aaa/  | 
9.mv
移动文件目录或者重命名
1  | mv hello.txt good.txt 重命名  | 
- 说明
移动如果当前目录有这个文件则会认为是重命名
如果没有则认为是移动相当于windows中的剪切 
10.cat
查看文件内容
cat [选项] 文件名    
1  | cat -n /etc/profile | more  | 
- 常用选项
 
- -n :显示行号
 
- 说明
|more 分页显示 
11.more
基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本
- 常用选项
 
- 空格翻页
 - ctrl+b 向上滚动一屏
 - ctrl+f 向下滚动一屏
 - = 输出当前行号
 - :f 输出文件名和当前行号
 
12.less
跟more类似,但是并不是整个加载后显示,根据需要显示
1  | less book.txt  | 
- 常用选项
 
- 空格 向下翻页
 - pagedown /pageup 翻页
 - /字串 向下查找关键字
 - ?子串 向上查找关键字
 - q 退出文档
 
13.>指令和>>指令
> 输出重定向(覆盖)
>> 追加
- 基本语法
 
- ls -l>文件 (功能描述:列表中的内容写入文件a.txt中(覆盖写))
 - ls -al>>文件 (功能描述:列表中的内容追加到文件aa.txt的末尾)
 - cat 文件1>文件2 (将文件1的内容覆盖到文件2)
 - echo “内容”>>文件
 - cal > a.txt(覆盖)
 - cal >> a.txt(尾部追加)
14.echo
输出内容到控制台 
- 语法
echo [选项] 输出内容 - 应用实例
 
- 输出环境变量:echo $PATH
 - 输出hello world: echo hello word.
 
15.head
显示文件开头几行的内容
1  | head -n 5 hello.txt  | 
16.tail
用于输出文件尾部的几行
- 基本语法
 
- tail 文件 (功能:查看文件后10行内容)
 - tail -n 5 文件 (功能描述,查看文件后5行的内容)
 - tail -f 文件 (功能描述:实施追踪该文件所有更新)重点
 
17.ln
创建软连接,也叫符号链接,类似window中的快捷方式
- 基本语法
 
- ln -s [源文件或者目录][软链接名]
 
- 应用实例
 
- 创建root的软连接
1
ln -s /root linktoroot
 
- 注意
删除的时候一定不要加/ 例如linktoroot/
这样会把目录下的文件都删掉不是删除这个快捷方式 
18.history
查看执行过的历史命令
- 案例
 
查看所有历史指令
1
history
查看最后10条指令
1
history 10
执行历史第5条历史指令
1
!5
文件目录类
1.date
显示当前日期
- 参数
 
- date 显示时间信息 2019年 07月 24日 星期三 18:14:32 CST
 - date “+%Y-%m-%d” 2019-07-24
 - date -s “2018-11-11 11:22:22” 设置时间
2.cal
查看日历 
搜索查找类
1.find
- 语法
find [搜索范围] [选项] - 选项说明
 
- -name <查询方式>
 - -user<用户名>
 -size<文件大小>
按照文件名查找/home目录下的hello.txt文件
1
find /home -name hello.txt
按照拥有者查找/home目录下,用户名为root的文件
1
find /home -user root
查找整个linux系统下大于20兆的文件(+n大于 -n小于 n等于)
1
find / -size +20M
查找整个linux系统下.txt文件
1
find / -name *.txt
2.locate
快速定位文件路径
- 语法
locate 搜索文件 - 特别说明
在第一次运行之前,必须使用updatedb指令创建locate数据库 
1  | updatedb  | 
压缩解压类
1.grep指令和管道符 |
- 语法
grep [选项] 查找内容源文件 常用选项
- -n 显示匹配行及行号
 - -i 忽略字母大小写
 
- 案例
1.在hello.txt中查找yes所在行,并显示行号1
2
3cat hello.txt | grep -n yes
cat hello.txt | grep -i yes
cat hello.txt | grep -n -i yes 
2.gzip/gunzip
gzip 用于压缩文件 gunzip用于解压缩
- 语法
gzip 文件 (只能将文件压缩为gz)
gunzip 文件.gz 
1
2gzip hello.txt
gunzip hello.txt.gz
3.zip/unzip
zip用于压缩文件,unzip用于解压
- 语法
zip [选项] 文件名
unzip [选项] 文件名 - 选项
 
- zip
- -r 递归压缩
 
 - unzip
- -d<目录>:指定解压后的目录
 
 
案例
将/home下的文件压缩成mypackage.zip
1
zip -r mypackage.zip /home/
将mypackage.zip 解压到/opt/tmp目录下
1
unzip -d /opt/tmp/ mypackage.zip
4.tar
tar指令是打包指令,最后打包后的文件是.tar.gz的文件 
- 基本语法
tar [选项] XXX.tar.gz - 选项
 
- -c 产生.tar的打包文件
 - -v 显示详细信息
 - -f 指定压缩后的文件名
 - -z 打包同时压缩
 - -x 解包。tar文件
 
实例
压缩多个文件a.txt b.txt 压缩成为a.tar.gz
1
tar -zcvf a.tar.gz a.txt b.txt
将home文件夹整体打包成myhome.tar.gz
1
tar -zvcf myhome.tar.gz /home/
将a.tar.gz解压到当前目录
1
tar -zxvf a.tar.gz
将a.tar.gz解压到aaa目录下
1
2tar -zxvf a.tar.gz -C aaa
//-C 必须要有否则报错