这期呢主要说一说Linux中与系统相关的命令,一共包含10个命令
1、简介
uname命令用于显示系统相关信息,比如内核版本号、硬件架构等
2、语法格式
uname [参数选项]
3、参数说明
4、实践操作
①显示系统所有信息
[root@xiezhr ~]# uname -aLinux 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 -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 -mx86_64
[root@xiezhr ~]# uname -m
x86_64
③显示主机名称
[root@xiezhr ~]# uname -nxiezhr
[root@xiezhr ~]# uname -n
xiezhr
④显示内核发行版本号
[root@xiezhr ~]# uname -r3.10.0-1127.19.1.el7.x86_64
[root@xiezhr ~]# uname -r
3.10.0-1127.19.1.el7.x86_64
hostname用于显示或设置系统主机名‘
hostname [参数选项]
3、实践操作
①显示主机名
[root@xiezhr ~]# hostnamexiezhr
[root@xiezhr ~]# hostname
②修改主机名
# 临时修改[root@xiezhr ~]# hostname hosta# 永久修改# Created by cloud-init on instance boot automatically, do not edit.[root@xiezhr ~]# vi /etc/sysconfig/networkNETWORKING=yeshosta~~~-- INSERT --
# 临时修改
[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 -I172.17.0.4
[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 用于统计磁盘空间使用情况。可以让我们找出哪些文件过多的占用磁盘空间
du [参数选项] [文件或目录]
① 【-a】参数显示所有目录或文件所占空间
[root@xiezhr ~]# du -a4 ./.lesshst4 ./.bashrc4 ./.pydistutils.cfg4 ./.bash_profile4 ./.mysql_secret4 ./.pm2/modules4 ./.pm2/pm2.pid0 ./.pm2/pub.sock0 ./.pm2/rpc.sock4 ./.pm2/pids/tyloochat-0.pid8 ./.pm2/pids4 ./.pm2/module_conf.json184 ./.pm2/logs/tyloochat-out.log236 ./.pm2/logs/tyloochat-error.log424 ./.pm2/logs
[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 -h4.0K ./dir58.0K ./dir8.0K ./dir312K ./dir64.0K ./dir_bak112K .
[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 -s112
[root@xiezhr test]# du -s
112
④指定层次的目录大小
[root@xiezhr test]# du -h --max-depth=1 /usr/local/4.0K /usr/local/lib4.0K /usr/local/games2.6G /usr/local/mysql4.0K /usr/local/src2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_644.0K /usr/local/libexec4.0K /usr/local/bin4.0K /usr/local/etc1017M /usr/local/qcloud92K /usr/local/share4.0K /usr/local/include4.0K /usr/local/sbin4.0K /usr/local/lib646.6G /usr/local/
[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/mysql4.0K /usr/local/lib4.0K /usr/local/games4.0K /usr/local/src2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_644.0K /usr/local/libexec4.0K /usr/local/bin4.0K /usr/local/etc1018M /usr/local/qcloud92K /usr/local/share4.0K /usr/local/include4.0K /usr/local/sbin4.0K /usr/local/lib644.1G /usr/local/
[root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql
1018M /usr/local/qcloud
4.1G /usr/local/
echo 可以将指定的文本显示在Linux命令行上
echo [参数选项] [文本]
① 显示普通字符
[root@xiezhr ~]# echo my official accounts is xiezhrspacemy official accounts is xiezhrspace
[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 ~]# 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 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
[root@xiezhr test]# echo `date`
Mon May 9 21:37:40 CST 2022
watch 英文意思是看,用于以全屏的方式动态显示命令或程序的执行情况
watch [参数选项] [命令]
每个一秒显示网络连接数的变化情况
[root@xiezhr test]# watch -n 1 -d netstat -nginxKernel Interface tableIface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgeth0 1500 247530399 0 0 0 322331584 0 0 0 BMRUlo 65536 141692 0 0 0 141692 0 0 0 LRU
[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 用于显示文件或文件系统的状态信息
stat [参数选项] [文件或目录]
查看文件的属性信息
[root@xiezhr test]# stat /etc/hosts File: ‘/etc/hosts’ Size: 157 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 265944 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2020-11-29 10:25:47.000000000 +0800Modify: 2020-11-29 11:54:33.000000000 +0800Change: 2020-11-29 11:54:53.216579255 +0800 Birth: -
[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 命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径
whereis [参数选项] [文件名]
① 查找可执行文件路径
[root@xiezhr test]# whereis nginxnginx: /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
[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 nginxnginx: /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz
[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 nginxnginx:# 没有找到相关源代码
[root@xiezhr test]# whereis -s nginx
nginx:
# 没有找到相关源代码
date命令用于显示当前系统时间或设置系统时间
date [参数选项] [+日期格式]
参数
日期格式
①显示日期时间
# 显示年(短格式)[root@xiezhr ~]# date +%y22# 显示年(长格式)[root@xiezhr ~]# date +%Y2022# 显示月[root@xiezhr ~]# date +%m05#显示日[root@xiezhr ~]# date +%d12# 显示时[root@xiezhr ~]# date +%H08# 显示分[root@xiezhr ~]# date +%M01# 显示秒[root@xiezhr ~]# date +%S53# 显示特殊日期(年-月-日)[root@xiezhr ~]# date +%F2022-05-12# 显示特殊格式时间(时:分:秒)[root@xiezhr ~]# date +%T08:02:18#格式化输出日期时间[root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S"2022-05-12 08:11:03
# 显示年(短格式)
[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
# 显示昨天
[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 20220512Thu May 12 00:00:00 CST 2022# 设置时间为08:20:03,不会更改日期[root@xiezhr ~]# date -s 08:20:03Thu 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
# 设置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"
[root@xiezhr ~]# date -s "08:22:04 2022-05-12"
which 用于显示命令的全路径,经常用来查找命令在哪里,which的查找范围时path环境变量的路径
which [参数选项] [命令名]
注:默认在PATH路径中由前往后查找命令,如果找到了,就停止匹配。
①查找指定命令的全路径
# 查看环境变量[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
# 查看环境变量
[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
[root@xiezhr ~]# which -a nginx
/usr/sbin/nginx
Linux系统中有一个名为mlocate.db的数据库文件,包含了系统文件的文件名及对应路径信息。locate 命令查找文件时,不用遍历磁盘,而是直接查找mlocate.db文件
注意:mlocate.db文件不是实时更新的,而是有系统自带的定时任务执行updatedb命令定期更新。当然了,我们在使用locate命令时,可以先用updatedb命令更新一下mlocate.db文件
locate [参数选项] [文件名]
①查找文件路径(只要包含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 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 pwd17
[root@xiezhr ~]# locate -c pwd
17
③使用通配符查找文件路径
[root@xiezhr ~]# locate /etc/sh*/etc/shadow/etc/shadow-/etc/shells/etc/shells.rpmnew
[root@xiezhr ~]# locate /etc/sh*
/etc/shadow
/etc/shadow-
/etc/shells
/etc/shells.rpmnew
这期内容就到这,下期根据思维导图就到Linux网络相关命令的使用了。
涉及到的命令有: ping、 ifconfig、 netstat、 telnet、 ssh、 ip、 tcpdump、nmap、ss等等
敬请期待哦(●’?’●)
专栏目录:快速上手Linux核心命令专栏目录
上一篇:快速上手Linux核心命令(六):Linux的文本编辑器vi和vim 下一篇:快速上手Linux核心命令(八):网络相关命令(博主正在玩命更新中)
原文链接:https://www.cnblogs.com/xiezhr/p/17343239.html
本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728