su和sudo的區別
"su"和"su -"同樣是切換到root使用者,二者之間還是有區別的。
前者只是切換了root身份,但是shell環境仍然是普通使用者的shell;
後者連使用者和shell環境一起切換成了root身份。
sudo執行命令的流程是當前使用者切換到root(或其它執行切換到的使用者),然後以root(或其他執行切換到的使用者)身份執行命令,執行完成後,直接退回到當前使用者。
vii:插入,從目前游標所在之處插入所輸入的文字
o:插入新的一行,從行首開始輸入文字
在插入模式下,只能一直打字,如果發現字打錯了,要先按esc切換回命令模式,再把游標往回移動,最後刪除打錯的字元。刪除有一些命令:
x:每按一次刪除游標所在位置的後面乙個字元,例如6x表示刪除游標所在位置後面的6個字元
dd:刪除游標所在行
這是命令模式,在命令模式下按":"、"/"、"?"都可以進入底線命令模式,底線命令模式下有一些命令:
:w:儲存檔案
ls-a:列出目錄下所有的檔案,包括以"."開頭的隱藏檔案
-l:除了檔名外,還列出檔案許可權、所有者、大小等詳細資訊
-r:反向次序排列
-t:以檔案修改時間排序
-g:類似-l,但是不列出所有者
-h:以容易理解的檔案格式列出(如1k、234m、2g)
例如:ls -l t*:列出所有檔名以"t"開頭的檔案資訊
cdcd /:進入系統根目錄
cd aa/bb/cc:跳轉到指定目錄,注意這裡"aa"前沒有"/",指從當前目錄跳轉到指定目錄
cd ~:進入系統主目錄
pwd,mkdir,rm,mv
- pwd 檢視當前工作目錄的完整路徑
- mkdir
用來建立指定的名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄
-m:建立目錄的時候設定許可權
-p:若建立目錄的路徑中有些路徑不存在,可一次性地建立多個目錄
例如:mkdir test1:建立乙個空目錄test1
mkdir -p test1/test2:遞迴建立多個目錄
mkdir -m 777 test:在建立目錄test3的時候給此目錄賦予777的許可權
cp,cat,tail
- cp
複製檔案或目錄
例如:cp log.log test6:將log.log複製進入test6目錄下
find
用於在檔案樹中查詢檔案並作相應的處理
-name:按照檔名查詢檔案
-perm:按照檔案許可權查詢檔案
-user:按照檔案屬主來查詢檔案
-group:按照檔案所屬的組來查詢檔案
-mtime<-n><+n>:按照檔案更改時間來查詢檔案,-n表示n天之內,+n表示n天以前
-newer file1 file2:查詢更改時間在file1和file2之間的檔案
例如:find -mtime -2:查詢48小時修改過的檔案
find -name "*.log":查詢當前目錄以"*.log"結尾的檔案
find /opt/soft/test -perm 777:查詢指定目錄下許可權為777的檔案
find -type f -name "*.log":查詢當前目錄下以".log"結尾的普通檔案
find -type d | sort:查詢當前所有目標目錄並排序
chmod
用於改變linux系統檔案或目錄的訪問許可權
-f:錯誤資訊不輸出
-c:當發生改變時,報告處理資訊
-r:處理執行目錄及其子目錄下所有檔案
-v:執行時顯示詳細處理資訊
《許可權範圍》+《許可權設定》:使許可權範圍內的目錄或檔案具有指定許可權
《許可權範圍》-《許可權設定》:刪除許可權範圍內的目錄或檔案的指定許可權
《許可權範圍》=《許可權設定》:設定許可權範圍內的目錄或檔案的許可權為指定的值
許可權範圍
許可權代號
u:目錄或檔案的當前使用者
r:讀,代號為4
u:目錄或檔案的當前使用者
r:讀,代號為4
g:目錄或檔案的當前群組
w:寫,代號為2
o:其他使用者或群組
x:執行,代號為1
a:所有使用者和群組
-:刪除,代號為0
s:特權許可權
例如:chmod a+x log1.log:設定檔案log1.log所有使用者或群組都有執行許可權
chmod ug+x,o-x log1.log:同時設定不同的使用者許可權
chmod u=x log1.log:撤銷使用者原有對log1.log的許可權並設定為x
chmod -r u+x test4:遞迴地給test4下所有檔案與子目錄分配執行許可權
chmod 751 file:給file、屬主分配讀、寫、執行許可權,給所在組分配讀、執行許可權,其他使用者分配執行許可權
tar用來壓縮和解壓檔案,tar本身不具備壓縮功能,它是呼叫壓縮功能實現的
-c:建立新的壓縮檔案
-d:記錄檔案差別
-r:新增檔案到已壓縮的檔案中
-x:從壓縮的檔案中提取檔案
-t:顯示壓縮的檔案內容
-z:支援gzip解壓檔案
-v:顯示操作過程
-f:指定壓縮檔案
例如:tar -cvf log.tar log1.log:僅把log1.log打包成log.tar,不壓縮
tar -zcvf log.tar.gz log1.log:把log1.log打包成log.tar.gz,並指出gzip壓縮
tar -ztvf log.tar.gz:查閱log.tar.gz中的內容,因log.tar.gz是以gzip壓縮的,所以要加上z
tar -zcvf log30.tar.gz log1.log log2.log:把多個檔案打包壓縮成乙個檔案
tar -zxvf log30.tar.gz log2015.log:把log30.tar.gz中的log2015.log解壓出來
grep
用於過濾/搜尋指定字串。可以使用正規表示式,能配合多種命令使用
-a:顯示符合的行及之後的內容
-b:顯示符合的行及之前的內容
-c:顯示符合的行及前後的內容
-c:計算符合的行數目
-i:忽略大小寫
規則表示式
^:'^grep'表示匹配所有以grep開頭的行
$:'grep$'表示匹配所有以grep結尾的行
.:'gr.p'表示匹配'gr'後面接任意字元然後是'p'
*:'*grep'表示匹配乙個或多個空格後緊跟grep的行
:[gg]rep表示匹配grep與grep
[^]:[^a-fh-z]rep表示匹配不以a-f、h-z開頭並緊跟rep的行
例如(grep命令大多數時候多要和別的命令一起使用才有意義):
```python
ps -ef | grep -c svn:查詢指定的程序的個數
cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字後在test.txt中搜尋
cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字後在text.txt中搜尋並顯示行號
grep 'linux' text.txt test2.txt:從多個檔案中搜尋關鍵字'linux'
cat test.txt | grep -e 'ed|at':顯示包含ed或at的行
ps
用來列出系統中執行的那些程序
| 狀態 | 含義 |
| ----- |:-------------|
|r |執行:正在執行或在執行佇列中等待|
|s |中斷:休眠中,受阻|
|d |不可中斷:收到訊號不喚醒和不可執行,程序必須等待直至有中斷發生|
|z |僵死:程序已終止|
|t |停止:程序收到sigstop、sigstp、sigsin、sigsou訊號後停止執行|
-a:顯示所有程序
-e:等同於-a
-c:顯示程序的真實名稱
-f:顯示程式間的關係
例如:ps -u root:顯示root的程序資訊
ps -ef:顯示所有程序資訊連同其命令列
ps -ef | grep ssh:ps常與grep連贏來顯示特定程序
ps aux:列出目前所有的在記憶體中的程序
netstat
用於顯示各種網路相關資訊,如網路連線、路由表、介面狀態、多播成員等
netstat輸出:
|proto | recv-q| send-q|local address| foreign address |state|
| ---|------|----|:---|:------|:----|
|指協議,有tcp、udp、unix等| 接收佇列| 傳送佇列| 本機位址| 遠端位址| 狀態|
-a:顯示所有選項
-t:僅顯示tcp選項
-u:僅顯示udp選項
-n:不顯示主機別名,能顯示數字的全部顯示數字
-r:顯示路由資訊、路由表
-s:按各種協議進行統計
-l:僅列出listen的服務狀態
例如:netstat -at:列出所有tcp埠
netstat -lt:只列出所有監聽tcp的埠
netstat -s:顯示所有埠的統計資訊
netstat -p:在輸出中顯示pid和程序名稱
> 常用
cat -n log2012.log //帶行號顯示檔案
ls -l -r /home/peidachang //列出所有檔案 -r包含所有子目錄
ps -ef|grep ssh //process status ,ef顯示所有程序資訊,連同命令列,
grep 'linux' test.txt //文字中查詢關鍵字
[參考:五月的倉頡](
Linux命令總結
vi基本命令 i 在當前游標的的所在位置,插入隨後輸入的文字,游標後的文字相應向右移動 i 在游標所在行的行首插入隨後輸入的文字,行首是該行的第乙個非空白字元,相當於游標移動到行首再執行i命令 a 在當前游標所在位置之後,插入隨後輸入的文字 a 在游標所在行的行尾新增隨後輸入的文字,相當於游標移動到...
linux命令總結
登出 exit 關機 shutdown h now 重啟 reboot 幫助 man ls man f ls info ls date y m d 更改檔案使用者組 chgrp r user file d 更改檔案使用者 chown r user file d 更改檔案屬性 chmod r 777 ...
linux命令總結
linux檔案編輯器 vi vim 1 vi 的三種命令模式 command 命令 模式,用於輸入命令 insert 插入 模式,用於插入文字 visual 可視 模式,用於視化的的高亮並選定正文 2 檔案的儲存和退出 command 模式是vi或vim的預設模式,如果我們處於其它命令模式時,要通過...