9.1指定运行级别

9.1.1基本介绍

运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别,后面演示

9.1.2应用实例

命令:init[0123456]应用案例:通过init来切换不同的运行级别,比如动5-3,然后关机。
init 级别 指令可以切换上述

  1. [root@wqh01 ~]# init 3
  2. [root@wqh01 ~]# init 5

9.1.3CentOS7后运行级别说明在

centos7以前,/etc/inittab文件中.
进行了简化,如下:
multi-user.target:analogoustorunlevel3
graphical.target:analogoustorunlevel5
#Toviewcurrentdefaulttarget,run:
systemctlget-default
#Tosetadefaulttarget,run:
systemctlset-default TARGET.target
设置5默认级别:[root@wqh01 ~]# systemctlget-default graphical.target

9.2找回root密码

9.2.1面试题

如何找回root密码

9.2.2课堂练习

1)假设root密码忘记了,请问如何找回密码
2)设置运行级别,linux运行后,直接进入到命令行终端(3)

9.3帮助指令

9.3.1man获得帮助信息

基本语法:man[命令或配置文件](功能描述:获得帮助信息)
案例:查看ls命令的帮助信息manls在linux下,隐藏文件是以.开头,选项可以组合使用比如ls-al,比如ls-al/root

解读:

ls 指令查看当前目录(隐藏的看不见)
man ls 指令可以查看帮助信息
ls -a 指令可以查看当前目录(可以看见隐藏目录,a表示all)
ls -l 指令以行的形式展示当前所有目录(隐藏的看不见)
ls -al 指令或 ls -al /root 指令可以组合使用

  1. [root@wqh01 ~]# ls
  2. anaconda-ks.cfg Hello.java initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
  3. [root@wqh01 ~]# man ls
  4. [root@wqh01 ~]# ls -a
  5. . anaconda-ks.cfg .bash_logout .bashrc .config .dbus Hello.java initial-setup-ks.cfg .tcshrc .Xauthority 模板 图片 下载 桌面
  6. .. .bash_history .bash_profile .cache .cshrc .esd_auth .ICEauthority .local .viminfo 公共 视频 文档 音乐
  7. [root@wqh01 ~]# ls -l
  8. 总用量 44
  9. -rw-------. 1 root root 1920 11 18 17:01 anaconda-ks.cfg
  10. -rw-r--r--. 1 root root 108 11 19 14:35 Hello.java
  11. -rw-r--r--. 1 root root 1968 11 18 17:01 initial-setup-ks.cfg
  12. drwxr-xr-x. 2 root root 4096 11 18 17:02 公共
  13. drwxr-xr-x. 2 root root 4096 11 18 17:02 模板
  14. drwxr-xr-x. 2 root root 4096 11 18 17:02 视频
  15. drwxr-xr-x. 2 root root 4096 11 18 17:02 图片
  16. drwxr-xr-x. 2 root root 4096 11 18 17:02 文档
  17. drwxr-xr-x. 2 root root 4096 11 18 17:02 下载
  18. drwxr-xr-x. 2 root root 4096 11 18 17:02 音乐
  19. drwxr-xr-x. 2 root root 4096 11 18 17:02 桌面
  20. [root@wqh01 ~]# ls -al
  21. 总用量 108
  22. dr-xr-x---. 14 root root 4096 11 20 14:17 .
  23. dr-xr-xr-x. 18 root root 4096 11 18 17:00 ..
  24. -rw-------. 1 root root 1920 11 18 17:01 anaconda-ks.cfg
  25. -rw-------. 1 root root 283 11 20 10:50 .bash_history
  26. -rw-r--r--. 1 root root 18 12 29 2013 .bash_logout
  27. -rw-r--r--. 1 root root 176 12 29 2013 .bash_profile
  28. -rw-r--r--. 1 root root 176 12 29 2013 .bashrc
  29. drwx------. 14 root root 4096 11 18 18:40 .cache
  30. drwxr-xr-x. 14 root root 4096 11 18 18:41 .config
  31. -rw-r--r--. 1 root root 100 12 29 2013 .cshrc
  32. drwx------. 3 root root 4096 11 18 17:01 .dbus
  33. -rw-------. 1 root root 16 11 18 17:02 .esd_auth
  34. -rw-r--r--. 1 root root 108 11 19 14:35 Hello.java
  35. -rw-------. 1 root root 1240 11 19 12:37 .ICEauthority
  36. -rw-r--r--. 1 root root 1968 11 18 17:01 initial-setup-ks.cfg
  37. drwx------. 3 root root 4096 11 18 17:02 .local
  38. -rw-r--r--. 1 root root 129 12 29 2013 .tcshrc
  39. -rw-------. 1 root root 947 11 20 11:07 .viminfo
  40. -rw-------. 1 root root 153 11 20 14:17 .Xauthority
  41. drwxr-xr-x. 2 root root 4096 11 18 17:02 公共
  42. drwxr-xr-x. 2 root root 4096 11 18 17:02 模板
  43. drwxr-xr-x. 2 root root 4096 11 18 17:02 视频
  44. drwxr-xr-x. 2 root root 4096 11 18 17:02 图片
  45. drwxr-xr-x. 2 root root 4096 11 18 17:02 文档
  46. drwxr-xr-x. 2 root root 4096 11 18 17:02 下载
  47. drwxr-xr-x. 2 root root 4096 11 18 17:02 音乐
  48. drwxr-xr-x. 2 root root 4096 11 18 17:02 桌面

