目录
- 一、Linux基本指令
 - 1. ls
 - 2. pwd
 - 3. cd
 - 4. touch
 - 5. mkdir
 - 6. rm和rmdir
 - 7. man
 - 8. cp
 - 9. mv
 - 10. cat
 - 11. tac
 - 12. more
 - 13. less
 - 14. head
 - 15. tail
 - 16. date
 - 17. cal
 - 18. find
 - 19. grep
 - 20. zip/unzip
 - 21. echo
 - 22. wc
 - 23. tree
 - 24. which
 - 25. alias
 - 26. whoami
 - 27. stat
 - 28. tar
 - 29. uname
 - 30. shutdown
 
一、Linux基本指令
1. ls
语法 ls [选项] [文件或目录]
功能: 用于列出目录中的文件和子目录
常用的选项包括:
- a:显示所有文件和目录,包括隐藏的文件和当前目录(.)和父目录(…)。
 - l:以长格式显示文件和目录的详细信息,包括权限、所有者、大小、修改日期等。
 - h:配合-l选项使用,以人类可读的方式显示文件和目录的大小。
 - r:倒序显示。
 - t:按修改时间排序。
 
2. pwd
语法 pwd
 功能: 用来查看我们当前在linux的路径
3. cd
语法 cd [路径]
 功能: 进入指定的文件目录(路径切换)
选项
- cd . . 返回上一级目录
 - cd - 跳转到我们最近所处的路径下(来回跳转最近访问的两个路径)
 - cd ~ 进入用户的家目录
 
绝对路径是指文件或目录的完整路径,包括从根目录(/)开始一直到该文件或目录的路径。
 相对路径是指文件或目录相对于当前工作目录的路径(./)。
4. touch
语法 touch [文件]
 功能: 创建文件
5. mkdir
语法 mkdir [选项]… 目录…
 功能: 创建一个目录
选项
- p:递归创建目录,如果上级目录不存在也会一并创建。
 - m 在创建目录的同时设置权限
 
创建多级目录
mkdir -p mydir/subdir/subsubdir 
6. rm和rmdir
语法 rm [选项]… 目录…
 功能: 删除目录或文件
常用选项:
- f 即使文件属性为只读(即写保护),亦直接删除
 - i 删除前逐一询问确认
 - r 删除目录及其下所有文件

 
语法 rmdir [选项]… 目录…
 功能: 删除一个空目录
选项
- p:递归删除空目录,如果上级目录不存在也会一并删除。
 - r 删除目录及其下所有文件
 - f 即使文件属性为只读(即写保护),亦直接删除
 
rm -rf test
 
删除test目录及其里面的文件夹
7. man
语法 man
 功能: 查看指令使用手册
man man
 

 例如:要查看 bash 命令的文档
 指令 : man 1 bash
 通过man指令,用户可以方便地查看命令和其他文档。
8. cp
语法 cp [选项] 源文件或目录 目标文件或目录
 功能: 复制文件或目录
选项
- r 参数表示递归复制,即复制整个目录结构
 
例如,要将文件file1.txt复制到目录/home/user/documents/中,可以使用以下命令:
cp file1.txt /home/user/documents/
 
如果要将目录/home/user/folder1/及其所有内容复制到目录/home/user/folder2/中,可以使用以下命令:
cp -r /home/user/folder1/ /home/user/folder2/
 
9. mv
语法 mv [选项] 源文件 目标路径
 功能: 可以用来移动文件或者将文件改名
选项
- f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
 - i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
 
移动文件 mv src dst
 剪切 mv src path/
 剪切的同时重命名 mv src path/newname
10. cat
语法 cat [选项] 文件
 功能: 查看文本文件的内容
选项
- cat -n 带行号查看
 - cat -s 压缩一些多余的空行
 
11. tac
语法 tac [选项] 文件
 功能: 倒着打印文本文件内容
12. more
语法 more [选项][文件]
 功能: 查看 文本只能下翻查看
13. less
语法 less [选项] 文件
 功能: 对文件或其它输出进行分页显示
选项
- i 忽略搜索时的大小写
 - N 显示每行的行号
 - q quit 退出
 
14. head
语法 head [选项] 文件
 功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
选项
- n<行数> 显示的行数
 
