安裝和登錄命令
- 用戶相關
"#"是超級用戶的系統提示符
"$"是普通用戶的系統提示符
- shutdown、reboot、halt
以root用戶登陸執行 reboot 重新啟動Linux 系統
shutdown [OPTION]... TIME [MESSAGE]
– k 并不真正關機而只是發出警告信息給所有用戶
– r 關機后立即重新啟動
– h 關機后不重新啟動
– f 快速關機重啟動時跳過fsck
– n 快速關機不經過init 程序
– c 取消一個已經運行的shutdown
系統在十分鐘后關機并且馬上重新啟動
shutdown -r +10
系統馬上關機并且不重新啟動
shutdown -h now
halt 用來關閉正在運行的Linux,halt命令會先檢測系統的runlevel,若runlevel為0或6,則關閉系統,否則即調用shutdown來關閉系統。
halt [OPTION]...
-d:不要在wtmp中記錄;
-f:不論目前的runlevel為何,不調用shutdown即強制關閉系統;
-i:在halt之前,關閉全部的網絡界面;
-n:halt前,不用先執行sync;
-p:halt之后,執行poweroff;
-w:僅在wtmp中記錄,而不實際結束系統。
- mount、umount
mount命令用于加載文件系統到指定的加載點。此命令的最常用于掛載cdrom,使我們可以訪問cdrom中的數據,因為你將光盤插入cdrom中,Linux并不會自動掛載,必須使用Linux mount命令來手動完成掛載。
文件處理命令
- file
file命令用來探測給定文件的類型。file命令對文件的檢查分為文件系統、魔法幻數檢查和語言檢查3個過程。
- mkdir
mkdir 命令用來建立新的目錄
rmdir 用來刪除已建立的目錄
- grep
grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。
-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 只輸出文件中匹配到的部分。
在文件中搜索一個單詞,命令會返回一個包含“match_pattern”的文本行:
grep match_pattern file_name
grep "match_pattern" file_name
在多個文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
輸出除之外的所有行 -v 選項:
grep -v "match_pattern" file_name
標記匹配顏色 --color=auto 選項:
grep "match_pattern" file_name --color=auto
使用正則表達式 -E 選項:
grep -E "[1-9]+" 或 egrep "[1-9]+"
只輸出文件中匹配到的部分 -o 選項:
echo this is a test line. | grep -o -E "[a-z]+." line.
echo this is a test line. | egrep -o "[a-z]+." line.
統計文件或者文本中包含匹配字符串的行數 -c 選項:
grep -c "text" file_name 輸出包含匹配字符串的行數 -n 選項:
grep "text" -n file_name
或 cat file_name | grep "text" -n
多個文件
grep "text" -n file_1 file_2
打印樣式匹配所位于的字符或字節偏移:
echo gun is not unix | grep -b -o "not" 7:not #
一行中字符串的字符便宜是從該行的第一個字符開始計算,起始值為0。選項 -b -o 一般總是配合使用。 搜索多個文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
grep遞歸搜索文件 在多級目錄中對文本進行遞歸搜索:
grep "text" . -r -n #
.表示當前目錄。
忽略匹配樣式中的字符大小寫:
echo "hello world" | grep -i "HELLO" hello 選項 -e 制動多個匹配樣式:
echo this is a text line | grep -e "is" -e "line" -o is line #
也可以使用-f選項來匹配多個樣式,在樣式文件中逐行寫出需要匹配的字符。
cat patfile aaa bbb echo aaa bbb ccc ddd eee | grep -f patfile -o 在grep搜索結果中包括或者排除指定文件: #
只在目錄中所有的.php和.html文件中遞歸搜索字符
"main()" grep "main()" . -r --include .{php,html} #
在搜索結果中排除所有README文件
grep "main()" . -r --exclude "README" #
在搜索結果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
使用0值字節后綴的grep與xargs: #
測試文件: echo "aaa" > file1 echo "bbb" > file2 echo "aaa" > file3 grep "aaa" file -lZ | xargs -0 rm #
執行后會刪除file1和file3,
grep輸出用-Z選項來指定以0值字節作為終結符文件名(\0),xargs -0 讀取輸入并用0值字節終結符分隔文件名,然后刪除匹配文件,-Z通常和-l結合使用。
grep靜默輸出: grep -q "test" filename #不會輸出任何信息,如果命令運行成功返回0,失敗則返回非0值。一般用于條件測試。
- cp
cp 這個命令相當于dos 下面的copy 命令。具體用法是:
cp -r 源文件(source) 目的文件(target)
參數 r 是指連同源文件中的子目錄一同拷貝。 - rm
rm 這個命令是用來刪除文件的,rm命令常用的參數有三個-i,-r,-f。
比如我現在要刪除一個名字為 text 的一個文件,輸入如下命令:
rm –i test
系統會詢問我們是否要刪除test 文件,敲了“y/n” 確認是否要刪除test 文件:
rm –r 目錄名:這個操作可以連同這個目錄下面的子目錄都刪除,功能比上面講到的rmdir 更強大,不僅可能刪除指定的目錄,而且可以刪除該目錄下所有文件和子目錄。
rm –f 文件名這個操作可以不經確認強制刪除文件。6. mv
mv 這個命令的功能是移動目錄或文件,引申的功能是給目錄或文件重命名,
比如:
mv /tmp/xxx.tar /root
該命令將/tmp 目錄下的xxx.tar 文件移動到/root 目錄下。
而:
mv aaa.tar bbb.tar
則是將當前目錄下的文件 aaa.tar 更名為bbb.tar。
- cat
cat 這個命令是linux 中非常重要的一個命令,它的功能是顯示或連結一般的ascii 文本文件、它的用法如下:
cat text
該命令顯示text 這個文件的內容。
cat file1 file2
該命令依順序顯示file1,file2 的內容。
cat file1 file2>file3
該命令把file1,file2 的內容結合起來再重定向>到file3 文件中。
more
more 是顯示一般文本文件的指令。如果一個文本文件太長了超過一個屏幕的畫面,用cat 來看實在是不理想,就可以試試more ,用法如下:
more file1pwd
pwd 這個命令的作用是顯示用戶當前的工作路徑,直接輸入pwd 即可。dd
d命令用于復制文件并對原文件的內容進行轉換和格式化處理find
find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。diff
diff命令在最簡單的情況下,比較給定的兩個文件的不同。如果使用“-”代替“文件”參數,則要比較的內容將來自標準輸入。diff命令是以逐行的方式,比較文本文件的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同文件名的文件,而不會對其子目錄文件進行任何比較操作。ln
ln命令用來為文件創件連接,連接類型分為硬連接和符號連接兩種,默認的連接類型是硬連接。如果要創建符號連接必須使用"-s"選項。
系統管理相關命令
- df
用于查看 Linux 文件系統的狀態信息,顯示各個分區的容量、已使用量、未使用量及掛載點等信息
du
用于查看文件或文件夾的大小 。如:
du -b /home 以字節為單位顯示“ /home ”文件夾下各個子文件夾的大小;
du -ks home 以千字節 (KB) 為單位顯示“/home” 文件夾的總大小;top
用于實時查看系統狀態信息free
free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區。quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last
網絡操作命令
ifconfig
查看 IP 信息route
route命令用來顯示并設置Linux內核中的網絡路由表ping
netstat
netstat命令用來打印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況
列出所有端口 (包括監聽和未監聽的)
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口 列出所有處于監聽狀態的
Sockets netstat -l #只顯示監聽端口
netstat -lt #只列出所有監聽 tcp 端口
netstat -lu #只列出所有監聽 udp 端口
netstat -lx #只列出所有監聽 UNIX 端口
顯示每個協議的統計信息
netstat -s 顯示所有端口的統計信息
netstat -st 顯示TCP端口的統計信息
netstat -su 顯示UDP端口的統計信息
在netstat輸出中顯示 PID 和進程名稱
netstat -pt
、telnet、ftp、、rloginrcp、finger、mail、nslookup
系統安全相關命令
passwd、
- su
su命令用于切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼。
、umask、chgrp、chmod、chown、chattr、
sudo
sudo命令用來以其他身份來執行命令,預設的身份為root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之后有5分鐘的有效期限,超過期限則必須重新輸入密碼。
、pswho