进入man,可以按q退出
image.png

9.3.2help指令

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

9.3.3应用实例案例:查看cd命令的帮助信息

9.3.4百度帮助更直接

如果英语不太好的,也可以直接百度靠谱。

9.4文件目录类

解读:

cd /home 指令进入home根目录
cd ~ 指令重新回到root根目录
cd /home/test/ 指令进入home目录下的test的目录
cd ..指令回到上一级目录
pwd 指令查看当前所在的绝对路径
注意:
cd指令后面必须跟上一个空格,不然报错。
如果在home文件下,进入子文件夹: cd 子文件夹名/ 或者 cd 子文件夹名 (斜杠不能出现在前面)
斜杠在后面系统会默认进入它的子文件夹。

  1. [root@wqh01 ~]# cd /home
  2. [root@wqh01 home]# ls
  3. jack test wqh zwj
  4. [root@wqh01 home]# cd ~
  5. [root@wqh01 ~]# pwd
  6. /root
  7. [root@wqh01 ~]# ls
  8. anaconda-ks.cfg Hello.java initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
  9. [root@wqh01 /]# cd /home/test/
  10. [root@wqh01 test]# pwd
  11. /home/test
  12. [root@wqh01 test]# cd ..
  13. [root@wqh01 home]# pwd
  14. /home
  15. [root@wqh01 home]# cd ..
  16. [root@wqh01 /]# pwd
  17. /
  18. [root@wqh01 /]# cd ..
  19. [root@wqh01 /]# pwd
  20. /
  21. [root@wqh01 /]#

9.4.1pwd指令

基本语法:pwd(功能描述:显示当前工作目录的绝对路径)
应用实例:案例:显示当前工作目录的绝对路径

9.4.2ls指令

基本语法:ls [选项] [目录或是文件]
√ 常用选项(可以组合使用)
-a:显示当前目录所有的文件和目录,包括隐藏的。
-l:以列表的方式显示信息,可以简单写成 ll 指令
-h:以人的风格显示h为human,例如原来显示文件大小为kb单位,使用
ls -lh 指令则显示MB单位
√ 应用实例案例:查看当前目录的所有内容信息

9.4.3cd指令

基本语法:cd参数
理解:绝对路径和相对路径
image.png
image.png
cd~或者cd:回到自己的家目录,比如你是root,cd~到/root
cd..回到当前目录的上一级目录
√ 应用实例(红色表明为答案)
案例1:使用绝对路径切换到root目录:cd /root
案例2:使用相对路径到/root目录,比如在/home/tom:cd ../../root
案例3:表示回到当前目录的上一级目录:cd ..
案例4:回到家目录:cd ~

9.4.4mkdir指令

√ mkdir指令用于创建目录
基本语法:mkdir [选项] 要创建的目录
√ 常用选项
-p:创建多级目录
√ 应用实例(红色表明为答案)
案例1:创建一个目录/home/dog
mkdir /home/dog 指令
案例2:创建多级目录/home/animal/tiger
mkdir -p /home/animal/tigerrmdir 指令

9.4.5rmdir指令删除空目录

