天天看點

快速上手Linux核心指令:Linux系統資訊相關指令

作者:肚臍眼女孩

前言

這期呢主要說一說Linux中與系統相關的指令,一共包含10個指令

快速上手Linux核心指令:Linux系統資訊相關指令

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           

繼續閱讀