目录
9.1 指定运行级别
9.1.1 基本介绍
运行级别说明:
0 :关机
1 :单用户【找回丢失密码】
2:多用户状态没有网络服务(很少使用)
3:多用户状态有网络服务(实际生产使用最多)
4:系统未使用保留给用户
5:图形界面(启动就进入)
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别,后面演示
9.1.2 应用实例
命令: init [0123456]
应用案例:通过 init 来切换不同的运行级别,比如 5 ----》3,然后关机。
9.1.3 CentOS7后运行级别说明
在centos7以前,letc/inittab文件中进行了简化,如下:
multi-user.target::analogous to runlevel 3
graphical.target::analogous to runlevel 5
# To view current default target,run:
systemctl get-default
# To set a default target,run:(reboot 重启进入该模式)
systemctl set-default TARGET.target
9.2 找回root密码
9.2.1 面试题
如何找回root密码
9.2.2 课堂练习
(1)假设root密码忘记了,请问如何找回密码
(2)设置运行级别,linux运行后,直接进入到命令行终端⑶
9.3 帮助指令
1.man 获得帮助信息
基本语法 : man [命令或配置文件]
案列:查看ls命令的帮助信息 -------》man ls (出现的内容空格键往下看,q退出)
在Linux下,隐藏文件以 “ . ”开头,选项可以组合使用而且没有顺序要求,比如 ls -al(-a显示隐藏文件,-l单列输出,信息更加详细),比如ls -al /root(指定路径)
2.help指令
基本语法:help 命令 (获得shell内置命令的帮助信息)
案例:查看cd命令的帮助信息 --------》help cd
9.4 文件目录类指令
1. pwb 指令
基本语法:pwb (功能描述:显示当前目录的绝对路径)
present work directory 当前工作目录
/home/tom/a.txt 从根目录到目标 绝对路径
现在我在home 直接 tom/a.txt 相对路径
2. ls 指令
基本语法:ls [选项] [目录或是文件]
直接使用ls 就会列出当前路径下的所有文件
-a : all ,查看全部的文件,包括隐藏文件
-l : 以列表的方式列出所有的文件,包含文件的属性和权限,没有隐藏文件。
-R : 列出所有子目录下的文件
-lh对人更直观的显示数据,比如占内存大小
ls -al 查看全部的文件包括隐藏文件的属性和权限
3. cd 指令
基本语法:cd [参数] (功能描述:切换到指定目录)
cd :切换目录命令
cd .. : 返回上一级目录
cd ~ : 或者cd进入用户家目录,比如 你是root , cd ~ 到 /root
cd - :返回最近访问目录
cd ./ :当前目录
pwd :显示当前用户所在的目录
应用实例
案例1:使用绝对路径切换到root目录, cd /root
案例2:使用相对路径到/root目录,比如在/home/tom, cd ../../root
案例3:表示回到当前目录的上一级目录,cd ..
案例4:回到家目录,cd ~
4. mkdir 指令
》用处:mkdir指令用于创建目录
基本语法:mkdir [选项] 要创建的目录
》常用选项
-P :创建多级目录
》应用实例
案例1:创建一个目录/home/dog
mkdir /home/dog
案例⒉:创建多级目录/home/animal/tiger
mkdir -p /home/animal/tiger
5. rmdir 指令
》用处:删除空目录
基本语法:rmdir [选项] 要删除的空目录
》应用实例
案例:删除一个目录/home/dog rmdir /home/dog
》使用细节
rmdir删除的是空目录,如果目录下有内容时无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
比如:rm -rf /home/animal 小心谨慎,尽量备份再删除
6. touch 指令
》用处:指令创建空文件
基本语法:touch 文件名称
》应用实例
案列:在/home目录下,创建一个空文件 hello.txt
在home下 :touch hello.txt
7. cp 指令
》用处:拷贝文件到指定目录
基本语法:cp [选项] source dest
》常用选项
-r :递归复制整个文件夹应用实例
案例1:将/home/hello.txt拷贝到/home/bbb目录下
cp hello.txt bbb/
案例2:递归复制整个文件夹,举例:将/home/bbb整个目录拷贝到/opt ,包括bbb目录
cp -r /home/bbb /opt
》使用细节
强制覆盖不提示的方法: \cp
\cp -r /home/bbb /opt
8. rm 指令
》用处:移除文件或目录
基本语法:rm [选项] 要删除的文件或者目录
》常用选项
-r :递归删除整个文件夹 -f :强制删除不提示 force 暴力删除
》应用实例
案例1:将/home/hello.txt 删除, rm /home/hello.txt
案例2:递归删除整个文件夹/home/bbb, rm -rf /home/bbb [删除整个文件夹,不提示]
》使用细节
强制删除不提示的方法:带上 -f参数即可
9. mv 指令
》用处:移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
》应用实例
案例1:将/home/cat.txt文件重新命名为pig.txt
touch cat.txt //创建空文件
mv cat.txt pig.txt //在同一个目录下,重命名
案例2:将/home/pig.txt文件移动到 /root 目录下
mv pig.txt /root/
mv pig.txt /root/cow.txt 移动并且重命名
案例3:移动整个目录,比如将 /opt/bbb 移动到 /home 下
mv /opt/bbb /home/
10. cat 指令 查看不会修改
》用处:查看文件内容
基本语法:cat [选项] 要查看的文件
》常用选项
-n : 显示行号
cat /etc/issue 查看ubuntu的版本
cat /proc/verion 查看linux内核版本
》应用实例
案例1: /etc/profile 文件内容,并显示行号
》使用细节
cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more
cat -n/etc/profile | more [进行交互] (enter往下看,空格翻页)
11. more 指令 可以与cat组合使用
》more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令),详见操作说明
》基本语法:more要查看的文件
操作说明,如图
》应用案列
案列:采用 more查看文件 /etc/profile
more /etc/profile
12. less 指令
》less指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比more 指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
》基本语法:less 要查看的文件
操作如下
》应用案列
案列:采用less查看一个大文件 /opt/杂文.txt
less /opt/杂文.txt
13. echo 指令
》用处:echo输出内容到控制台
基本语法:echo [选项] [输出内容]
》应用实例
案例:使用echo指令输出环境变量,比如输出 $PATH $HOSTNAME, echo $HOSTNAME输出主机名
案例:使用echo指令输出hello,world!
14. head 指令
》用处:head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:
head 文件 (功能描述: 查看文件头10行内容)
head -n 5 文件(功能描述:查看文件头5行内容,5可以是任意行数)
》应用实例
案例:查看/etc/profile 的前面5行代码
head -n 5 /etc/profile
15. tail 指令
》用处:tail用于输出文件中尾部的内容,默认情况下tail 指令显示文件的前10行内容。
基本语法:
1)tail 文件 (功能描述:查看文件尾10行内容)
2)tail -n 5 文件(功能描述: 查看文件尾5行内容,5可以是任意行数)
3)tail -f 文件(功能描述:实时追踪该文档的所有更新)
》应用实例
案例1:查看 /etc/profile 最后5行的代码 tail -n 5 /etc/profile
案例2:实时监控 mydate.txt,看看到文件有变化时,是否看到,实时的追加hello,world
tail -f /home/mydate.txt
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 没有,则会创建](ctrl+c退出)
案例2:将当前日历信息追加到/home/mycal 文件中(cal显示当前日历信息)
指令为: cal >> /home/mycal (cat 查看)
17. ln 指令
》软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名] (功能描述: 给原文件创建一个软链接)
》应用实例
案例1:在/home目录下创建一个软连接myroot, 连接到/root 目录
ln -s /root /home/myroot
案列2:删除软链接 myroot
rm /home/myroot
》细节说明
当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录
18. history 指令
》应用:查看已经执行过历史命令,也可以执行历史指令
基本语法:history ( 功能描述:查看已经执行过历史命令)
》应用实例
案例1:显示所有的历史命令
history
案例2:显示最近使用过的10个指令。
history 10
案例3:执行历史编号为5的指令
!5
9.5 时间日期类
1. date指令—显示当前日期
基本语法:
(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"
2. date 指令—设置日期
》基本语法:date -s 字符串时间
》应用实例
案例1:设置系统当前时间,比如设置成2020-11-03 20:02:10
date -s “2020-11-03 20:02:10"
3. cal 指令
》应用:查看日历指令cal
基本语法: cal [选项] (功能描述: 不加选项,显示本月日历)
》应用实例
案例1:显示当前日历 cal 案例2:显示2020年日历: cal 2020
9.6 搜索查找类
1. find 指令
》find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。基本语法:find [搜索范围] [选项]
》选项说明
》应用实例
案例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 | more ( ls -lh 显示具体信息,且能显示文件大小ai)
2. locate 指令
》locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻
》基本语法:locate 搜索文件
》特别说明
由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建 locate 数据库。
》应用实例
案例1:请使用locate 指令快速定位hello.txt 文件所在目录
updatedb ----> locate hello.txt
which 指令,可以查看某个指令在哪个目录下,比如ls 指令在哪个目录-------->which ls
3. grep 指令和管道符号 |
》grep过滤查找﹐管道符号“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
》基本语法:grep [选项] 查找内容源文件
》常用选项
》应用实例
案例1:请在hello.txt文什中,查找"yes"所在行,并且显示行号
写法1: cat /home/hello.txt | grep -n "yes"
写法2: grep -n "yes" /home/hello.txt
9.7 压缩和解压类
1. gzip/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
2. zip/unzip 指令
》zip用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的
》基本语法
zip [选项]XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项]XXX.zip (功能描述:解压缩文件)
》zip常用选项
-r : 递归压缩,即压缩目录
》unzip的常用选项
-d <目录>: 指定解压后文件的存放目录
》应用实例
案例1:将 /home下的所有文件/文件夹进行压缩成 myhome.zip
zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹都压缩]
案例2:将 myhome.zip 解压到 /opt/tmp目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
3. tar 指令
》应用:tar指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
》基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
》选项说明》应用实例
案例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/mp2
(2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2