1. 程式人生 > >Linux 常用命令及詳解

Linux 常用命令及詳解

1.  type   :查詢命令 是否屬於shell直譯器
2.  help  : 幫助命令
3.  man : 為所有使用者提供線上幫助
4.  ls  : 列表顯示目錄內的檔案及目錄
-l    以長格式顯示檔案和目錄的列表
-a   顯示所有子目錄和檔案的資訊
-A   與-a基本類似,但有兩個特殊的隱藏目錄‘.’和'..'不顯示
-d    顯示目錄本身的屬性,長與-l同時使用

-h   以更人性化的方式顯示目錄或檔案的大小,長與-l同時使用
-R   以遞迴的方式顯示目錄及其子目錄中的所有內容

5.  du : 用於統計制定目錄和檔案所佔用磁碟空間的大小
-a 統計磁碟空間佔用是所有的檔案,而不僅僅是統計目錄
-s 只統計所佔用空間的大小

6.  touch: 建立空檔案,用於測試

7.  mkdir :  建立目錄
-p  一次性建立巢狀的多層目錄
-v   顯示詳情
-m  跳出當前的umask

8.  cp:   複製檔案或目錄
-f  覆蓋同名檔案或目錄,強制複製
-i  提醒使用者確認
-r  遞迴複製

9.  rm : 刪除指定的檔案或目錄
-f 不提示,直接強制刪除
-i 提示使用者確認
-r 遞迴式刪除整個目錄樹

10.  mv :  將制定檔案或目錄轉移位置(剪下),如果目標位置與原位置相同,則相當於執行重新命名操作

11.  which :   查詢Linux命令程式所在的位置

12.  find :  精細查詢檔案或目錄

-name 按名稱查詢 eg: find /etc -name "resol*.conf"
-size 按大小查詢 eg: find /etc -size +1M(k,M,G)
-user 按屬性查詢 eg: find /etc -user root
-type 按型別查詢 eg: find /boot -type d (d 目錄; f 普通檔案 ; b 塊裝置 ; c 字元裝置檔案)
-a (and) 邏輯 ‘與’ 運算
-o (or) 邏輯‘或’ 運算

13.  pwd : 檢視當前路徑

14.  stat :  檢視檔案詳細狀態資訊

 

===========================================

15.  cat  : 檢視檔案內容,可同時顯示多個檔案的內容(正序顯示)
16.  tac  : (倒序顯示)
17.  nl :不顯示行號
-n 顯示內容的同時顯示行號
-A 顯示所有的字元(通常Windows系統拷貝過來的檔案無法直接cat到,需要加此選項)
【root@www~】# cat -n /etc/yum.conf
【root@www~】# cat -nA /etc/yum.conf
【root@www~】# cat -nl /etc/yum.conf

18.  more :全屏方式分頁顯示檔案內容
a.按enter 向下滾動一行
b.按空格鍵向下滾動一頁
c.按q鍵退出
【root@www~】#more /etc/passwd
19 。 less: 與more基本相同,但拓展功能更多

20.  head: 檢視檔案開頭的一部分內容,預設顯示10行,可加選項調節
【root@www~】#head -5 /etc/passwd (顯示pass文件檔案 的前五行)
21. tail :檢視檔案結尾的一部分內容

22.  wc: 統計檔案中的單詞數量
-l  統計行數
-w:統計單詞個數
-c:統計位元組數
【root@www~】#wc /etc/hosts
2 10 158 /etc/hosts (行數,單詞數,位元組數)

23.  grep : 在檔案中查詢並顯示包含指定字串的行
-i : 查詢時忽略大小寫
-v:反轉查詢,輸出與條件不符的行
 “^...”表示以...開頭
 “...$”表示以...結尾
  “^$”表示空行
