貼一些Linux常用命令,省的每次要用的時候都要查。
修改口令
爲了更好的保護用戶帳號的安全,Linux允許用戶隨時修改自己的口令,修改口令的命令是passwd,它將提示用戶輸入舊口令和新口令,之後還要求用戶再次確認新口令,以避免用戶無意中按錯鍵。如果用戶忘記了口令,可以向系統管理員申請爲自己重新設置一個。
該命令的使用方法如下:
輸入
passwd< Enter>
在(current)UNIX passwd:下輸入當前的口令
在new password:提示下輸入新的口令(在屏幕上看不到這個口令):
系統提示再次輸入這個新口令。
輸入正確後,這個新口令被加密並放入/etc/shdow文件。
如果是超級用戶,可以用下列形式指定任何用戶的口令:
# passwd 用戶名< Enter>
New password:
Re-enter new password:
添加用戶useradd 選項用戶名
su命令
這個命令非常重要。它可以讓一個普通用戶擁有超級用戶或其他用戶的權限,也可以讓超級用戶以普通用戶的身份做一些事情。普通用戶使用這個命令時必須有超級用戶或其他用戶的口令。如要離開當前用戶的身份,可以打exit。
該命令的一般形式爲: su [選項] [? ] [使用者帳號]
說明:若沒有指定使用者帳號,則系統預設值爲超級用戶root。該命令中各選項的含義分別爲:
-c command 或 --command=command 變更爲帳號爲 USER 的使用者並執行指令(command)後再變回原來使用者
-m -p 或--preserve-environment 執行 su 時不改變環境變數
使用方法如下:
su< Enter>
password: 【輸入超級用戶的密碼】
cp命令
該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強大。
語法: cp [選項] 源文件或目錄目標文件或目錄
說明:該命令把指定的源文件複製到目標文件或把多個源文件複製到目標目錄中。
該命令的各選項含義如下:
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除複製源文件的內容外,還將把其修改時間和訪問權限也複製到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸複製該目錄下所有的子目錄和文件。此時目標文件必須爲一個目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是,爲防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp命令拷貝文件後,這個文件就會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
rm命令
用戶可以用rm命令刪除不需要的文件。該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是斷開了鏈接,原文件保持不變。
rm命令的一般形式爲:
rm [選項] 文件…
如果沒有使用- r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
- f 忽略不存在的文件,從不給出提示。
- r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
- i 進行交互式刪除。
使用rm命令要小心。因爲一旦文件被刪除,它是不能被恢復的。了防止這種情況的發生,可以使用i選項來逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
mkdir命令
功能:創建一個目錄(類似MSDOS下的md命令)。
語法:mkdir [選項] dir-name
說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫權限,並且dirname不能是當前目錄中已有的目錄或文件名稱。
命令中各選項的含義爲:
- m 對新建目錄設置存取權限。也可以用chmod命令設置。
- p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在, 加上此選項後, 系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
rmdir 命令
功能:刪除空目錄。
語法:rmdir [選項] dir-name
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。rm - r dir命令可代替 rmdir,但是有危險性。刪除某目錄時也必須具有對父目錄的寫權限。
命令中各選項的含義爲:
- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應 的信息。
pwd 命令
在Linux層次目錄結構中,用戶可以在被授權的任意目錄下利用mkdir命令創建新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處於哪一個目錄中。要想知道當前所處的目錄,可以使用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
clear命令
clear命令的功能是清除屏幕上的信息,它類似於DOS中的 cls命令。清屏後,提示符移動到屏幕左上角。
tar命令
tar [-cxtzjvfpPN] 文件與目錄 ....
參數:
-c :建立一個壓縮文件的參數指令(create的意思);
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 裏面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因爲不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』纔對喔!
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的纔會被打包進新建的文件中!
--exclude FILE:在壓縮的過程中,不要將FILE 打包!
範例:
範例一:將整個 /etc 目錄下的文件全部打包成爲 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar/etc<==僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz/etc<==打包後,以 gzip 壓縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2/etc<==打包後,以 bzip2 壓縮
# 特別注意,在參數 f 之後的文件檔名是自己取的,我們習慣上都用 .tar 來作爲辨識。
# 如果加 z 參數,則以 .tar.gz或 .tgz 來代表 gzip 壓縮過的 tar file ~
# 如果加 j 參數,則以.tar.bz2 來作爲附檔名啊~
# 上述指令在執行的時候,會顯示一個警告訊息:
# 『tar: Removingleading `/" from member names』那是關於絕對路徑的特殊設定。
範例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我們使用 gzip 壓縮,所以要查閱該 tarfile 內的文件時,
# 就得要加上 z 這個參數了!這很重要的!
範例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說,
# 我先將工作目錄變換到/usr/local/src 底下,並且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在/usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發現,該目錄下的文件屬性與 /etc/可能會有所不同喔!
範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gzetc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile 內的文件名稱,如果單隻要一個文件,
# 就可以透過這個方式來下達!注意到!etc.tar.gz 內的根目錄 / 是被拿掉了!
範例五:將 /etc/ 內的所有文件備份下來,並且保存其權限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz/etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本文件的屬性時!
範例六:在 /home 當中,比 2005/06/01 新的文件才備份
[root@linux ~]# tar -N"2005/06/01" -zcvf home.tar.gz /home
範例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai-zcvf myfile.tar.gz /home/* /etc
範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar-xvf -
# 這個動作有點像是 cp -r /etc/tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
# 這分別代表 standardoutput, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋囉!
Ifconfig命令
1.作用
ifconfig用於查看和更改網絡接口的地址和參數,包括IP地址、網絡掩碼、廣播地址,使用權限是超級用戶。
2.格式
ifconfig -interface [options] address
3.主要參數
-interface:指定的網絡接口名,如eth0和eth1。
up:激活指定的網絡接口卡。
down:關閉指定的網絡接口。
broadcast address:設置接口的廣播地址。
pointopoint:啓用點對點方式。
address:設置指定接口設備的IP地址。
netmask address:設置接口的子網掩碼。
4.應用說明
ifconfig是用來設置和配置網卡的命令行工具。爲了手工配置網絡,這是一個必須掌握的命令。使用該命令的好處是無須重新啓動機器。要賦給eth0接口IP地址207.164.186.2,並且馬上激活它,使用下面命令:
#fconfig eth0 210.34.6.89 netmask255.255.255.128 broadcast 210.34.6.127
該命令的作用是設置網卡eth0的IP地址、網絡掩碼和網絡的本地廣播地址。若運行不帶任何參數的ifconfig命令,這個命令將顯示機器所有激活接口的信息。帶有“-a”參數的命令則顯示所有接口的信息,包括沒有激活的接口。注意,用ifconfig命令配置的網絡設備參數,機器重新啓動以後將會丟失。
如果要暫停某個網絡接口的工作,可以使用down參數:
#ifconfig eth0 down
ping命令
1.作用
ping檢測主機網絡接口狀態,使用權限是所有用戶。
2.格式
ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t]IP地址
3.主要參數
-d:使用Socket的SO_DEBUG功能。
-c:設置完成要求迴應的次數。
-f:極限檢測。
-i:指定收發信息的間隔秒數。
-I:網絡界面使用指定的網絡界面送出數據包。
-l:前置載入,設置在送出要求信息之前,先行發出的數據包。
-n:只輸出數值。
-p:設置填滿數據包的範本樣式。
-q:不顯示指令執行過程,開頭和結尾的相關信息除外。
-r:忽略普通的Routing Table,直接將數據包送到遠端主機上。
-R:記錄路由過程。
-s:設置數據包的大小。
-t:設置存活數值TTL的大小。
-v:詳細顯示指令的執行過程。
ping命令是使用最多的網絡指令,通常我們使用它檢測網絡是否連通,它使用ICMP協議。但是有時會有這樣的情況,我們可以瀏覽器查看一個網頁,但是卻無法ping通,這是因爲一些網站處於安全考慮安裝了防火牆。另外,也可以在自己計算機上試一試,通過下面的方法使系統對ping沒有反應:
# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
ps命令
作用:ps命令主要查看系統中進程的狀態。
格式:ps [選項]
主要選項如下。
-A:顯示系統中所有進程的信息。
-e:顯示所有進程的信息。
-f:顯示進程的所有信息
-l:以長格式顯示進程信息。
-r:只顯示正在運行的進程。
-u:顯示面向用戶的格式(包括用戶名、CPU及內存使用情況等信息)。
-x:顯示所有非控制終端上的進程信息。
-p:顯示由進程ID指定的進程的信息。
-t:顯示指定終端上的進程的信息。
說明:要對進程進行監測和控制,首先要了解當前進程的情況,也就是需要查看當前進程。ps命令就是最基本、也是非常強大的進程查看命令。根據顯示的信息可以確定哪個進程正在運行、哪個進程被掛起、進程已運行了多久、進程正在使用的資源、進程的相對優先級,以及進程的標誌號(PID)。所有這些信息對用戶都很有用,對於系統管理員來說更爲重要。使用"ps -aux"命令可以獲得終端上所有用戶的有關進程的所有信息,下面結合圖講解進程的基本信息。
圖第二行代碼中,USER表示啓動進程用戶。PID表示進程標誌號。%CPU表示運行該進程佔用CPU的時間與該進程總的運行時間的比例。%MEM表示該進程佔用內存和總內存的比例。VSZ表示佔用的虛擬內存大小,以KB爲單位。RSS爲進程佔用的物理內存值,以KB爲單位。TTY表示該進程建立時所對應的終端,"?"表示該進程不佔用終端。STAT表示進程的運行狀態,包括以下幾種代碼:D,不可中斷的睡眠;R,就緒(在可運行隊列中);S,睡眠;T,被跟蹤或停止;Z,終止(僵死)的進程,Z不存在,但暫時無法消除;W,沒有足夠的內存分頁可分配;<高優先序的進程;N,低優先序的進程;L,有內存分頁分配並鎖在內存體內(實時系統或I/O)。START爲進程開始時間。TIME爲執行的時間。COMMAND是對應的命令名。
ps-aux命令詳解
應用實例如下。
在進行系統維護時,如果CPU負載突然增加,而又不知道是哪一個進程造成的情況。使用命令:
#ps aux | sort +3n
說明 因爲%CPU選項在第三列,所以sort選3作爲參數,+表示升序輸出結果。
———————————————vi常用命令———————————————
1.光標命令
k、j、h、l——上、下、左、右光標移動命令。雖然您可以在Linux中使用鍵盤右邊的4個光標鍵,但是記住這4個命令還是非常有用的。這4個鍵正是右手在鍵盤上放置的基本位置。
nG——跳轉命令。n爲行數,該命令立即使光標跳到指定行。
Ctrl+G——光標所在位置的行數和列數報告。
w、b——使光標向前或向後跳過一個單詞。
2.編輯命令
i、a、r——在光標的前、後以及所在處插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改變(置換)/刪除光標所在處的單詞的命令(c=change、d=delete)。
x、d$、dd——刪除一個字符、刪除光標所在處到行尾的所有字符以及刪除整行的命令。
3.查找命令
/string、?string——從光標所在處向後或向前查找相應的字符串的命令。
4.拷貝複製命令
yy、p——拷貝一行到剪貼板或取出剪貼板中內容的命令。