前言
这期呢主要说一说Linux中与系统相关的命令,一共包含10个命令

uname 显示系统信息
1、简介
uname命令用于显示系统相关信息,比如内核版本号、硬件架构等
2、语法格式
| uname [参数选项] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -a | 显示系统所有相关信息 | 
| -m | 显示计算机硬件架构 | 
| -n | 显示主机名称 | 
| -r | 显示内核发行版本号 | 
| -s | 显示内核名称 | 
| -v | 显示内核版本 | 
4、实践操作
①显示系统所有信息
| [root@xiezhr ~]# uname -a | |
| Linux xiezhr 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux | 
②显示计算机硬件架构
| [root@xiezhr ~]# uname -m | |
| x86_64 | 
③显示主机名称
| [root@xiezhr ~]# uname -n | |
| xiezhr | 
④显示内核发行版本号
| [root@xiezhr ~]# uname -r | |
| 3.10.0-1127.19.1.el7.x86_64 | 
hostname 显示或设置系统主机名
1、简介
hostname用于显示或设置系统主机名‘
2、语法格式
| hostname [参数选项] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -i | 显示主机IP地址,依赖DNS解析,比较慢 | 
| -I | 显示主机的所有IP地址,速度较快 | 
3、实践操作
①显示主机名
| [root@xiezhr ~]# hostname | |
| xiezhr | 
②修改主机名
| # 临时修改 | |
| [root@xiezhr ~]# hostname hosta | |
| # 永久修改 | |
| # Created by cloud-init on instance boot automatically, do not edit. | |
| [root@xiezhr ~]# vi /etc/sysconfig/network | |
| NETWORKING=yes | |
| hosta | |
| ~ | |
| ~ | |
| ~ | |
| -- INSERT -- | 
③ 获取IP地址
| [root@xiezhr ~]# hostname -i | |
| ::1 127.0.0.1 127.0.0.1 127.0.0.1 | |
| [root@xiezhr ~]# hostname -I | |
| 172.17.0.4 | 
du 统计磁盘空间使用情况
1、简介
du 用于统计磁盘空间使用情况。可以让我们找出哪些文件过多的占用磁盘空间
2、语法格式
| du [参数选项] [文件或目录] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -a | 显示所有文件大小 | 
| -h | 以人类可读的方式显示,以K、M、G为单位显示 | 
| -s | 显示文件的总大小 | 
| --exclude=<目录或文件> | 略过指定的目录或文件 | 
| --max-depth=<目录层数> | 超过指定层数的目录后,予以忽略 | 
4、实践操作
① 【-a】参数显示所有目录或文件所占空间
| [root@xiezhr ~]# du -a | |
| 4 ./.lesshst | |
| 4 ./.bashrc | |
| 4 ./.pydistutils.cfg | |
| 4 ./.bash_profile | |
| 4 ./.mysql_secret | |
| 4 ./.pm2/modules | |
| 4 ./.pm2/pm2.pid | |
| 0 ./.pm2/pub.sock | |
| 0 ./.pm2/rpc.sock | |
| 4 ./.pm2/pids/tyloochat-0.pid | |
| 8 ./.pm2/pids | |
| 4 ./.pm2/module_conf.json | |
| 184 ./.pm2/logs/tyloochat-out.log | |
| 236 ./.pm2/logs/tyloochat-error.log | |
| 424 ./.pm2/logs | 
② 以人类可读的方式显示当前路径下文件大小
| [root@xiezhr test]# du -h | |
| 4.0K ./dir5 | |
| 8.0K ./dir | |
| 8.0K ./dir3 | |
| 12K ./dir6 | |
| 4.0K ./dir_bak | |
| 112K . | 
③ 显示当前路径下文件总大小
| [root@xiezhr test]# du -s | |
| 112  | 
④指定层次的目录大小
| [root@xiezhr test]# du -h --max-depth=1 /usr/local/ | |
| 4.0K /usr/local/lib | |
| 4.0K /usr/local/games | |
| 2.6G /usr/local/mysql | |
| 4.0K /usr/local/src | |
| 2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64 | |
| 4.0K /usr/local/libexec | |
| 4.0K /usr/local/bin | |
| 4.0K /usr/local/etc | |
| 1017M /usr/local/qcloud | |
| 92K /usr/local/share | |
| 4.0K /usr/local/include | |
| 4.0K /usr/local/sbin | |
| 4.0K /usr/local/lib64 | |
| 6.6G /usr/local/ | 
⑤ 排除指定目录文件后的大小
| [root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql | |
| 4.0K /usr/local/lib | |
| 4.0K /usr/local/games | |
| 4.0K /usr/local/src | |
| 2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64 | |
| 4.0K /usr/local/libexec | |
| 4.0K /usr/local/bin | |
| 4.0K /usr/local/etc | |
| 1018M /usr/local/qcloud | |
| 92K /usr/local/share | |
| 4.0K /usr/local/include | |
| 4.0K /usr/local/sbin | |
| 4.0K /usr/local/lib64 | |
| 4.1G /usr/local/ | 
echo 显示一行文本
1、简介
echo 可以将指定的文本显示在Linux命令行上
2、语法格式
| echo [参数选项] [文本] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -n | 不要自动换行 | 
| -e | 如果字符串中出现以下特殊字符,则进行特殊处理,不会当成一般字符输出 \b 删除前一个字符 | 
| 特殊字符 | 特殊字符说明 | 
|---|---|
| \a | 发出警告声 | 
| \b | 删除前一个字符 | 
| \c | 最后不加上换行符 | 
| \f | 换行,但光标停留在原来的位置 | 
| \n | 换行,且光标移动到行首 | 
| \r | 光标移动到行首,但不换行 | 
| \t | 插入制表符tab | 
| \v | 与-f 相同 | 
| \ | 插入\字符 | 
| \' | 插入' 字符 | 
| \" | 插入"字符 | 
4、实践操作
① 显示普通字符
| [root@xiezhr ~]# echo my official accounts is xiezhrspace | |
| my official accounts is xiezhrspace | 
②显示转义字符
| [root@xiezhr ~]# echo \"my official account is xiezhrspace \" | |
| "my official account is xiezhrspace " | 
③ 将单行文本输入到文件中
| [root@xiezhr test]# echo my official account is xiezhrspace >> xie.txt | |
| [root@xiezhr test]# more xie.txt  | |
| my official account is xiezhrspace | 
④ 显示命令执行结果
| [root@xiezhr test]# echo `date` | |
| Mon May 9 21:37:40 CST 2022 | 
watch 监视命令执行情况
1、简介
watch 英文意思是看,用于以全屏的方式动态显示命令或程序的执行情况
2、语法格式
| watch [参数选项] [命令] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -n | 命令执行的时间间隔、默认为2m | 
| -d | 高亮显示命令结果变动之处 | 
| -t | 关闭watch命令执行后顶部显示的时间间隔、命令及当前时间 | 
4、实践操作
每个一秒显示网络连接数的变化情况
| [root@xiezhr test]# watch -n 1 -d netstat -nginx | |
| Kernel Interface table | |
| Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg | |
| eth0 1500 247530399 0 0 0 322331584 0 0 0 BMRU | |
| lo 65536 141692 0 0 0 141692 0 0 0 LRU | 
stat
1、简介
stat 用于显示文件或文件系统的状态信息
2、语法格式
| stat [参数选项] [文件或目录] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -c | 使用指定输出格式代替默认值 | 
4、实践操作
查看文件的属性信息
| [root@xiezhr test]# stat /etc/hosts | |
| File: ‘/etc/hosts’ | |
| Size: 157 Blocks: 8 IO Block: 4096 regular file | |
| Device: fd01h/64769d Inode: 265944 Links: 1 | |
| Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) | |
| Access: 2020-11-29 10:25:47.000000000 +0800 | |
| Modify: 2020-11-29 11:54:33.000000000 +0800 | |
| Change: 2020-11-29 11:54:53.216579255 +0800 | |
| Birth: - | 
whereis 显示命令及其相关文件的全路径
1、简介
whereis 命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径
2、语法格式
| whereis [参数选项] [文件名] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -b | 查找可执行文件 | 
| -s | 查找源代码文件 | 
| -m | 查找man帮助文件 | 
4、实践操作
① 查找可执行文件路径
| [root@xiezhr test]# whereis nginx | |
| nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz | 
② 查找man 帮助文件
| [root@xiezhr test]# whereis -m nginx | |
| nginx: /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz | 
③ 查找源代码文件
| [root@xiezhr test]# whereis -s nginx | |
| nginx: | |
| # 没有找到相关源代码 | 
date 显示与设置系统时间
1、简介
date命令用于显示当前系统时间或设置系统时间
2、语法格式
| date [参数选项] [+日期格式] | 
3、参数说明
参数
| 参数 | 参数说明 | 
|---|---|
| -d 时间字符串 | 显示指定字符串所描述的时间,而非当前时间 | 
| -s 日期时间 | 设置系统时间 | 
日期格式
| 格式 | 格式说明 | 
|---|---|
| %y | 显示年(短格式) | 
| %Y | 显示年(长格式) | 
| %m | 显示月 | 
| %d | 显示日 | 
| %H | 24小时制 (00-23) 例如:7点显示07 | 
| %k | 24小时(0-23) 例如:7点显示7 | 
| %I | 12小时制(00-12)例如:7点显示07 | 
| %l | 12小时制(0-12)例如:7点显示7 | 
| %M | 分钟(00-59) | 
| %S | 秒(00-60) | 
| %p | 显示本地 AM 或 PM | 
| %F | 完整日期格式,等价于%Y-%m-%d(2022-05-12) | 
| %T | 完整时间格式,等价于%H:%M:%S(07:58:23) | 
4、实践操作
①显示日期时间
| # 显示年(短格式) | |
| [root@xiezhr ~]# date +%y | |
| 22 | |
| # 显示年(长格式) | |
| [root@xiezhr ~]# date +%Y | |
| 2022 | |
| # 显示月 | |
| [root@xiezhr ~]# date +%m | |
| 05 | |
| #显示日 | |
| [root@xiezhr ~]# date +%d | |
| 12 | |
| # 显示时 | |
| [root@xiezhr ~]# date +%H | |
| 08 | |
| # 显示分 | |
| [root@xiezhr ~]# date +%M | |
| 01 | |
| # 显示秒 | |
| [root@xiezhr ~]# date +%S | |
| 53 | |
| # 显示特殊日期(年-月-日) | |
| [root@xiezhr ~]# date +%F | |
| 2022-05-12 | |
| # 显示特殊格式时间(时:分:秒) | |
| [root@xiezhr ~]# date +%T | |
| 08:02:18 | |
| #格式化输出日期时间 | |
| [root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S" | |
| 2022-05-12 08:11:03 | 
②参数【-d】的使用
注:-号表示过去,+表示未来 day表示日,month表示月,year表示年
| # 显示昨天 | |
| [root@xiezhr ~]# date +%F -d "-1day" | |
| 2022-05-11 | |
| # 显示明天 | |
| [root@xiezhr ~]# date +%F -d "+1day" | |
| 2022-05-13 | |
| # 显示一个月后 | |
| [root@xiezhr ~]# date +%F -d "+1month" | |
| 2022-06-12 | |
| # 显示一年后 | |
| [root@xiezhr ~]# date +%F -d "+1year" | |
| 2023-05-12 | 
③ 参数【-s】设定时间
| # 设置20220512,时间为空则为00:00:00 | |
| [root@xiezhr ~]# date -s 20220512 | |
| Thu May 12 00:00:00 CST 2022 | |
| # 设置时间为08:20:03,不会更改日期 | |
| [root@xiezhr ~]# date -s 08:20:03 | |
| Thu May 12 08:20:03 CST 2022 | |
| # 通过不同格式设置日期时间 | |
| [root@xiezhr ~]# date -s "08:22:04 20220512" | |
| Thu May 12 08:22:04 CST 2022 | |
| [root@xiezhr ~]# date -s "08:22:04 2022/05/12" | |
| Thu May 12 08:22:04 CST 2022 | |
| [root@xiezhr ~]# date -s "08:22:04 2022-05-12" | |
| Thu May 12 08:22:04 CST 2022 | 
which 显示命令全路径
1、简介
which 用于显示命令的全路径,经常用来查找命令在哪里,which的查找范围时path环境变量的路径
2、语法格式
| which [参数选项] [命令名] | 
3、参数说明
注:默认在PATH路径中由前往后查找命令,如果找到了,就停止匹配。
| 参数 | 参数说明 | 
|---|---|
| -a | 遍历所有PATH路径,输出所有匹配项 | 
4、实践操作
①查找指定命令的全路径
| # 查看环境变量 | |
| [root@xiezhr ~]# echo $PATH | |
| /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin | |
| # 查看man命令的全路径 | |
| [root@xiezhr ~]# which man | |
| /usr/bin/man | |
| # 查看date命令的全路径 | |
| [root@xiezhr ~]# which date | |
| /usr/bin/date | |
| # 查看cd命令的全路径 | |
| [root@xiezhr ~]# which cd | |
| /usr/bin/cd | 
②【-a】参数
| [root@xiezhr ~]# which -a nginx | |
| /usr/sbin/nginx | 
locate 快速定位文件路径
1、简介
Linux系统中有一个名为mlocate.db的数据库文件,包含了系统文件的文件名及对应路径信息。locate 命令查找文件时,不用遍历磁盘,而是直接查找mlocate.db文件
注意:mlocate.db文件不是实时更新的,而是有系统自带的定时任务执行updatedb命令定期更新。当然了,我们在使用locate命令时,可以先用updatedb命令更新一下mlocate.db文件
2、语法格式
| locate [参数选项] [文件名] | 
3、参数说明
| 参数 | 参数说明 | 
|---|---|
| -c | 不显示匹配的内容,只显示匹配的行数 | 
| -r | 支持基本正则表达式匹配 | 
| -i | 匹配时忽略大小写 | 
| --regex | 支持扩展正则表达式匹配 | 
4、实践操作
①查找文件路径(只要包含pwd都会显示出来)
| [root@xiezhr ~]# locate pwd | |
| /etc/.pwd.lock | |
| /usr/bin/pwd | |
| /usr/bin/pwdx | |
| /usr/include/pwd.h | |
| /usr/lib/modules/3.10.0-1127.19.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz | |
| /usr/lib64/cracklib_dict.pwd | |
| /usr/lib64/python2.7/lib-dynload/spwdmodule.so | |
| /usr/local/qcloud/monitor/python26/lib/python2.6/lib-dynload/spwd.so | |
| /usr/sbin/unix_chkpwd | |
| /usr/share/cracklib/cracklib-small.pwd | |
| /usr/share/cracklib/pw_dict.pwd | |
| /usr/share/man/man1/pwd.1.gz | |
| /usr/share/man/man1/pwdx.1.gz | |
| /usr/share/man/man8/unix_chkpwd.8.gz | |
| /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt | |
| /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi | |
| /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi/decoding.h | 
②显示匹配的行号
| [root@xiezhr ~]# locate -c pwd | |
| 17 | 
③使用通配符查找文件路径
| [root@xiezhr ~]# locate /etc/sh* | |
| /etc/shadow | |
| /etc/shadow- | |
| /etc/shells | |
| /etc/shells.rpmnew | 
这期内容就到这,下期根据思维导图就到Linux网络相关命令的使用了。


