√ 基本语法
rmdir[选项]要删除的空目录
√ 应用实例
案例:删除一个目录/home/dog
rmdir /home/dog
cd /home/
ls
可以看到删除成功!
√ 使用细节
rmdir删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用rm -rf要删除的目录
比如:rm -rf /home/animal

9.4.6touch指令

√ touch指令
创建空文件
√ 基本语法
touch文件名称
√ 应用实例
案例:在/home目录下,创建一个空文件hello.txt
cd /home
touch hello.txt

9.4.7cp指令

  1. [root@wqh01 /]# cd /home
  2. [root@wqh01 home]# mkdir bbb
  3. [root@wqh01 home]# ls
  4. bbb jack test wqh zwj
  5. [root@wqh01 home]# cd /bbb
  6. -bash: cd: /bbb: 没有那个文件或目录
  7. [root@wqh01 home]# cd /bbb/
  8. -bash: cd: /bbb/: 没有那个文件或目录
  9. [root@wqh01 home]# cd bbb
  10. [root@wqh01 bbb]# touch hello.txt
  11. [root@wqh01 bbb]# ls
  12. hello.txt
  13. [root@wqh01 bbb]# rm hello.txt
  14. rm:是否删除普通空文件 "hello.txt"y
  15. [root@wqh01 bbb]# ls
  16. [root@wqh01 bbb]# cd ..
  17. [root@wqh01 home]# touch hello.txt
  18. [root@wqh01 home]# ls
  19. bbb hello.txt jack test wqh zwj
  20. [root@wqh01 home]# cp hello.txt bbb/
  21. [root@wqh01 home]# cd bbb
  22. [root@wqh01 bbb]# ls
  23. hello.txt
  24. [root@wqh01 bbb]# touch hello2.txt
  25. [root@wqh01 bbb]# ls
  26. hello2.txt hello.txt
  27. [root@wqh01 bbb]# cp -r /home/bbb/ /opt/
  28. [root@wqh01 bbb]# cd /opt
  29. [root@wqh01 opt]# ls
  30. bbb rh
  31. [root@wqh01 opt]# cd bbb
  32. [root@wqh01 bbb]# ls
  33. hello2.txt hello.txt
  34. [root@wqh01 bbb]# cp -r /home/bbb/ /opt/
  35. cp:是否覆盖"/opt/bbb/hello2.txt" y
  36. cp:是否覆盖"/opt/bbb/hello.txt" y
  37. [root@wqh01 bbb]# \cp -r /home/bbb/ /opt/

cp指令拷贝文件到指定目录
image.png
√ 基本语法
cp[选项]sourcedest
√ 常用选项
-r:递归复制整个文件夹
√ 应用实例
案例1:将/home/hello.txt拷贝到/home/bbb目录下
cp hello.txt /home/bbb
案例2:递归复制整个文件夹,举例,比如将/home/bbb整个目录,拷贝到/opt
cp -r /home/bbb /opt
√ 使用细节强制覆盖不提示的方法:\cp
\cp -r /home/bbb /opt

9.4.8rm

指令说明:rm指令移除文件或目录,删除指令要慎用!
√ 基本语法
rm[选项]要删除的文件或目录
√ 常用选项
-r:递归删除整个文件夹
-f:强制删除不提示
√ 应用实例
案例1:将/home/hello.txt删除
rm /home/hello.txt
案例2:递归删除整个文件夹/home/bbb
rm -rf /home/bbb [删除整个文件夹,不提示]
√ 使用细节
强制删除不提示的方法:带上-f参数即可

9.4.9mv指令

