工作中接觸linux時間也不算短了,不同于Windows的圖形化操作,使用linux幾乎百分之九十五的情況是在命令行下過日子,過去的兩年里,零零碎碎整理過一版自己工作中涉及到和學習過的命令(不過常用的只有三十個左右),思前想后,還是重新整理一版,后續再慢慢了解實踐和熟悉。
Linux操作系統對于搞編程的的同行來說,我覺得是值得好好學習一下,最好能有自己的認識和理解,俗話說“萬變不離其宗”,在新技術層出不窮的情況下,基礎性的東西理解的越深入透徹,學習新技術的速度就越快,其實新技術只是思想的創新,真正的實施手段還是通用的。
Linux的命令根據具體職能的不同,以redhat和centos操作系統為例,在應用層面可以歸類為下面類別:
1.系統登錄、退出、關機和重啟
login : 登錄系統
logout : 退出登錄的shell
exit : 退出登錄的shell(常用)
rlogin : 遠程登錄服務器
poweroff : 關閉系統,然后關閉記錄被寫入 /var/log/wtmp日志文件中
ctrlaltdel : 強制或者安全重新啟動服務器
shutdown : 安全地關閉或者重啟系統(常用)
halt : 關閉系統
reboot : 重啟linux系統(常用)
init 0/6 : init 0為關機,init 6為重啟
2.獲取命令的系統幫助信息
help : 查看內部shell命令的幫助信息(常用)
man : 顯示在線幫助手冊(常用)
info : info格式的幫助文檔
3.文本編輯器
vi : linux下面功能異常強大的編輯器,快捷鍵多如牛毛
nano : 系統自帶的一個編輯器,有的時候只能使用它編輯少部分配置文件
4.目錄和文件操作,這一系列命令都常用
pwd : 顯示當前用戶所處的工作目錄的絕對路徑
cd : 更改工作目錄路徑
ls : 列出當前工作目錄和目錄和文件信息
dirs : 顯示目錄列表,在只需要顯示目錄的時候比較簡單實用
touch : 創建空文件或更改文件時間
mkdir : 創建目錄
rmdir : 刪除空目錄
cp : 復制文件和目錄
mv : 給文件和目錄改名、移動文件和目錄的路徑
rm : 刪除文件或目錄
file : 查詢文件的文件類型
du : 顯示目錄或文件的磁盤占用量(文件系統數據庫的情況)
wc : 統計文件的行數、單詞數、字節數和字符數
tree : 以樹狀圖逐級列出目錄的內容
cksum : 顯示文件的CRC校驗值和字節統計
mk5sum : 顯示或檢查MD5(128-bit)校驗和
sum : 為文件輸出校驗和及塊計數
dirname : 輸出去除尾"/"字符部分的名稱,名稱不包含"/"則顯示"."
basename : 去掉前導的目錄部分后顯示名稱,如果指定后綴的話會去掉后綴
ln : 創建鏈接文件
stat : 顯示文件或文件系統狀態
5.文本文件內容顯示
cat : 顯示文本文件內容
more : 分頁顯示文本文件
less : 回卷顯示文本文件的內容
head : 顯示文件指定的前若干行
tail : 顯示文件指定的后若干行
nl : 顯示文件的行號和內容
6.文件處理
sort : 對文件中的數據進行排序
uniq : 將重復行從輸出文件中刪除
cut : 從文件的每行中輸出指定的字節、字符或字段(域名)
comm : 逐行比較兩個已排序的文件
diff : 逐行比較兩個文本文件,列出不同
diff3 : 按行比較三個文件
cmp : 按字節比較兩個文件
tr : 從標準輸入中替換、縮減和/或刪除字符
split : 將輸入文件進行分割成片,輸出固定大小的塊
tee : 將標準輸入復制到每一個指定的文件
awk : 模式掃描和處理語言,比較復雜,功能強大常用
sed : 用于過濾和轉換文本的流編輯器,比較復雜,功能強大常用
7.查找字符串、文件
grep : 查找文件中符合條件的字符串,比較復雜,功能強大常用
egrep : 可以在每個文件或是標準輸入中查找模式
find : 列出文件系統內符合條件的文件,比較復雜,功能強大常用
whereis : 查找指定文件、命令和手冊頁位置
whatis : 在whatis數據庫中搜尋特定命令
which : 顯示可執行命令的路徑
8.日期和時間
cal : 顯示日歷信息
date : 顯示和設置系統日期和時間
hwclock: 查看和設置硬件時鐘
clockdiff: 主機之間測量時鐘差
rdate : 通過網絡獲取時間
sleep : 暫停指定的時間
9.數字計算相關命令
bc : 任意精度的計算器
expr : 將表達式的值列印到標準輸出,注意轉義
10.用戶和用戶組管理
useradd : 創建用戶賬戶
adduser : 是useradd命令的符號鏈接
newuser : 更新和批量創建新用戶
lnewuser : 使用lnewusers命令可以從標準輸入中讀取數據來創建賬戶
usermod : 修改用戶賬戶屬性
userdel : 刪除用戶賬戶
groupadd : 創建組群
groupmod : 修改組群
groupdel : 刪除組群
passwd : 設置或者修改用戶密碼
chpasswd : 成批更新用戶口令
change : 更改用戶密碼到期信息
chsh : 更改用戶賬戶的shell類型
pwck : 校驗/etc/passwd 和/etc/shadow文件的內容是否合法和完整
grpck : 驗證組群文件的完整性,/etc/grous和/etc/gshadow文件
newgrp : 將用戶賬戶以另一個組群的身份進行登錄
finger : 用戶信息查找
groups : 顯示指定用戶賬戶的組群成員身份
id : 顯示用戶的uid及該用戶所屬組群的gid
su : 切換到其他用戶賬戶進行登錄
sudo : 以另外一個用戶執行命令
11.顯示登錄的用戶
w : 詳細查詢已登錄當前計算機的用戶
who : 顯示已登錄當前計算機用戶的簡單信息
logname : 顯示當前用戶的登錄名稱
users : 用單獨的一行顯示出當前登錄的用戶
last : 顯示近期用戶登錄情況
lastb : 列出登錄系統失敗的用戶信息
lastlog : 查看用戶上次登錄的時間
12.文件目錄的權限和屬性
chmod : 更改文件和目錄的模式
chown : 更改文件和目錄的用戶所有者和組群的所有者
chgrp : 更改文件或目錄的所屬組
umask : 顯示和設置文件及目錄創建默認權限掩碼
getfacl : 顯示文件或目錄的ACL
setfacl : 設置文件或目錄的ACL
chacl : 更改文件或目錄的ACL
lsattr : 查看文件和目錄的屬性
chattr : 更改文件和目錄的屬性
13.歸檔與壓縮
tar : 將許多文件一起保存進行歸檔和壓縮
gzip : 壓縮或解壓縮gzip文件
gunzip : 解壓縮gzip文件
zcmp : 調用diff比較gzip壓縮文件
zip : 壓縮zip文件
unzip : 解壓縮zip文件
zcat : 查看zip壓縮文件
zless : 查看zip壓縮文件
zipinfo : 列出zip文件相關的詳細信息
zipsplit : 拆分zip文件
zipgrep : 在zip壓縮文件中搜索匹配指定的字符串或模式
zmore : 查看gzip/zip/compress壓縮文件
14.進程和服務管理,這塊命令都比較常用
ps : 查看當前進程的瞬時快照;
top : 顯示當前正在運行的進程
pgrep : 按名稱和其他屬性查找進程
pidof : 根據進程名查找正在運行的進程的進程號
kill : 終止進程
killall : 按名稱殺死進程
pkill : 按名稱和其他屬性殺死進程
timeout : 在指定時間后仍在運行則殺死該進程
wait : 等待指定的進程
fuser : 顯示哪些進程使用指定的文件、套接字或文件系統
nohup : 運行指定的命令不受掛起
pmap : 報告進程的內存映射
lsof : 列出打開的文件
chkconfig : 為系統服務更新和查詢運行級別信息
bg : 恢復在后臺暫停工作的作業
fg : 將程序或命令放到前臺執行
jobs : 列出活動的作業
15.性能監控,有點兒難度的重要命令,需要了解操作系統的相關知識
sar : 收集、報告或保存系統活動信息
iostat : 報告CUP統計數據和設備、分區輸入/輸出信息
iotop : 進行I/O監控
mpstat : 報告CPU相關的統計數據
vmstat : 報告虛擬內存統計
tload : 加載顯示系統平均負載,加載顯示當前系統指定tty終端平均負載
time : 給出資源使用的時間
uptime : 顯示系統已經運行的時間
ipcs : 提供IPC設施信息
ipcrm : 刪除消息隊列、信號量集或共享內存ID
lslk : 列出本地鎖
16.任務計劃
crontab : 針對用戶維護的crontab文件
at : 在指定時間執行命令
atq : 列出用戶等待執行的作業
atrm : 刪除作業
watch : 定期執行一個程序