【小白幾分鐘】幾分鐘了解Linux常用進(jìn)階命令

寫(xiě)在前面

? 想必,通過(guò)《【小白幾分鐘】幾分鐘了解Linux常用基本命令》這一篇文章,大家應(yīng)該對(duì)Linux系統(tǒng)的操作有了一個(gè)大致的了解,如果還沒(méi)有看過(guò)基礎(chǔ)命令篇的胖友們,可以點(diǎn)進(jìn)去閱覽一下,并且對(duì)應(yīng)著命令敲一遍

接下來(lái),打算跟大家介紹一下Linux中的一些進(jìn)階命令,該篇能讓你對(duì)Linux系統(tǒng)環(huán)境有個(gè)更好的認(rèn)知,話(huà)不多說(shuō),進(jìn)入正題

?

Linux常用進(jìn)階命令

?

  • df
    功能描述:查看磁盤(pán)空間
    語(yǔ)法:df [選項(xiàng)]
    常用選項(xiàng):
    ?????-h?以高可讀性顯示
    示例:
[root@vultr ~]# df -h  
Filesystem      Size  Used Avail Use% Mounted on
//文件系統(tǒng)       容量  已使用 可用 已用% 掛載點(diǎn)
devtmpfs        463M     0  463M   0% /dev
tmpfs           494M   20K  494M   1% /dev/shm
tmpfs           494M   50M  444M  11% /run
tmpfs           494M     0  494M   0% /sys/fs/cgroup
/dev/vda1        25G  4.0G   20G  17% /
tmpfs            99M     0   99M   0% /run/user/0

?

  • free
    功能描述:查看內(nèi)存使用情況
    語(yǔ)法:free [選項(xiàng)]
    常用選項(xiàng):
    ?????-m?以MB為單位顯示內(nèi)存使用情況
    示例:
[root@vultr ~]# free -m
             total       used       free     shared     buffers     cached
            #內(nèi)存總數(shù)  已使用數(shù)量   空閑數(shù)量 當(dāng)前廢棄不用 輸入緩存數(shù)量 輸出緩存數(shù)量
Mem:          2016       1973         42          0        163       1497
-/+ buffers/cache:        312       1703#真實(shí)剩余內(nèi)存可為1703MB
Swap:         4094          0       4094
#swap交換內(nèi)存,當(dāng)系統(tǒng)真實(shí)內(nèi)存不夠用的時(shí)候可以臨時(shí)用磁盤(pán)空間來(lái)充當(dāng)內(nèi)存,一般大小為真實(shí)內(nèi)存的2-4倍

?

  • lsblk
    功能描述:用于列出所有可用塊設(shè)備的信息,而且還能顯示他們之間的依賴(lài)關(guān)系,但是它不會(huì)列出RAM盤(pán)的信息。塊設(shè)備有硬盤(pán),閃存盤(pán),cd-ROM等等。
    語(yǔ)法:lsblk
    示例:
[root@Jobs ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom  
vda    253:0    0   25G  0 disk 
└─vda1 253:1    0   25G  0 part /

//字段含義
NAME:這是塊設(shè)備名
MAJ:MIN:本欄顯示主要和次要設(shè)備號(hào)
RM:本欄顯示設(shè)備是否可移動(dòng)設(shè)備。RM值等于1,這說(shuō)明他們是可移動(dòng)設(shè)備
SIZE:本欄列出設(shè)備的容量大小信息
RO:該項(xiàng)表明設(shè)備是否為只讀。RO值為0,不是只讀的
TYPE:本欄顯示塊設(shè)備是否是磁盤(pán)或磁盤(pán)上的一個(gè)分區(qū)
MOUNTPOINT:設(shè)備掛載的掛載點(diǎn)

?

  • mount
    功能描述:用于加載文件系統(tǒng)到指定的掛載點(diǎn)
    語(yǔ)法:mount 設(shè)備原始地址(設(shè)備原始地址都統(tǒng)一在/dev下) 需掛載的位置路徑
    示例:
[root@Jobs ~]# mkdir -p /mnt/cdrom            //創(chuàng)建一個(gè)掛載點(diǎn),最好在“/mnt/”下創(chuàng)建
[root@Jobs ~]# ls /mnt
cdrom
[root@Jobs ~]#mount  /dev/sr0 /mnt/cdrom     //掛載到cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only  //掛載成功后便可正常使用  

[root@Jobs ~]#umount /mnt/cdrom    //卸載已掛載的文件

?

  • |
    功能描述:|為管道符,一般可用于將兩個(gè)命令隔開(kāi),管道符左邊命令的輸出就會(huì)作為管道符右邊命令的輸入
    語(yǔ)法:管道符不能單獨(dú)使用,必須要其他指令一同使用,主要起輔助作用
    示例:
[root@vultr /]# ls / | wc -l    //統(tǒng)計(jì)根目錄下,有多少個(gè)文件
22
[root@vultr /]# ls / | grep o   //“grep”起到了過(guò)濾作用,過(guò)濾出含有“o”的文件
boot
home
lost+found
opt
proc
root

?

  • id
    功能描述:顯示真實(shí)有效的UID(用戶(hù)id)和GID(組id)
    語(yǔ)法:id [用戶(hù)名]
    示例:
[root@vultr ~]# id                     //后面不跟任何參數(shù)視為查看當(dāng)前用戶(hù)id信息
uid=0(root) gid=0(root) groups=0(root)

[root@vultr ~]# id testdog             //查看“testdog”這個(gè)用戶(hù)的id信息
uid=501(testdog) gid=1002(testdog) groups=1002(testdog)

[root@vultr ~]# id -un                 //功能和“whoami”相同, 查看當(dāng)前登錄用戶(hù)名,一般用戶(hù)shell腳本中
root

?

  • ps
    功能描述:顯示當(dāng)前系統(tǒng)的進(jìn)程狀態(tài),
    語(yǔ)法:ps [選項(xiàng)] (結(jié)合管道符使用)
    常用選項(xiàng):
    ?????-e?列出全部進(jìn)程
    ?????-f?顯示全部字段(列)
    示例:
[root@vultr ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jul02 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --system --des
root         2     0  0 Jul02 ?        00:00:00 [kthreadd]
root         3     2  0 Jul02 ?        00:00:00 [rcu_gp]
root         5     2  0 Jul02 ?        00:00:00 [kworker/0:0H]
root         7     2  0 Jul02 ?        00:00:00 [mm_percpu_wq]
...
字段含義:
UID:執(zhí)行該進(jìn)程的用戶(hù)id
PID:進(jìn)程id
PPID:進(jìn)程的父級(jí)進(jìn)程id,如果一個(gè)程序找不到父級(jí)id,該程序則視作僵尸進(jìn)程
C:cpu的占用率,以%顯示
STIME:進(jìn)程的啟動(dòng)時(shí)間
TTY:發(fā)起該進(jìn)程的設(shè)備識(shí)別符號(hào),如果顯示“?”則表示進(jìn)程不是有終端設(shè)備發(fā)起的
TIME:進(jìn)程的執(zhí)行時(shí)間
CMD:該進(jìn)程的名稱(chēng)或?qū)?yīng)的路勁

[root@vultr ~]# ps -ef | grep python   
//結(jié)合管道符使用,過(guò)濾出名稱(chēng)為“python”的進(jìn)程,注意這條命令行本身也是一個(gè)進(jìn)程,所有會(huì)顯示在最后
root       484     1  0 Jul02 ?        00:00:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
root       891     1  0 Jul02 ?        00:00:18 /usr/bin/python -Es /usr/sbin/tuned -l -P
root       999     1  0 Jul02 ?        00:00:19 python main.pyc 8888
root      1218     1  0 Jul02 ?        00:00:19 python task.pyc
root      1806     1  0 Jul02 ?        00:00:47 /bin/python /usr/bin/ssserver -c /etc/shadowsocks.json -d start
root     24854 24380  0 14:18 pts/0    00:00:00 grep --color=auto python

?

  • top
    功能描述:可以實(shí)時(shí)動(dòng)態(tài)地查看系統(tǒng)的整體運(yùn)行情況
    語(yǔ)法:top [選項(xiàng)]
    常用交互命令:
    ?????-M?根據(jù)駐留內(nèi)存大小進(jìn)行排序
    ?????-P?根據(jù)CPU使用百分比大小進(jìn)行排序
    ?????-1?當(dāng)服務(wù)器擁有多個(gè)cpou時(shí),可以使用“1”來(lái)切換顯示各個(gè)cpu的詳細(xì)信息
    ?????-q?退出程序
    示例:
[root@vultr ~]# top
top - 14:29:08 up 1 day,    23:13,     2 users,       load average: 0.00, 0.01, 0.00
//系統(tǒng)之間     運(yùn)行1天   啟動(dòng)了23:13分鐘  2個(gè)用戶(hù)當(dāng)前登錄  分別表示在1分鐘內(nèi)、5分鐘內(nèi)、15分鐘內(nèi)的負(fù)載情況
Tasks:  95 total,   1 running,  61 sleeping,   0 stopped,   0 zombie
//總進(jìn)程數(shù)量         運(yùn)行進(jìn)程數(shù)   睡眠進(jìn)程數(shù)     停止進(jìn)程數(shù)    僵尸進(jìn)程數(shù)
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
//CPU使用情況
KiB Mem :  1009800 total,   477188 free,   227052 used,   305560 buff/cache
//物理內(nèi)存使用情況
KiB Swap:  1049596 total,  1049596 free,        0 used.   576220 avail Mem 
//交換內(nèi)存使用情況
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAD
  1 root      20   0   43328   4976   3860 S  0.0  0.5   0:04.26 systemd
  2 root      20   0       0      0      0 S  0.0  0.0   0:00.03 kthreadd
  3 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 rcu_gp
...
字段含義:
PID:進(jìn)程id
USER:該進(jìn)程對(duì)應(yīng)的用戶(hù)
PR:優(yōu)先級(jí),數(shù)值越大優(yōu)先級(jí)越高
VIRT:虛擬內(nèi)存
RES:常駐內(nèi)存
SHR:共享內(nèi)存
    進(jìn)程實(shí)際使用內(nèi)存 = 常駐內(nèi)存(RES)- 共享內(nèi)存 (SHR)
*S:表示進(jìn)程的狀態(tài)“S”表示sleeping,“R”表示running
*%CPU:Cpu占用百分比
*%MEN:內(nèi)存占用百分比
TIME+:執(zhí)行時(shí)間
*COMMAD:進(jìn)程的名稱(chēng)或路徑

?

  • du
    功能描述:查看目錄的真實(shí)大小
    語(yǔ)法:du [選項(xiàng)] [文件]
    常用選項(xiàng):
    ?????-s?只顯示匯總大小
    ?????-h?以高可讀性顯示
[root@vultr ~]# du -h /etc   //列出“etc”文件夾下每個(gè)文件大小
4.0K    /etc/ppp/peers
36K /etc/ppp
8.0K    /etc/cron.hourly
8.0K    /etc/python
4.0K    /etc/gcrypt
40K /etc/iproute2
...

[root@vultr ~]# du -sh /etc/      //統(tǒng)計(jì)“etc”文件夾的總大小
13M /etc/

?

  • find
    功能描述:文件搜索
    語(yǔ)法:find [搜索范圍] [匹配條件]
    常用匹配條件:
    ?????-name?按照文件名來(lái)查找(-iname不區(qū)分大小寫(xiě))
    ?????-type?按照類(lèi)型查找(-iname不區(qū)分大小寫(xiě))
    ?????-user?按照文件所有者查找
    ?????-exec find?命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的其他linux命令。相應(yīng)命令的形式為'命令' {} ;,注意{ }和\;之間的空格。
    示例:
[root@vultr ~]# find /etc -name te*       //在etc文件夾下找出所有以te開(kāi)頭的文件
/etc/terminfo

[root@vultr /]# find /tmp -user root | grep test*     //按所有者root來(lái)查詢(xún)以“test”開(kāi)頭的文件
/tmp/testwjj
/tmp/testwjj/test
/tmp/testwjj/test.pl
/tmp/test.pl

[root@vultr ~]# find /tmp/ -type d         //查找tmp目錄下,類(lèi)型為文件
/tmp/
/tmp/.X11-unix
/tmp/testt
/tmp/testt/test2
/tmp/testt/test2/test3
/tmp/.XIM-unix
/tmp/.font-unix
/tmp/test1
/tmp/test1/test2
/tmp/test1/test2/test3
/tmp/.Test-unix
/tmp/.ICE-unix

[root@vultr ~]# find /tmp/ -type d | wc -l    //統(tǒng)計(jì)tmp目錄下,類(lèi)型為文件的總數(shù)
12

[root@vultr /]# find /tmp -name test* -exec ls -l {} \;       //將tmp文件夾下,以test開(kāi)頭的文件詳細(xì)列出
total 4
-rw-r--r-- 1 root root  0 Jun 22 14:04 test
-rw-r--r-- 1 root root 40 Jun 22 15:30 test.pl
-rw-r--r-- 1 root root 0 Jun 22 14:04 /tmp/testwjj/test
-rw-r--r-- 1 root root 40 Jun 22 15:30 /tmp/testwjj/test.pl
-rw-r--r-- 1 root root 40 Jun 26 10:40 /tmp/test.pl