mv移动文件与目录或重命名
√ 基本语法
mv oldNameFile newNameFile(功能描述:重命名)
mv /temp/movefile /targetFolder(功能描述:移动文件,相当于Windows剪切效果)
√ 应用实例
案例1:将/home/cat.txt文件重新命名为pig.txt
案例2:将/home/pig.txt文件移动到/root目录下
案例3:移动整个目录,比如将/opt/bbb移动到/home下mv/opt/bbb/home/
答案
mv cat.txt pig.txt 指令将 cat.txt重命名为pig.txt
mv /home/pig.txt /root/ 指令将/home/pig.txt文件移动到/root目录下
[root@wqh01 home]# cp -r bbb /opt 指令home中的bbb文件夹整个复制到opt目录下
rm -rf /home/bbb 指令强制移除home目录下的bbb文件夹且没有提示
mv /opt/bbb /home/aaa 指令将opt目录下的bbb整个文件夹移动到home目录下,且更改名字为aaa

  1. [root@wqh01 opt]# cd /home
  2. [root@wqh01 home]# touch cat.txt
  3. [root@wqh01 home]# ls
  4. bbb cat.txt hello.txt jack test wqh zwj
  5. [root@wqh01 home]# mv cat.txt pig.txt
  6. [root@wqh01 home]# ls
  7. bbb hello.txt jack pig.txt test wqh zwj
  8. [root@wqh01 home]# mv /home/pig.txt /root/
  9. [root@wqh01 home]# ls
  10. bbb hello.txt jack test wqh zwj
  11. [root@wqh01 home]# ls /root
  12. anaconda-ks.cfg Hello.java initial-setup-ks.cfg pig.txt 公共 模板 视频 图片 文档 下载 音乐 桌面
  13. [root@wqh01 home]# ls
  14. bbb hello.txt jack test wqh zwj
  15. [root@wqh01 home]# cp -r bbb /opt
  16. [root@wqh01 home]# ls /opt/bbb
  17. hello2.txt hello.txt
  18. [root@wqh01 home]# rm -rf /home/bbb
  19. [root@wqh01 home]# ls /home/bbb
  20. ls: 无法访问/home/bbb: 没有那个文件或目录
  21. [root@wqh01 home]# ls /home
  22. hello.txt jack test wqh zwj
  23. [root@wqh01 home]# mv /opt/bbb /home/aaa
  24. [root@wqh01 home]# ls /home
  25. aaa hello.txt jack test wqh zwj
  26. [root@wqh01 home]#

9.4.10cat

指令cat查看文件内容,不能修改文件内容。区别vim
√ 基本语法
cat[选项]要查看的文件
√ 常用选项-n:显示行号
√ 应用实例
案例1:/etc/profile文件内容,并显示行号
cat -n /etc/profile
√ 使用细节
cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令|more
管道命令就是前面的指令结果交给|后面的指令解决
cat -n /etc/profile | more [进行交互]

9.4.11more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令),详见操作说明
√ 基本语法more要查看的文件操作说明,如图
image.png
√ 应用实例
案例:采用more查看文件
more /etc/profile

9.4.12less指令

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
√ 基本语法
less要查看的文件操作说明
image.png
√ 应用实例
案例:采用less查看一个大文件文件/opt/杂文.txt
less /opt/杂文.txt

9.4.13echo指令

echo输出内容到控制台
√ 基本语法echo[选项][输出内容]
√ 应用实例
案例1:使用echo指令输出环境变量,比如输出$PATH,$HOSTNAME
echo $HOSTNAME
image.png
案例2:使用echo指令输出hello,world!
echo “hello,world!”

9.4.14head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
√ 基本语法
head 文件(功能描述:查看文件头10行内容)
head -n 5文件(功能描述:查看文件头5行内容,5可以是任意行数)
√ 应用实例
案例:查看/etc/profile的前面5行代码
head -n 5 /etc/profile

9.4.15tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
√ 基本语法
1)tail 文件(功能描述:查看文件尾10行内容)
2)tail -n 5 文件(功能描述:查看文件尾5行内容,5可以是任意行数)
3)tail -f 文件(功能描述:实时追踪该文档的所有更新,ctrl+c退出追踪)
√ 应用实例
案例1:查看/etc/profile最后5行的代码tail -n 5 /etc/profile
案例2:实时监控mydate.txt,看看到文件有变化时,是否看到,实时的追加hello,world!
tail -f /home/mydate.txt

9.4.16>指令和>>指令

输出重定向(覆盖)和 >>追加
√ 基本语法
1)ls-l > 文件(功能描述:列表的内容写入文件a.txt中(覆盖写))
2)ls-al >> 文件(功能描述:列表的内容追加到文件aa.txt的末尾)
3)cat文件1 > 文件2(功能描述:将文件1的内容覆盖到文件2)
4)echo”内容” >> 文件(追加)
√ 应用实例
案例1:将/home目录下的文件列表写入到/home/info.txt中(覆盖写入)
ls -l /home > /home/info.txt [如果info.txt没有,则会创建]
案例2:将当前日历信息追加到/home/mycal文件中指令为:
cal >> /home/mycal

9.4.17ln指令