15. tail
语法 tail [选项] 文件
 功能: tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.
选项
- f 循环读取
 - n<行数> 显示行数
举例:有一个文件共有10000行内容,请取出第3000 到 第3010 行内容,共10行的内容
先使用指令生成文件: 
i=1; while [ $i -le 10000 ]; do echo "hello Linux $i"; let i++; done > big.txt
 
方式1:
 先使用head 读取3010行的内容,再把读取的内容,使用tail 读取3010行中的后10行
head -3010 big.txt | tail -10
 

16. date
语法 date [OPTION]… [+FORMAT]
 功能: 在显示方面,使用者可以设定预显示的格式,格式设定为一个加号后接数个标记
选项
- %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
 
举例:
 date +%Y-%m-%d_%H:%M:%S
 年 - 月 - 天 _ 小时:分钟:秒
 时间戳:
 时间->时间戳:date +%s
17. cal
语法 cal [参数][月份][年份]
 功能: 查看日历
选项
- 3 显示系统前一个月,当前月,下一个月的月历
 - j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
 - y 显示当前年份的日历
 
18. find
语法 find pathname -options
 功能: 用于在文件树种查找文件,并作出相应的处理
 选项
- name 按照文件名查找文件
 
19. grep
语法 grep [选项] 搜寻字符串 文件
 功能: 在文本文件中搜索指定的字符串模式,并把匹配的行打印出来
选项
- i:忽略大小写
 - r:递归搜索
 - n:显示匹配行的行号
 - v:显示不匹配模式的行
 
20. zip/unzip
语法 zip 压缩文件.zip 目录或文件
 功能: zip压缩文件.zip 目录或文件(打包,压缩)
选项
- zip -r xxx.zip [要压缩的目录]
 - unzip xxx.zip 解压
 - r 将指定目录下的所有文件和子目录一并处理
 - d 指定目录
 
将test.zip解压到根目录下的tmp目录中
unzip test.zip -d /tmp
 
将目录 a 与 file1文件打包到test.zip
zip test.zip a file.txt
 
21. echo
语法 echo [option] [string …]
 功能: 用于将文本输出到终端或者重定向到文件
举例:
echo "hello linux" > test.txt
 
上述指令意思是:将hello 输出重定向到test.txt文件中
 需要注意的是:当文件有数据时,先清空,再把hello 放到test.txt里面
echo  "123" >> test.txt
 
追加重定向 >>,就是在test.txt文本内容中进行追加内容
22. wc
语法 wc 文件
 功能: 统计文本行数
23. tree
语法 tree 目录
 功能: 以树状结构的形式显示目录
24. which
语法 whilch 指令名
 功能: 要求系统打印出我所指定的指令名称,在系统的所在路径
25. alias
语法 alias 别名 = ‘指令’
 功能: 给指令起别名
26. whoami
功能: 用来查看当前用户
27. stat
语法 stat 文件名
 功能: 查看文件更详细的属性
 一个文件的ACM时间是:A(Access)文件最近一次被访问的时间; C(change)文件属性最近一次被改变的时间; M(modify)文件内容最近一次被修改的时间;
28. tar
语法 tar [选项] 文件
 功能: 解压缩文件
选项
- c :建立一个压缩文件的参数指令(create 的意思);
 - x :解开一个压缩文件的参数指令!
 - t :查看 tarfile 里面的文件!
 - z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
 - j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
 - v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
 - f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
 - C : 解压到指定目录
 
举例:
 压缩
tar -cvzf test.tgz test
 
将test打包为test.tgz
 解压
tar -xvzf test.tgz
 
指定解压路径时:
tar -xvzf test.tgz -C /home
 
将文件解压到 /home 中
29. uname
语法 uname [选项]
 功能: 获取电脑和操作系统的相关信息
选项
- a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
 - r 操作系统内核版本(指的是技术版本)
 
查看操作系统版本
cat /etc/redhat-release
 
查看cpu信息
cat /proc/cpuinfo
 
查看内存信息
cat /proc/meminfo
 
30. shutdown
语法 shutdown [选项]
 功能: 关机
选项
- h : 将系统的服务停掉后,立即关机。
 - r : 在将系统的服务停掉之后就重新启动