?

  • service
    功能描述:控制系統(tǒng)服務(wù)的工具,啟動(dòng)、停止、重啟和關(guān)閉服務(wù)
    語(yǔ)法:service [服務(wù)名稱(chēng)] start/stop/restart
    示例:
[root@vultr ~]# service mysql restart           //以重啟“mysql”服務(wù)為例,大家也可以去嘗試停止和關(guān)閉等命令
Redirecting to /bin/systemctl restart mysql.service

?

  • kill
    功能描述:殺死進(jìn)程
    語(yǔ)法1:kill PID (先要通過(guò)ps -ef進(jìn)行進(jìn)程的查詢(xún),然后再通過(guò)PID殺死進(jìn)程)
    語(yǔ)法2:killall 進(jìn)程名稱(chēng)
    示例:
[root@vultr ~]# ps -ef | grep vim       //通過(guò)“ps”命令找到“vim”的PID
root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
root      3370  2822  0 16:21 pts/0    00:00:00 grep vim
[root@vultr ~]#kill 3268                //通過(guò)PID殺死進(jìn)程       
[root@vultr ~]#kill 3268                //再次輸入命令則會(huì)提示沒(méi)有這個(gè)進(jìn)程,表示該進(jìn)程已被殺死
-bash: kill: (3268) - 沒(méi)有那個(gè)進(jìn)程

?

  • reboot
    功能描述:重啟服務(wù)器
    語(yǔ)法:reboot [選項(xiàng)]
    常用選項(xiàng):
    ?????-w?僅做測(cè)試,并不是真的關(guān)機(jī),只會(huì)把重開(kāi)機(jī)器的數(shù)據(jù)寫(xiě)入/var/log目錄下的wtmp記錄文件
    示例:
[root@vultr ~]# reboot        //重開(kāi)機(jī)。
[root@vultr ~]# reboot -w     //做個(gè)重開(kāi)機(jī)的模擬(只有紀(jì)錄并不會(huì)真的重開(kāi)機(jī))。

?

  • shutdown
    功能描述:關(guān)機(jī)(慎用!
    語(yǔ)法:shutdown [選項(xiàng)] (參數(shù))
    常用選項(xiàng):
    ?????-h?將系統(tǒng)關(guān)機(jī)
    示例:
[root@vultr ~]# shutdown -h now       //立即關(guān)機(jī)
[root@vultr ~]# init 0               //立即關(guān)機(jī)
[root@vultr ~]# poweroff            //立即關(guān)機(jī)

?

  • netstat
    功能描述:顯示Linux中網(wǎng)絡(luò)系統(tǒng)的狀態(tài)信息
    語(yǔ)法:netstat [選項(xiàng)]
    常用選項(xiàng):
    ?????-t?表示只列出tpc協(xié)議的連接
    ?????-n?直接使用ip地址
    ?????-l?“state”列中被監(jiān)聽(tīng)的連接
    ?????-p?顯示發(fā)起連接的進(jìn)程的PID和進(jìn)程名稱(chēng)
    示例:
[root@vultr ~]# netstat -lntp   
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      943/nginx: master p 
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      922/pure-ftpd (SERV 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      916/sshd            
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      995/python          
tcp        0      0 0.0.0.0:888             0.0.0.0:*               LISTEN      943/nginx: master p 
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1616/master         
...

?

寫(xiě)在最后

至此的話(huà),關(guān)于Linux的一些進(jìn)常用階操作也都說(shuō)完了,有不太明白的胖友們,可以去“Linux命令手冊(cè)”進(jìn)行查詢(xún),感覺(jué)這東西真的是神器啊,所以向各位胖友安利了兩次
自從有了這個(gè)手冊(cè),腰不酸、腿不疼,就連man命令都用的少了(還不是因?yàn)橛⑽牟睿@邊還是希望有條件的胖友還是可以使用man命令對(duì)Linux的命令進(jìn)行幫助查詢(xún),畢竟不是每個(gè)人都像我英文這么差的,以后呢,也要好好學(xué)習(xí)英語(yǔ)了。。。
那最后就來(lái)句英文的雞湯作為結(jié)尾吧~

?


別向這個(gè)操蛋的世界投降!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容