今天學習的命令都是運維作業中經常要用到的,非常實用,必須要用心學習,爭取把這些命令爛熟于心,具體內容如下:
一、系統狀態監測命令
1、ifconfig命令
用于獲取網卡配置與網路狀態等資訊,
[root@linuxprobe Desktop]# ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.134.128 netmask 255.255.255.0 broadcast 192.168.134.255 inet6 fe80::20c:29ff:feff:6b1f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ff:6b:1f txqueuelen 1000 (Ethernet) RX packets 32 bytes 3653 (3.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 58 bytes 7267 (7.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 6 bytes 560 (560.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6 bytes 560 (560.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777728 : 網卡名稱
inet 192.168.134.128 : IP地址
ether 00:0c:29:ff:6b:1f : MAC地址
RX packets 32 bytes 3653 (3.5 KiB) : 接收資料包的個數以及累計流量,重啟系統則流量清零
TX packets 58 bytes 7267 (7.0 KiB) :發送資料包的個數以及累計流量,重啟系統則流量清零
2、uname命令
用于查看系統內核與系統版本等資訊,一般會固定搭配-a引數
[root@linuxprobe ~]# uname -a Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
3、uptime命令
用于查看系統的負載資訊,系統在1分鐘、5分鐘、15分鐘內的平均負載值(加粗資訊)盡量不要長期超過1,在生產環境中不要超過5,
[root@linuxprobe ~]# uptime 11:12:49 up 23 min, 2 users, load average: 0.08, 0.04, 0.05
4、free命令
用于顯示當前系統中記憶體的使用量資訊,一般結合-h引數使用增加可讀性,
[root@linuxprobe ~]# free -h total used free shared buffers cached Mem: 1.9G 910M 1.1G 9.6M 924K 295M -/+ buffers/cache: 614M 1.3G Swap: 2.0G 0B 2.0G
5、who命令
用于查看當前登錄主機的用戶終端資訊,下面輸出結果顯示當前打開一個終端,
[root@linuxprobe ~]# who root :0 2020-02-17 10:49 (:0) root pts/0 2020-02-17 10:50 (:0)
6、last命令
用于查看所有本機的登錄記錄,要注意的是,登錄記錄可以被人為篡改,
[root@linuxprobe ~]# last root pts/0 :0 Mon Feb 17 10:50 still logged in root :0 :0 Mon Feb 17 10:49 still logged in (unknown :0 :0 Mon Feb 17 10:49 - 10:49 (00:00) reboot system boot 3.10.0-123.el7.x Mon Feb 17 10:49 - 11:32 (00:42) root pts/2 192.168.134.1 Sun Feb 16 19:58 - 20:05 (00:07) root pts/1 192.168.134.1 Sun Feb 16 16:51 - down (04:48)
7、history命令
用于顯示歷史執行過的命令,還可以使用“!數字”的方式來重復執行某一次的命令,
[root@linuxprobe ~]# history 1 cat /etc/redhat-release 2 reboot 3 ls 4 passwd root 5 su - linuxprobe 6 shutdown 7 shutdown -r
8、sosreport命令
用于收集系統配置與架構資訊并輸出診斷檔案,
[root@linuxprobe ~]# sosreport sosreport (version 3.0) This command will collect diagnostic and configuration information from this Red Hat Enterprise Linux system and installed applications. An archive containing the collected information will be generated in /var/tmp and may be provided to a Red Hat support representative. Any information provided to Red Hat will be treated in accordance with the published support policies at: https://access.redhat.com/support/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Press ENTER to continue, or CTRL-C to quit. //此處按下回車鍵來確認收集資訊
Please enter your first initial and last name [linuxprobe.com]: //此處按下回車鍵來確認主機編號
Please enter the case number that you are generating this report for: //此處按下回車鍵
Running plugins. Please wait ...
Running 1/69: abrt...
Running 6/69: auditd...
Running 7/69: block...
Running 69/69: yum...
Creating compressed archive...
Your sosreport has been generated and saved in:
/var/tmp/sosreport-linuxprobe.com-20200217114206.tar.xz //生成的診斷檔案保存的位置
The checksum is: fd53340877a57c34803cccbcc9d15676
Please send this file to your support representative.
二、作業目錄切換命令
1、pwd命令
用于顯示用戶當前所在的作業目錄,
[root@linuxprobe ~]# pwd
/root
2、cd命令
用于切換作業路徑,“cd -”命令回傳上一次所處的目錄,“cd ..”命令回傳上級目錄,“cd ~”命令切換至當前用戶的家目錄,
[root@linuxprobe ~]# cd /etc
[root@linuxprobe etc]#
3、ls命令
用于顯示目錄中的檔案資訊,-a引數可以顯示隱藏檔案,-l引數可以顯示檔案的屬性、大小等詳細資訊,
[root@linuxprobe ~]# ls -al total 64 dr-xr-x---. 14 root root 4096 Feb 17 16:28 . drwxr-xr-x. 17 root root 4096 Feb 17 16:28 .. -rw-------. 1 root root 1032 Feb 15 20:24 anaconda-ks.cfg -rw-------. 1 root root 3299 Feb 17 16:28 .bash_history -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc drwx------. 9 root root 4096 Feb 15 19:46 .cache drwx------. 15 root root 4096 Feb 15 19:46 .config -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc drwx------. 3 root root 24 Feb 15 12:25 .dbus drwxr-xr-x. 2 root root 6 Feb 15 19:41 Desktop drwxr-xr-x. 2 root root 6 Feb 15 19:41 Documents drwxr-xr-x. 2 root root 6 Feb 15 19:41 Downloads -rw-------. 1 root root 16 Feb 15 19:41 .esd_auth -rw-------. 1 root root 1240 Feb 17 16:28 .ICEauthority -rw-r--r--. 1 root root 1083 Feb 15 12:26 initial-setup-ks.cfg drwxr-xr-x. 3 root root 18 Feb 15 19:41 .local drwxr-xr-x. 2 root root 6 Feb 15 19:41 Music drwxr-xr-x. 2 root root 6 Feb 15 19:41 Pictures drwxr-xr-x. 2 root root 6 Feb 15 19:41 Public -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc drwxr-xr-x. 2 root root 6 Feb 15 19:41 Templates drwxr-xr-x. 2 root root 6 Feb 15 19:41 Videos -rw-------. 1 root root 1150 Feb 15 20:11 .viminfo -rw-------. 1 root root 120 Feb 16 19:58 .Xauthority
三、文本檔案編輯命令
1、cat命令
用于查看純文本檔案(內容較少的),-n引數可以顯示行號,
[root@linuxprobe ~]# cat -n initial-setup-ks.cfg 1 #version=RHEL7 2 # X Window System configuration information 3 xconfig --startxonboot 4 5 # License agreement 6 eula --agreed 7 # System authorization information 8 auth --enableshadow --passalgo=sha512 9 # Use CDROM installation media 10 cdrom 11 # Run the Setup Agent on first boot 12 firstboot --enable
2、more命令
用于查看純文本檔案(內容較多的),可以使用空格健或回車健向下翻頁,
[root@linuxprobe ~]# more initial-setup-ks.cfg #version=RHEL7 # X Window System configuration information xconfig --startxonboot # License agreement eula --agreed # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom
3、head命令
用于查看純文本檔案的前N行,一般配合-n引數使用,下面命令表示查看檔案前10行,
[root@linuxprobe ~]# head -n 10 initial-setup-ks.cfg #version=RHEL7 # X Window System configuration information xconfig --startxonboot # License agreement eula --agreed # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom
4、tail命令
用于查看純文本檔案的后N行或持續重繪內容,前者的命令形式為“tail -n 20 檔案名”,后者為“tail -f 檔案名”,
[root@linuxprobe ~]# tail -f /var/log/messages Feb 17 17:40:36 linuxprobe systemd: Starting Hostname Service... Feb 17 17:40:36 linuxprobe dbus-daemon: dbus[1042]: [system] Successfully activated service 'org.freedesktop.hostname1' Feb 17 17:40:36 linuxprobe dbus[1042]: [system] Successfully activated service 'org.freedesktop.hostname1' Feb 17 17:40:36 linuxprobe systemd: Started Hostname Service. Feb 17 17:40:37 linuxprobe chronyd[1013]: Selected source 162.159.200.123 Feb 17 17:40:37 linuxprobe kernel: TCP: lp registered Feb 17 17:40:51 linuxprobe systemd-logind: Removed session c1. Feb 17 17:41:07 linuxprobe systemd: Starting Session 2 of user root. Feb 17 17:41:07 linuxprobe systemd: Started Session 2 of user root. Feb 17 17:41:07 linuxprobe systemd-logind: New session 2 of user root. Feb 17 17:41:25 linuxprobe chronyd[1013]: Selected source 202.112.29.82
5、tr命令
用于替換文本中的字符,例如把文本中的英文全部替換為大寫,
[root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z] #VERSION=RHEL7 # SYSTEM AUTHORIZATION INFORMATION AUTH --ENABLESHADOW --PASSALGO=SHA512 # USE CDROM INSTALLATION MEDIA CDROM # RUN THE SETUP AGENT ON FIRST BOOT FIRSTBOOT --ENABLE IGNOREDISK --ONLY-USE=SDA # KEYBOARD LAYOUTS KEYBOARD --VCKEYMAP=US --XLAYOUTS='US' # SYSTEM LANGUAGE LANG EN_US.UTF-8
6、wc命令
用于統計指定文本的行數、字數、位元組數,-l引數顯示文本行數,
[root@linuxprobe ~]# wc -l /etc/passwd 38 /etc/passwd
7、stat命令
用于查看檔案的具體存盤資訊和時間等資訊,
[root@linuxprobe ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1032 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 68860812 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:admin_home_t:s0 Access: 2020-02-18 14:55:53.095941142 +0800 //最后一次查看檔案內容的時間 Modify: 2020-02-15 20:24:56.710988547 +0800 //最后一次修改檔案內容的時間 Change: 2020-02-15 20:24:56.710988547 +0800 //最后一次變更檔案權限或屬性的時間 Birth: -
8、cut命令
用于按“列”提取文本字符,-d引數設定間隔符號,-f引數設定提取第幾列字符,下面命令表示以“:”作為分隔符,提取第一列資料,
[root@linuxprobe ~]# cut -d : -f 1 /etc/passwd root bin daemon adm lp sync shutdown halt mail operator games ftp
9、diff命令
用于比較多個文本檔案的差異,--brief引數僅回傳比較結果,-c引數詳細比較多個檔案之間的差異之處,
[root@linuxprobe ~]# diff -c anaconda-ks.cfg initial-setup-ks.cfg *** anaconda-ks.cfg 2020-02-15 20:24:56.710988547 +0800 --- initial-setup-ks.cfg 2020-02-15 12:26:03.533009017 +0800 *************** *** 1,26 **** #version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 - # Use CDROM installation media cdrom # Run the Setup Agent on first boot firstboot --enable - ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8
-------------------------省略部分輸出結果---------------------------------
四、檔案目錄管理命令
1、touch命令
用于創建空白檔案或設定檔案的時間,可以設定檔案的查看時間(atime)、權限或屬性的變更時間(ctime)以及檔案的修改時間(mtime),分別對應stat命令里的三個時間,-d引數表示同時修改atime和mtime,
[root@linuxprobe ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1032 Feb 15 20:24 anaconda-ks.cfg [root@linuxprobe ~]# [root@linuxprobe ~]# touch -d "2019-2-18 15:20" anaconda-ks.cfg //修改anaconda-ks.cfg檔案的atime和mtime
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1032 Feb 18 2019 anaconda-ks.cfg //修改成功
2、mkdir命令
用于創建空白的目錄,結合-p引數來創建具有嵌套層關系的檔案目錄,
[root@linuxprobe ~]# mkdir -p a/b/c/d [root@linuxprobe ~]# [root@linuxprobe ~]# cd a/ //進入a目錄 [root@linuxprobe a]# cd b/ //進入b目錄 [root@linuxprobe b]#
3、cp命令
用于復制檔案和目錄,格式為“cp 引數 源檔案 目標檔案”,復制操作分為4種情況:
- 若目標檔案是目錄,則把源檔案復制到該目錄中;
- 若目標檔案也是普通檔案,則會詢問是否覆寫目標檔案;
- 若目標檔案不存在,則執行正常的復制操作;
- 若源檔案也是目錄,則需要加-r引數,
[root@linuxprobe ~]# cp anaconda-ks.cfg anaconda-ks.cfg_bak //備份anaconda-ks.cfg檔案
[root@linuxprobe ~]# ls
a anaconda-ks.cfg_bak Documents initial-setup-ks.cfg Pictures Templates anaconda-ks.cfg Desktop Downloads Music Public Videos
[root@linuxprobe ~]#
4、mv命令
用于剪切檔案或將檔案重命名,在同一目錄下對一個檔案進行剪切操作,就是對其進行重命名,
[root@linuxprobe ~]# mv anaconda-ks.cfg_bak anaconda-ks.cfg_cpoy //將anaconda-ks.cfg_bak檔案重命名為anaconda-ks.cfg_copy [root@linuxprobe ~]# ls a anaconda-ks.cfg_cpoy Documents initial-setup-ks.cfg Pictures Templates anaconda-ks.cfg Desktop Downloads Music Public Videos [root@linuxprobe ~]#
5、rm命令
用于洗掉檔案或目錄,-f引數表示強制洗掉,不提示確認資訊,洗掉目錄需要-r引數,
[root@linuxprobe ~]# rm -f anaconda-ks.cfg_cpoy //強制洗掉anaconda-ks.cfg_copy檔案 [root@linuxprobe ~]# [root@linuxprobe ~]# ls a anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos [root@linuxprobe ~]#
6、dd命令
用來按照指定大小和個數的資料塊來復制檔案或轉換檔案,相關引數及作用如下所示:
| 引數 | 作用 |
| if | 輸入的檔案名稱,即input file |
| of | 輸出的檔案名稱,即output file |
| bs | 設定每個“塊”的大小 |
| count | 設定復制“塊”的個數 |
[root@linuxprobe ~]# dd if=/dev/zero of=test_file count=1 bs=20M //在/dev/zero設備檔案中取出一個大小為20M的資料塊,然后保存命名為test_file的檔案 1+0 records in 1+0 records out 20971520 bytes (21 MB) copied, 0.0999151 s, 210 MB/s [root@linuxprobe ~]# ls a anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates test_file Videos [root@linuxprobe ~]#
7、file命令
用于查看檔案的型別,
[root@linuxprobe ~]# file anaconda-ks.cfg anaconda-ks.cfg: ASCII text //文本檔案 [root@linuxprobe ~]# [root@linuxprobe ~]# file Downloads Downloads: directory //目錄 [root@linuxprobe ~]#
五、打包壓縮與搜索命令
1、tar命令
用于對檔案進行打包壓縮和解壓,相關引數及其作用如下:
| 引數 | 作用 |
| -c | 創建壓縮檔案 |
| -x | 解開壓縮檔案 |
| -z | 用Gzip壓碩訓解壓 |
| -j | 用bzip2壓碩訓解壓 |
| -v | 顯示壓碩訓解壓程序 |
| -f | 目標檔案名 |
| -P | 保留原始的權限和屬性 |
| -C | 指定解壓到的目錄 |
[root@linuxprobe ~]# tar -czvf test.tar.gz /root //把/root目錄通過Gzip格式進行打包壓縮,壓縮包命名為test.tar.gz tar: Removing leading `/' from member names /root/ /root/.bash_logout /root/.bash_profile /root/.bashrc /root/.cshrc /root/.tcshrc /root/anaconda-ks.cfg
-----------------省略部分壓縮程序資訊-----------------
[root@linuxprobe ~]# ls
a Desktop Downloads Music Public test_file Videos
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates test.tar.gz
接下來將壓縮檔案解壓到 /root/test 目錄中,注意:無論壓碩訓是解壓,-f引數都一定要放在引數的最后面,
[root@linuxprobe ~]# mkdir test //創建test目錄 [root@linuxprobe ~]# [root@linuxprobe ~]# tar -xzvf test.tar.gz -C /root/test //解壓 root/ root/.bash_logout root/.bash_profile root/.bashrc root/.cshrc root/.tcshrc root/anaconda-ks.cfg
2、grep命令
用于在文本中執行關鍵詞搜索,并顯示匹配結果,格式為“grep 引數 關鍵詞 檔案名”,相關引數及其作用如下所示:
| 引數 | 作用 |
| -b | 將可執行檔案(binary)當作文本檔案(text)來搜索 |
| -c | 僅顯示找到的行數 |
| -i | 忽略大小寫 |
| -n | 顯示行號 |
| -v | 反向選擇——僅列出沒有“關鍵詞”的行 |
[root@linuxprobe root]# grep root /etc/passwd //搜索/etc/passwd檔案中,顯示包含“root”關鍵詞的行 root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin
3、find命令
用來按照指定的條件來查找檔案,格式為“find [查找路徑] 尋找條件 操作”,相關引數及其作用如下所示:
| 引數 | 作用 |
| -name | 匹配名稱 |
| -user | 匹配所有者 |
| -group | 匹配所有組 |
| --type b/d/c/p/l/f |
匹配檔案型別(后面字母引數依次表示塊設備、目錄、字符設備、管道、鏈接檔案、文本檔案) |
| -size | 匹配檔案大小(+50KB表示查找超過50KB的檔案,-50KB表示查找小于50KB的檔案) |
| -exec .... {}\; | 后面可以跟用于進一步處理搜索結果的命令 |
[root@linuxprobe root]# find /root -name test* //在/root目錄下查找檔案名以test開頭的檔案 /root/test_file /root/test/root/test_file [root@linuxprobe root]#
find命令進階實驗:在整個檔案系統中找出所有歸屬于linuxprobe用戶的檔案并復制到/root/findresults目錄,
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \; //其中{}代表find命令搜索出的每一個檔案,即假設find命令第一次搜索出了test.txt檔案,則執行cp -a test.txt /root/findresults/
find: ‘/proc/10213/task/10213/fd/6’: No such file or directory
find: ‘/proc/10213/task/10213/fdinfo/6’: No such file or directory
find: ‘/proc/10213/fd/6’: No such file or directory
find: ‘/proc/10213/fdinfo/6’: No such file or directory
cp: cannot overwrite non-directory ‘/root/findresults/linuxprobe’ with directory ‘/home/linuxprobe’
[root@linuxprobe ~]#
[root@linuxprobe findresults]# ls -l //查看命令執行結果
total 3868
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 12:37 1960
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 12:48 1967
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 12:45 1975
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 19:28 1979
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 15:22 1981
srwxrwxrwx. 1 linuxprobe linuxprobe 0 Feb 15 12:29 2031
-rw-r--r--. 1 linuxprobe linuxprobe 696 Feb 15 12:29 6c80566e9d01473b8952f753857b506f-card-database.tdb
-rw-r--r--. 1 linuxprobe linuxprobe 10 Feb 15 19:28 6c80566e9d01473b8952f753857b506f-default-sink
----------------------省略部分輸出內容--------------------------

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/239474.html
標籤:其他
