100 個 Linux 常用命令大全(下)
51.groups 檢視登陸使用者支援的群組, 第一個輸出的群組為有效群組
52.newgrp 切換有效群組
53.groupadd [-g gid] 組名 | 新增組
-g 設定新增組的特定組id
54.groupmod [-g gid] [-n group_name] 群組名 | 修改組資訊
-g 修改既有的 GID 數字
-n 修改既有的組名
55.groupdel [groupname] | 刪除群組
56.gpasswd | 群組管理員功能
root管理員動作:
-gpasswd groupname 設定密碼
-gpasswd [-A user1,...] [-M user3,...] groupname
-A 將 groupname 的主控權交由後面的使用者管理(該群組的管理員)
-M 將某些賬號加入這個群組當中
-gpasswd [-r] groupname
-r 將 groupname 的密碼移除
群組管理員動作:
- gpasswd [-ad] user groupname
-a 將某位使用者加入到 groupname 這個群組當中
-d 將某位使用者移除出 groupname 這個群組當中
57.chfn修改個人資訊
58.mount [-t vfstype] [-o options] device dir
-ro 採用只讀方式掛接裝置
-rw 採用讀寫方式掛接裝置
eg:mount /home/mydisk.iso /tmp/mnt 通過mnt訪問mydisk內的內容
59.umount 取消掛載
60.cut
-b :以位元組為單位進行分割。這些位元組位置將忽略多位元組字元邊界,除非也指定了 -n 標誌。
-c :以字元為單位進行分割。
-d :自定義分隔符,預設為製表符。
-f :與-d一起使用,指定顯示哪個區域。
61.sort
-n 依照數值的大小排序。
-o<</span>輸出檔案> 將排序後的結果存入指定的檔案。
-r 以相反的順序來排序。
-t<</span>分隔字元> 指定排序時所用的欄位分隔字元。
-k 選擇以哪個區間進行排序。
62.wc 統計指定檔案中的位元組數、字數、行數, 並將統計結果顯示輸出
-l filename 報告行數
-c filename 報告位元組數
-m filename 報告字元數
-w filename 報告單詞數
63.uniq 去除檔案中相鄰的重複行
清空/新建檔案,將內容重定向輸入進去
&> 正確、錯誤都重定向過去
後面追加
64.set 顯示環境變數和普通變數
65.env 顯示環境變數
66.export 把普通變數變成環境變數
67.unset 刪除一個環境變數
aaa(){} 定義函式
68.read
-p 接提示字元
-t 接等待的秒數
69.declare、typeset
-i 宣告為整數
-a 宣告為陣列
-f 宣告為函式
-r 宣告為只讀
70.ulimit 限制使用者的某些系統資源
-f 此 shell 可以建立的最大檔案容量 (一般可能設定為 2GB)單位為 Kbytes eg: ulimit -f 1024
限制使用者僅能建立 1MBytes 以下的容量的檔案
71.df [選項] [檔案] | 顯示指定磁碟檔案的可用空間,如果沒有檔名被指定,則所有當前被掛載的檔案系統的可用空間將被顯示
-a 顯示全部檔案系統
-h 檔案大小友好顯示
-l 只顯示本地檔案系統
-i 顯示inode資訊
-T 顯示檔案系統型別
72.du [選項] [檔案] | 顯示每個檔案和目錄的磁碟使用空間
-h 方便閱讀的方式
-s 只顯示總和的大小
73.ln [引數] [原始檔或目錄] [目標檔案或目錄] | 某一個檔案在另外一個位置建立一個同步的連結
-s 建立軟連線
-v 顯示詳細的處理過程
74.diff [引數] [檔案1或目錄1] [檔案2或目錄2] | 比較單個檔案或者目錄內容
-b 不檢查空格字元的不同。
-B 不檢查空白行。
-i 不檢查大小寫
-q 僅顯示差異而不顯示詳細資訊
eg: diff a b > parch.log 比較兩個檔案的不同併產生補丁
75.date [引數]… [+格式] | 顯示或設定系統的日期與時間
%H 小時(以00-23來表示)。
%M 分鐘(以00-59來表示)。
%P AM或PM。
%D 日期(含年月日)
%U 該年中的週數。
date -s “2015-10-17 01:01:01″ //時間設定
date +%Y%m%d //顯示前天年月日
date +%Y%m%d --date="+1 day/month/year" //顯示前一天/月/年的日期
date +%Y%m%d --date="-1 day/month/year" //顯示後一天/月/年的日期
date -d '2 weeks' 2周後的日期
76.cal [引數] 月份] [年份] | 檢視日曆
-1 顯示當月的月曆
-3 顯示前、當、後一個月的日曆
-m 顯示星期一為一個星期的第一天
-s (預設)星期天為第一天
-j 顯示當月是一年中的第幾天的日曆
-y 顯示當前年份的日曆
77.ps | 列出當前程序的快照
a 顯示所有的程序
-a 顯示同一終端下的所有程式
e 顯示環境變數
f 顯示程序間的關係
-H 顯示樹狀結構
r 顯示當前終端的程式
T 顯示當前終端的所有程式
-au 顯示更詳細的資訊
-aux 顯示所有包含其他使用者的行程
-u 指定使用者的所有程序
78.top [引數] | 顯示當前系統正在執行的程序的相關資訊,包括程序ID、記憶體佔用率、CPU佔用率等
79.kill [引數] [程序號] | 殺死程序
80.free [引數] | 顯示Linux系統中空閒的、已用的實體記憶體及swap記憶體,及被核心使用的buffer
81.vmstat | 對作業系統的虛擬記憶體、程序、CPU活動進行監控
82.iostat [引數] [時間t] [次數n](每隔t時間重新整理一次,最多重新整理n次)| 對系統的磁碟操作活動進行監視,彙報磁碟活動統計情況,同時也會彙報出CPU使用情況
-p[磁碟] 顯示磁碟和分割槽的情況
83.watch [引數] [命令] |重複執行某一命令以觀察變化
-n 時隔多少秒重新整理
-d 高亮顯示動態變化
84.at [引數] [時間] | 在一個指定的時間執行一個指定任務,只能執行一次
HH:MM[am|pm] + number [minutes|hours|days|weeks] 強制在某年某月某日的某時刻進行該項任務
atq 檢視系統未執行的任務
atrm n 刪除編號為n的任務
at -c n 顯示編號為n的任務的內容
85.crontab | 定時任務排程
file 載入crontab
-e 編輯某個使用者的crontab檔案內容
-l 顯示某個使用者的crontab檔案內容
-r 刪除某個使用者的crontab檔案
86.ifconfig [網路裝置] [引數] | 檢視和配置網路裝置
87.route | 顯示和操作IP路由表
88.ping [引數] [主機名或IP地址] | 測試與目標主機的連通性
-q 只顯示最後的結果
89.netstat | 顯示與IP、TCP、UDP和ICMP協議相關的統計資料
90.telnet [引數] [主機] | 用於遠端登入,採用明文傳送報文,安全性不好
91.rcp [引數] [原始檔] [目標檔案] | 遠端檔案拷貝
-r 遞迴複製
-p 保留原始檔的屬性
usage: rcp –r remote_hostname:remote_dir local_dir
92.wget [引數] [URL地址] | 直接從網路上下載檔案
-o FILE 把記錄寫到FILE檔案中 eg : wget -O a.txt URL
wget --limit-rate=300k URL 限速下載
93.awk
-F 分隔符 以分隔符分隔內容
{} 要執行的指令碼內容 eg:cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'
94.sed 對資料行進行替換、刪除、新增、選取等操作
a 新增,在新的下一行出現
c 取代,取代 n1,n2 之間的行 eg: sed '1,2c Hi' ab
d 刪除
i 插入,在新的上一行出現
95.paste 合併檔案,需確保合併的兩檔案行數相同
-d 指定不同於空格或tab鍵的域分隔符
-s 按行合併,單獨一個檔案為一行
96.su [引數] user | 切換登陸
-l 切換時連同環境變數、工作目錄一起改變
-c command 執行command變回原來的使用者
97.sudo | 以特定使用者的許可權執行特定命令
-l 列出當前使用者可執行的命令
-u username#uid 以指定使用者執行命令