Linux一些常用操作命令
1.建立一個等同於root管理員的使用者
useradd -u 0 -o -g root -G root -d /home/username username
usermod -u 0 -o -g root -G root username
passwd username
--------------------------------------------------------------------------------------
useradd(選項)(引數)
-c<備註>:加上備註文字。備註文字會儲存在passwd的備註欄位中;
-d<登入目錄>:指定使用者登入時的啟始目錄;
-D:變更預設值;
-e<有效期限>:指定帳號的有效期限;
-f<緩衝天數>:指定在密碼過期後多少天即關閉該帳號;
-g<群組>:指定使用者所屬的群組;
-G<群組>:指定使用者所屬的附加群組;
-m:自動建立使用者的登入目錄;
-M:不要自動建立使用者的登入目錄;
-n:取消建立以使用者名稱稱為名的群組;
-r:建立系統帳號;
-s<shell>:指定使用者登入後所使用的shell;
-u<uid>:指定使用者 id。
--------------------------------------------------------------------------------------
usermod(選項)(引數
-c<備註>:修改使用者帳號的備註文字; -d<登入目錄>:修改使用者登入時的目錄; -e<有效期限>:修改帳號的有效期限; -f<緩衝天數>:修改在密碼過期後多少天即關閉該帳號; -g<群組>:修改使用者所屬的群組; -G<群組>;修改使用者所屬的附加群組; -l<帳號名稱>:修改使用者帳號名稱; -L:鎖定使用者密碼,使密碼無效; -s<shell>:修改使用者登入後所使用的shell; -u<uid>:修改使用者ID; -U:解除密碼鎖定。
--------------------------------------------------------------------------------------
2.檢視程序中是否有目標程式
ps -ef|grep 目標
--------------------------------------------------------------------------------------
ps(選項)
-a:顯示所有終端機下執行的程式,除了階段作業領導者之外。
a:顯示現行終端機下的所有程式,包括其他使用者的程式。
-A:顯示所有程式。
-c:顯示CLS和PRI欄位。
c:列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,選項或常駐服務的標示。
-C<指令名稱>:指定執行指令的名稱,並列出該指令的程式的狀況。
-d:顯示所有程式,但不包括階段作業領導者的程式。
-e:此選項的效果和指定"A"選項相同。
e:列出程式時,顯示每個程式所使用的環境變數。
-f:顯示UID,PPIP,C與STIME欄位。
f:用ASCII字元顯示樹狀結構,表達程式間的相互關係。
-g<群組名稱>:此選項的效果和指定"-G"選項相同,當亦能使用階段作業領導者的名稱來指定。
g:顯示現行終端機下的所有程式,包括群組領導者的程式。
-G<群組識別碼>:列出屬於該群組的程式的狀況,也可使用群組名稱來指定。
h:不顯示標題列。
-H:顯示樹狀結構,表示程式間的相互關係。
-j或j:採用工作控制的格式顯示程式狀況。
-l或l:採用詳細的格式來顯示程式狀況。
L:列出欄位的相關資訊。
-m或m:顯示所有的執行緒。
n:以數字來表示USER和WCHAN欄位。
-N:顯示所有的程式,除了執行ps指令終端機下的程式之外。
-p<程式識別碼>:指定程式識別碼,並列出該程式的狀況。
p<程式識別碼>:此選項的效果和指定"-p"選項相同,只在列表格式方面稍有差異。
r:只列出現行終端機正在執行中的程式。
-s<階段作業>:指定階段作業的程式識別碼,並列出隸屬該階段作業的程式的狀況。
s:採用程式訊號的格式顯示程式狀況。
S:列出程式時,包括已中斷的子程式資料。
-t<終端機編號>:指定終端機編號,並列出屬於該終端機的程式的狀況。
t<終端機編號>:此選項的效果和指定"-t"選項相同,只在列表格式方面稍有差異。
-T:顯示現行終端機下的所有程式。
-u<使用者識別碼>:此選項的效果和指定"-U"選項相同。
u:以使用者為主的格式來顯示程式狀況。
-U<使用者識別碼>:列出屬於該使用者的程式的狀況,也可使用使用者名稱稱來指定。
U<使用者名稱稱>:列出屬於該使用者的程式的狀況。
v:採用虛擬記憶體的格式顯示程式狀況。
-V或V:顯示版本資訊。
- w或w:採用寬闊的格式來顯示程式狀況。
x:顯示所有程式,不以終端機來區分。
X:採用舊式的Linux i386登陸格式顯示程式狀況。
-y:配合選項"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位 。
-<程式識別碼>:此選項的效果和指定"p"選項相同。
--cols<每列字元數>:設定每列的最大字元數。
--columns<每列字元數>:此選項的效果和指定"--cols"選項相同。
--cumulative:此選項的效果和指定"S"選項相同。
--deselect:此選項的效果和指定"-N"選項相同。
--forest:此選項的效果和指定"f"選項相同。
--headers:重複顯示標題列。
--help:線上幫助。
--info:顯示排錯資訊。
--lines<顯示列數>:設定顯示畫面的列數。
--no-headers:此選項的效果和指定"h"選項相同,只在列表格式方面稍有差異。
--group<群組名稱>:此選項的效果和指定"-G"選項相同。
--Group<群組識別碼>:此選項的效果和指定"-G"選項相同。
--pid<程式識別碼>:此選項的效果和指定"-p"選項相同。
--rows<顯示列數>:此選項的效果和指定"--lines"選項相同。
--sid<階段作業>:此選項的效果和指定"-s"選項相同。
--tty<終端機編號>:此選項的效果和指定"-t"選項相同。
--user<使用者名稱稱>:此選項的效果和指定"-U"選項相同。
--User<使用者識別碼>:此選項的效果和指定"-U"選項相同。
--version:此選項的效果和指定"-V"選項相同。
--widty<每列字元數>:此選項的效果和指定"-cols"選項相同。
--------------------------------------------------------------------------------------
grep (選項)
-a 不要忽略二進位制資料。
-A<顯示列數> 除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容。
-b 在顯示符合範本樣式的那一行之外,並顯示該行之前的內容。
-c 計算符合範本樣式的列數。
-C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
-d<進行動作> 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep命令將回報資訊並停止動作。
-e<範本樣式> 指定字串作為查詢檔案內容的範本樣式。
-E 將範本樣式為延伸的普通表示法來使用,意味著使用能使用擴充套件正則表示式。
-f<範本檔案> 指定範本檔案,其內容有一個或多個範本樣式,讓grep查詢符合範本條件的檔案內容,格式為每一列的範本樣式。
-F 將範本樣式視為固定字串的列表。
-G 將範本樣式視為普通的表示法來使用。
-h 在顯示符合範本樣式的那一列之前,不標示該列所屬的檔名稱。
-H 在顯示符合範本樣式的那一列之前,標示該列的檔名稱。
-i 忽略字元大小寫的差別。
-l 列出檔案內容符合指定的範本樣式的檔名稱。
-L 列出檔案內容不符合指定的範本樣式的檔名稱。
-n 在顯示符合範本樣式的那一列之前,標示出該列的編號。
-q 不顯示任何資訊。
-R/-r 此引數的效果和指定“-d recurse”引數相同。
-s 不顯示錯誤資訊。
-v 反轉查詢。
-w 只顯示全字符合的列。
-x 只顯示全列符合的列。
-y 此引數效果跟“-i”相同。
-o 只輸出文件中匹配到的部分。
--------------------------------------------------------------------------------------
3.實時動態地檢視系統的整體執行情況
top
--------------------------------------------------------------------------------------
top(選項)
-b:以批處理模式操作; -c:顯示完整的治命令; -d:螢幕重新整理間隔時間; -I:忽略失效過程; -s:保密模式; -S:累積模式; -i<時間>:設定間隔時間; -u<使用者名稱>:指定使用者名稱; -p<程序號>:指定程序; -n<次數>:迴圈顯示的次數。
****************************************
互動命令
h:顯示幫助畫面,給出一些簡短的命令總結說明;
k:終止一個程序;
i:忽略閒置和僵死程序,這是一個開關式命令;
q:退出程式;
r:重新安排一個程序的優先級別;
S:切換到累計模式;
s:改變兩次重新整理之間的延遲時間(單位為s),如果有小數,就換算成ms。輸入0值則系統將不斷重新整理,預設值是5s;
f或者F:從當前顯示中新增或者刪除專案;
o或者O:改變顯示專案的順序;
l:切換顯示平均負載和啟動時間資訊;
m:切換顯示記憶體資訊;
t:切換顯示程序和CPU狀態資訊;
c:切換顯示命令名稱和完整命令列;
M:根據駐留記憶體大小進行排序;
P:根據CPU使用百分比大小進行排序;
T:根據時間/累計時間進行排序;
w:將當前設定寫入~/.toprc檔案中。
--------------------------------------------------------------------------------------
4.顯示磁碟分割槽上的可使用的磁碟空間
df -h
--------------------------------------------------------------------------------------
df(選項)(引數)
-a或--all:包含全部的檔案系統;
--block-size=<區塊大小>:以指定的區塊大小來顯示區塊數目;
-h或--human-readable:以可讀性較高的方式來顯示資訊;
-H或--si:與-h引數相同,但在計算時是以1000 Bytes為換算單位而非1024 Bytes;
-i或--inodes:顯示inode的資訊;
-k或--kilobytes:指定區塊大小為1024位元組;
-l或--local:僅顯示本地端的檔案系統;
-m或--megabytes:指定區塊大小為1048576位元組;
--no-sync:在取得磁碟使用資訊前,不要執行sync指令,此為預設值;
-P或--portability:使用POSIX的輸出格式;
--sync:在取得磁碟使用資訊前,先執行sync指令;
-t<檔案系統型別>或--type=<檔案系統型別>:僅顯示指定檔案系統型別的磁碟資訊;
-T或--print-type:顯示檔案系統的型別;
-x<檔案系統型別>或--exclude-type=<檔案系統型別>:不要顯示指定檔案系統型別的磁碟資訊;
--help:顯示幫助;
--version:顯示版本資訊。
--------------------------------------------------------------------------------------
5.檢視當前目錄下各檔案的大小
du -sh *
--------------------------------------------------------------------------------------
du [選項][檔案]
-a或-all 顯示目錄中個別檔案的大小。
-b或-bytes 顯示目錄或檔案大小時,以byte為單位。
-c或--total 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。
-k或--kilobytes 以KB(1024bytes)為單位輸出。
-m或--megabytes 以MB為單位輸出。
-s或--summarize 僅顯示總計,只列出最後加總的值。
-h或--human-readable 以K,M,G為單位,提高資訊的可讀性。
-x或--one-file-xystem 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。
-L<符號連結>或--dereference<符號連結> 顯示選項中所指定符號連結的原始檔大小。
-S或--separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
-X<檔案>或--exclude-from=<檔案> 在<檔案>指定目錄或檔案。
--exclude=<目錄或檔案> 略過指定的目錄或檔案。
-D或--dereference-args 顯示指定符號連結的原始檔大小。
-H或--si 與-h引數相同,但是K,M,G是以1000為換算單位。
-l或--count-links 重複計算硬體連結的檔案。
--------------------------------------------------------------------------------------
6.編輯文字檔案
vim 檔案
--------------------------------------------------------------------------------------
互動命令
:wq 儲存並退出
:ZZ 儲存並退出
gg 移至檔案第一行
nG 移至檔案第n行
/word 游標向下搜尋一個名為word的字串
?word 游標向上搜尋一個名為word的字串
n 移至下一個搜尋結果
N 移至上一個搜尋結果
x 向後刪除字元
X 向前刪除字元
dd 刪除游標所在的那一行
:q! 強制離開
:set nu 顯示行號
--------------------------------------------------------------------------------------
7.殺死程序
kill -9 pid
--------------------------------------------------------------------------------------
kill(選項)(引數)
-a:當處理當前程序時,不限制命令名和程序號的對應關係; -l <資訊編號>:若不加<資訊編號>選項,則-l引數會列出全部的資訊名稱; -p:指定kill 命令只打印相關程序的程序號,而不傳送任何訊號; -s <資訊名稱或編號>:指定要送出的資訊; -u:指定使用者。
--------------------------------------------------------------------------------------
8.複製、移動檔案或資料夾
cp ../root/demo .
mv ex3 new1
mv /usr/men/* .
--------------------------------------------------------------------------------------
cp(選項)(引數)
-a:此引數的效果和同時指定"-dpR"引數相同; -d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄; -f:強行復制檔案或目錄,不論目標檔案或目錄是否已存在; -i:覆蓋既有檔案之前先詢問使用者; -l:對原始檔建立硬連線,而非複製檔案; -p:保留原始檔或目錄的屬性; -R/r:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理; -s:對原始檔建立符號連線,而非複製檔案; -u:使用這項引數後只會在原始檔的更改時間較目標檔案更新時或是名稱相互對應的目標檔案並不存在時,才複製檔案; -S:在備份檔案時,用指定的字尾“SUFFIX”代替檔案的預設字尾; -b:覆蓋已存在的檔案目標前將目標檔案備份; -v:詳細顯示命令執行的操作。
--------------------------------------------------------------------------------------
mv(選項)(引數)
--backup=<備份模式>:若需覆蓋檔案,則覆蓋前先行備份; -b:當檔案存在時,覆蓋前,為其建立一個備份; -f:若目標檔案或目錄與現有的檔案或目錄重複,則直接覆蓋現有的檔案或目錄; -i:互動式操作,覆蓋前先行詢問使用者,如果原始檔與目標檔案或目標目錄中的檔案同名,則詢問使用者是否覆蓋目標檔案。使用者輸入”y”,表示將覆蓋目標檔案;輸入”n”,表示取消對原始檔的移動。這樣可以避免誤將檔案覆蓋。 --strip-trailing-slashes:刪除原始檔中的斜槓“/”; -S<字尾>:為備份檔案指定字尾,而不使用預設的字尾; --target-directory=<目錄>:指定原始檔要移動到目標目錄; -u:當原始檔比目標檔案新或者目標檔案不存在時,才執行移動操作。
--------------------------------------------------------------------------------------
9.連結
ln /mub1/m2.c /usr/liu/a2.c
ln -s /usr/mengqc/mub1 /usr/liu/abc
--------------------------------------------------------------------------------------
ln(選項)(引數)
-b或--backup:刪除,覆蓋目標檔案之前的備份;
-d或-F或——directory:建立目錄的硬連線;
-f或——force:強行建立檔案或目錄的連線,不論檔案或目錄是否存在;
-i或——interactive:覆蓋既有檔案之前先詢問使用者;
-n或--no-dereference:把符號連線的目的目錄視為一般檔案;
-s或——symbolic:對原始檔建立符號連線,而非硬連線;
-S<字尾備份字串>或--suffix=<字尾備份字串>:用"-b"引數備份目標檔案後,備份檔案的字尾會被加上一個備份字串,預設的備份字串是符號“~”,使用者可通過“-S”引數來改變它;
-v或——verbose:顯示指令執行過程;
-V<備份方式>或--version-control=<備份方式>:用“-b”引數備份目標檔案後,備份檔案的字尾會被加上一個備份字串,這個字串不僅可用“-S”引數變更,當使用“-V”引數<備份方式>指定不同備份方式時,也會產生不同字尾的備份字串;
--help:線上幫助;
--version:顯示版本資訊。
--------------------------------------------------------------------------------------
10.遠端複製檔案
scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
--------------------------------------------------------------------------------------
scp(選項)(引數)
-1:使用ssh協議版本1;
-2:使用ssh協議版本2;
-4:使用ipv4;
-6:使用ipv6;
-B:以批處理模式執行;
-C:使用壓縮;
-F:指定ssh配置檔案;
-l:指定寬頻限制;
-o:指定使用的ssh選項;
-P:指定遠端主機的埠號;
-p:保留檔案的最後修改時間,最後訪問時間和許可權模式;
-q:不顯示覆制進度;
-r:以遞迴方式複製。
--------------------------------------------------------------------------------------