实用指令
指定运行级别
运行级别一共有 7 种
- 0:关机
- 1:单用户,可以帮助找回丢失的密码
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常用运行级别是 3 和 5,也可以指定默认运行级别。
切换运行级别
修改默认运行级别
在 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
1
2
3
4
5
6
7
8
9
10
11
12即使用
runlevel
查看当前运行级别,systemctl get-default
查看默认设置运行级别,systemctl set-default multi-user.target
设置默认运行级别的 3。
找回 root 密码
思路:进入到单用户模式,就可以修改 root 密码
帮助指令
man 命令或配置信息
help 命令
文件操作指令
文件目录
pwd
:显示当前工作目录的绝对路径。ls -a
或者ls -l
:-a 显示当前目录的所有文件和目录,包括隐藏的;-l 表示以列表的方式显示信息;注意可以组合。cd
:切换目录,后面可以是绝对路径或者相对路径,如果是/
开头,表示绝对路径;否则为相对路径。cd ~
:回到自己的家目录;cd ..
:回到当前目录的上一级目录;
文件创建删除
mkdir
:创建目录,默认创建一级目录,如果要创建多级,要加-p
;# 创建一个目录 mkdir /home/dog #创建多级目录 mkdir -p /home/animal/tiger
1
2
3
4
rmdir
:默认删除空目录,如果目录下有内容无法删除rm -rf
:递归强制删除,可删除有内容的目录[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
1
2
3
4
5
6
7
8
touch
:创建一个空文件touch hello.txt
1
文件拷贝删除移动查看
cp 文件 拷贝路径
:拷贝文件到指定路径cp -r 文件夹 拷贝路径
:递归拷贝文件夹到指定路径\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/
1
2
3
4
5
6
7
8
9
rm 文件或目录
:删除文件rm -r 文件夹
:递归删除整个文件夹rm -f
:强制删除不显示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这个文件夹并且重命名
1
2
3
4
cat
:查看文件内容其实
vim
也可以查看文件内容,但不同的是,vim 是可编辑的,cat 只能浏览,相对来说更安全。一般 cat 会带上管道命令
| more
以方便浏览,管道命令是指上一个指令得到的结果交给下一个指令结果,类似两个指令的结合。cat -n /etc/profile | more
:-n 表示显示行号。
more
:例如more /etc/profile
。以全屏按页显示文本文件内容。less
:用来分屏查看文件内容,和more
功能类似,但比 more 功能更强大。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
1
2
3
4
head
:用于显示文件的开头部分内容,默认情况显示前 10 行head -n 5 /etc/profile
:查看文件前 5 行
tail
:用于显示文件的尾部内容,默认显示最后 10 行tail -n 5 /etc/profile
:查看文件后 5 行tail -f 文件名
:实时追踪文档的所有更新,退出按ctrl+C
,适用于网络抓包、服务器网络监视
>
输出重定向(覆盖原文件)和>>
追加[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 [root@iZbp1978lespq45h0qv20aZ home]#
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
29
30
ln
:表示 link 的意思,软链接,也称为符号链接,类似 Windows 里面的快捷方式,主要存放了链接其他文件的路径。删除不能加
/
,把他当成一个文件,而不是目录;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
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
history
:查看已经执行过的历史命令!n
:执行编号为 n 的历史命令。[root@iZbp1978lespq45h0qv20aZ home]# history 10 295 cd myroot/ 296 pwd 297 ls 298 cd /home/ 299 ls -l 300 rm myroot/ 301 rm myroot 302 ls -l 303 history 304 history 10 [root@iZbp1978lespq45h0qv20aZ home]# !302 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 [root@iZbp1978lespq45h0qv20aZ home]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
时间日期指令
date
:显示当前日期[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
1
2
3
4
5
6date -s "2021-11-03 20:02:03"
:设置系统时间
cal
:显示本月月历cal 2020
:显示 2020 年的所有月历
查找指令
find 搜索范围 选项
:从指定目录向下递归的遍历子目录,将满足的文件或目录显示在终端locate
:可以利用数据库快速实现文件搜索,但有的 linux 没有安装,先安装yum install mlocate
,然后再使用之前更新数据库updatedb
,才能使用 locate。[root@Tyc /]# updatedb [root@Tyc /]# locate Hello.cpp /root/Hello.cpp
1
2
3
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
1
2
3
4
5
6
7
grep
:过滤查找,通常和管道符号|
一起使用。基本语法
grep -n "内容" 文件
;-n 表示显示匹配的行号。基本语法
grep -i "内容" 文件
;-i 表示忽略字母大小写。[root@Tyc home]# cat test.txt hello yes dp home dp yes yes hale kkk yes test [root@Tyc home]# cat test.txt | grep -n "yes" 2:yes 6:yes 7:yes 10:yes [root@Tyc home]# grep -n "yes" test.txt 2:yes 6:yes 7:yes 10:yes [root@Tyc home]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ss
ss
是一个更现代化的工具,用于显示套接字统计信息。它比 netstat 更快速和高效。
- -t: 显示 TCP 连接信息
- -u: 显示 UDP 连接信息
- -l: 仅显示监听状态的端口
- -n: 使用数字格式显示端口号,而不是服务名
实例应用
查看端口占用情况,可以使用以下命令:ss -tuln | grep 端口号