02.Linux的基础命令
Posted MirrorML
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02.Linux的基础命令相关的知识,希望对你有一定的参考价值。
第二讲 Linux常用命令
课程大纲 | 课程内容 | 学习效果 | 掌握目标 |
---|---|---|---|
Linux基础 | Linux的命令 | 掌握 | |
常用命令 | 掌握 |
五、Linux常用命令
(一)Linux的命令
1、命令的必要性
虽然我们可以使用图形化界面,但图形化界面会影响服务器的性能。一般服务器需要长时间运行(一般为7*24小时不间断运行),图形化的桌面版系统庞大,复杂,容易造成崩溃。
命令行界面不够美观,但运行稳定,干扰性能项相对较少,对于开发人员而言操作也比较快捷方便。
图形化界面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oIQXY49W-1639988203258)(media/998a04cbfaa5d8d68c5b67810dae7a91.png)]
命令行界面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dcQ36kfo-1639988203260)(media/d9a15b45ced819683755f57e9216a515.png)]
2、命令的格式和语法
(1)命令的格式和语法
命令+空格+选项+空格+参数
(2)命令详解
命令:指单词或者词组的全称或者简写
选项:选项是包括一个或多个字母的代码,前面有一个“-”连字符,主要用于扩展基础命令。
参数:命令操作的对象
(3)举例说明
如上图的命令行界面,ls -l /root
是一个完整的命令,其中“ls”是命令,“-l”是选项,“/root”是参数,执行ls -l /root
后会将结果展现给我们。
3、命令的分类
(1)命令分类
内部命令:也称作内置命令,随着Linux系统启动而加载到内存中,是常驻内存的,调用速度快,执行效率高。
**外部命令:**在Linux系统启动时并不随系统一起被加载到内存中,而是在需要时才将其从磁盘加载到内存中,调用速度相对较慢。
(2)命令类型的鉴别
如何区分某个命令是内部命令还是外部命令?
**type命令:**查看指定的命令是否是内部命令
type命令的语法:type+空格+命令
(3)案例
[root@node-1 ~]# type ifconfig
ifconfig 是 /usr/sbin/ifconfig
[root@node-1 ~]# type cd
cd 是 shell 内嵌
4、常用快捷键和基础命令
(1)who
基本语法:
语法 | 功能描述 |
---|---|
whoami | 显示自身用户名称 |
who am i | 显示登录用户的用户名 |
who | 看当前有哪些用户登录到了本台机器上 |
案例:(root用户登录切换到offcn用户下操作)
[offcn@node-1 root]$ whoami
offcn
[offcn@node-1 root]$ who am i
root pts/1 2021-01-28 14:51 (192.168.254.1)
[offcn@node-1 root]$ who
root :0 2021-01-27 15:26 (:0)
root pts/0 2021-01-28 09:34 (192.168.254.1)
root pts/1 2021-01-28 14:51 (192.168.254.1)
(2)pwd
基本语法:
语法 | 功能描述 |
---|---|
pwd | 显示当前工作目录的绝对路径 |
案例:
[root@node-1 offcn]# pwd
/home/offcn
(3)cd
基本语法:
语法 | 功能描述 |
---|---|
cd 绝对路径 | 切换到所给的绝对路径下 |
cd 相对路径 | 切换到所给的相对路径下 |
cd ~或者cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd … | 回到当前目录的上一级目录 |
案例:
- cd 绝对路径
[root@node-1 /]# cd /home/
[root@node-1 home]# pwd
/home
- cd 相对路径
[root@node-1 home]# cd offcn/
[root@node-1 offcn]# pwd
/home/offcn
- cd ~或者cd
[root@node-1 offcn]# cd
[root@node-1 ~]# pwd
/root
- cd -
[root@node-1 ~]# cd -
/home/offcn
- cd …
[root@node-1 offcn]# cd …
[root@node-1 home]# pwd
/home
(4)ifconfig
基本语法:
语法 | 功能描述 |
---|---|
ifconfig | 查看网络配置信息 |
案例:
[root@node-1 home]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.254.111 netmask 255.255.255.0 broadcast 192.168.254.255
inet6 fe80::f9ea:b6c8:d16:6956 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ca:ea:43 txqueuelen 1000 (Ethernet)
RX packets 49964 bytes 59153579 (56.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21252 bytes 1451157 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 560 bytes 62904 (61.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 560 bytes 62904 (61.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:93:8f:49 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(5)history
基本语法:
语法 | 功能描述 |
---|---|
history | 查看历史命令(1000条) |
案例:
[root@node-1 home]# history
1 ll
2 pwd
3 ifconfig
(6)快捷键
基本语法:
语法 | 功能描述 |
---|---|
ctrl + c | 停止进程 |
ctrl + l | 清屏 |
tab键 | 自动补全命令 |
上下键 | 查找执行过的命令 |
(二)常用命令
1、帮助类命令
帮助类命令的作用:查看命令的含义以及使用方法。
whatis
基本语法:
语法 | 功能描述 |
---|---|
whatis + 命令 | 描述一个命令执行什么功能 |
案例:
[root@node-1 home]# whatis who
who (1) - 显示已经登录的用户
更新信息库: mandb
man
基本语法:
语法 | 功能描述 |
---|---|
man + 命令 | Man即manual手册的简写。指的是命令的使用手册 |
案例:(退出手册查看方式->键入q)
help
基本语法:
语法 | 功能描述 |
---|---|
help + 内部命令 | 查看内部命令的使用帮助 |
外部命令 + --help | 查看外部命令的使用帮助 |
案例:
- help + 内部命令
[root@node-1 ~]# help pwd
pwd: pwd [-LP]
打印当前工作目录的名字。
选项:
-L 打印 $PWD 变量的值,如果它命名了当前的
工作目录
-P 打印当前的物理路径,不带有任何的符号链接
默认情况下,`pwd’ 的行为和带 `-L’ 选项一致
退出状态:
除非使用了无效选项或者当前目录不可读,否则
返回状态为0。
- 外部命令 + --help
[root@node-1 ~]# ls --help
用法:ls [选项]… [文件]…
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
…
…
2、文本编辑命令
(1)Linux文本编辑器介绍
在Windows中,我们可以使用记事本、word等等应用程序来编辑文件,那么在Linux里面我们需要使用vi或者vim编辑器来编辑文件。vi或者vim编辑器也是作为Linux中的命令存在的。
基本语法:
语法 | 功能描述 |
---|---|
vi/vim + 文件 | 进入某文件的编辑界面对文件内容进行编辑 |
vi
是老式的文字处理器,来源于Unix操作系统,所有的类Unix系统也都会内建vi文本编辑器。
vim可以理解为是vi的增强版,现在可称为“Vi Improved”(Vi改进版),原来也被称为“Vi
Imitation”(Vi模拟版),vim比vi拥有更强大的编辑能力,增加了以字体颜色辨别语法的正确性,跨平台使用等功能,更加方便了程序的设计。
vi和vim在使用效果上的简单对比:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sJyIE5Kk-1639988203260)(media/6aee7132bf81338e53ba049664f6a85c.jpeg)]
vi/vim的三种模式:
我们在使用vi/vim时。主要有三种模式:一般模式、编辑模式、指令模式,不同模式有不同的功能,根据自己的需要使用不同的模式。
在使用之前,先准备一个测试用的文本文件,如下:
(2)Linux文本编辑器使用
a.一般模式
用vi/vim
打开一个文件就直接进入一般模式了。在该模式中,可以使用上下左右按键来移动光标,
也可以使用复制、粘贴、删除等功能来处理文件内容,但是这里的复制、粘贴、删除与Windows的操作是不同的。
常用语法:
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y + 数字N + y 、 数字 + yy | 从光标闪烁处开始往后复制N行 |
p | 即paste,将复制的内容粘贴到光标所在行的下一行 |
u | 即undo,撤销上一步的操作 |
dd | 即delete,删除光标所在的当前行 |
d + 数字N + d | 从光标所在行开始往后删除N行 |
shift + ^ | 移动到光标所在行的行头 |
shift + $ | 移动到光标所在行的行尾 |
gg | 移动到文件的第一行 |
shift + g | 移动到文件的末尾行 |
数字N + shift + g | 移动到文件的第N行处 |
b.编辑模式
在一般模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容。我们需要进入编辑模式才可以编辑具体内容,我们可以在一般模式下键入『i,
I, o, O, a, A, r, R』等任一字母就可进入编辑模式。
进入编辑模式,会在左下方出现『INSERT 或 REPLACE 或 插入
』的字样。编辑完成后,按下『Esc』这个按键可退出编辑模式,回到一般模式,在一般模式下,可以进入指令模式,选择保存或者不保存文件。
常用语法:
语法 | 功能描述 |
---|---|
键入“i” | 在光标所在位置处进入编辑模式 |
键入“I” | 将光标定位到所在行的行头进入编辑模式 |
键入“a” | 将光标定位到当前位置的下一字节进入编辑模式 |
键入“A” | 将光标定位到所在行的行尾进入编辑模式 |
键入“o” | 在光标所在行的下一行新建一行进入编辑模式 |
键入“O” | 在光标所在行的上一行新建一行进入编辑模式 |
c.指令模式
该模式也被称之为底行模式,在一般模式下,输入『 : /
?』3个中的任何一个按键,就可以将光标移动到页面最底一行进入到指令模式,在该模式下可以进行保存、不保存、显示行号、搜索关键字等操作。按下『Esc』这个按键可退出编辑模式。
常用语法:
语法 | 功能描述 |
---|---|
键入“:或 / 或 ?” | 在一般模式下进入指令模式 |
键入“:”后输入“w”并回车 | 保存 |
键入“:”后输入“q”并回车 | 退出文本编辑器 |
键入“:”后输入“wq”并回车 | 保存文本内容并退出文本编辑器 |
键入“:”后输入“!”并回车 | 强制执行 |
键入“:”后输入“q!”并回车 | 不保存文件,强制退出文本编辑器 |
键入“:”后输入“wq!”并回车 | 强制保存并退出文本编辑器 |
一般模式下按下 Shift + z + z | 对非只读文件实现快速保存 |
键入“/”后输入“关键词”并回车 | 查询文件中的关键词,按n向下查找下一个关键词 |
键入“?”后输入“关键词”并回车 | 查询文件中的关键词,按n向上查找下一个关键词 |
键入“:”后输入“set nu名,”并回车 | 显示每行的行号,取消 set nonu |
键入“:”后输入“%s/word1/word2”并回车 | 将文件中的word1替换为word2 |
(3)模式间转换
三种模式之间的转换如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c7iBxTwF-1639988203261)(media/224af6abb4f370ca8af6587a5fe9e445.png)]
实战演练
**需求1:**将测试文件“vi测试数据.txt”中含有“444”关键字的那行数据删除。
**需求2:**在测试文件末尾新增一行数据“this is last line”。
将修改后的测试文件进行保存退出。
3、文件目录类命令
(1)ls
基本语法:
语法 | 功能描述 |
---|---|
ls + [选项] + 目录 | 显示指定目录下的所有子目录和文件 选项: -a :all,全部的文件,连同隐藏的文档( 开头为 . 的文件) 一起列出来(常用) -l :以详情列表列出,包含文件的属性与权限等等数据;(常用) -i :查看文件的inode号(inode存储文件的详细信息) |
案例:
[root@node-1 test]# ls
d1 test1.txt test2.txt vi测试数据.txt
[root@node-1 test]# ls -l
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# ll -a
总用量 20
drwxr-xr-x. 3 root root 76 1月 31 16:35 .
dr-xr-xr-x. 18 root root 236 1月 29 17:18 …
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# ll -i
总用量 20
35513412 drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
35296254 -rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
35299497 -rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
35299499 -rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
(2)touch
常用语法:
语法 | 功能描述 |
---|---|
touch + 文件名称 | 用来创建新的空文件 |
案例:
[root@node-1 data]# ll
总用量 0
[root@node-1 data]# touch test.txt
[root@node-1 data]# ll
总用量 0
-rw-r–r--. 1 root root 0 1月 29 15:50 test.txt
(3)mkdir
基本语法:
语法 | 功能描述 |
---|---|
mkdir + [选项] +要创建的目录 | 创建一个新的目录 选项: -p :递归创建多级目录 |
案例:
[root@node-1 test]# ll
总用量 20
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# mkdir data
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 2 root root 6 1月 31 16:30 data
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# mkdir -p d1/d2/d3
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
drwxr-xr-x. 2 root root 6 1月 31 16:30 data
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# ll d1/d2/d3/
总用量 0
(4)echo 和 重定向
**echo:**输出内容
**重定向:**将数据写入到指定文件,分为追加写“>>”和覆盖写“>”
常用语法:
语法 | 功能描述 |
---|---|
echo + 输出内容(文本/命令结果/变量) | 将内容进行输出显示 |
echo + 输出内容 >> 文件 | 将输出内容追加存储在指定文件中 |
echo + 输出内容 > 文件 | 将输出内容覆盖存储在指定文件中 |
案例:
[root@node-1 data]# echo “hello”
hello
[root@node-1 data]# echo `date`
2021年 01月 29日 星期五 16:47:14 CST
[root@node-1 data]# echo $PWD
/test/data
[root@node-1 data]# cat test.txt
[root@node-1 data]# echo “hello” >> test.txt
[root@node-1 data]# echo `date` >> test.txt
[root@node-1 data]# cat test.txt
hello
2021年 01月 29日 星期五 16:48:52 CST
[root@node-1 data]# echo “world” > test.txt
[root@node-1 data]# cat test.txt
world
(5)printf
基本语法:
语法 | 功能描述 |
---|---|
printf + 格式 + 参数 | 将数据指定格式进行输出 |
案例:
[root@node-1 data]# printf “hello world”
hello world[root@node-1 data]#
[root@node-1 data]# printf “hello world \\n”
hello world
[root@node-1 data]# printf “%s \\t %d \\t %s \\n” “zhangsan” 16 “man”
zhangsan 16 man
(6)mv
基本语法:
语法 | 功能描述 |
---|---|
mv + 原文件名 + 新文件名 | 对文件进行重命名 |
mv + 文件/目录 + 路径 | 将文件/目录移动到指定路径下 |
案例:
[root@node-1 data]# ll
总用量 4
-rw-r–r--. 1 root root 6 1月 29 16:49 test.txt
[root@node-1 data]# mv test.txt test1.txt
[root@node-1 data]# ll
总用量 4
-rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
[root@node-1 data]# mv test1.txt /opt/
[root@node-1 data]# ll /opt/
总用量 4
drwxr-xr-x. 2 root root 6 9月 7 2017 rh
-rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
(7)cp
基本语法:
语法 | 功能描述 |
---|---|
cp + 原文件 + 目标路径 | 将一个或多个文件复制到指定的路径下 |
cp + 原文件 + 目标文件 | 将一个文件复制到目标文件中 目标文件: 1、已存在文件,则覆盖其内容 2、不存在文件,则自动创建新文件 |
cp -r + 原目录 + 目标路径 | 将该目录以及所有子目录下的所有文件拷贝到目标路径下 目标路径: 1、已存在路径,则拷贝到此路径下 2、不存在路径,则自动创建新目录 |
案例:
[root@node-1 opt]# ll
总用量 4
drwxr-xr-x. 2 root root 6 9月 7 2017 rh
-rw-r–r--. 1 root root 0 1月 31 09:24 test11.txt
-rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# ll /test/
总用量 12
drwxr-xr-x. 2 root root 6 1月 31 09:35 data
-rw-r–r--. 1 root root 8890 1月 29 10:50 vi测试数据.txt
[root@node-1 opt]# cp test1* /test/
[root@node-1 opt]# ll /test/
总用量 16
drwxr-xr-x. 2 root root 6 1月 31 09:35 data
-rw-r–r--. 1 root root 0 1月 31 09:36 test11.txt
-rw-r–r--. 1 root root 6 1月 31 09:36 test1.txt
-rw-r–r--. 1 root root 8890 1月 29 10:50 vi测试数据.txt
[root@node-1 opt]# cp -r /test/data/ /opt/
[root@node-1 opt]# ll
总用量 4
drwxr-xr-x. 2 root root 6 1月 31 09:37 data
drwxr-xr-x. 2 root root 6 9月 7 2017 rh
-rw-r–r--. 1 root root 0 1月 31 09:24 test11.txt
-rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# cp -r /test/data/ /opt/data2
[root@node-1 opt]# ll
总用量 4
drwxr-xr-x. 2 root root 6 1月 31 09:37 data
drwxr-xr-x. 2 root root 6 1月 31 09:37 data2
drwxr-xr-x. 2 root root 6 9月 7 2017 rh
-rw-r–r--. 1 root root 0 1月 31 09:24 test11.txt
-rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
(8)ln 链接
基本语法:
语法 | 功能描述 |
---|---|
ln + 原文件 + 目标文件 | 给原文件创建一个硬链接存放到目标文件 |
ln -s + 原文件(绝对路径) + 目标文件 | 给原文件创建一个软链接存放到目标文件 |
案例:
[root@node-1 opt]# ll -i
总用量 4
102334040 drwxr-xr-x. 2 root root 6 1月 31 10:01 data
102286313 drwxr-xr-x. 2 root root 6 9月 7 2017 rh
137008 -rw-r–r--. 1 root root 0 1月 31 09:24 test11.txt
67377416 -rw-r–r--. 1 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# ll -i data/
总用量 0
[root@node-1 opt]# ln test1.txt data/
[root@node-1 opt]# ll -i data/
总用量 4
67377416 -rw-r–r--. 2 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# ln test1.txt data/test1-1.txt
[root@node-1 opt]# ll -i data/
总用量 8
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1-1.txt
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# ln -s /opt/test11.txt data/
[root@node-1 opt]# ll -i data/
总用量 8
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1-1.txt
102334041 lrwxrwxrwx. 1 root root 15 1月 31 10:03 test11.txt -> /opt/test11.txt
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1.txt
[root@node-1 opt]# ln -s /opt/test11.txt data/test11-1.txt
[root@node-1 opt]# ll -i data/
总用量 8
102334042 lrwxrwxrwx. 1 root root 15 1月 31 10:03 test11-1.txt ->
/opt/test11.txt
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1-1.txt
102334041 lrwxrwxrwx. 1 root root 15 1月 31 10:03 test11.txt -> /opt/test11.txt
67377416 -rw-r–r--. 3 root root 6 1月 29 16:49 test1.txt
(9)cat
基本语法:
语法 | 功能描述 |
---|---|
cat + [选项] + 文件 | 查看文件内容,从第一行开始输出显示 选项: -n :列出行号,连同空白行也会有行号 -b :列出行号,仅对非空白行显示行号 -s :当遇到连续两行以上的空白行,转换为一行的空白行 -v :列出一些看不出来的特殊字符 (特殊字符输出ctrl+V ctrl+字符,比如输出空字符ctrl+V ctrl+@) -E :在每行结束处显示 $ -T :将 TAB 字符显示为 ^I -e :等价于"-vE"选项 -t :等价于"-vT"选项 -A : --show-all,等价于 -vET |
案例:
[root@node-1 opt]# cat -n test11.txt
1 line 1
2
3
4 line 2
5 line 3
[root@node-1 opt]# cat -b test11.txt
1 line 1
2 line 2
3 line 3
[root@node-1 opt]# cat -s test11.txt
line 1
line 2
line 3
[root@node-1 opt]# cat -v test11.txt
line 1
line 2
line 3^@
[root@node-1 opt]# cat -E test11.txt
line 1 $
$
$
line 2$
line 3$
[root@node-1 opt]# cat -T test11.txt
line 1^I
line 2
line 3
[root@node-1 opt]# cat -e test11.txt
line 1 $
$
$
line 2$
line 3^@$
[root@node-1 opt]# cat -t test11.txt
line 1^I
line 2
line 3^@
[root@node-1 opt]# cat -A test11.txt
line 1^I$
$
$
line 2$
line 3^@$
(10)tac <-> cat
基本语法:
语法 | 功能描述 |
---|---|
tac + 文件 | 将文件内容倒序输出 |
案例:
[root@node-1 opt]# tac test11.txt
line 3
line 2
line 1
(11)head
基本语法:
语法 | 功能描述 |
---|---|
head + [选项] + 文件 | 从头开始显示文件内容,默认显示前10行 选项: -c : 显示的字节数 -n : 显示的行数 |
案例:
[root@node-1 test]# head vi测试数据.txt
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
this is line 6
this is line 7
this is line 8
this is line 9
this is line 10
[root@node-1 test]# head -c 10 vi测试数据.txt
this is li
[root@node-1 test]# head -n 2 vi测试数据.txt
this is line 1
this is line 2
(12)tail
基本语法:
语法 | 功能描述 |
---|---|
tail + [选项] + 文件 | 倒序按行显示文件内容,默认显示后10行 选项: -c : 倒序按字节显示的字节数 -n : 倒序按行显示的行数 -f : 实时追踪文档的更新内容 -F : 根据文件名字进行实时追踪,当文件改名或删除文件后,保持重试,当有新的文件和它同名时,继续追踪 |
tailf + [选项] + 文件 | 几乎等同于tail -f, 当文件改名之后它也能继续跟踪。与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件 |
案例:
#换行符占用2个字节
[root@node-1 test]# tail -c 10 vi测试数据.txt
line 500
[root@node-1 test]# tail -n 2 vi测试数据.txt
this is line 499
this is line 500
(13)more
基本语法:
语法 | 功能描述 |
---|---|
more + 文件 | 查看文件内容,一页一页的显示文件内容,并且显示当前查看文件的进度 |
功能使用说明:
空白键 (space)或按Ctrl+F:向下翻一页
按Enter键:向下翻一行
按f键:向下翻两页
按b键:向上翻一页
按=:输出当前行的行号
按v键:调用vi编辑器
输入/后面跟需要搜索的字符串,按回车进行搜索,按n匹配下一个字符串
按q键:离开more ,不再显示该文件内容
案例:
[root@node-1 test]# more vi测试数据.txt
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
–More–(1%)
(14)less
基本语法:
语法 | 功能描述 |
---|---|
less + 文件 | 使用与more比较类似,可查看文件内容, |
功能使用说明:
按Enter键或向下键:代表向下翻一行
按y键或向上键:代表向上翻一行
按pagedown键或f键或空格键:向下翻动一页
按pageup键或b键:向上翻动一页
输入/后面跟需要搜索的字符串,按回车进行搜索,按n匹配下一个字符串按N匹配上一个字符串
输入?后面跟需要搜索的字符串,按回车进行搜索,按n匹配上一个字符串按N匹配下一个字符串
按v键:调用vi编辑器
按q键:离开less,不再显示该文件内容
案例:
[root@node-1 test]# less 测试数据.txt
(15)egrep
基本语法:
语法 | 功能描述 |
---|---|
egrep + 字符串规则 + 文件或目录 | 在文件或目录中查找指定的字符串 |
案例:
[root@node-1 test]# egrep 99 测试数据.txt
this is line 99
this is line 199
this is line 299
this is line 399
this is line 499
(16)diff
基本语法:
语法 | 功能描述 |
---|---|
diff + [选项] + 文件1 + 文件2 | 比较给定的两个文件的不同 选项: -i :不检查大小写的不同 -y :并列的显示文件的异同之处 |
案例:
[root@node-1 test]# cat test1.txt
this is line 1
this is line 2
this is line 3
This is line 4
this is line 05
[root@node-1 test]# cat test2.txt
this is line 1
my line 2
i love you
this is line 4
this is line 5
[root@node-1 test]# diff -iy test1.txt test2.txt
this is line 1 this is line 1
this is line 2 | my line 2
this is line 3 | i love you
This is line 4 this is line 4
this is line 05 | this is line 5
(17)rm
基本语法:
语法 | 功能描述 |
---|---|
rm + [选项] + 文件或目录 | 删除文件或目录 选项: -r :删除目录以及其下的所有文件 -f :省略“是否删除”的确认询问 |
案例:
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 2 root root 6 1月 31 09:35 data
-rw-r–r--. 1 root root 0 1月 31 09:36 test11.txt
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# rm -f test11.txt
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 2 root root 6 1月 31 09:35 data
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# rm -rf data/
[root@node-1 test]# ll
总用量 20
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
(18)rmdir
基本语法:
语法 | 功能描述 |
---|---|
rmdir + 要删除的空目录 | 删除一个空目录 |
案例:
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
drwxr-xr-x. 2 root root 6 1月 31 16:30 data
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
[root@node-1 test]# rmdir d1
rmdir: 删除 “d1” 失败: 目录非空
[root@node-1 test]# rmdir data
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 8892 1月 31 14:47 vi测试数据.txt
4、 时间日期类命令
基本语法:
语法 | 功能描述 |
---|---|
date + 格式化字符串 | 显示当前日期 |
date -d + 参数 + [格式化字符串] | 显示非当前日期 |
date -s + 时间格式字符串 | 设置系统时间 |
cal + [选项] | 查看日历 选项: -3 :查看近3月的日历 年份 :查看某年的全年的日历 |
hwclock | 查看硬件时间 |
hwclock -s | 将硬件时间写入到系统时间 |
ntpdate -u + 远程时间服务器地址 | 同步远程(网络)时间服务器的时间 |
案例:
[root@node-1 test]# date
2021年 02月 01日 星期一 09:16:51 CST
[root@node-1 test]# date +"%Y-%m-%d"
2021-02-01
[root@node-1 test]# date -d next-day +%Y%m%d
20210202
[root@node-1 test]# date -d yesterday +%Y%m%d
20210131
[root@node-1 test]# date -s “20210101”
2021年 01月 01日 星期五 00:00:00 CST
[root@node-1 test]# cal
二月 2021
日 一 二 三 四 五 六
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@node-1 test]# cal -3
一月 2021 二月 2021 三月 2021
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
[root@node-1 test]# cal 2022
#12个月的日历,此处省略输出结果…
[root@node-1 test]# hwclock
2021年02月01日 星期一 09时19分33秒 -0.695238 秒
[root@node-1 test]# hwclock -s
[root@node-1 test]# date
2021年 02月 01日 星期一 09:19:49 CST
[root@node-1 test]# ntpdate -u ntp.api.bz
1 Feb 09:30:03 ntpdate[41937]: adjust time server 114.118.7.161 offset -0.08740
sec
5、用户管理命令
(1)useradd
基本语法:
语法 | 功能描述 |
---|---|
useradd + 用户名 | 添加新用户(前提是有权限) |
案例:
[root@node-1 ~]# useradd hadoop
(2)passwd
基本语法:
语法 | 功能描述 |
---|---|
passwd + 用户名 | 设置用户密码 |
案例:
[root@node-1 ~]# passwd hadoop
更改用户 hadoop 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
(3)id
基本语法:
语法 | 功能描述 |
---|---|
id + 用户名 | 判断用户是否存在 |
案例:
[root@node-1 ~]# id hadoop
uid=1001(hadoop) gid=1001(hadoop) 组=1001(hadoop)
(4)su
基本语法:
语法 | 功能描述 |
---|---|
su + 用户名 | 切换用户,只能获得用户执行权限,不能获得环境变量 |
su - + 用户名 | 切换用户,获得该用户的执行权限和环境变量 |
案例:
[root@node-1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@node-1 ~]# su hadoop
[hadoop@node-1 root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[hadoop@node-1 root]$ su - hadoop
密码:
上一次登录:一 2月 1 10:31:40 CST 2021pts/2 上
[hadoop@node-1 ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/hadoop/.local/bin:/home/hadoop/bin
(5)visudo
基本语法:
语法 | 功能描述 |
---|---|
visudo | 等价于vi /etc/sudoers,修改用户权限 |
案例:
[root@node-1 ~]# visudo
## Sudoers allows particular users to run various commands as
…
…
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
(6)sudo
基本语法:
语法 | 功能描述 |
---|---|
sudo + 命令 | 设置普通用户以root用户权限执行命令 |
案例:
[hadoop@node-1 home]$ pwd
/home
[hadoop@node-1 home]$ ll
总用量 1164
-rw-r–r--. 1 root root 1186996 1月 28 09:56 app-2021-01-10.log
drwx------. 5 hadoop hadoop 128 2月 1 13:38 hadoop
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
[hadoop@node-1 home]$ rm -rf app-2021-01-10.log
rm: 无法删除"app-2021-01-10.log": 权限不够
[hadoop@node-1 home]$ sudo rm -rf app-2021-01-10.log
[sudo] hadoop 的密码:
配置成采用sudo命令时,不需要输入密码,则配置如下:
[root@node-1 ~]# visudo
## Sudoers allows particular users to run various commands as
…
…
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
(7)usermod
基本语法:
语法 | 功能描述 |
---|---|
usermod + 选项 + 参数 | 修改用户信息 选项: -g :修改用户所属组 **-**l :修改用户名称 |
案例:
# usermod -l 新用户名 旧用户名
[root@node-1 ~]# usermod -l hadoop2 hadoop
[root@node-1 ~]# ll /home/
总用量 1164
-rw-r–r--. 1 root root 1186996 1月 28 09:56 app-2021-01-10.log
drwx------. 5 hadoop2 hadoop 128 2月 1 13:38 hadoop
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
[root@node-1 ~]# id hadoop2
uid=1001(hadoop2) gid=1001(hadoop) 组=1001(hadoop)
# usermod -g 用户组 用户名
[root@node-1 ~]# usermod -g offcn hadoop2
[root@node-1 ~]# id hadoop2
uid=1001(hadoop2) gid=1000(offcn) 组=1000(offcn)
[root@node-1 ~]# ll /home/
总用量 1164
-rw-r–r--. 1 root root 1186996 1月 28 09:56 app-2021-01-10.log
drwx------. 5 hadoop2 offcn 128 2月 1 13:38 hadoop
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
(8)userdel
基本语法:
语法 | 功能描述 |
---|---|
userdel + 用户名 | 删除用户但保存用户主目录 |
userdel -r + 用户名 | 删除用户以及对应的主目录 |
案例:
[root@node-1 ~]# id tom
uid=1002(tom) gid=1002(tom) 组=1002(tom)
[root@node-1 ~]# id hadoop2
uid=1001(hadoop2) gid=1000(offcn) 组=1000(offcn)
[root@node-1 ~]# ll /home/
总用量 1164
drwx------. 5 hadoop2 offcn 128 2月 1 13:38 hadoop
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
drwx------. 3 tom tom 78 2月 1 14:53 tom
[root@node-1 ~]# userdel tom
[root@node-1 ~]# id tom
id: tom: no such user
[root@node-1 ~]# ll /home/
总用量 1164
drwx------. 5 hadoop2 offcn 128 2月 1 13:38 hadoop
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
drwx------. 3 1002 1002 78 2月 1 14:53 tom
[root@node-1 ~]# userdel -r hadoop2
[root@node-1 ~]# id hadoop2
id: hadoop2: no such user
[root@node-1 ~]# ll /home/
总用量 1164
drwx------. 15 offcn offcn 4096 2月 1 13:39 offcn
drwx------. 3 1002 1002 78 2月 1 14:53 tom
6、用户组管理命令
(1)查看已创建用户组
[root@node-1 home]# cat /etc/group
…
…
offcn❌1000:
hadoop❌1001:
(2)groupadd
基本语法:
语法 | 功能描述 |
---|---|
groupadd + 用户组名 | 创建一个新的工作组 |
案例:
[root@node-1 home]# groupadd jerry
[root@node-1 home]# cat /etc/group
…
…
offcn❌1000:
hadoop❌1001:
jerry❌1002:
(3)groupmod
基本语法:
语法 | 功能描述 |
---|---|
groupmod -n + 新组名 + 旧组名 | 修改用户组名 |
案例:
[root@node-1 home]# groupmod -n jerry2 jerry
[root@node-1 home]# cat /etc/group
…
…
offcn❌1000:
hadoop❌1001:
jerry2❌1002:
(4)groupdel
基本语法:
语法 | 功能描述 |
---|---|
groupdel + 组名 | 删除组 |
案例:
[root@node-1 home]# groupdel jerry2
[root@node-1 home]# cat /etc/group
…
…
offcn❌1000:
hadoop❌1001:
7、文件权限类命令
(1)文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls
–l命令来显示一个文件的属性以及文件所属的用户和组。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s5qCXaNW-1639988203263)(media/cf47db04e11a5e9127790c9063d215f8.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2LSNeJtM-1639988203263)(media/9e9f2ef604e80ba8a9e8f4970f21e6cf.png)]
例如:
[root@node-1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
-rw-r–r--. 1 root root 66 1月 31 15:44 test2.txt
从左到右的10个字符表示:
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
- 第0位表示类型
字符 | 含义 |
---|---|
- | 代表文件 |
d | 代表目录 |
c | 字符流,串行端口设备,例如键盘、鼠标(一次性读取装置) |
s | socket |
p | 管道 pipe |
l | 链接文档(link file) |
b | 设备文件,可供储存的接口设备(可随机存取装置) |
-
第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
-
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
-
第7-9位确定其他用户拥有该文件的权限 —Other
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
---|---|---|---|
0 | 1 2 3 | 4 5 6 | 7 8 9 |
d | r w x | r - x | r - x |
目录文件 | 读 写 执行 | 读 写 执行 | 读 写 执行 |
(2)文件权限
a. 作用到文件
权限 | 解读 |
---|---|
r | 代表可读(read): 可以读取,查看 |
w | 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。 |
x | 代表可执行(execute):可以被系统执行 |
b. 作用到目录
权限 | 解读 |
---|---|
r | 代表可读,可以查看目录中的文件列表 |
w | 代表可修改,可对目录内的文件进行创建、删除、移动等操作 |
x | 代表可以进入该目录 |
案例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3gydiwVD-1639988203264)(media/ed461d0e35e2611acbbc2950233b4247.png)]
-
如果是文件:链接数指的是硬链接个数。
-
如果是目录:链接数指的是子文件夹个数。
(3)chmod
a.字母方式改变权限
基本语法:
语法 | 功能描述 |
---|---|
chmod + ugoa±=rwx + 文件或目录 | 变更文件或目录的权限 |
u:所属主 g:所属组 o:其它用户 a:(all)代表ugo
+:增加权限 -:去掉权限 =:仅有某些权限
文件: r查看;w修改;x执行文件
目录: r列出目录内容;w在目录中创建和删除;x进入目录
案例:
[root@node-1 test]# ll
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chmod u+x test1.txt
[root@node-1 test]# ll
-rwxr–r--. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chmod u-x test1.txt
[root@node-1 test]# ll
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chmod g=wx test1.txt
[root@node-1 test]# ll
-rw–wxr–. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chmod a-w test1.txt
[root@node-1 test]# ll
-r----xr–. 1 root root 76 1月 31 16:02 test1.txt
b.数字方式改变权限
基本语法:
语法 | 功能描述 |
---|---|
chmod + 十进制数字 + 文件或目录 | 变更文件或目录的权限 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5fn31Iz0-1639988203265)(media/4d93d8e310ba374b8768961405f71f5e.png)]
案例:
[root@node-1 test]# ll
-rwxrw-r–. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chmod 644 test1.txt
[root@node-1 test]# ll
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
(4)chown
基本语法:
语法 | 功能描述 |
---|---|
chown + 用户名 + 文件或目录 | 变更文件或目录的所有者(只有root用户可操作) |
chown + 用户名:用户组 + 文件或目录 | 变更文件或目录的所有者及所属组 |
chown -R + 用户名 + 目录 | 递归变更目录的所有者 |
chown -R + 用户名:用户组 + 目录 | 递归变更目录的所有者及所属组 |
案例:
[root@node-1 test]# ll
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 root root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chown offcn test1.txt
[root@node-1 test]# ll
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 offcn root 76 1月 31 16:02 test1.txt
[root@node-1 test]# chown offcn:offcn test1.txt
[root@node-1 test]# ll
drwxr-xr-x. 3 root root 16 1月 31 16:30 d1
-rw-r–r--. 1 offcn offcn 76 1月 31 16:02 test1.txt
[root@node-1 test]# chown -R offcn d1
[root@node-1 test]# ll
drwxr-xr-x. 3 offcn root 16 1月 31 16:30 d1
-rw-r–r--. 1 offcn offcn 76 1月 31 16:02 test1.txt
[root@node-1 test]# ll d1/
drwxr-xr-x. 3 offcn root 16 1月 31 16:30 d2
[root@node-1 test]# chown -R offcn:offcn d1
[root@node-1 test]# ll
drwxr-xr-x. 3 offcn offcn 16 1月 31 16:30 d1
-rw-r–r--. 1 offcn offcn 76 1月 31 16:02 test1.txt
[root@node-1 test]# ll d1/
drwxr-xr-x. 3 offcn offcn 16 1月 31 16:30 d2
(5)chgrp
基本语法:
语法 | 功能描述 |
---|---|
chgrp + 用户组 + 文件或目录 | 改变文件或目录的所属组 |
案例:
[root@node-1 test]# ll
-rw-r–r--. 1 offcn offcn 76 1月 31 16:02 test1.txt
[root@node-1 test]# chgrp root test1.txt
[root@node-1 test]# ll
-rw-r–r--. 1 offcn root 76 1月 31 16:02 test1.txt
8、系统监控类
(1)df
基本语法:
语法 | 功能描述 |
---|---|
df + [选项] | 列出文件系统的整体磁盘使用情况 选项: -k :以 KBytes 的容量显示各文件系统(默认); -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -T :显示文件系统类型 |
案例:
[root@node-1 test]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 36805060 5767540 31037520 16% /
devtmpfs 1997092 0 1997092 0% /dev
tmpfs 2014212 0 2014212 0% /dev/shm
tmpfs 2014212 12872 2001340 1% /run
tmpfs 2014212 0 2014212 0% /sys/fs/cgroup
/dev/sda1 1038336 160428 877908 16% /boot
tmpfs 402844 4 402840 1% /run/user/42
tmpfs 402844 56 402788 1% /run/user/0
vmhgfs-fuse 314572796 141786252 172786544 46% /mnt/hgfs
[root@node-1 test]# df -m
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 35943 5633 30311 16% /
devtmpfs 1951 0 1951 0% /dev
tmpfs 1968 0 1968 0% /dev/shm
tmpfs 1968 13 1955 1% /run
tmpfs 1968 0 1968 0% /sys/fs/cgroup
/dev/sda1 1014 157 858 16% /boot
tmpfs 394 1 394 1% /run/user/42
tmpfs 394 1 394 1% /run/user/0
vmhgfs-fuse 307200 138464 168737 46% /mnt/hgfs
[root@node-1 test]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 36G 5.6G 30G 16% /
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 13M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 1014M 157M 858M 16% /boot
tmpfs 394M 4.0K 394M 1% /run/user/42
tmpfs 394M 56K 394M 1% /run/user/0
vmhgfs-fuse 300G 136G 165G 46% /mnt/hgfs
[root@node-1 test]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 36G 5.6G 30G 16% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 157M 858M 16% /boot
tmpfs tmpfs 394M 4.0K 394M 1% /run/user/42
tmpfs tmpfs 394M 56K 394M 1% /run/user/0
vmhgfs-fuse fuse.vmhgfs-fuse 300G 136G 165G 46% /mnt/hgfs
(2)du
基本语法:
语法 | 功能描述 |
---|---|
du + [选项] + [文件或目录] | 用于显示目录或文件的大小 选项: -b : 显示目录或文件大小时,以byte为单位; -k :以1KB为单位; -m :以1MB为单位; -h :以K,M,G为单位,提高信息的可读性; -s :仅显示总计 |
案例:
[root@node-1 ~]# du -b jdk-8u144-linux-x64.tar.gz
185515842 jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]# du -k jdk-8u144-linux-x64.tar.gz
181168 jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]# du -m jdk-8u144-linux-x64.tar.gz
177 jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]# du -h jdk-8u144-linux-x64.tar.gz
177M jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]# du -s jdk-8u144-linux-x64.tar.gz
181168 jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]#
[root@node-1 ~]# du -s -h /home/
5.4M /home/
[root@node-1 ~]# du -s -h /usr/*
142M /usr/bin
0 /usr/etc
0 /usr/games
14M /usr/include
1.2G /usr/lib
1.1G /usr/lib64
110M /usr/libexec
4.0K /usr/local
63M /usr/sbin
1.3G /usr/share
60M /usr/src
0 /usr/tmp
- iostat
iostat命令是I/O
statistics(输入/输出统计)的缩写,主要用于监控并统计系统设备的IO负载情况及CPU负载情况,仅对系统的整体情况进行分析,不能对某个进程进行深入分析。主要用它来检查哪个设备有问题,哪个设备io有问题,用户可以通过指定统计的次数和时间来获得所需的统计信息。iostat属于sysstat软件包。可以用yum
install sysstat 直接安装。
基本语法:
语法 | 功能描述 |
---|---|
iostat + [选项] | 用于监控磁盘IO及CPU的负载情况 选项: -d :只显示磁盘使用情况; -c :只显示CPU使用情况; -k :以 KB 为单位显示 -m :以 MB 为单位显示 -t :显示统计的时间 -x :显示详细信息; -N :显示磁盘名称; -p :显示每个磁盘的详细信息,比如sda这个磁盘分了两个区,都要让它显示出来 数字n1 + 数字n2 :每隔n1秒统计一次,共统计n2次 |
案例:
[root@node-1 test]# iostat
Linux 3.10.0-862.el7.x86_64 (node-1) 2021年02月22日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.19 0.01 5.96 0.00 0.00 92.83
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
scd0 0.00 0.00 0.00 84 0
sda 0.46 10.85 11.63 2322489 2489371
d
以上是关于02.Linux的基础命令的主要内容,如果未能解决你的问题,请参考以下文章