命令名稱:chmod
命令英文原意:change the permissions mode of a file
有兩種角色可以執行該命令,一種是 root 用戶,另一種就是文件的所有者。
語法:
大括弧里的內容表示只能選一個,其中 u 表示該文件的所有者,g 表示所屬組,o 表示其他人,a 表示所有角色。
比如,給 abc.txt 文件的所屬組加一個寫的許可權:
也可以同時做多個授權,比如給文件所有者加上執行許可權,給其他人去掉寫許可權:
還可以用數字表示許可權。許可權的數字表示:
如果一個文件的許可權是 rw-r--r--,那麼翻譯成數字就是 644,反過來,如果要更改文件的許可權,可以這樣寫:
這樣文件的許可權就改成 rw-r----- 了。
還有一個選項 -R 是遞歸修改許可權,該選項的功能是更改某個目錄的許可權的同時更改該目錄下所有的子目錄和文件的許可權。
命令名稱: chown
英文原意:change owner
語法:chown 用戶名 文件
只有管理員賬戶可以更改文件的所屬用戶。
例如:
命令名稱:chgrp
英文原意:change group
語法:chgrp 組名 文件
例如:
命令名稱:umask
使用命令 umask -S 可以查看新建文件或目錄的默認許可權。
現在顯示的是新建目錄的默認許可權,該目錄的所有者的默認許可權是 rwx,所屬組的默認許可權是 rx,其他人的默認許可權是 rx。為什麼說這是新建目錄的默認許可權而不是新建文件的默認許可權,如果你查看新建文件的許可權,會發現是 rw-r--r-- ,與新建目錄的許可權 rwxr-xr-x 相比,每種角色的許可權都少了 x。所以說,只要知道了新建目錄的默認許可權,再去掉 x 許可權,就是新建文件的默認許可權。
如果直接執行 umask 命令,會顯示一個數字。
這個數字叫做許可權掩碼,用 777 減去其後三位 022 就得到了每種角色的許可權,即 755。翻譯成字母就是 rwxr-xr-x 。
若想更改新建目錄或文件的默認許可權,只需執行 umask 許可權掩碼 即可。
例如,我想把新建目錄的默認許可權改成 rwxr-r-- ,翻譯成數字就是 744,再用 777 減去 744 就得到了許可權掩碼 033。
雖然 Linux 系統的目錄或文件的默認許可權可以修改,但是 Linux 這樣分配許可權是有一定道理的,最好不要輕易修改。
『貳』 更改文件許可權的linux命令
chmod命令的英文原意是「change the permissions mode of a file」,我們簡稱為「change mode」,意為用來改變文件或目錄許可權的命令,但是只有文件的屬主和超級用戶root才能執行這個命令。有兩種模式,一種是採用許可權字母和操作符表達式;另一種是採用數字。
語法格式: chmod [參數] [文件]
常用參數:
-c 若該文件許可權確實已經更改,才顯示其更改動作
-f 若該文件許可權無法被更改也不顯示錯誤訊息
-v 顯示許可權變更的詳細資料
-R 對目前目錄下的所有文件與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)
參考實例
將檔案 file1.txt 設為所有人皆可讀取:
[root@linuxcool ~]# chmod a+r file.txt
將目前目錄下的所有文件與子目錄皆設為任何人可讀取 :
[root@linuxcool ~]# chmod -R a+r *
將 file.txt 設定為只有該文件擁有者可以執行:
[root@linuxcool ~]# chmod u+x file.txt
『叄』 Linux常用命令
1、ls命令
ls是list的縮寫,常用命令為ls(顯示出當前目錄列表),ls -l(詳細顯示當前目錄列表),ls -lh(人性化的詳細顯示當前目錄列表),ls -a(顯示出當前目錄列表,包含隱藏文件)
2、cd 命令
cd是change direcory的縮寫,常用命令為 cd 目錄,cd ..為返回上級目錄,cd - 返回上次所在目錄
3、pwd命令
常用命令為pwd 顯示當前所在目錄
4、mkdir命令
mkdir命令為創建空目錄命令,通常用法為mkdir 目錄名,mkdir -p 目錄名/目錄名 可以遞歸創建多個不存在的目錄
5、rm命令
rm為刪除命令remove,rm 文件,謹慎操作
6、rmdir命令
rm為刪除命令remove direcory,rm 目錄,謹慎操作
7、mv命令
mv命令move,移動剪切命令,mv 文件 目錄,mv 文件 文件(會覆蓋)
8、cp命令
cp命令為命令,復制文件或目錄到別的目錄裡面,cp 文件/目錄 目錄/文件
9、touch命令
touch命令創建空文件,比如touch xx.txt,touch 目錄 文件
10、cat命令
cat命令查看當前文件內容,cat fi.txt f2.txt > f3.txt合並文件內容,cat -n 對所有行進行編號
11、nl命令
nl命令 為文件加入顯示行號,nl 文件名,nl -b a 文件名,將空行也加如行號
12、more 命令
more命令 按頁顯示文件內容,more 文件名,more -2 文件名 每2行顯示一頁
13、less命令
less命令查看文件內容,可以上下翻頁,less 文件名
14、head命令
head命令可以查看文件前幾行內容,head -n 2 文件名
15、tail命令
tail命令可以查看文件後幾行內容,tail -n 2 文件名
16、which命令
which 可以執行文件名稱,顯示路徑
17、whereis命令
whereis -m svn 查出說明文檔路徑,whereis -s svn 找source源文件。
18、locate命令
locate /etc/m 搜索ect目錄下所有m開頭的文件
19、find 命令
find . -name "*.log"根據關鍵字查找
20、find exec命令
ls -l命令放在find命令的-exec選項中 find . -type f -exec ls -l {} ;
21、find xargs命令
find . -type f -print | xargs file查找系統中的每一個普通文件,然後使用xargs命令來測試它們分別屬於哪類文件
22、ls -lih命令
詳細的文件屬性
23、zmodem
『肆』 Linux常用命令
就是list的縮寫,通過ls 命令不僅可以查看linux文件夾包含的文件,而且可以查看文件許可權(包括目錄、文件夾、文件許可權)看目錄信息等等
常用參數搭配:
實例:
(changeDirectory),命令語法:cd [目錄名]。說明:切換當前目錄至dirName
實例:
查看當前工作目錄路徑
實例:
創建文件夾
實例:
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用rm 來刪除文件,通常仍可以將該文件恢復原狀
rm [選項] 文件…
常用參數搭配:
實例:
刪除空目錄,一個目錄被刪除之前必須是空的。(注意,rm -r dir 命令可以代替rmdir,但是很危險,萬一它突然就不是空的咧?),另外刪除某目錄時必須具有對父目錄的寫許可權。
實例:
rmdir -p watch/avi刪掉avi目錄,watch目錄就空掉了,那還看什麼?所以乾脆把watch目錄一起刪掉,眼不見為不凈嘛。
mv命令是move的縮寫,可以用來移動文件或者將文件改名,是Linux系統下常用的命令,經常用來備份文件或者目錄。
命令功能:
視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令參數:
實例:
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
注意:命令行復制,如果目標文件已經存在會提示是否覆蓋,而在shell腳本中,如果不加-i參數,則不會提示,而是直接覆蓋!
命令參數:
實例:
cat主要有三大功能:
命令參數:
實例:
功能類似於cat, more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示
命令參數:
常用操作命令:
實例:
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
命令參數:
實例:
head 用來顯示檔案的開頭至標准輸出中,默認head命令列印其相應文件的開頭10行。
常用參數:
實例:
從指定點開始將文件寫到標准輸出。使用tail命令的-f選項可以方便的查閱正在改變的日誌文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,並且不斷刷新,使你看到最新的文件內容。
常用參數:
實例:
用於改變linux系統文件或目錄的訪問許可權。該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。可使用ls -l test.txt查找。
以文件log2012.log為例:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有10個位置,第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。從第二個字元開始到第十個共9個字元,3個字元一組,分別表示了3組用戶對文件或者目錄的許可權。許可權字元用橫線代表空許可,r代表只讀,w代表寫,x代表可執行。
常用參數:
許可權范圍:
許可權代號:
實例:
tar命令是類Linux中比價常用的解壓與壓縮命令。
常用參數:
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。
下面的參數-f是必須的
常見解壓/壓縮命令
chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變許可權的文件列表,支持通配符。
常用參數:
實例:
顯示磁碟空間使用情況。獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息,如果沒有文件名被指定,則所有當前被掛載的文件系統的可用空間將被顯示。默認情況下,磁碟空間將以 1KB 為單位進行顯示,除非環境變數 POSIXLY_CORRECT 被指定,那樣將以512位元組為單位進行顯示。
常用參數:
實例:
命令也是查看使用空間的,但是與df命令不同的是,能看到的文件只是一些當前存在的,沒有被刪除的,他計算的大小就是當前他認為存在的所有文件大小的累加和。命令是對文件和目錄磁碟使用的空間的查看。
常用參數:
實例:
ln命令用於將一個文件創建鏈接,鏈接分為軟鏈接和硬鏈接,命令默認使用硬鏈接。當在不同目錄需要該文件時,就不需要為每一個目錄創建同樣的文件,通過ln創建的鏈接(link)減少磁碟佔用量。
軟鏈接:
硬鏈接:
需要注意:
常用參數:
實例:
顯示或設定系統的日期與時間
命令參數:
實例:
可以用戶顯示公歷(陽歷)日歷,如只有一個參數,則表示年份(1-9999),如有兩個參數,則表示月份和年份。
常用參數:
實例:
強大的文本搜索命令,grep(Global Regular Expression Print)全局正則表達式搜索。
grep的工作方式是這樣的,它在一個或多個文件中搜索字元串模板。如果模板包括空格,則必須被引用,模板後的所有字元串被看作文件名。搜索的結果被送到標准輸出,不影響原文件內容。
命令格式:
grep [option] pattern file|dir
常用參數:
實例:
wc(word count)功能為統計指定的文件中位元組數、字數、行數,並將統計結果輸出。
命令格式:
wc [option] file..
命令參數:
實例:
ps(process status),用來查看當前運行的進程狀態,一次性查看,如果需要動態連續結果使用top。
linux上進程有5種狀態:
ps工具標識進程的5種狀態碼:
命令參數:
實例:
顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等。
常用參數:
發送指定的信號到相應進程。不指定型號將發送SIGTERM(15)終止指定進程。如果無法終止該程序可用「-KILL」 參數,其發送的信號為SIGKILL(9) ,將強制結束進程,使用ps命令或者jobs 命令可以查看進程號。root用戶將影響用戶的進程,非root用戶只能影響自己的進程。
常用參數:
實例:
顯示系統內存使用情況,包括物理內存、交互區內存(swap)和內核緩沖區內存。
命令參數:
實例:
Netstat 是一款命令行工具,可用於列出系統上所有的網路套接字連接情況,包括 tcp, udp 以及 unix 套接字,另外它還能列出處於監聽狀態(即等待接入請求)的套接字。如果你想確認系統上的 Web 服務有沒有起來,你可以查看80埠有沒有打開。以上功能使 netstat 成為網管和系統管理員的必備利器。
命令參數:
實例
『伍』 說說在 Linux 中如何修改某個文件擁有者
修改某個文件的擁有者,最常見的應用場景是在復制文件給其他人時 1 。
假設原來在 vagrant 賬號下有一個 deniro.txt 文件:
這時我們使用 cp 命令( cp deniro.txt deniro_.txt ),把這個文件復制一份給其他人:
可以看到,這個新的 deniro_.txt 文件,它的擁有者以及擁有組名都為 vagrant。
如果我們把這個文件給其他賬號,他們如果沒有許可權,根本無法使用。
解決這一問題的方法之一是使用 chgrp 命令修改這個新文件所在的組 2 。
這里我們採用另一種方法:修改這個新文件的擁有者。這會用到 chown 命令。Linux chown(英文全拼:change owner)命令用於設置文件所有者和文件關聯組的命令 3 。
chown 命令格式為: chown [-R] user[:group] file
比如我們想把新的 deniro_.txt 文件的擁有者改為 operator、組名修改為 tty,那麼可以執行命令 chown operator:tty deniro_.txt (可能需要許可權高的賬號來執行該命令):
參考資料:
【1】鳥哥. 鳥哥的Linux私房菜 基礎學習篇[M]. 第四版. 北京: 人民郵電出版社,2018:212-213.
【2】 說說在 Linux 中如何修改某個文件所屬群組 .
【3】 Linux chown 命令 .
『陸』 Linux常用基本命令大全介紹
學習Linux系統,命令是最基礎的一部分,有著很重要的地位,所以入門必須掌握好常用命令。下面由我為大家整理了Linux系統常用的基本命令入門篇,希望對大家有幫助!
Linux系統常用的基本命令入門篇一、基礎命令
1.Linu x的進 入與退出系統
進入Linux系統:
必須要輸入用戶的賬號,在系統安裝過程中可以創建以下兩種帳號:
1.root--超級用戶帳號(系統管理員),使用這個帳號可以在系統中做任何事情。
2.普通用戶--這個帳號供普通用戶使用,可以進行有限的操作。
一般的Linux使用者均為普通用戶,而系統管理員一般使用超級用戶帳號完成一些系統管理的工作。如果只需要完成一些由普通帳號就能完成的任務,建議不要使用超級用戶帳號,以免無意中破壞系統。影響系統的正常運行。
用戶登錄分兩步:第一步,輸入用戶的登錄名,系統根據該登錄名識別用戶;第二步,輸入用戶的口令,該口令是用戶自己設置的一個字元串,對其他用戶是保密的,是在登錄時系統用來辨別真假用戶的關鍵字。
當用戶正確地輸入用戶名和口令後,就能合法地進入系統。屏幕顯示:
[root@loclhost/root] #
這時就可以對系統做各種操作了。注意超級用戶的提示符是“#”,其他用戶的提示符是“$”。
2.修改口令
為了更好的保護用戶帳號的安全,Linux允許用戶隨時修改自己的口令,修改口令的命令是passwd,它將提示用戶輸入舊口令和新口令,之後還要求用戶再次確認新口令,以避免用戶無意中按錯鍵。如果用戶忘記了口令,可以向系統管理員申請為自己重新設置一個。
3.虛擬控制台
Linux是一個真正的多用戶 操作系統 ,它可以同時接受多個用戶登錄。Linux還允許一個用戶進行多次登錄,這是因為Linux和UNIX一樣,提供了虛擬控制台的訪問方式,允許用戶在同一時間從控制台進行多次登錄。虛擬控制台的選擇可以通過按下Alt鍵和一個功能鍵來實現,通常使用F1-F6例如,用戶登錄後,按一下Alt-F2鍵,用戶又可以看到"login:"提示符,說明用戶看到了第二個虛擬控制台。然後只需按Alt-F1鍵,就可以回到第一個虛擬控制台。 一個新安裝的Linux系統默認允許用戶使用Alt-F1到Alt-F6鍵來訪問前六個虛擬控制台。虛擬控制台可使用戶同時在多個控制台上工作,真正體現Linux系統多用戶的特性。用戶可以在某一虛擬控制台上進行的工作尚未結束時,切換到另一虛擬控制台開始另一項工作。
退出系統
不論是超級用戶,還是普通用戶,需要退出系統時,在shell提示符下,鍵入exit命令即可。
4.查看命令幫助信息
man命令
man命令用於查詢命令和程序的使用 方法 和參數。
例如:
man ls
將顯示ls命令的基本格式和使用方法
Linux系統常用的基本命令入門篇二、關機重啟命令
首先,是關機/重啟命令,僅在虛擬機時使用,實際工作中用不到
reboot 一般不跟參數使用,輸入指令即可重啟
shutdown 一般需要跟參數,例:
shutdown -r 延時多少分鍾重啟,一般使用now
shutdown -r now 立即重啟
shutdown -f 強制重啟
跟windows一樣,linux也存在注銷功能
exit
1)halt
halt 可不接參數
halt -f 強制關機
2)poweroff
poweroff 可不接參數使用
poweroff -f 強制關機
3)init 0
4)shutdown 不可單獨使用
shutdown -h 分鍾數 延時多久關機
shutdown -h now 立即關機
Linux系統常用的基本命令入門篇三、vi編輯
vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。
Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。
vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。
默認情況下,打開vi編輯器後自動進入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。
vi編輯器提供了豐富的內置命令,有些內置命令使用鍵盤組合鍵即可完成,有些內置命令則需要以冒號“:”開頭輸入。常用內置命令如下:
1 Ctrl+u:向文件首翻半屏;
2 Ctrl+d:向文件尾翻半屏;
3 Ctrl+f:向文件尾翻一屏;
4 Ctrl+b:向文件首翻一屏;
5 Esc:從編輯模式切換到命令模式;
6 ZZ:命令模式下保存當前文件所做的修改後退出vi;
7 :行號:游標跳轉到指定行的行首;
8 :$:游標跳轉到最後一行的行首;
9 x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的;
10 D:刪除從當前游標到游標所在行尾的全部字元;
11 dd:刪除游標行正行內容;
12 ndd:刪除當前行及其後n-1行;
13 nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字;
14 p:粘貼文本操作,用於將緩存區的內容粘貼到當前游標所在位置的下方;
15 P:粘貼文本操作,用於將緩存區的內容粘貼到當前游標所在位置的上方;
16 /字元串:文本查找操作,用於從當前游標所在位置開始向文件尾部查找指定字元串的內容,查找的字元串會被加亮顯示;
17 ?name:文本查找操作,用於從當前游標所在位置開始向文件頭部查找指定字元串的內容,查找的字元串會被加亮顯示;
18 a,bs/F/T:替換文本操作,用於在第a行到第b行之間,將F字元串換成T字元串。其中,“s/”表示進行替換操作;
19 a:在當前字元後添加文本;
20 A:在行末添加文本;
21 i:在當前字元前插入文本;
22 I:在行首插入文本;
23 o:在當前行後面插入一空行;
24 O:在當前行前面插入一空行;
25 :wq:在命令模式下,執行存檔退出操作;
26 :w:在命令模式下,執行存檔操作;
27 :w!:在命令模式下,執行強制存檔操作;
28 :q:在命令模式下,執行退出vi操作;
29 :q!:在命令模式下,執行強制退出vi操作;
30 :e文件名:在命令模式下,打開並編輯指定名稱的文件;
31 :n:在命令模式下,如果同時打開多個文件,則繼續編輯下一個文件;
32 :f:在命令模式下,用於顯示當前的文件名、游標所在行的行號以及顯示比例;
33 :set nu:在命令模式下,用於在最左端顯示行號;
34 :set nonu:在命令模式下,用於在最左端不顯示行號;
35 :1,3y 復制第一行到第三行
36 :1,3d 刪除第一行到第三行
37 :1,3s/str/str_new/g 替換第一行到第三行中的字元串
38 :1,3s/str/str_new 替換第一行到第三行中的字元串第一個字元
39 :1,3 g/str /d 刪除第一行到第三行中含有這個字元串的行
Linux常用命令一、查詢相關
find
按規則查找某個文件或文件夾,包括子目錄
find . -name '_sh' -- 以.sh結尾的文件
find . -name '_hannel_ -- 包含channel字元的文件
find . -name 'build_ -- 以build開頭的文件
find . -name 'abc??' -- abc後面有兩個字元的文件
grep
查找內容包含指定的範本樣式的文件,Global Regular Expression Print
grep -n pattern files -- 規則 -n表示顯示行號
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n 'd' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字元串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字元串的所有地方,並顯示行號
ps -e | grep java -- 所有java進程
ps -e | grep -i qq --所有qq進程,不區分大小寫
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml結尾的文件中查找包含‘aapt’關鍵字的地方
ls | grep 'channel' -- 包含channel關鍵字的文件
which
在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
從指定點開始將文件寫到標准輸出。使用tail命令的-f選項可以方便的查閱正在改變的日誌文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,並且不斷刷新,使你看到最新的文件內容。
tail -f test.log,循環查看文件內容,Ctrl+c來終止
tail -n 5 test.log,顯示文件最後5行內容
tail -n +5 test.log,從第5行開始顯示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一樣都是查看文件里的內容,但有所不同的是more可以按頁來查看文件的內容,還支持直接跳轉行等功能。
more +3 test.log,顯示文件中從第3行起的內容
more -5 test.log,設定每屏顯示行數
ls -l | more -5,每頁顯示5個文件信息
more +/day3 test.log,查找第一個出現"day3"字元串的行,並從該處前兩行開始顯示輸出
less
less [options] [file...]
與more命令一樣,less命令也用來分屏顯示文件的內容。但是二者存在差別:less命令允許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
less test.log,查看文件
ps -ef | less,查看進程信息並通過less分頁顯示
history | less,查看命令歷史使用記錄並通過less分頁顯示
less test1.log test2.log,瀏覽多個文件,n和p切換文件
watch
watch [options] command
每隔一段時間重復運行一個命令,默認間隔時間是2秒。要運行的命令直接傳給shell(注意引用和轉義特殊字元)。結果會展示為全屏模式,這樣你可以很方便的觀察改變
watch -n 60 date,執行date命令每分鍾一次,輸入^C 退出
watch -d ls -l,查看目錄變化
watch -d ’ls -l | fgrep joe’,想找joe用戶的文件
watch -d 'ls -l|grep scf',監測當前目錄中 scf' 的文件的變化
watch -n 10 'cat /proc/loadavg',10秒一次輸出系統的平均負載
watch -n 1 -d netstat -ant,每隔一秒高亮顯示網路鏈接數的變化
watch -n 1 -d 'pstree | grep http',每隔一秒高亮顯示http鏈接數的變化
Linux常用命令三、文件相關
vi
vi file
按i鍵,進入編輯模式
按esc鍵,進入命令模式
:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強制保存,不推出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:e! 放棄所有修改,從上次保存文件開始再編輯
chmod
change mode,變更文件或目錄的讀、寫、運行許可權
chmod [-cfvR] [--help] [--version] mode file...
mode:許可權設定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是
+ 表示增加許可權、- 表示取消許可權、= 表示唯一設定許可權。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
chmod也可以用數字來表示許可權,語法為:chmod abc file,如chmod 777 file
其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。 r=4,w=2,x=1
chmod 777 file,等同於 chmod a=rwx file
chmod ug=rwx,o=x file,等同於 chmod 771 file
chmod 4755 filename,可使此程序具有root的許可權
ls -l 可以查看列出當前用戶的文件許可權
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把當前所有文件壓縮到test.zip
zip -r test.zip test,把test文件所有文件及目錄,要是到test.zip
zip -d test.zip test.txt,刪除壓縮文件中test.txt文件
zip -m test.zip ./test.txt,向壓縮文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir,處理多個文件和目錄,空格隔開
unzip
unzip zip-file,解壓到當前目錄
unzip -d dst-dir zip-file,解壓到指定的目錄,-d後為指定目錄
unzip -n zip-file,不覆蓋已經存在的文件,-n為不要覆蓋原有的文件
unzip -n -d dst-dir zip-file,解壓到指定的目錄,不覆蓋已經原有的文件
unzip -o -d dst-dir zip-file,-o不必先詢問用戶覆蓋原有文件
unzip -l zip-file,僅查看壓縮文件內所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目錄做備份tar czvf test.tar.gz test,把test下所有文件和目錄做備份並進行壓縮tar xzvf test.tar.gz,把這個備份文件還原並解壓縮tar tvf test.tar | more,查看備份文件的內容,並以分屏方式顯示在 顯示器 上
tar czvf test.tar.gz test --exclude=test/svn,備份壓縮並排除目錄
touch
『柒』 Linux/超算中PBS常用命令
新手,純純搬運工【出處引用自: https://www.guanjihuan.com 】
1. Linux常用命令
最常用:
ls(英文全拼:list files):列出目錄及文件名
ls -l:列出目錄及文件名,可查看更多
ls -al:可以看到隱藏文件
cd(英文全拼:change directory):切換目錄
cd .. :返回上一級
cd 文件夾名:進入目錄
pwd(英文全拼:print work directory):顯示目前的目錄
mkdir 文件夾名(英文全拼:make directory):創建一個新的目錄
rmdir 文件夾名(英文全拼:remove directory):刪除一個空的目錄
cp xxx xxx(英文全拼: file): 復制文件或目錄
mv xxx xxx(英文全拼:move file): 移動文件或目錄,或修改文件或目錄的名稱
rm(英文全拼:remove): 刪除文件
rm -r 文件夾名:遞歸刪除某目錄
clear:清空terminal的所有內容(或者使用Ctrl+L)
tab按鍵:補充完整文件名或文件夾名
次常用:
vim/vi 某文件 (編輯文件)
nano 某文件 (編輯文件)
touch 文件 (新建空文件)
sudo -s (切換到root模式)
exit (退出root模式等)
sudo chmod -R 755 文件名/文件夾名 (獲取文件/文件夾的755許可權)
chown [用戶] [文件或目錄] (改變文件或目錄的所有者)
chgrp [用戶組] [文件或目錄] (改變文件或目錄的所屬組)
make (編譯成.exe)
解壓/解包:
tar文件 (註:tar是打包,不是壓縮!)
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
.gz文件
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz文件
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
安裝和卸載deb軟體包:
安裝:sudo dpkg -i deb文件
查看:sudo dpkg -l
卸載:sudo dpkg -r 軟體名
參考資料:
[1] Linux 教程
[2] Linux常用命令
[3] linux中tar命令的用法
[4] 全網最全Linux命令總結
2. vim/vi里的操作
:q 退出
:wq 保存並退出
:w 保存
:q! 強行退出(不保存退出)
:w! 強行保存
i 進入編輯,轉為輸入模式(游標前面)
a 進入編輯,轉為輸入模式(游標後面)
o 進入編輯,轉為輸入模式(游標下方新建一行)
Esc 退出i(插入)命令
3. 超算中PBS常用命令
pbsnodes (查看所有節點)
pbsnodes -l free (查看空閑節點)
pbsnodes 某節點 (查看某節點狀態)
ssh 某節點 (轉到某節點)
exit (離開節點)
qsub 文件名.pbs/sh (提交任務)
qstat (列出狀態)
qstat -q (列出隊列)
qstat -n (列出隊列中使用的節點)
qstat -f jobid (查看jobid任務的詳細信息)
qdel jobid (取消任務)
4. 其他
(1)Linux開機自啟
sh文件中包含:
#!/bin/bash#chkconfig: 2345 80 90#description:auto_run
sh文件移動到/etc/init.d後,分別輸入命令:
chkconfig --add xxx.sh
chkconfig --list
chkconfig xxx.sh on
service xxx.sh start
參考資料: linux 開機啟動 .sh 文件 - 自己的太陽 - 博客園
(2)Linux環境變數
方法1:臨時使用環境變數:export PATH="/home/www/anaconda3/bin:$PATH"
方法2:修改.bashrc文件
參考資料: Linux PATH 作用以及查看和修改方法_haozhepeng的專欄
(3)兩個sh文件
a.sh文件(用於提交任務,執行a.py文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1python a.py
a.sh文件(用於提交任務,執行a.exe文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1./a.exe
(4)一個makefile文件
makefile文件(用於編譯Fortran文件)
INC := -I/public/software/compiler/intel/composer_xe_2015.2.164/mkl/include/intel64/lp64
LIB := -L/public/software/compiler/intel/composer_xe_2015.2.164/mkl/lib/intel64
mpi:= -I/public/software/mpi/mpich/3.1.4/intel/include /public/software/mpi/mpich/3.1.4/intel/lib -lmpich -limf -lsvml -lintlc
src:=Console1exec:=a
all: $(src).f90
ifort $(src).f90 $(INC) $(LIB) -openmp -lmkl_intel_lp64 -Wl,--start-group -lmkl_intel_thread -lmkl_lapack95_lp64 -lmkl_core -lmkl_blas95_lp64 -Wl,--end-group -liomp5 -lpthread -O2 -o $(exec).exe
『捌』 Linux常見命令
許可權管理命令 chmod
英文願意: change the permissions mode of a file
語法: chmod[{ugoa}{+-=}{rwx}] [文件或目錄]
[mide = 421] [文件或目錄]
-R 遞歸修改
許可權的數字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 創建了一個目錄
touch /temp/testfile 在該目錄下創建了一個test file文件
chmod 777 /temp 改變了一下該目錄的許可權
名稱: chgrp
英文原意:change file group ownership
語法:chgrp [用戶][文件或目錄]
功能: 改變文件或目錄的所屬租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有組
charp brother text // brother變成了text文件的所屬組
注意:
1、所屬組就是創建這的所屬者的預設組
2、linux中創建的文件缺少x(可執行)為了使系統更加安全
mask
0022
0特殊許可權
022 ugo --- -w- -w-
1、文件搜索命令find
執行許可權:find
語法:find[搜索范圍][匹配條件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不區分大小寫)
find /home -user(-group) hl
在根目錄下查找所有者(所有組)為hl的文件
在目錄/etc中查找文件init
init init init // 通配符
?init (?匹配單個字元)
find / -size +204800
在跟目錄下查找大於100MB的文件 (100MB = 102400KB = 204800)
+n 大於 -n小於 n等於
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大於80MB小於100MB的文件
-a兩個條件同時滿足
-o兩個條件滿足任意一個即可
在/etc下查找5分鍾內被修改的屬性的文件和目錄
-amin 訪問時間 access
-cmin 文件屬性 change
-mmin 文件內容 modify
2、文件搜索指令 locate
命名名稱:locate
執行許可權:所有用戶
語法:locate 文件名
功能描述:在文件資料庫中查找文件
例子: $ locate inittab
輸出文件所在位置
locate和find的區別:
locate的查找速度很快,因為find是在分區和磁碟上查找,而locate是在資料庫中查找
注意:如果資料庫沒有實時更新,所以locate可能會查不到要查詢的文件。
即:
updatedb (升級文件的資料庫)
loocate -i 文件名 (-i 不區分大小寫)
3、文件搜索命令:which (更精確呦)
執行許可權:所有用戶
功能描述:搜索命令所在目錄及別名信息
例子: which ls
alias(別名)
4、whiereis
執行許可權:所有用戶
語法: whereis[命令名稱]
功能描述:搜索命令所在目錄及幫助文檔路徑
例子: whereis ls
5、grep
執行許可權:所有用戶
語法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字元串匹配的行並輸出
-i 不區分大小寫
-v 排除指定字元串
例子 grep mysql /root/install.log
補充: linux中 # 表示注釋
命名名稱:man
英文原意:manual
執行許可權:所有用戶
語法:man[命令或配置文件]
功能描述:獲取幫助信息
例子: man ls # 查看ls命令的幫助信息
man services 查看配置文件sevices的幫助信息
補充:man 。。。。後
/-g :查詢與g有關的信息
空格進行翻頁
回車進行換行
按n繼續查找
命令名稱:useradd
執行許可權:root
語法:useradd 用戶名
功能描述: 添加新用戶
例子: useradd HF
命令名稱:passwd
執行許可權:所有用戶
語法:passwd 用戶名
功能描述: 設置用戶密碼
例子: passwd HF
命令名稱:who
執行許可權:所有用戶
語法:who
功能描述: 查看登錄用戶信息
例子: who
輸出內容含義:
登錄用戶名 登錄終端(tty本地登錄、pds表述遠程終端) 登錄時間 登錄主機ip地址
命令名稱:w
執行許可權:所有用戶
語法:w
功能描述: 查看登錄用戶詳細信息
例子: w
命令名稱:gzip
英文原意:GNU zip
執行許可權:所有用戶
語法:gzip[文件]
功能描述: 壓縮文件
壓縮後文件格式:.gz
解壓縮:gunzip 壓縮文件
注意:gizp只能壓縮文件,不能壓縮目錄
命令名稱:tar
執行許可權:所有用戶
語法:tar 選項 [-zcf] [壓縮文件名] [目錄]
-c 打包
-v 顯示詳細文件
-f 指定文件名
-z 打包同時壓縮
功能描述: 打包目錄
壓縮後文件格式:.tar.gz
命令名稱:zip
執行許可權:所有用戶
語法:zip 選項[-r][壓縮後文件名][文件或目錄]
-r 壓縮目錄
功能描述: 壓縮文件或目錄
壓縮後文件格式: zip
注意:zip是window和linux系統中通過用的壓縮格式
命令名稱:bzip2
執行許可權:所有用戶
語法:bzip2 選項 [-k] [文件]
-k 產生壓縮文件後保留有源文件
功能描述: 壓縮文件
壓縮後文件格式: .bz2
注意: bzip2的壓縮比例大,適用於壓縮較大的文件
bunzip2解壓縮
對目錄壓縮:tar.bz2
指令名稱:write
指令許可權:所有用戶
語法:write <用戶名>
功能描述:給用戶發消息 ,以ctrl + D保存
例子: write YX
命令名稱:wall
英文原意:write all
執行許可權:所有用戶
語法:wall [message]
功能描述: 發廣播信息
命令名稱:ping
執行許可權:所有用戶
語法:ping 選項IP地址
-c 指定發送次數
功能描述: 測試網路連通性
例子: ping 192.168.1.156
命令名稱:ifcongig
英文原意:interface configure
執行許可權:root
語法:ifconfig 網卡名稱 IP地址
功能描述:查看和設置網卡信息(設立之臨時IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真實網卡
lo 回環網卡 (用來本機通信個測試的)
cncap:。。網路名稱是乙太網
HWaddr: 16進製表示的 48位的 網卡的物理地址
addr:當前計算機IP地址
Bcast:當前網路地址
Mask:子網掩碼
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受數據包的總數量
TX packets:發送數據包的總數量
Base addtess: 網卡當中的物理位置
命令名稱:mail (郵件命令)
執行許可權:所有用戶
語法:mail [用戶名]
功能描述:查看發送電子郵件
發送:ctrl + D
查詢: mail
例子: mail root
[圖片上傳中...(-d00bb9-1591253201012-0)]
命令名稱:last
執行許可權:所有用戶
語法:last
功能描述:列出目前和過去登入系統的用戶信息
命令名稱:traceroute
執行許可權:所有用戶
語法:traceroute
功能描述:顯示數據包到主機的路徑
例子: traceroute www..con
命令名稱:netstat
執行許可權:所有用戶
語法:netstat [選項]
功能描述:顯示網路相關信息
選項:
-t : TCP協議
-u : UDP協議
-l : 監聽
-r : 路由
-n : 顯示IP地址和埠號
例子:
netstat -tlun 查看本機監聽的埠
netstat -an 查看本機所有網路鏈接
netstat -rn 查看本屆路由表
命令名稱:setup
執行許可權:root
語法:setup
功能描述:配置網路(永久生效)
例子: setup
注意:配置網路結束後要重啟網路服務
service network restart
掛在命令
命令名稱:mount
執行許可權:所有用戶
語法:mount[-t 文件系統] 設備文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名稱:shutdown
[root@localhost~]#shutdown [選項] 時間
選項:- c : 取消前一個關機命令
- h:關機
- r :重啟
特點:可以正確的關閉和保存服務,建議實用
其他關機命令
halt
poweroff (直接斷電)
init 0
重啟命令
reboot
init6
補充:init _ 的數字含義
init0 關機
init1 單用戶(啟動最小最核心的服務)
init2 不完全多用戶,不含NFS服務(network file system 網路文件系統)
init3 完全多用戶
init4 未分配
init5 圖形界面
init6 重啟
查詢系統運行級別
runlevel
退出登錄命令
logout
『玖』 Linux命令
命令格式: 命令 [-選項] [參數]
如:ls -la /usr
**說明: **
大部分命令遵從該格式
多個選項時,可以一起寫 eg:ls –l –a à ls –la
簡化選項與完整選項(註:並非所有選項都可使用完整選項) eg:ls –all à ls –a
作用:切換用戶身份
語法:su [選項] 用戶名
-c 僅執行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c 「useradd longjing」
文件或目錄的CRUD
英文:change directory 命令路徑:內部命令 執行許可權:所有用戶
作用: 切換目錄
語法:cd [目錄] / 切換到根目錄
.. 回到上一級目錄
. 當前目錄
~ 當前用戶的宿主目錄(eg:# cd ~用戶名 進入某個用戶的家目錄)
英文:list 命令路徑:/bin/ls 執行許可權:所有用戶
作用:顯示目錄文件
語法:ls [-alrRd] [文件或目錄]
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細信息
-R(recursive) 遞歸顯示當前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執行許可權:所有用戶
作用:顯示當前工作目錄
語法:pwd [-LP]
-L 顯示鏈接路徑,當前路徑,默認
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執行許可權:所有用戶
作用:創建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數-p即可自動創建父目錄。
命令路徑:/bin/touch 執行許可權:所有用戶
作用:創建空文件或更新已存在文件的時間
語法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創建多個文件
創建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號
注意:生產環境中,文件名,一定不要加空格
英文: 命令路徑:/bin/cp 執行許可權:所有用戶
作用:復制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復制目錄
-p 保留文件屬性 (原文件的時間不變)
eg:
1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執行許可權:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執行許可權:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強制刪除文件或目錄 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認
注意:工作中,謹慎使用rm –rf 命令。
擴展點 :刪除亂碼文件
一些文件亂碼後使用rm -rf 依然無法刪除
此時,使用ll -i 查找到文件的inode節點
然後使用find . -inum 查找到的inode編號 -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執行許可權:所有用戶
作用:顯示文件內容
語法:cat [-n] [文件名]
-n 顯示行號
eg:cat /etc/services
命令路徑:/bin/more 執行許可權:所有用戶
作用:分頁顯示文件內容
語法:more [文件名]
空格或f 顯示下一頁
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執行許可權:所有用戶
作用:查看文件前幾行(默認10行)
語法:head [文件名]
-n 指定行數
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執行許可權:所有用戶
作用:查看文件的後幾行
語法:tail [文件名]
-n 指定行數
-f (follow) 動態顯示文件內容
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services >config.log
英文: link 命令路徑:/bin/ln 執行許可權:所有用戶
作用:產生鏈接文件
語法:
ln -s [源文件] [目標文件] 創建軟鏈接 源文件 使用 絕對路徑
ln [源文件] [目標文件] 創建硬鏈接
eg:ln -s /etc/service ./service.soft
創建文件/etc/service的軟鏈接service.soft
eg:/etc/service /service.hard
創建文件/etc/service的硬鏈接/service.hard
軟連接類似於windows下的快捷方式
軟連接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services
1 硬鏈接數量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。
13鏈接文件的長度
格式解析(特徵):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的許可權 都是 lrwxrwxrwx
2,-> 箭頭指向到源文件
真正的許可權取決於對源文件的許可權
時間值為創建軟連接的時間
軟連接可以跨文件系統生成
硬鏈接特徵
1,相當於 cp -p +同步更新
2,通過i節點識別,與源文件有相同的inode節點
3,硬鏈接不能跨分區,ln /home/test/issuels /boot/test (錯誤)
4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執行許可權:所有用戶
作用:獲取命令或配置文件的幫助信息
語法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)
調用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。
使用/加上關鍵的參數可直接定位搜索, n 查找下一個,shift+n 查找上一個
eg: /-l 直接查看-l的介紹
擴展:man的級別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內置命令的幫助信息
eg:help cd
內置命令,使用whereis,which,man都不能查看
type 命令 查看內部命令還是外部命令
命令名 --help 列舉該命令的常用選項
eg: cp --help
命令路徑:/bin/find 執行許可權:所有用戶
作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認從當前目錄查找
find命令選項
-name 按名稱查找 精準查找
eg:find /etc -name 「init」 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字元匹配:
*:匹配所有
?:匹配單個字元
eg:find /etc -name 「init???」 在目錄/etc中查找以init開頭的,且後面有三位的文件
模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉義,可使用 單雙引號括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個block是512B, 1K=2block +大於 -小於 不寫是等於
eg:find /etc -size -204800 在etc目錄下找出大於100MB的文件
100MB=102400KB=204800block
**-type ** 按文件類型查找
f 二進制文件l 軟連接文件 d 目錄 c 字元文件
eg: find /dev -type c
find****查找的基本原則 :
佔用最少的系統資源,即查詢范圍最小,查詢條件最精準
eg:
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執行許可權:所有用戶
作用:在文件中搜尋字串匹配的行並輸出
語法:grep [-cinv] '搜尋字元串' filename
選項與參數:
-c :輸出匹配行的次數(是以行為單位,不是以出現次數為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號
-v :反向選擇,顯示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#號
eg:# grep -n 「init」/etc/inittab 顯示在inittab文件中,init匹配行及行號
eg:# grep -c「init」/etc/inittab 顯示在inittab文件中,init匹配了多少次
命令路徑:/usr/bin/which 執行許可權:所有用戶
作用: 顯示系統命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路徑:/usr/bin/whereis 執行許可權:所有用戶
作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd
英文:GNU zip 命令路徑:/bin/gzip 執行許可權:所有用戶
作用:壓縮(解壓)文件,壓縮文件後綴為.gz
gzip只能壓縮文件,不能壓縮目錄;不保留原文件
語法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執行許可權:所有用戶
作用: 壓縮(解壓)文件,壓縮文件後綴為.bz2
語法:bzip2 [-k] [文件]
-k:產生壓縮文件後保留原文件(壓縮比高)
-d 解壓縮的參數(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執行許可權:所有用戶
作用: 壓縮(解壓)文件,壓縮文件後綴為.zip
語法:zip 選項[-r] [壓縮後文件名稱] [文件或目錄]
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項,壓縮後的文件沒有數據。
解壓使用unzip
命令路徑:/bin/tar 執行許可權:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zcf] 壓縮後文件名 文件或目錄
-c 建立一個壓縮文件的參數指令(create),後綴是.tar
-x 解開一個壓縮文件的參數指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
1, 單獨的打包 ,解包 tar –cf tar –xf
2, 打包之後,進行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨 壓縮 解壓縮
tar -z 以gzip打包目錄並壓縮 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目錄並壓縮 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個打包並壓縮文件dir1.tar.gz
eg: tar -cvf bak.tar . 將當前目錄的文件打包為bak.tar
eg: tar -xvf bak.tar 解壓
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件
eg:tar -xjf test.tar.bz2 解壓
最常用: tar + gzip
tar –zcvf 壓縮
tar –zxvf 解壓
補充:
1,文件路徑, 壓縮包帶文件路徑
2,源文件是保留的,不會被刪除
**shutdown **[選項] 時間
選項: -c: 取消前一個關機命令
-h:關機
-r:重啟
eg:
shutdown -h now 立即關機 shutdown -h 20:30 定時關機
其他關機命令 halt poweroff init 0
其他重啟命令
**reboot **重啟系統 reboot -h now立即重啟
init 6
注意:生產環境中,關機命令和重啟命令謹慎執行。
善於查看man help等幫助文檔
利用好Tab鍵 自動補全
掌握好一些快捷鍵
ctrl + c(停止當前進程)
ctrl + z 掛起當前進程,放後台
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執行過的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什麼插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎麼著學會也得小半年吧。半年!?入門都遠著呢!能學會移動游標就不錯了,你還別說耗不起,就這還是左右移動!!!
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在游標後附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在游標前插入文本
|
|
I(shift+i)
|
在本行開始插入文本 行首
|
|
o
|
在游標下插入新行
|
|
O(shift+o)
|
在游標上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設置行號
|
|
:set nonu
|
取消行號
|
|
gg
G
|
到第一行
到最後一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存為指定文件
|
|
:w >> a.txt
|
內容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改並退出
|
|
shift+zz(ZZ)
|
快捷鍵,保存修改並退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改並退出(文件所有者可忽略文件的只讀屬性)
|
不保存並退出:
1, 有修改,但是修改後的內容是不保存的
2, 有突發情況,導致窗口退出。修改文件之後,直接刪除同名的.swp文件
|
命令
|
作用
|
|
x
|
刪除游標所在處字元 nx 刪除游標所在處後n個字元
|
|
dd
|
刪除游標所在行,ndd刪除n行
|
|
:n1,n2d
|
刪除指定范圍的行(eg :1,3d 刪除了123這三行)
|
|
dG
|
刪除游標所在行到末尾的內容
|
|
D
|
刪除從游標所在處到行尾
|
|
命令
|
作用
|
|
yy、Y
|
復制當前行
|
|
nyy、nY
|
復制當前行以下n行
|
|
dd
|
剪切當前行
|
|
ndd
|
剪切當前行以下n行
|
|
p、P
|
粘貼在當前游標所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代游標所在處字元
|
|
R(shift + r)
|
從游標所在處開始替換字元,按Esc結束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向後搜索指定字元串 搜索時忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字元串
|
|
n
|
搜索字元串的下一個出現位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字元串的上一個出現位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字元串
|
|
:n1,n2s/old/new/g
|
在一定范圍內替換指定字元串
|
% 指全文,s 指開始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換
eg: :41,44/yang/lee/g 同上,不詢問,直接替換
使用替換命令來添加刪除注釋
:% s/^/#/g 來在全部內容的行首添加 # 號注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號注釋
vi裡面怎麼查命令??
:!which cp
vi裡面怎麼導入命令的結果?
:r !which cp
v 可視字元模式
V****(shift+v) 可視行模式,選擇多行操作
**ctrl+v **可視塊模式(列模式),操作列
I或者O進入插入模式。
1,圖形化界面
2,setup 命令虛擬界面
3,修改配置文件(以網路方式為NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #網段2任意,IP地址2固定,網段為vmnet8的設置的IP網段
DNS1=114.114.114.114
DNS2=8.8.8.8
重啟網路生效:
service network restart
命令路徑:/bin/ping 執行許可權:所有用戶
作用:測試網路的連通性
語法:ping 選項 IP地址
-c 指定發送次數
ping 命令使用的是icmp協議,不佔用埠
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路徑:/sbin/ifconfig 執行許可權:root
作用:查看和設置網卡網路配置
語法:ifconfig [-a] [網卡設備標識]
-a:顯示所有網卡信息
ifconfig [網卡設備標識] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執行許可權:所有用戶
作用:主要用於檢測主機的網路配置和狀況
-a all顯示所有連接和監聽埠
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 使用數字方式顯示地址和埠號
-l (listening) 顯示監控中的伺服器的socket
eg:# netstat -tlnu 查看本機監聽的埠
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
協議 待收數據包 待發送數據包 本地ip地址:埠 遠程IP地址:埠
netstat –antpl
臨時生效:
hostname 主機名
[圖片上傳失敗...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[圖片上傳失敗...(image-2b9d9e-1624438708893)]
修改主機名和ip地址之間的映射關系
vi /etc/hosts
192.168.2.120 node-1.e.cn node-1
可配置別名
[圖片上傳失敗...(image-ec86cf-1624438708893)]
進程和程序的區別:
1、程序是靜態概念,本身作為一種軟體資源長期保存;而進程是程序的執行過程,它是動態概念,有一定的生命期,是動態產生和消亡的。
2、程序和進程無一一對應關系。一個程序可以由多個進程共用;另一方面,一個進程在活動中有可順序地執行若干個程序。
進程和線程的區別:
進程: 就是正在執行的程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,並佔用一定的系統資源。
線程: 輕量級的進程;進程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進程創建;相對講,線程耗費的cpu和內存要小於進程。
進程管理的作用?
判斷伺服器的健康狀態
查看系統所有的進程
殺死進程
作用:查看系統中的進程信息
語法:ps [-auxle]
常用選項
查看系統中所有進程
ps應用實例 # ps -u or ps -l 查看隸屬於自己進程詳細信息
作用: 查看當前進程樹
語法:pstree [選項]
-p 顯示進程PID
-u 顯示進程的所屬用戶
作用:查看系統健康狀態
顯示當前系統中耗費資源最多的進程,以及系統的一些負載情況。
語法:top [選項]
-d 秒數,指定幾秒刷新一次,默認3秒(動態顯示)
作用:關閉進程
語法:kill [-選項] pId
kill -9 進程號(強行關閉) 常用
kill -1 進程號(重啟進程)
添加用戶
語法:useradd [選項] 用戶名
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產環境中,用戶密碼長度8位以上,設置大小寫加數字加特殊字元,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號時同時刪除宿主目錄(remove)
作用:用於查看Linux文件系統的狀態信息,顯示各個分區的容量、已使用量、未使用量及掛載點等信息。看剩餘空間
語法:df [-hkam] [掛載點]
-h(human-readable)根據磁碟空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區的信息,默認
-M 以MB為單位顯示信息 -a 顯示所有分區包括大小為0 的分區
作用:用於查看文件或目錄的大小(磁碟使用空間)
語法: [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統計總佔有量
eg:
-a(all) /home 顯示/home 目錄下每個子文件的大小,默認單位為kb
-b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
-h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
-sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和命令的區別:
df命令是從文件系統考慮的,不僅考慮文件佔用的空間,還要統計被命令或者程序佔用的空間。
命令面向文件,只計算文件或目錄佔用的空間。
作用:查看內存及交換空間使用狀態
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 > /proc/sys/vm/drop_caches