1. 指定运行级别(7个级别)
- 0.关机
- 1.单用户【找回丢失密码】
- 2.多用户状态没有网络服务
- 3.多用户状态有网络服务
- 4.系统未使用保留给用户
- 5.图形界面
- 6.系统重启
- 切换到指定运行级别的指令:init [012356]
系统的运行级别配置文件:/etc/inittab
修改默认运行级别
- 在CentOs7以前,需要在/ect/inittab文件中修改。
- CentOs7之后
[root@iZbp1978lespq45h0qv20aZ home]# cd /
[root@iZbp1978lespq45h0qv20aZ /]# runlevel
N 3
[root@iZbp1978lespq45h0qv20aZ /]# systemctl get-default
multi-user.target
[root@iZbp1978lespq45h0qv20aZ /]# systemctl set-default multi-user.target
Removed 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-default
multi-user.target
[root@iZbp1978lespq45h0qv20aZ /]# runlevel
N 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 /]# ls
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[root@iZbp1978lespq45h0qv20aZ /]# cd home/
[root@iZbp1978lespq45h0qv20aZ home]# ls
tom
[root@iZbp1978lespq45h0qv20aZ home]# cd tom/
[root@iZbp1978lespq45h0qv20aZ tom]# ls
helo.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]# ls
animal dog tom
[root@iZbp1978lespq45h0qv20aZ home]# rmdir dog/
[root@iZbp1978lespq45h0qv20aZ home]# ls
animal tom
[root@iZbp1978lespq45h0qv20aZ home]# rm -rf animal/
[root@iZbp1978lespq45h0qv20aZ home]# ls
tom
cp
:拷贝文件到指定目录;cp [选项] source dest
- -r:递归复制整个文件夹。
- 强制覆盖不提示的方法:cp命令改为\cp
[root@iZbp1978lespq45h0qv20aZ home]# ls
hello1.txt test tom
[root@iZbp1978lespq45h0qv20aZ home]# cp hello1.txt test/
[root@iZbp1978lespq45h0qv20aZ home]# ls
hello1.txt test tom
[root@iZbp1978lespq45h0qv20aZ home]# cd test/
[root@iZbp1978lespq45h0qv20aZ test]# ls
hello1.txt
[root@iZbp1978lespq45h0qv20aZ test]# cp -r /home/test/ /opt/
rm
:移除文件或目录;基本语法:rm [选项] 要删除的文件或目录
- -r:递归删除整个文件夹;
- -f:强制删除不提示。
[root@iZbp1978lespq45h0qv20aZ test]# ls
hello1.txt hello2.txt
[root@iZbp1978lespq45h0qv20aZ test]# rm hello1.txt
rm: remove regular empty file ‘hello1.txt’? y
[root@iZbp1978lespq45h0qv20aZ test]# rm -f hello2.txt
[root@iZbp1978lespq45h0qv20aZ test]# ls
[root@iZbp1978lespq45h0qv20aZ test]# cd ~
[root@iZbp1978lespq45h0qv20aZ ~]# ls
Hello.cpp
[root@iZbp1978lespq45h0qv20aZ ~]# cd /opt
[root@iZbp1978lespq45h0qv20aZ opt]# ls
test
[root@iZbp1978lespq45h0qv20aZ opt]# rm -r test/
rm: remove directory ‘test/’? y
[root@iZbp1978lespq45h0qv20aZ opt]# ls
[root@iZbp1978lespq45h0qv20aZ opt]# cd /home
[root@iZbp1978lespq45h0qv20aZ home]# ls
hello1.txt test tom
[root@iZbp1978lespq45h0qv20aZ home]# rm -f hello1.txt
[root@iZbp1978lespq45h0qv20aZ home]# rm -r test/
rm: descend into directory ‘test/’? y
rm: remove regular empty file ‘test/hello2.txt’? y
rm: remove regular empty file ‘test/hello1.txt’? y
rm: remove directory ‘test/’? y
[root@iZbp1978lespq45h0qv20aZ home]# ls
tom
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]# ls
cat.txt tom
[root@iZbp1978lespq45h0qv20aZ home]# ln -s /root/ myroot
[root@iZbp1978lespq45h0qv20aZ home]# ls -l
total 4
-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
lrwxrwxrwx 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]# ls
Hello.cpp
[root@iZbp1978lespq45h0qv20aZ myroot]# cd /home/
[root@iZbp1978lespq45h0qv20aZ home]# ls -l
total 4
-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
lrwxrwxrwx 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 myroot
rm: remove symbolic link ‘myroot’? y
[root@iZbp1978lespq45h0qv20aZ home]# ls -l
total 4
-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
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:时事追踪该文档的所有更新
>
指令:输出重定向。如果不存在会创建文件,否则会将原来的文件内容覆盖。>>
指令:追加。如果不存在会创建文件,否则不会覆盖原来的文件内容,而是追加到文件的尾部。[root@iZbp1978lespq45h0qv20aZ ~]# ls -l /home
total 4
-rw-r--r-- 1 root root 0 Feb 21 12:28 cat.txt
drwx------ 2 tom tom 4096 Feb 21 14:35 tom
[root@iZbp1978lespq45h0qv20aZ ~]# ls -l /home >/home/info.txt
[root@iZbp1978lespq45h0qv20aZ ~]# cd /home/
[root@iZbp1978lespq45h0qv20aZ home]# ls
cat.txt info.txt tom
[root@iZbp1978lespq45h0qv20aZ home]# cat info.txt
total 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.txt
drwx------ 2 tom tom 4096 Feb 21 14:35 tom
[root@iZbp1978lespq45h0qv20aZ home]# ls
cat.txt info.txt tom
[root@iZbp1978lespq45h0qv20aZ home]# cal >> info.txt
[root@iZbp1978lespq45h0qv20aZ home]# cat info.txt
total 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.txt
drwx------ 2 tom tom 4096 Feb 21 14:35 tom
February 2022
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28
echo
:输出内容到控制台echo $HOSTNAME
:输出主机名echo $PATH
:输出环境变量[root@iZbp1978lespq45h0qv20aZ ~]# echo $HOSTNAME
iZbp1978lespq45h0qv20aZ
[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 ~]# date
Mon 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 ls
alias 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]# ls
cat.txt test.txt tom
[root@Tyc home]# gzip test.txt
[root@Tyc home]# ls
cat.txt test.txt.gz tom
[root@Tyc home]# gunzip test.txt.gz
[root@Tyc home]# ls
cat.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]# ls
cat.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]# ls
cat.txt myhome.zip test.txt tom
[root@Tyc home]# unzip -d /opt/temp myhome.zip
Archive: myhome.zip
creating: /opt/temp/home/
extracting: /opt/temp/home/cat.txt
creating: /opt/temp/home/tom/
inflating: /opt/temp/home/tom/.bashrc
extracting: /opt/temp/home/tom/helo.txt
inflating: /opt/temp/home/tom/.bash_profile
extracting: /opt/temp/home/tom/.bash_logout
inflating: /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]# ls
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 ```