1. 指定运行级别(7个级别)
- 0.关机
- 1.单用户【找回丢失密码】
- 2.多用户状态没有网络服务
- 3.多用户状态有网络服务
- 4.系统未使用保留给用户
- 5.图形界面
- 6.系统重启

- 切换到指定运行级别的指令:init [012356]
系统的运行级别配置文件:/etc/inittab
修改默认运行级别
- 在CentOs7以前,需要在/ect/inittab文件中修改。
- CentOs7之后

[root@iZbp1978lespq45h0qv20aZ home]# cd /[root@iZbp1978lespq45h0qv20aZ /]# runlevelN 3[root@iZbp1978lespq45h0qv20aZ /]# systemctl get-defaultmulti-user.target[root@iZbp1978lespq45h0qv20aZ /]# systemctl set-default multi-user.targetRemoved symlink /etc/systemd/system/default.target.Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.[root@iZbp1978lespq45h0qv20aZ /]# systemctl get-defaultmulti-user.target[root@iZbp1978lespq45h0qv20aZ /]# runlevelN 3
即使用runlevel 查看当前运行级别,systemctl get-default 查看默认设置运行级别,
systemctl set-default multi-user.target 设置默认运行级别的3。
找回root密码
2.2 help指令
基本语法:help 命令 (功能描述:获得shell内置命令的帮助信息)
3. 文件目录类指令
3.1 文件剪贴删除复制重名等
pwd:Print Working Directory,显示当前工作目录的绝对路径。ls:-a:显示当前目录所有的文件和目录,包括隐藏的;- -l:以列表的方式显示信息。
注意可以组合。
cd:cd ~:回到自己的家目录;cd …:回到当前目录的上一级目录。[root@iZbp1978lespq45h0qv20aZ /]# lsbin dev home lib64 media opt root sbin sys usrboot etc lib lost+found mnt proc run srv tmp var[root@iZbp1978lespq45h0qv20aZ /]# cd home/[root@iZbp1978lespq45h0qv20aZ home]# lstom[root@iZbp1978lespq45h0qv20aZ home]# cd tom/[root@iZbp1978lespq45h0qv20aZ tom]# lshelo.txt[root@iZbp1978lespq45h0qv20aZ tom]# pwd/home/tom[root@iZbp1978lespq45h0qv20aZ tom]# cd ../../root[root@iZbp1978lespq45h0qv20aZ ~]# pwd/root[root@iZbp1978lespq45h0qv20aZ ~]# cd ..[root@iZbp1978lespq45h0qv20aZ /]# pwd/[root@iZbp1978lespq45h0qv20aZ /]# cd ~[root@iZbp1978lespq45h0qv20aZ ~]# pwd/root
mkdir:创建目录;-p:创建多级目录。基本语法:mkdir [选项] 要创建的目录
# 创建一个目录mkdir /home/dog#创建多级目录mkdir -p /home/animal/tiger
rmdir:删除空目录。rmdir不能删除非空的目录。如果需要删除非空的目录,需要使用rm -rf。创建目录;-p:创建多级目录。
[root@iZbp1978lespq45h0qv20aZ home]# lsanimal dog tom[root@iZbp1978lespq45h0qv20aZ home]# rmdir dog/[root@iZbp1978lespq45h0qv20aZ home]# lsanimal tom[root@iZbp1978lespq45h0qv20aZ home]# rm -rf animal/[root@iZbp1978lespq45h0qv20aZ home]# lstom
cp:拷贝文件到指定目录;cp [选项] source dest
- -r:递归复制整个文件夹。
- 强制覆盖不提示的方法:cp命令改为\cp
[root@iZbp1978lespq45h0qv20aZ home]# lshello1.txt test tom[root@iZbp1978lespq45h0qv20aZ home]# cp hello1.txt test/[root@iZbp1978lespq45h0qv20aZ home]# lshello1.txt test tom[root@iZbp1978lespq45h0qv20aZ home]# cd test/[root@iZbp1978lespq45h0qv20aZ test]# lshello1.txt[root@iZbp1978lespq45h0qv20aZ test]# cp -r /home/test/ /opt/
rm:移除文件或目录;基本语法:rm [选项] 要删除的文件或目录
- -r:递归删除整个文件夹;
- -f:强制删除不提示。
[root@iZbp1978lespq45h0qv20aZ test]# lshello1.txt hello2.txt[root@iZbp1978lespq45h0qv20aZ test]# rm hello1.txtrm: remove regular empty file ‘hello1.txt’? y[root@iZbp1978lespq45h0qv20aZ test]# rm -f hello2.txt[root@iZbp1978lespq45h0qv20aZ test]# ls[root@iZbp1978lespq45h0qv20aZ test]# cd ~[root@iZbp1978lespq45h0qv20aZ ~]# lsHello.cpp[root@iZbp1978lespq45h0qv20aZ ~]# cd /opt[root@iZbp1978lespq45h0qv20aZ opt]# lstest[root@iZbp1978lespq45h0qv20aZ opt]# rm -r test/rm: remove directory ‘test/’? y[root@iZbp1978lespq45h0qv20aZ opt]# ls[root@iZbp1978lespq45h0qv20aZ opt]# cd /home[root@iZbp1978lespq45h0qv20aZ home]# lshello1.txt test tom[root@iZbp1978lespq45h0qv20aZ home]# rm -f hello1.txt[root@iZbp1978lespq45h0qv20aZ home]# rm -r test/rm: descend into directory ‘test/’? yrm: remove regular empty file ‘test/hello2.txt’? yrm: remove regular empty file ‘test/hello1.txt’? yrm: remove directory ‘test/’? y[root@iZbp1978lespq45h0qv20aZ home]# lstom
mv:移动文件与目录或重命名,两种功能!mv src tar
mv cat.txt pig.txt #重命名文件mv pig.txt /home/cat.txt #移动文件并且重命名mv /opt/bbb/ /home/ #移动bbb这个文件夹mv /opt/bbb/ /home/ccc #移动bbb这个文件夹并且重命名
touch:创建空文件。可以一次性创建多个文件touch 文件名称
touch hello.txt
ln表示link的意思,软链接,也称为符号链接,类似Windows里面的快捷方式,主要存放了链接其他文件的路径。- 基本语法:ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)
- 删除不能加
/,把他当成一个文件,而不是目录; pwd显示的是当前的路径,而不是链接的路径,但是显示的内容是链接的内容。[root@iZbp1978lespq45h0qv20aZ home]# lscat.txt tom[root@iZbp1978lespq45h0qv20aZ home]# ln -s /root/ myroot[root@iZbp1978lespq45h0qv20aZ home]# ls -ltotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txtlrwxrwxrwx 1 root root 6 Feb 21 16:16 myroot -> /root/drwx------ 2 tom tom 4096 Feb 21 14:35 tom[root@iZbp1978lespq45h0qv20aZ home]# cd myroot/[root@iZbp1978lespq45h0qv20aZ myroot]# pwd/home/myroot[root@iZbp1978lespq45h0qv20aZ myroot]# lsHello.cpp[root@iZbp1978lespq45h0qv20aZ myroot]# cd /home/[root@iZbp1978lespq45h0qv20aZ home]# ls -ltotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txtlrwxrwxrwx 1 root root 6 Feb 21 16:16 myroot -> /root/drwx------ 2 tom tom 4096 Feb 21 14:35 tom[root@iZbp1978lespq45h0qv20aZ home]# rm myroot/rm: cannot remove ‘myroot/’: Is a directory[root@iZbp1978lespq45h0qv20aZ home]# rm myrootrm: remove symbolic link ‘myroot’? y[root@iZbp1978lespq45h0qv20aZ home]# ls -ltotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txtdrwx------ 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:时事追踪该文档的所有更新
>指令:输出重定向。如果不存在会创建文件,否则会将原来的文件内容覆盖。>>指令:追加。如果不存在会创建文件,否则不会覆盖原来的文件内容,而是追加到文件的尾部。[root@iZbp1978lespq45h0qv20aZ ~]# ls -l /hometotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txtdrwx------ 2 tom tom 4096 Feb 21 14:35 tom[root@iZbp1978lespq45h0qv20aZ ~]# ls -l /home >/home/info.txt[root@iZbp1978lespq45h0qv20aZ ~]# cd /home/[root@iZbp1978lespq45h0qv20aZ home]# lscat.txt info.txt tom[root@iZbp1978lespq45h0qv20aZ home]# cat info.txttotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt-rw-r--r-- 1 root root 0 Feb 21 16:04 info.txtdrwx------ 2 tom tom 4096 Feb 21 14:35 tom[root@iZbp1978lespq45h0qv20aZ home]# lscat.txt info.txt tom[root@iZbp1978lespq45h0qv20aZ home]# cal >> info.txt[root@iZbp1978lespq45h0qv20aZ home]# cat info.txttotal 4-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt-rw-r--r-- 1 root root 0 Feb 21 16:04 info.txtdrwx------ 2 tom tom 4096 Feb 21 14:35 tomFebruary 2022Su Mo Tu We Th Fr Sa1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28
echo:输出内容到控制台echo $HOSTNAME:输出主机名echo $PATH:输出环境变量[root@iZbp1978lespq45h0qv20aZ ~]# echo $HOSTNAMEiZbp1978lespq45h0qv20aZ[root@iZbp1978lespq45h0qv20aZ ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
history:查看已经执行过历史命令,也可以执行历史指令history 显示所有的历史命令history 10 显示最近使用过的10个指令!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”
[root@Tyc ~]# dateMon Feb 21 18:32:52 CST 2022[root@Tyc ~]# date "+%Y-%m-%d"2022-02-21[root@Tyc ~]# date "+%Y-%m-%d %H:%M:%S"2022-02-21 18:34:03
cal:查看日历指令;find:从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端。find [搜索范围] [选项]
- find (搜索范围) -name (文件名):按照指定的文件名查找模式查找文件。
- find (搜索范围) -user (用户名):按照指定的用户名查找模式查找文件。
- find (搜索范围) -size (+多少/-多少/多少):按照指定的文件大小查找模式查找文件(大于多少/小于多少/等于多少)
- 查询 /目录下所有.txt的文件:find / -name *.txt
- 说明:当查询路径下无该文件,就不会有任何显示
locate:locate (搜索文件)基本语法:locate 搜索文件
- 可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
- locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
- 在第一次运行之前,必须使用updatedb指令创建locate数据库。
[root@Tyc /]# updatedb[root@Tyc /]# locate Hello.cpp/root/Hello.cpp
which:可以查看某个指令在哪个目录下。
[root@Tyc /]# which lsalias ls='ls --color=auto'/usr/bin/ls[root@Tyc /]# which man/usr/bin/man[root@Tyc /]# which cd/usr/bin/cd
grep:过滤查找,表示将前一个命令的处理结果输出传递给后面的命令处理。经常跟管道一起使用。基本语法:grep [选项] 查找内容 源文件
gzip/gunzip:压缩文件/解压- gzip (文件):压缩为.gz文件,原来文件不保留。
- gunzip (文件):解压缩,同样也不保留源文件。
[root@Tyc home]# lscat.txt test.txt tom[root@Tyc home]# gzip test.txt[root@Tyc home]# lscat.txt test.txt.gz tom[root@Tyc home]# gunzip test.txt.gz[root@Tyc home]# lscat.txt test.txt tom
zip/unzip:压缩文件/解压zip [选项] xxx.zip 将要压缩的内容(一般是文件和文件夹) uzip [选项] xxx.zip (功能描述:解压文件)
- zip [选项] (压缩后文件xxx.zip) (将要压缩的文件)
- unzip [选项] (要解压的文件xxx.zip)
- zip -r:递归压缩,即压缩目录
- unzip -d (目录):指定解压后的文件的存放目录
[root@Tyc home]# lscat.txt test.txt tom[root@Tyc home]# zip -r myhome.zip /home/adding: home/ (stored 0%)adding: home/cat.txt (stored 0%)adding: home/tom/ (stored 0%)adding: home/tom/.bashrc (deflated 23%)adding: home/tom/helo.txt (stored 0%)adding: home/tom/.bash_profile (deflated 21%)adding: home/tom/.bash_logout (stored 0%)adding: home/test.txt (deflated 19%)[root@Tyc home]# lscat.txt myhome.zip test.txt tom[root@Tyc home]# unzip -d /opt/temp myhome.zipArchive: myhome.zipcreating: /opt/temp/home/extracting: /opt/temp/home/cat.txtcreating: /opt/temp/home/tom/inflating: /opt/temp/home/tom/.bashrcextracting: /opt/temp/home/tom/helo.txtinflating: /opt/temp/home/tom/.bash_profileextracting: /opt/temp/home/tom/.bash_logoutinflating: /opt/temp/home/test.txt[root@Tyc home]# cd /ope/te-bash: cd: /ope/te: No such file or directory[root@Tyc home]# cd /opt/temp/[root@Tyc temp]# lshome
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 ```


