1. 指定运行级别(7个级别)

  • 0.关机
  • 1.单用户【找回丢失密码】
  • 2.多用户状态没有网络服务
  • 3.多用户状态有网络服务
  • 4.系统未使用保留给用户
  • 5.图形界面
  • 6.系统重启

3.5运行级别指令.jpg

  • 切换到指定运行级别的指令:init [012356]
  • 系统的运行级别配置文件:/etc/inittab

  • 修改默认运行级别

    • 在CentOs7以前,需要在/ect/inittab文件中修改。
    • CentOs7之后

Snipaste_2022-02-20_18-15-08.png

  1. [root@iZbp1978lespq45h0qv20aZ home]# cd /
  2. [root@iZbp1978lespq45h0qv20aZ /]# runlevel
  3. N 3
  4. [root@iZbp1978lespq45h0qv20aZ /]# systemctl get-default
  5. multi-user.target
  6. [root@iZbp1978lespq45h0qv20aZ /]# systemctl set-default multi-user.target
  7. Removed symlink /etc/systemd/system/default.target.
  8. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
  9. [root@iZbp1978lespq45h0qv20aZ /]# systemctl get-default
  10. multi-user.target
  11. [root@iZbp1978lespq45h0qv20aZ /]# runlevel
  12. N 3

即使用runlevel 查看当前运行级别,systemctl get-default 查看默认设置运行级别,
systemctl set-default multi-user.target 设置默认运行级别的3。

找回root密码

  • 思路:进入到单用户模式,就可以修改root密码
  • Snipaste_2022-02-20_18-34-46.png
  • Snipaste_2022-02-20_18-35-39.png
  • Snipaste_2022-02-20_18-36-30.png

    2. 帮助指令

    2.1 man获得帮助信息

    基本语法:man [命令或配置文件](功能描述:获得帮助信息)

  • 例如:man ls

在linux下隐藏文件是以 “.” 开头的

2.2 help指令

基本语法:help 命令 (功能描述:获得shell内置命令的帮助信息)

3. 文件目录类指令

3.1 文件剪贴删除复制重名等

  • pwd:Print Working Directory,显示当前工作目录的绝对路径。
  • ls:-a:显示当前目录所有的文件和目录,包括隐藏的;
    • -l:以列表的方式显示信息。

