這期呢主要說一說Linux中與系統相關的命令,一共包含10個命令
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
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
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/
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
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
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: -
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:
# 沒有找到相關原始碼
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
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
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網路相關命令的使用了。
涉及到的命令有: ping、 ifconfig、 netstat、 telnet、 ssh、 ip、 tcpdump、nmap、ss等等
敬請期待哦(●’◡’●)
專欄目錄:快速上手Linux核心命令專欄目錄
上一篇:快速上手Linux核心命令(六):Linux的文字編輯器vi和vim
下一篇:快速上手Linux核心命令(八):網路相關命令(博主正在玩命更新中)