软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
√ 基本语法ln-s[原文件或目录][软链接名](功能描述:给原文件创建一个软链接)
√ 应用实例
案例1:在/home目录下创建一个软连接myroot,连接到/root目录
ln -s /root /home/myroot
案例2:删除软连接myroot
rm /home/myroot
√ 细节说明当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。

9.4.18history指令

查看已经执行过历史命令,也可以执行历史指令
√ 基本语法
history(功能描述:查看已经执行过历史命令)
√ 应用实例
案例1:显示所有的历史命令。history
案例2:显示最近使用过的10个指令。history 10
案例3:执行历史编号为5的指令。!5

9.5时间日期类

9.5.1date指令

-显示当前日期
√ 基本语法
1)date(功能描述:显示当前时间)
2)date+%Y(功能描述:显示当前年份)
3)date+%m(功能描述:显示当前月份)
4)date+%d(功能描述:显示当前是哪一天)
5)date”+%Y-%m-%d%H:%M:%S”(功能描述:显示年月日时分秒)
√ 应用实例
案例1:显示当前时间信息date
案例2:显示当前时间年月日date “+%Y-%m-%d”
案例3:显示当前时间年月日时分秒date “+%Y-%m-%d %H:%M:%S”

9.5.2date指令

-设置日期
√ 基本语法
date-s字符串时间
√ 应用实例
案例1:设置系统当前时间,比如设置成2020-11-0320:02:10
date -s “2020-11-03 20:02:10”

9.5.3cal指令

查看日历指令cal
√ 基本语法cal[选项](功能描述:不加选项,显示本月日历)
√ 应用实例
案例1:显示当前日历cal
案例2:显示2020年日历:cal 2020

9.6搜索查找类

9.6.1find指令

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
√ 基本语法
find [搜索范围][选项]
√ 选项说明
image.png
√ 应用实例
案例1:按文件名:根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
案例2:按拥有者:查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
案例3:查找整个linux系统下大于200M的文件(+n大于-n小于n等于,单位有k,M,G)find / -size +200M

9.6.2locate指令

locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
√ 基本语法
updatedb
locate 搜索文件
√ 特别说明由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
image.png
√ 应用实例
案例1:请使用locate指令快速定位hello.txt文件所在目录
如果不存在就什么都不显示。
image.png
which指令,可以查看某个指令在哪个目录下,比如ls指令在哪个目录which ls
image.png

9.6.3grep指令和管道符号|

grep过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
image.png
√ 基本语法grep[选项]查找内容源文件
√ 常用选项
image.png
√ 应用实例
案例1:请在hello.txt文件中,查找”yes”所在行,并且显示行号
image.png
写法1:cat /home/hello.txt | grep “yes”
写法2:grep -n “yes” /home/hello.txt

9.7压缩和解压类

9.7.1gzip/gunzip指令

gzip用于压缩文件,gunzip用于解压的
√ 基本语法
gzip 文件(功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz(功能描述:解压缩文件命令)
√ 应用实例
案例1:gzip压缩,将/home下的hello.txt文件进行压缩
gzip /home/hello.txt
案例2:gunzip压缩,将/home下的hello.txt.gz文件进行解压缩
gunzip /home/hello.txt.gz
image.png

9.7.2zip/unzip指令

zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的
image.png
√ 基本语法
zip[选项]XXX.zip将要压缩的内容(功能描述:压缩文件和目录的命令)unzip[选项]XXX.zip(功能描述:解压缩文件)
√ zip常用选项-r:递归压缩,即压缩目录
√ unzip的常用选项-d<目录>:指定解压后文件的存放目录
√ 应用实例
案例1:将/home下的所有文件/文件夹进行压缩成myhome.zip
zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹都压缩成myhome.zip文件]
案例2:将myhome.zip解压到/opt/tmp目录下mkdir/opt/tmp
unzip -d /opt/tmp /home/myhome.zip

9.7.3tar指令

tar指令是打包指令,最后打包后的文件是.tar.gz的文件。
√ 基本语法
tar [选项] XXX.tar.gz打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
√ 选项说明
image.png
注意区分:
-c 压缩
-x 解压
-C 解压到具体目录
√ 应用实例
案例1:压缩多个文件,将/home/pig.txt和/home/cat.txt压缩成pc.tar.gz。
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例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目录下。
(1)mkdir /opt/tmp2 [生成文件夹]
(2)tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 [解压到指定目录]