注意可以组合。

  • cd:cd ~:回到自己的家目录;cd …:回到当前目录的上一级目录。

    1. [root@iZbp1978lespq45h0qv20aZ /]# ls
    2. bin dev home lib64 media opt root sbin sys usr
    3. boot etc lib lost+found mnt proc run srv tmp var
    4. [root@iZbp1978lespq45h0qv20aZ /]# cd home/
    5. [root@iZbp1978lespq45h0qv20aZ home]# ls
    6. tom
    7. [root@iZbp1978lespq45h0qv20aZ home]# cd tom/
    8. [root@iZbp1978lespq45h0qv20aZ tom]# ls
    9. helo.txt
    10. [root@iZbp1978lespq45h0qv20aZ tom]# pwd
    11. /home/tom
    12. [root@iZbp1978lespq45h0qv20aZ tom]# cd ../../root
    13. [root@iZbp1978lespq45h0qv20aZ ~]# pwd
    14. /root
    15. [root@iZbp1978lespq45h0qv20aZ ~]# cd ..
    16. [root@iZbp1978lespq45h0qv20aZ /]# pwd
    17. /
    18. [root@iZbp1978lespq45h0qv20aZ /]# cd ~
    19. [root@iZbp1978lespq45h0qv20aZ ~]# pwd
    20. /root
  • mkdir:创建目录;-p:创建多级目录。

    基本语法:mkdir [选项] 要创建的目录

  1. # 创建一个目录
  2. mkdir /home/dog
  3. #创建多级目录
  4. mkdir -p /home/animal/tiger
  • rmdir:删除空目录。rmdir不能删除非空的目录。如果需要删除非空的目录,需要使用rm -rf。

    创建目录;-p:创建多级目录。

  1. [root@iZbp1978lespq45h0qv20aZ home]# ls
  2. animal dog tom
  3. [root@iZbp1978lespq45h0qv20aZ home]# rmdir dog/
  4. [root@iZbp1978lespq45h0qv20aZ home]# ls
  5. animal tom
  6. [root@iZbp1978lespq45h0qv20aZ home]# rm -rf animal/
  7. [root@iZbp1978lespq45h0qv20aZ home]# ls
  8. tom
  • cp:拷贝文件到指定目录;

    cp [选项] source dest

    • -r:递归复制整个文件夹。
    • 强制覆盖不提示的方法:cp命令改为\cp
      1. [root@iZbp1978lespq45h0qv20aZ home]# ls
      2. hello1.txt test tom
      3. [root@iZbp1978lespq45h0qv20aZ home]# cp hello1.txt test/
      4. [root@iZbp1978lespq45h0qv20aZ home]# ls
      5. hello1.txt test tom
      6. [root@iZbp1978lespq45h0qv20aZ home]# cd test/
      7. [root@iZbp1978lespq45h0qv20aZ test]# ls
      8. hello1.txt
      9. [root@iZbp1978lespq45h0qv20aZ test]# cp -r /home/test/ /opt/
  • rm:移除文件或目录;

    基本语法:rm [选项] 要删除的文件或目录

    • -r:递归删除整个文件夹;
    • -f:强制删除不提示。
      1. [root@iZbp1978lespq45h0qv20aZ test]# ls
      2. hello1.txt hello2.txt
      3. [root@iZbp1978lespq45h0qv20aZ test]# rm hello1.txt
      4. rm: remove regular empty file hello1.txt’? y
      5. [root@iZbp1978lespq45h0qv20aZ test]# rm -f hello2.txt
      6. [root@iZbp1978lespq45h0qv20aZ test]# ls
      7. [root@iZbp1978lespq45h0qv20aZ test]# cd ~
      8. [root@iZbp1978lespq45h0qv20aZ ~]# ls
      9. Hello.cpp
      10. [root@iZbp1978lespq45h0qv20aZ ~]# cd /opt
      11. [root@iZbp1978lespq45h0qv20aZ opt]# ls
      12. test
      13. [root@iZbp1978lespq45h0qv20aZ opt]# rm -r test/
      14. rm: remove directory test/’? y
      15. [root@iZbp1978lespq45h0qv20aZ opt]# ls
      16. [root@iZbp1978lespq45h0qv20aZ opt]# cd /home
      17. [root@iZbp1978lespq45h0qv20aZ home]# ls
      18. hello1.txt test tom
      19. [root@iZbp1978lespq45h0qv20aZ home]# rm -f hello1.txt
      20. [root@iZbp1978lespq45h0qv20aZ home]# rm -r test/
      21. rm: descend into directory test/’? y
      22. rm: remove regular empty file test/hello2.txt’? y
      23. rm: remove regular empty file test/hello1.txt’? y
      24. rm: remove directory test/’? y
      25. [root@iZbp1978lespq45h0qv20aZ home]# ls
      26. tom
  • mv:移动文件与目录或重命名,两种功能!

    mv src tar

  1. mv cat.txt pig.txt #重命名文件
  2. mv pig.txt /home/cat.txt #移动文件并且重命名
  3. mv /opt/bbb/ /home/ #移动bbb这个文件夹
  4. mv /opt/bbb/ /home/ccc #移动bbb这个文件夹并且重命名
  • touch:创建空文件。可以一次性创建多个文件

    touch 文件名称

  1. touch hello.txt
  • ln 表示link的意思,软链接,也称为符号链接,类似Windows里面的快捷方式,主要存放了链接其他文件的路径。

    • 基本语法:ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)
    • 删除不能加/,把他当成一个文件,而不是目录;
    • pwd显示的是当前的路径,而不是链接的路径,但是显示的内容是链接的内容。
      1. [root@iZbp1978lespq45h0qv20aZ home]# ls
      2. cat.txt tom
      3. [root@iZbp1978lespq45h0qv20aZ home]# ln -s /root/ myroot
      4. [root@iZbp1978lespq45h0qv20aZ home]# ls -l
      5. total 4
      6. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
      7. lrwxrwxrwx 1 root root 6 Feb 21 16:16 myroot -> /root/
      8. drwx------ 2 tom tom 4096 Feb 21 14:35 tom
      9. [root@iZbp1978lespq45h0qv20aZ home]# cd myroot/
      10. [root@iZbp1978lespq45h0qv20aZ myroot]# pwd
      11. /home/myroot
      12. [root@iZbp1978lespq45h0qv20aZ myroot]# ls
      13. Hello.cpp
      14. [root@iZbp1978lespq45h0qv20aZ myroot]# cd /home/
      15. [root@iZbp1978lespq45h0qv20aZ home]# ls -l
      16. total 4
      17. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
      18. lrwxrwxrwx 1 root root 6 Feb 21 16:16 myroot -> /root/
      19. drwx------ 2 tom tom 4096 Feb 21 14:35 tom
      20. [root@iZbp1978lespq45h0qv20aZ home]# rm myroot/
      21. rm: cannot remove myroot/’: Is a directory
      22. [root@iZbp1978lespq45h0qv20aZ home]# rm myroot
      23. rm: remove symbolic link myroot’? y
      24. [root@iZbp1978lespq45h0qv20aZ home]# ls -l
      25. total 4
      26. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
      27. drwx------ 2 tom tom 4096 Feb 21 14:35 tom

      3.2 文件查看

  • cat:查看文件内容。只能浏览文件,而不能修改文件。

    cat [选项] 要查看的文件

    • -n:显示行号。
    • 其实vim 也可以查看文件内容,但不同的是,vim是可编辑的,cat只能浏览,相对来说更安全。
    • 一般cat会带上管道命令| more以方便浏览,管道命令是指上一个指令得到的结果交给下一个指令结果,类似两个指令的结合。
    • cat -n /etc/profile | more:-n表示显示行号。
  • more:是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。例如more /etc/profile。

  • more还内置了很多快捷键:

    • 空白键(Space):向下翻一页
    • Enter:向下翻一行
    • q:立刻离开more,不再显示该文件内容
    • Ctrl + F:向下滚动一屏
    • Ctrl + B:返回上一屏
    • = :输出当前行的行号
    • :f 输出文件名和当前行的行号
  • less:用来分屏查看文件内容,与more相似,但是更强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容。对于显示大型文件具有较高的效率。

  • head:用于显示文件的开头部分内容,默认情况显示前10行

    • head -n 5 /etc/profile:查看文件前5行
  • tail:输出文件中尾部的内容。

    • -n 5:看后面5行内容。
    • -f:时事追踪该文档的所有更新
  • >指令:输出重定向。如果不存在会创建文件,否则会将原来的文件内容覆盖。

  • >>指令:追加。如果不存在会创建文件,否则不会覆盖原来的文件内容,而是追加到文件的尾部。

    1. [root@iZbp1978lespq45h0qv20aZ ~]# ls -l /home
    2. total 4
    3. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
    4. drwx------ 2 tom tom 4096 Feb 21 14:35 tom
    5. [root@iZbp1978lespq45h0qv20aZ ~]# ls -l /home >/home/info.txt
    6. [root@iZbp1978lespq45h0qv20aZ ~]# cd /home/
    7. [root@iZbp1978lespq45h0qv20aZ home]# ls
    8. cat.txt info.txt tom
    9. [root@iZbp1978lespq45h0qv20aZ home]# cat info.txt
    10. total 4
    11. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
    12. -rw-r--r-- 1 root root 0 Feb 21 16:04 info.txt
    13. drwx------ 2 tom tom 4096 Feb 21 14:35 tom
    14. [root@iZbp1978lespq45h0qv20aZ home]# ls
    15. cat.txt info.txt tom
    16. [root@iZbp1978lespq45h0qv20aZ home]# cal >> info.txt
    17. [root@iZbp1978lespq45h0qv20aZ home]# cat info.txt
    18. total 4
    19. -rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
    20. -rw-r--r-- 1 root root 0 Feb 21 16:04 info.txt
    21. drwx------ 2 tom tom 4096 Feb 21 14:35 tom
    22. February 2022
    23. Su Mo Tu We Th Fr Sa
    24. 1 2 3 4 5
    25. 6 7 8 9 10 11 12
    26. 13 14 15 16 17 18 19
    27. 20 21 22 23 24 25 26
    28. 27 28
  • echo:输出内容到控制台

    • echo $HOSTNAME:输出主机名
    • echo $PATH:输出环境变量
      1. [root@iZbp1978lespq45h0qv20aZ ~]# echo $HOSTNAME
      2. iZbp1978lespq45h0qv20aZ
      3. [root@iZbp1978lespq45h0qv20aZ ~]# echo $PATH
      4. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • history:查看已经执行过历史命令,也可以执行历史指令

    1. history 显示所有的历史命令
    2. history 10 显示最近使用过的10个指令
    3. !5 执行历史编号为5的指令

    3.3 时间和日期

  • date:显示当前日期和时间

    • date “+%Y”:显示当前年份
    • date “+%d”:显示当前月份
    • date “+%Y-%m-%d %H:%M:%S”:显示年-月-日 时:分:秒
    • 设置日期:date -s 字符串时间
  • date指令还可以设置日期
    • date -s 字符串时间