eg:【root@www~】#grep -v "^#" /etc/yum.conf | grep -v "^$"
    ( 過濾掉以“#”開頭的註釋行及空行)
24. egrep:增強型過濾 (等同於 grep -E )

25.  gzip:壓縮 (壓縮後文件格式為 ".gz")
26.  gzip -d :解壓縮格式為.gz 的壓縮檔案

27.  bzip2: 壓縮 (壓縮後文件格式為 ".bz2")
28.  bzip2 -d :解壓縮格式為 .bz2 的壓縮檔案

29.  tar : 製作歸檔檔案,釋放歸檔檔案
       tar [選項c...] 歸檔檔名 原始檔或目錄
       tar 【選項 x...】 歸檔檔名 【-C 目標目錄】

-c 建立.tar 格式的包檔案
-x 解開.tar 格式的包檔案
-v 輸出詳細資訊
-f 表示使用歸檔檔案 (後面需緊跟歸檔檔名)
-t 列表檢視包內的檔案
-C 解包時指定釋放的目標目錄
-z 呼叫 gzip 程式進行壓縮或解壓
-j 呼叫bzip2 程式進行壓縮或解壓

eg: tar zcvf aaa.tar.gz /aaa/
eg: tar zcf /opt/home.tar.gz /home/
eg: tar cjvf aaa.tar.bz2 /aaa/
tar xf aaa.tar.bz2 -C /root/

30.  vi : 文字編輯器
31.  vim : vi編輯器的增強版

模式切換: 
a 在游標後插入內容
A 在游標所在的行末尾插入內容
i 從當前游標前插入內容
l 在游標所在行行首插入內容
o 在當前游標下插入空行
O 在當前游標上插入空行

32.  rpm 查詢已安裝的RPM軟體資訊 
(1)格式: rpm -q 【子選項】 【軟體名】
-qa : 檢視已安裝的所有 RPM 軟體列表
-qi : 檢視指定軟體的詳細資訊
-ql :查詢軟體包的目錄,檔案列表
eg:【root@www~】#rpm -q bash
bash-4.1.2-15.el6_4.x86_64
【root@www~】#rpm -qa | grep bash
bash-4.1.2-15.el6_4.x86_64
查詢未安裝的RPM包檔案
rpm -qb [子選項] RPM包檔案
-qpi :檢視該軟體的詳細資訊
-qpl : 檢視包內所含的目錄,檔案列表

安裝升級RPM包檔案
rpm 【選項】 RPM包檔案
-i: 安裝一個新的rpm軟體包 (install)
-U:升級,若未安裝,則進行安裝
-h: 以“#”號顯示安裝的進度
-v : 顯示安裝過程中的詳細資訊
-F: 更新某個rpm軟體,若未安裝,則放棄安裝

33.  yum
安裝:yum -y install 軟體名
解除安裝:yum -y remove 軟體名
升級:yum -y update 軟體名
解除安裝光碟 : umount /dev/sr0
安裝光碟: mount /dev/sr0 /media/  (media  介質)

34.  ./configure 進入設定模式
35.  make 編譯
36.  make install 編譯安裝
37.  md5sum 檢驗校驗和

==================================

重啟命令

38. reboot
39. shutdown -r now
40. init 6

關機命令

41 . halt -p
42 . shutdown -h now
43 . init 0
------------------------
sync;sync;sync;reboot
sync:資料同步命令, 它會把記憶體中的資料同步到硬碟中去,防止在瞬時在
關機或重啟時,資料丟失

重啟關機命令
reboot
shutdown -r now
init 6

halt -p
shutdown -h now
init 0

44 . sync 同步資料
======================================
45 . echo 回顯
46 . sleep 休眠

47 . useradd  : 新增使用者賬號 命令
useradd [選項】 使用者名稱
-u :指定uid標記號
-d:指定宿主目錄,預設預設為/home/使用者名稱
-e:指定賬號失效時間
-M:不為使用者建立初始化宿主目錄 (-d 與 -M 不能同時使用)
-s:指定使用者登入的shell
-g:指定使用者的基本名
-G:指定使用者的附加組名
-c:新增備註,顯示在/etc/passwd第五欄位

eg:[root@www~]#groupadd group1
[root@www~]#mkdir -p /testgroup1
[root@www~]#groupadd jiaoxue
[root@www~]#useradd -d /testgroup1/tom/ -g group1 -G jiaoxue -s /bin/bash -e
2016-01-01 tom
[root@www~]#passwd tom
.......... 
...........
[root@www~]#tail -1 /etc/passwd
[root@www~]#tail -1 /etc/shadow

48 . userdel : 刪除使用者賬號命令
userdel 使用者名稱
-r : 刪除使用者的同時刪除使用者的宿主目錄
eg: [root@www~]#userdel -r tom1
[root@www~]#ls /testgroup1/

49 . usermod : 修改使用者屬性 命令
usermod [選項] ... 使用者名稱
-l : 更改使用者賬號的登入名字
-c : 修改使用者的備註
-L : 鎖定使用者賬號
-U: 解鎖使用者賬號
eg: [root@www~]#usermod -l tom1 tom
[root@www~]#tail -1 /etc/passwd
tom1:x:501:501::/testgroup1/tom/:/bin/bash
[root@www~]#usermod -c jiaoxue tom1
[root@www~]#tail -1 /etc/passwd
tom1:x:501:501:jiaoxue:/testgroup1/tom/:/bin/bash

50 .  groupadd: 新增組賬號命令
注GID:組標識號
格式: groupadd [-g GID] 組賬號名

51 . groupdel: 刪除組賬號
eg: [root@www~]#groupdel market
[root@www~]#tail -5 /etc/group

52 . groups : 查詢客戶所屬的組
groups 使用者名稱

53 . passwd : 設定/更改使用者口令
passwd 【選項】 使用者名稱
-d : 清空使用者密碼
-l : 鎖定使用者賬號
-S: 檢視使用者賬號的狀態(是否被鎖定)
-u:解鎖使用者賬號
-x, --maximum=DAYS:密碼的最長有效時限
-n,--miximum=DAYS:密碼的最短有效時限
-w,--warning=DAYS:在密碼過期前多少天開始提醒使用者
-i,    --inactive=DAYS:當密碼過期後經過多少天該賬號會被禁用

54 . gpasswd:設定組賬號密碼(極少用),新增,刪除組成員 
gpasswd [選項] ... 組賬號名

選項為空時,表示給群組設定密碼,僅 root 使用者可用

-a : 向組內新增一個使用者

-d : 從組內刪除一個使用者成員
-M:定義組成員列表,以逗號分隔

55 . id : 查詢使用者身份標識
id 【使用者名稱】

56 . w : 查詢已登入到主機的使用者資訊

57 . who: 與 w 命令類似,查詢已登入到主機的使用者

58 . finger : 查詢賬號的詳細資訊
finger 【使用者名稱】

59 . whoami : 查詢當前登入的賬號名

60 . tree : 將所有檔案以樹的形式列出來

========================================================

臨時關閉防火牆
systemctl stop firewalld
永久關閉防火牆
systemctl disable firewalld

臨時關閉selinux安全機制
setenforce 0
永久關閉selinux安全機制
sed -i '7 s/enforcing/disabled/' /etc/selinux/config

yum -y clean all ,清除快取時會遇到 /var/run/yum.pid 被鎖定
      ↓ ↓ ↓ ↓ ↓ 解決方法:

通過xshell再複製一個新的終端通道:

執行以下命令 :

> /var/run/yum.pid

即可解決問題。

==============================================

  刪除該登陸的使用者:

 fuser -k /dev/pts/1  

複製命令(不用按y):

/bin/cp -f /etc/passwd ./

\cp -f /etc/passwd ./

yes | cp -f /etc/passwd ./

=====================

61. alias :檢視系統中別名

    alias myip ='cat /etc/sysconfig/....'   設定別名

62.unalias myip 刪除別名

63. chgrp :命令可採用群組名稱或群組識別碼的方式改變檔案或目錄的所屬群組。使用許可權是超級使用者。 

命令格式:

           chgrp [選項] [組] [檔案]

必要引數:

 

   -c 當發生改變時輸出除錯資訊

 

   -f 不顯示錯誤資訊

 

   -R 處理指定目錄以及其子目錄下的所有檔案

 

   -v 執行時顯示詳細的處理資訊

 

   64.   chmod : 設定檔案或目錄的許可權

   格式:chmod【-R】【ugoa】【+-=】【rwx】 引數

        chmod 【-R】【nnn】

-R : 表示以遞迴的方式設定目錄及目錄下的所有子目錄及檔案的許可權

 u : 屬主

 g :   屬組

 o : 其他人

 a :所有人

 + : 新增

 - : 刪除

 = : 重置

nnn : 7進位制的數字許可權,如 : 777 666 644 755  等。。。

讀許可權  r  4

寫許可權  w  2

執行許可權 x 1

無許可權  -  0

65. chown  : 設定檔案的歸屬

  chown 屬主 檔案

  chown :屬組  檔案

  chown 屬主:屬組  檔案

 66.umask : 許可權掩碼 

   作用: 控制新建的檔案或目錄的許可權

檢視umask值 :  umask  

設定 umask值:  umask  nnn

   【root@www~】# umask 020

   【root@www~】# umask

    0020

 

67. getfacl : ACL的查詢

    格式: getfacl  檔案或目錄       (ACL概述: 主要作用可以提供除屬主、屬組、其他人的  rwx 許可權之外的細節許可權設定 )

 

 68. setfacl: ACL的設定

 

     格式: setfacl 【選項】 【acl 引數】 目標檔案或目錄

 -m :設定後續的acl 引數,不可與 -x 一起使用

 -x: 刪除後續的acl 引數,不可與 -m 一起使用

 -b : 刪除所有的acl 引數

  -k : 刪除預設的acl 引數

  -R : 遞迴設定acl 引數

  -d : 設定預設 acl 引數,只對目錄有效 

 

 69. fdisk -l : 檢測並確認新硬碟

輸出資訊說明

    Device : 分割槽的裝置檔名稱

    boot : 是否是引導分割槽

    stat/end:分割槽的起始/結束位置

    blocks:塊,預設大小為1024位元組

    Id: 分割槽對應的系統ID號。 83表示Linux中的EXT4分割槽,8e表示LVM邏輯卷,82表示swap,fd表示RAID

   System: 分割槽型別

70. fdisk :  在互動式的操作環境中管理磁碟分割槽

    常用選項 :

          m: 檢視操作指令的幫助資訊

         p : 列表檢視分割槽資訊

         n: 新建分割槽

         d:刪除分割槽

         t:變更分割槽型別

        w: 報訊分割槽設定並退出

       q: 放棄分割槽設定並退出

      Ctrl+退格鍵 :刪除輸入的錯誤字元

71.  mkfs : 建立檔案系統 (格式化)

    -t:制定格式化檔案型別

   -b:指定block大小,單位為位元組

    -I :inode大小

    -U:設定UUID號

    -q:執行時不顯示任何資訊

72.  mkswap:建立交換檔案系統

   格式: mkswap  分割槽裝置

          eg: [root@www~]#mkswap /dev/sd__

73. swapon : 開啟交換分割槽

      swapon -s  檢視記憶體

74.  swapoff : 關閉交換分割槽

75. dd : 用指定大小的塊拷貝一個檔案,並在拷貝的同時進行指定的轉換。

    1. if=檔名:輸入檔名,預設為標準輸入。即指定原始檔。< if=input file >

 

     2. of=檔名:輸出檔名,預設為標準輸出。即指定目的檔案。< of=output file >

  76. parted : 規劃2G大小以上分割槽

 77. partprobe :   載入分割槽表 

     eg : partprobe  /dev/sd *

78 .  partx :對一個磁碟或者分割槽表型別,嘗試解析分割槽表。可以增加或刪除分割槽。但不是fdisk,增加,刪除分割槽對磁碟造成改變,只是告訴核心當前磁碟的分割槽情況。

          partx [-a|-d|-l] [--type TYPE] [--nr M-N] [partition] disk

        -a    增加制定的分割槽或讀磁碟新增的分割槽
  -d    刪除制定或所有的分割槽
  -l     列出分割槽
  --type  指定分割槽型別。dos,bsd,solaris,unix,或者gpt
  --nr      M-N 指定分割槽範圍

 

  79. mount : 檢視當前的掛載

    mount -a  掛載/etc/fstab中記錄的所有掛載

    mount -o -loop ISO 映象檔案  掛載點目錄

 80 . unmount : 解除安裝已掛載的檔案系統

    umount -a 解除安裝所有/etc/fstab 中已記錄的掛載

81. df : 檢視磁碟使用情況 

     格式 : df  【選項】 【檔案】

  -h : 顯示更易讀的容量單位

  -T : 顯示對應檔案系統的型別

  -i : 顯示inode 的數量

82. xfs_growfs

83.resize2fs

84. blkid : 檢視分割槽的UUID號

    格式 : blkid  分割槽裝置

    85.        (掃描 scan、建立 create、顯示 display、刪除 remove、擴充套件 extend、減少 reduce)   

            pvscan : 掃描物理卷
86. vgscan :掃描 卷組
87. lvscan  : 掃描邏輯卷
88. pvcreate : 建立物理卷
89. vgcreate  : 建立卷組
90. lvcreate  : 建立邏輯卷

91. pvdisplay  : 顯示物理卷

92. vgdisplay  : 顯示卷組

93. lvdisplay   :顯示邏輯卷
94. pvremove  : 刪除物理卷
95. vgremove  : 刪除卷組
96. lvremove   :
刪除邏輯卷 
97. vgextend  : 
擴展卷組
98. lvextend   :   
擴充套件邏輯卷
99.  vgreduce  : 
減少卷組
100. lvreduce  : 
減少邏輯卷

 ==========================================

101. uname : 顯示當前作業系統名稱 

102. lsb_release :  lsb_release命令用來檢視當前系統的發行版資訊  ,有了這個命令就可以清楚的知道到底是RedHat的、還是別的發行版,還有具體的版本號,比如3.4還是5.4等等...  

[root@localhost ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core) 
Release: 7.5.1804
Codename: Core

103. mdadm : 

            作用:實現軟體RAID

            格式 : mdadm   [選項]  引數

           常用選項: 

                   -C : 建立一個新的軟 RAID ,後面接 raid 裝置名稱。 例如, /dev/md0 ,  /dev/md1  等。

                   -A : 載入一個已存在的陣列,後面跟陣列以及裝置的名稱。

                   -S : 停止指定的 RAID 裝置

                  -D : 輸出指定 RAID 裝置的詳細資訊。

                   -l : 設定 RAID 的級別,例如設定“--level5” 則表示建立陣列的級別是 RAID 5

                   -n : 指定陣列中活動磁碟的數目

                   -x : 指定陣列中備用磁碟數

                   -G : 改變在用陣列的大小或形態

                    -v : 顯示細節

104. quotacheck  : 掃描檔案系統並建立Quota的記錄檔案          ( quota 注:在Linux系統中,由於是多人多工環境,所以會有很多人共同使用一個硬碟空

           格式 : quotacheck  【選項】 【掛載點目錄】                    間的情況發生,如果其中少數幾個使用者大量的佔用硬碟空間的話,那勢必會壓縮其他使用者

            常用選項:                                                                            的使用權力,因此,管理員應該適當的限制硬碟的容量給使用者,以妥善分配系統資源。)

                 

                   -a : 掃描所在 /etc/mtab 內,含有 quota 支援的檔案系統,加上此引數後可不寫掛載點目錄

                   -u :針對使用者掃描檔案與目錄的使用情況,建立 aquota.user 檔案

                   -g : 針對組掃描檔案與目錄的使用情況,建立 aquota.group 檔案

                   -v : 顯示掃描過程的詳細資訊

                   -M : 強制以讀寫的方式掃描檔案系統(只有在特殊情況下才會使用)

                   -f : 強制掃描檔案系統,並寫入新的quota配置檔案(  危險  )

            常用選項組合: quotacheck -auvg

105. quotaon/quotaoff : 啟動/關閉 quota 服務

            格式 : quotaon/quotaoff [選項]  [掛載點目錄]

                常用選項 :              

                    -a : 根據/etc/mtab 內的檔案系統設定啟動有關的quota 服務,若不加此引數,需在後面指定檔案系統

                    -u :針對使用者啟動quota ( aquota.user )

                    -g :   針對組啟動quota ( aquota.group ) 

                    -v : 顯示啟動過程的詳細資訊

          啟動/關閉全部使用者及組的 quota 服務 : quotaon / quotaoff -avug

          啟動/關閉某一檔案系統的使用者 quota 服務 : quota /quotaoff -uv  掛載點目錄

106.   edquota :  edit quota ,編輯使用者 ,組的限制 與 寬限時間 

          格式 : edquota  [ 選項 ] [使用者 | 組 ]

        常用選項 :

                      -u : 後面跟使用者,可以直接進入 quota 的編輯介面去設定該使用者的限制值

                      -g : 後面跟組,可以直接進入quota 的編輯介面去設定該組的限制值

                       -t : 可以修改寬限時間

                       -p : 複製前一個設定的範本到下一個使用者或組

107.   setquota  : 命令設定 quota 限額   

             格式 : 

                       setquota [-u|-g] [使用者|組] [block(soft)] [block(hard)] [inode(soft)] [inode(hard)] [檔案系統]

108. quota : 單一使用者或組 的 quota 報表 

              格式 : quota [選項 ] [使用者 |組] 

         常用選項:

                      -u : 後面跟使用者,顯示出該使用者的quota 限制值 ,若不跟使用者則顯示執行者的 quota 限制值

                       -g : 後面跟組 , 顯示該組的 quota 限制值

                       -v : 顯示每個使用者在檔案系統的quota 值

                        -s : 人性化單位顯示

109. repquota : 針對檔案系統的限制配額做報表

            格式 : repquota [選項] [ 引數]

         常用選項 : 

                    -a : 查詢 /etc/mtab 中具有 quota 標誌的檔案系統 , 並報告 quota 的結果

                    -u : 顯示出使用者的 quota 限值 (預設顯示此值)

                     -g : 顯示出某個群組的 quota 限制值

                      -v : 顯示檔案系統的詳細資訊

                     -s : 人性化單位