date -s “2021-6-20 16:44:30”

  1. [root@Tyc ~]# date
  2. Mon Feb 21 18:32:52 CST 2022
  3. [root@Tyc ~]# date "+%Y-%m-%d"
  4. 2022-02-21
  5. [root@Tyc ~]# date "+%Y-%m-%d %H:%M:%S"
  6. 2022-02-21 18:34:03
  • cal:查看日历指令;

    • cal [月] [年份]:显示某一年或月的日历

      3.4 搜索查找类

  • find:从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端。

    find [搜索范围] [选项]

    • find (搜索范围) -name (文件名):按照指定的文件名查找模式查找文件。
    • find (搜索范围) -user (用户名):按照指定的用户名查找模式查找文件。
    • find (搜索范围) -size (+多少/-多少/多少):按照指定的文件大小查找模式查找文件(大于多少/小于多少/等于多少)
    • 查询 /目录下所有.txt的文件:find / -name *.txt
    • 说明:当查询路径下无该文件,就不会有任何显示
  • locate:locate (搜索文件)

    基本语法:locate 搜索文件

    • 可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
    • locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
    • 在第一次运行之前,必须使用updatedb指令创建locate数据库。
      1. [root@Tyc /]# updatedb
      2. [root@Tyc /]# locate Hello.cpp
      3. /root/Hello.cpp
  • which:可以查看某个指令在哪个目录下。

    1. [root@Tyc /]# which ls
    2. alias ls='ls --color=auto'
    3. /usr/bin/ls
    4. [root@Tyc /]# which man
    5. /usr/bin/man
    6. [root@Tyc /]# which cd
    7. /usr/bin/cd
  • grep:过滤查找,表示将前一个命令的处理结果输出传递给后面的命令处理。经常跟管道一起使用。

    基本语法:grep [选项] 查找内容 源文件

    • grep [选项] 查找内容 源文件
    • -n:显示匹配行及行号。
    • -i:忽略大小写字母。
      1. [root@Tyc home]# cat test.txt
      2. hello
      3. yes
      4. dp
      5. home
      6. dp
      7. yes
      8. yes
      9. hale
      10. kkk
      11. yes
      12. test
      13. [root@Tyc home]# cat test.txt | grep -n "yes"
      14. 2:yes
      15. 6:yes
      16. 7:yes
      17. 10:yes
      18. [root@Tyc home]# grep -n "yes" test.txt
      19. 2:yes
      20. 6:yes
      21. 7:yes
      22. 10:yes

      3.5 压缩和解压类

  • gzip/gunzip:压缩文件/解压

    • gzip (文件):压缩为.gz文件,原来文件不保留。
    • gunzip (文件):解压缩,同样也不保留源文件。
      1. [root@Tyc home]# ls
      2. cat.txt test.txt tom
      3. [root@Tyc home]# gzip test.txt
      4. [root@Tyc home]# ls
      5. cat.txt test.txt.gz tom
      6. [root@Tyc home]# gunzip test.txt.gz
      7. [root@Tyc home]# ls
      8. cat.txt test.txt tom
  • zip/unzip:压缩文件/解压

    zip [选项] xxx.zip 将要压缩的内容(一般是文件和文件夹) uzip [选项] xxx.zip (功能描述:解压文件)

    • zip [选项] (压缩后文件xxx.zip) (将要压缩的文件)
    • unzip [选项] (要解压的文件xxx.zip)
    • zip -r:递归压缩,即压缩目录
    • unzip -d (目录):指定解压后的文件的存放目录
      1. [root@Tyc home]# ls
      2. cat.txt test.txt tom
      3. [root@Tyc home]# zip -r myhome.zip /home/
      4. adding: home/ (stored 0%)
      5. adding: home/cat.txt (stored 0%)
      6. adding: home/tom/ (stored 0%)
      7. adding: home/tom/.bashrc (deflated 23%)
      8. adding: home/tom/helo.txt (stored 0%)
      9. adding: home/tom/.bash_profile (deflated 21%)
      10. adding: home/tom/.bash_logout (stored 0%)
      11. adding: home/test.txt (deflated 19%)
      12. [root@Tyc home]# ls
      13. cat.txt myhome.zip test.txt tom
      14. [root@Tyc home]# unzip -d /opt/temp myhome.zip
      15. Archive: myhome.zip
      16. creating: /opt/temp/home/
      17. extracting: /opt/temp/home/cat.txt
      18. creating: /opt/temp/home/tom/
      19. inflating: /opt/temp/home/tom/.bashrc
      20. extracting: /opt/temp/home/tom/helo.txt
      21. inflating: /opt/temp/home/tom/.bash_profile
      22. extracting: /opt/temp/home/tom/.bash_logout
      23. inflating: /opt/temp/home/test.txt
      24. [root@Tyc home]# cd /ope/te
      25. -bash: cd: /ope/te: No such file or directory
      26. [root@Tyc home]# cd /opt/temp/
      27. [root@Tyc temp]# ls
      28. home
  • tar:打包指令,最后打包后的文件是.tar.gz的文件

    tar [选项] xxx.tar.gz 打包的内容 (功能描述:打包目录,压缩后的格式.tar.gz)

    • -c:产生.tar打包文件
    • -v:显示详细信息
    • -f:指定压缩后的文件名
    • -z:打包同时压缩
    • -x:解压.tar文件
    • 压缩:tar -zcvf (压缩后文件名) (要压缩的文件)
    • 解压:tar -zxvf (要解压的文件)
    • 解压到指定目录:tar -zxvf (要解压的文件) -C (指定目录),指定解压到的目录要存在。 ```bash 案例1:压缩多个文件,将/home/pig.txt和/home/cat.txt 压缩成 pc.tar.gz tar -zcvf pc.tar.gz

案例2:将/home的文件夹压缩成myhome.tar.gz tar -zcvf myhome.tar.gz /home/

案例3:pc.tar.gz 解压到当前目录 tar -zxvf pc.tar.gz

案例4:将myhome.tar.gz 解压到/opt/tmp2目录下 mkdr/opt/tmp2/ tar -zxvf myhome.tar.gz -C opt/tmp2 ```

4. 更多命令

Linux命令大全