基本linux命令有哪些呢?
我們一直強(qiáng)調(diào)網(wǎng)站制作、成都網(wǎng)站制作對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站制作公司不一定是大公司,成都創(chuàng)新互聯(lián)公司作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
1、ls命令
就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件權(quán)限(包括目錄、文件夾、文件權(quán)限)查看目錄信息等等。
常用參數(shù)搭配:
ls -a 列出目錄所有文件,包含以.開始的隱藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改時間排序
ls -S 以文件大小排序
ls -h 以易讀大小顯示
ls -l 除了文件名之外,還將文件的權(quán)限、所有者、文件大小等信息詳細(xì)列出來
實例:
(1) 按易讀方式按時間反序排序,并顯示文件詳細(xì)信息
ls -lhrt
(2) 按大小反序顯示文件詳細(xì)信息
ls -lrS
(3)列出當(dāng)前目錄中所有以"t"開頭的目錄的詳細(xì)內(nèi)容
ls -l t*
(4) 列出文件絕對路徑(不包含隱藏文件)
ls | sed "s:^:`pwd`/:"
(5) 列出文件絕對路徑(包含隱藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2、cd 命令
cd(changeDirectory) 命令語法:
cd [目錄名]
說明:切換當(dāng)前目錄至 dirName。
實例:
(1)進(jìn)入要目錄
cd /
(2)進(jìn)入 "home" 目錄
cd ~
(3)進(jìn)入上一次工作路徑
cd -
(4)把上個命令的參數(shù)作為cd參數(shù)使用。
cd !$
3、pwd 命令
pwd 命令用于查看當(dāng)前工作目錄路徑。
實例:
(1)查看當(dāng)前路徑
pwd
(2)查看軟鏈接的實際路徑
pwd -P
4、mkdir 命令
mkdir 命令用于創(chuàng)建文件夾。
可用選項:
-m: 對新建目錄設(shè)置存取權(quán)限,也可以用 chmod 命令設(shè)置;
-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。
實例:
(1)當(dāng)前工作目錄下創(chuàng)建名為 t的文件夾
mkdir t
(2)在 tmp 目錄下創(chuàng)建路徑為 test/t1/t 的目錄,若不存在,則創(chuàng)建:
mkdir -p /tmp/test/t1/t
5、rm 命令
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復(fù)原狀。
rm [選項] 文件…
實例:
(1)刪除任何 .log 文件,刪除前逐一詢問確認(rèn):
rm -i *.log
(2)刪除 test 子目錄及子目錄中所有檔案刪除,并且不用一一確認(rèn):
rm -rf test
(3)刪除以 -f 開頭的文件
rm -- -f*
6、rmdir 命令
從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對其父目錄的寫權(quán)限。
注意:不能刪除非空目錄
實例:
(1)當(dāng) parent 子目錄被刪除后使它也成為空目錄的話,則順便一并刪除:
rmdir -p parent/child/child11
7、mv 命令
移動文件或修改文件名,根據(jù)第二參數(shù)類型(如目錄,則移動文件;如為文件則重命令該文件)。
當(dāng)?shù)诙€參數(shù)為目錄時,第一個參數(shù)可以是多個以空格分隔的文件或目錄,然后移動第一個參數(shù)指定的多個文件到第二個參數(shù)指定的目錄中。
實例:
(1)將文件 test.log 重命名為 test1.txt
mv test.log test1.txt
(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件 file1 改名為 file2,如果 file2 已經(jīng)存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當(dāng)前文件夾下的所有文件到上一級目錄
mv * ../
8、cp 命令
將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€源文件復(fù)制至目標(biāo)目錄。
注意:命令行復(fù)制,如果目標(biāo)文件已經(jīng)存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數(shù),則不會提示,而是直接覆蓋!
-i 提示
-r 復(fù)制目錄及目錄內(nèi)所有項目
-a 復(fù)制的文件與原文件時間一樣
實例:
(1)復(fù)制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。
cp -ai a.txt test
(2)為 a.txt 建議一個鏈接(快捷方式)
cp -s a.txt link_a.txt
9、cat 命令
cat 主要有三大功能:
1.一次顯示整個文件:
cat filename
2.從鍵盤創(chuàng)建一個文件:
cat filename
只能創(chuàng)建新文件,不能編輯已有文件。
3.將幾個文件合并為一個文件:
cat file1 file2 file
-b 對非空輸出行號
-n 輸出所有行號
實例:
(1)把 log2012.log 的文件內(nèi)容加上行號后輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用 here doc 生成新文件
cat log.txt EOF
Hello
World
PWD=$(pwd)
EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
10、more 命令
功能類似于 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。
命令參數(shù):
+n 從笫 n 行開始顯示
-n 定義屏幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示
-c 從頂部清屏,然后顯示
-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續(xù),按q鍵退出)”,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字符
-p 通過清除窗口而不是滾屏來對文件進(jìn)行換頁,與-c選項相似
-s 把連續(xù)的多個空行顯示為一行
-u 把文件內(nèi)容中的下畫線去掉
常用操作命令:
Enter 向下 n 行,需要定義。默認(rèn)為 1 行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當(dāng)前行的行號
:f 輸出文件名和當(dāng)前行的行號
V 調(diào)用vi編輯器
!命令 調(diào)用Shell,并執(zhí)行命令
q 退出more
實例:
(1)顯示文件中從第3行起的內(nèi)容
more +3 text.txt
(2)在所列出文件目錄詳細(xì)信息,借助管道使每次顯示 5 行
ls -l | more -5
按空格顯示下 5 行。
11、less 命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
常用命令參數(shù):
-i 忽略搜索時的大小寫
-N 顯示每行的行號
-o 將less 輸出的內(nèi)容在指定文件中保存起來
-s 顯示連續(xù)空行為一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重復(fù)前一個搜索(與 / 或 ? 有關(guān))
N:反向重復(fù)前一個搜索(與 / 或 ? 有關(guān))
-x 將“tab”鍵顯示為規(guī)定的數(shù)字空格
b 向后翻一頁
d 向后翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實例:
(1)ps 查看進(jìn)程信息并通過 less 分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用 n 查看下一個,使用 p 查看前一個。
12、head 命令
head 用來顯示檔案的開頭至標(biāo)準(zhǔn)輸出中,默認(rèn) head 命令打印其相應(yīng)文件的開頭 10 行。
常用參數(shù):
-n 顯示的行數(shù)(行數(shù)為復(fù)數(shù)表示從最后向前數(shù))
實例:
(1)顯示 1.log 文件中前 20 行
head 1.log -n 20
(2)顯示 1.log 文件前 20 字節(jié)
head -c 20 log2014.log
(3)顯示 t.log最后 10 行
head -n -10 t.log
13、tail 命令
用于顯示指定文件末尾內(nèi)容,不指定文件時,作為輸入信息進(jìn)行處理。常用查看日志文件。
常用參數(shù):
-f 循環(huán)讀?。ǔS糜诓榭催f增的日志文件)
-n 顯示行數(shù)(從后向前)
(1)循環(huán)讀取逐漸增加的文件內(nèi)容
ping 127.0.0.1 ping.log
后臺運(yùn)行:可使用 jobs -l 查看,也可使用 fg 將其移到前臺運(yùn)行。
tail -f ping.log
(查看日志)
14、which 命令
在 linux 要查找某個文件,但不知道放在哪里了,可以使用下面的一些命令來搜索:
which 查看可執(zhí)行文件的位置。
whereis 查看文件的位置。
locate 配合數(shù)據(jù)庫查看文件位置。
find 實際搜尋硬盤查詢文件名稱。
which 是在 PATH 就是指定的路徑中,搜索某個系統(tǒng)命令的位置,并返回第一個搜索結(jié)果。使用 which 命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。
常用參數(shù):
-n 指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名。
實例:
(1)查看 ls 命令是否存在,執(zhí)行哪個
which ls
(2)查看 which
which which
(3)查看 cd
which cd(顯示不存在,因為 cd 是內(nèi)建命令,而 which 查找顯示是 PATH 中的命令)
查看當(dāng)前 PATH 配置:
echo $PATH
或使用 env 查看所有環(huán)境變量及對應(yīng)值
15、whereis 命令
whereis 命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。whereis 及 locate 都是基于系統(tǒng)內(nèi)建的數(shù)據(jù)庫進(jìn)行搜索,因此效率很高,而find則是遍歷硬盤查找文件。
常用參數(shù):
-b 定位可執(zhí)行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。
實例:
(1)查找 locate 程序相關(guān)文件
whereis locate
(2)查找 locate 的源碼文件
whereis -s locate
(3)查找 lcoate 的幫助文件
whereis -m locate
Linux的一個特色就是其命令多而且功能強(qiáng)大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進(jìn)行命令補(bǔ)足,或者使用aliase來簡化某個命令的輸入,但這并不能從根本上解決敲擊鍵盤次數(shù)過多的問題。\x0d\x0a\x0d\x0a可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],\x0d\x0aCtrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上“參數(shù)”,這樣你按下那個鍵的時候,它會等待你輸入相應(yīng)的參數(shù),并根據(jù)不同的參數(shù)運(yùn)行不同的命令。\x0d\x0a\x0d\x0a當(dāng)然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關(guān)系,可用的熱鍵還多著呢!\x0d\x0a\x0d\x0a定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:\x0d\x0a\x0d\x0a"":""\x0d\x0a\x0d\x0a其中熱鍵對應(yīng)的ASCII字符可以通過 "先按Ctrl-V, 然后按熱鍵" 的方式來輸入, 如Ctrl-G對應(yīng)的字符為^G, Alt-P對應(yīng)的字符為^[p, Ctrl-Alt-H對應(yīng)的字符為^[^H.\x0d\x0a\x0d\x0a可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[.\x0d\x0a\x0d\x0a先來看一些基本的熱鍵定義,(這里熱鍵里的字母不區(qū)分大小寫):\x0d\x0a"^[-":"su -/C-M" # 按Alt+- 執(zhí)行su - 命令,末尾/C-M表示輸入完定義的命令后回車,也可以更簡潔地用一個/n來表示.\x0d\x0a\x0d\x0a"/M-/C-G":"gaim /dev/null disown/C-M"\x0d\x0a# 按Ctrl-Alt-g在當(dāng)前shell打開gaim, 并脫離該shell獨(dú)立運(yùn)行,即:即使你退出了該shell, gaim也不會關(guān)閉\x0d\x0a\x0d\x0a其他一些組合鍵可以根據(jù)自己的需要配置,偶就不多說了.\x0d\x0a\x0d\x0a大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在后面會得到解決。\x0d\x0a\x0d\x0a一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復(fù)輸入命令,但是方向鍵離主鍵盤區(qū)太遠(yuǎn),如果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什么辦法把方向鍵的功能轉(zhuǎn)移到我們經(jīng)常敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找\x0d\x0a\x0d\x0a通過定義熱鍵可以做到這點(diǎn):\x0d\x0a\x0d\x0a"/eh":"^[OD" # move left\x0d\x0a# Alt-H 向左移一個字符, 相當(dāng)于Left Arrowgh, 這里^[OD即向上方向鍵的ASCII字符,輸入方式與前面提到的類似\x0d\x0a"/el":"^[OC" # move right\x0d\x0a# Alt-L 向右移一個字符,相當(dāng)于Right Arrow\x0d\x0a\x0d\x0a"/ej":"^[OB" # move up\x0d\x0a# Alt-J 向下移動,相當(dāng)于Up Arrow\x0d\x0a\x0d\x0a"/ek":"^[OA" # move down\x0d\x0a# Alt-K 向上移動,相當(dāng)于Down Arrow\x0d\x0a\x0d\x0a"/ei":"^?" # left earse one character\x0d\x0a# Alt-I 向左刪除一個字符,相當(dāng)于Backspace\x0d\x0a\x0d\x0a"/eo":delete-char # right earse one character\x0d\x0a# Alt-O 向右刪除一個字符,相當(dāng)于Delete\x0d\x0a\x0d\x0a"/en":backward-kill-word # left kill one word\x0d\x0a# Alt-N 向左刪除一個單詞\x0d\x0a\x0d\x0a"/em":kill-word # right kill one word\x0d\x0a# Alt-M 向右刪除一個單詞\x0d\x0a\x0d\x0a"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head\x0d\x0a# Alt-A 刪除當(dāng)前位置到開頭,也就是多Alt-N幾次(A-- ahead)\x0d\x0a\x0d\x0a"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head\x0d\x0a# Alt-E 刪除當(dāng)前位置到末尾,也就是多Alt-M幾次(E-- end)\x0d\x0a\x0d\x0a"/ep": insert-last-argumem"\x0d\x0a# Alt-P 插入上一個命令最后一個參數(shù) (P-- Paste)\x0d\x0a\x0d\x0a"/ew": forward-word\x0d\x0a# 系統(tǒng)默認(rèn)Alt-F (forward)跳到當(dāng)前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾\x0d\x0a\x0d\x0a"/eq": backward-word\x0d\x0a# 系統(tǒng)默認(rèn)Alt-B (backward)跳到當(dāng)前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首\x0d\x0a\x0d\x0a發(fā)覺F和B鍵離得太遠(yuǎn),不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用\x0d\x0a\x0d\x0a這樣輸入命令的時候幾乎可以不用離開主鍵盤區(qū),而且移動光標(biāo),刪除字符,刪除單詞,上下歷史命令查找都集中在一塊,比以前方便多了。不過開始可能有些不習(xí)慣,就跟使用vi一樣,但是多練幾次就熟練了。\x0d\x0a\x0d\x0aLinux下絕大部分服務(wù)的配置是基于配置文件的,一般說來,更改了某個服務(wù)的配置文件,要使其立即生效,還需重啟該服務(wù)直接的或依附的守護(hù)進(jìn)程才行。難道你就不覺得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”這樣做很繁瑣么?如果要配置的服務(wù)較多而且要不停地調(diào)試呢?況且我們平常使用Linux時難免會不時地終止或啟動某個服務(wù)進(jìn)程,輸入命令的次數(shù)也不少。如果為每個服務(wù)都指定一個熱鍵的話,似乎不大可能。如果我們賦予一個熱鍵為一個基本鍵,而相應(yīng)的服務(wù)為其“參數(shù)”,那又如何呢?\x0d\x0a\x0d\x0a舉個例子,賦予Alt-S (S--Start)為啟動服務(wù)的基本鍵,服務(wù)名的前2個字符為啟動“參數(shù)”,那么就可以像下面那樣隨意啟動某個服務(wù)了:\x0d\x0a"/essm":"service smb start/n"\x0d\x0a# /es=Alt-s, sm=smb,\x0d\x0a# 即:按下Alt-s后緊跟著再輸入sm(這時輸入的sm并不會顯示在終端上),就可以啟動samba的服務(wù)進(jìn)程了,不必?fù)?dān)心按下鍵與輸入“參數(shù)”間的時間延遲問題,你按下Alt-s,然后去外面兜一圈回來,再接著輸入sm,照樣可以。\x0d\x0a\x0d\x0a"/esht":"service httpd start/n" # ht=httpd,啟動Apache服務(wù)\x0d\x0a\x0d\x0a類似地,我們賦予\x0d\x0aAlt-D(D-- shutDown) 為停止服務(wù)的基本鍵\x0d\x0aAlt-R(R-- Restart) 為重啟服務(wù)的基本鍵\x0d\x0aAlt-T(T-- Status) 為查看服務(wù)狀態(tài)的基本鍵\x0d\x0aAlt-C(C-- Configure) 為打開服務(wù)對應(yīng)的主配置文件的基本鍵\x0d\x0a如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打開NFS的配置文件\x0d\x0a"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打開smb的配置文件\x0d\x0a\x0d\x0a如果某個服務(wù)(如ssh)有2個配置文件,可以在其后再加一個數(shù)字,如:\x0d\x0a"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打開sshd服務(wù)端配置文件\x0d\x0a"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打開sshd客戶端配置文件\x0d\x0a\x0d\x0a如果要執(zhí)行某個應(yīng)用程序呢?可以用Alt-x做基本鍵(x-- eXeccute) 如:\x0d\x0a"/exga":"gaim /dev/null disown clean /n"\x0d\x0a"/exxm":"xmms /dev/null disown clean /n"\x0d\x0a"/exvm":"vmware /dev/null disown clean /n" "/exna":"nautilus /dev/null disown clean /n"\x0d\x0a等等....\x0d\x0a\x0d\x0a到現(xiàn)在為止我們只要按1個組合鍵+2個字符就可以實現(xiàn)下面眾多的功能:\x0d\x0a1. 執(zhí)行指定的應(yīng)用程序\x0d\x0a2. 啟動|重啟|關(guān)閉|指定的服務(wù)進(jìn)程\x0d\x0a3. 查看指定服務(wù)的狀態(tài)\x0d\x0a4. 打開指定服務(wù)的指定配置文件
命令格式: 命令 [-選項] [參數(shù)]
如:ls -la /usr
**說明: **
大部分命令遵從該格式
多個選項時,可以一起寫 eg:ls –l –a à ls –la
簡化選項與完整選項(注:并非所有選項都可使用完整選項) eg:ls –all à ls –a
作用:切換用戶身份
語法:su [選項] 用戶名
-c 僅執(zhí)行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目錄的CRUD
英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶
作用: 切換目錄
語法:cd [目錄] / 切換到根目錄
.. 回到上一級目錄
. 當(dāng)前目錄
~ 當(dāng)前用戶的宿主目錄(eg:# cd ~用戶名 進(jìn)入某個用戶的家目錄)
英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
作用:顯示目錄文件
語法:ls [-alrRd] [文件或目錄]
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細(xì)信息
-R(recursive) 遞歸顯示當(dāng)前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
作用:顯示當(dāng)前工作目錄
語法:pwd [-LP]
-L 顯示鏈接路徑,當(dāng)前路徑,默認(rèn)
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數(shù)-p即可自動創(chuàng)建父目錄。
命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建空文件或更新已存在文件的時間
語法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創(chuàng)建多個文件
創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號
注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格
英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
作用:復(fù)制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復(fù)制目錄
-p 保留文件屬性 (原文件的時間不變)
eg:
1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強(qiáng)制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認(rèn)
注意:工作中,謹(jǐn)慎使用rm –rf 命令。
擴(kuò)展點(diǎn) :刪除亂碼文件
一些文件亂碼后使用rm -rf 依然無法刪除
此時,使用ll -i 查找到文件的inode節(jié)點(diǎn)
然后使用find . -inum 查找到的inode編號 -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
作用:顯示文件內(nèi)容
語法:cat [-n] [文件名]
-n 顯示行號
eg:cat /etc/services
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
作用:分頁顯示文件內(nèi)容
語法:more [文件名]
空格或f 顯示下一頁
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶
作用:查看文件前幾行(默認(rèn)10行)
語法:head [文件名]
-n 指定行數(shù)
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶
作用:查看文件的后幾行
語法:tail [文件名]
-n 指定行數(shù)
-f (follow) 動態(tài)顯示文件內(nèi)容
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
作用:產(chǎn)生鏈接文件
語法:
ln -s [源文件] [目標(biāo)文件] 創(chuàng)建軟鏈接 源文件 使用 絕對路徑
ln [源文件] [目標(biāo)文件] 創(chuàng)建硬鏈接
eg:ln -s /etc/service ./service.soft
創(chuàng)建文件/etc/service的軟鏈接service.soft
eg:/etc/service /service.hard
創(chuàng)建文件/etc/service的硬鏈接/service.hard
軟連接類似于windows下的快捷方式
軟連接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬鏈接數(shù)量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。
13鏈接文件的長度
格式解析(特征):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx
2,- 箭頭指向到源文件
真正的權(quán)限取決于對源文件的權(quán)限
時間值為創(chuàng)建軟連接的時間
軟連接可以跨文件系統(tǒng)生成
硬鏈接特征
1,相當(dāng)于 cp -p +同步更新
2,通過i節(jié)點(diǎn)識別,與源文件有相同的inode節(jié)點(diǎn)
3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯誤)
4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
作用:獲取命令或配置文件的幫助信息
語法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)
調(diào)用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。
使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個,shift+n 查找上一個
eg: /-l 直接查看-l的介紹
擴(kuò)展:man的級別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內(nèi)置命令的幫助信息
eg:help cd
內(nèi)置命令,使用whereis,which,man都不能查看
type 命令 查看內(nèi)部命令還是外部命令
命令名 --help 列舉該命令的常用選項
eg: cp --help
命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶
作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認(rèn)從當(dāng)前目錄查找
find命令選項
-name 按名稱查找 精準(zhǔn)查找
eg:find /etc -name “init” 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字符匹配:
*:匹配所有
?:匹配單個字符
eg:find /etc -name “init???” 在目錄/etc中查找以init開頭的,且后面有三位的文件
模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉(zhuǎn)義,可使用 單雙引號括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個block是512B, 1K=2block +大于 -小于 不寫是等于
eg:find /etc -size -204800 在etc目錄下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件類型查找
f 二進(jìn)制文件l 軟連接文件 d 目錄 c 字符文件
eg: find /dev -type c
find****查找的基本原則 :
占用最少的系統(tǒng)資源,即查詢范圍最小,查詢條件最精準(zhǔn)
eg:
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶
作用:在文件中搜尋字串匹配的行并輸出
語法:grep [-cinv] '搜尋字符串' filename
選項與參數(shù):
-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)
-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 執(zhí)行權(quán)限:所有用戶
作用: 顯示系統(tǒng)命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令
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 執(zhí)行權(quán)限:所有用戶
作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd
英文:GNU zip 命令路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.gz
gzip只能壓縮文件,不能壓縮目錄;不保留原文件
語法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2
語法:bzip2 [-k] [文件]
-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)
-d 解壓縮的參數(shù)(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.zip
語法:zip 選項[-r] [壓縮后文件名稱] [文件或目錄]
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項,壓縮后的文件沒有數(shù)據(jù)。
解壓使用unzip
命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zcf] 壓縮后文件名 文件或目錄
-c 建立一個壓縮文件的參數(shù)指令(create),后綴是.tar
-x 解開一個壓縮文件的參數(shù)指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
1, 單獨(dú)的打包 ,解包 tar –cf tar –xf
2, 打包之后,進(jìn)行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨(dú) 壓縮 解壓縮
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 . 將當(dāng)前目錄的文件打包為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 解壓
補(bǔ)充:
1,文件路徑, 壓縮包帶文件路徑
2,源文件是保留的,不會被刪除
**shutdown **[選項] 時間
選項: -c: 取消前一個關(guān)機(jī)命令
-h:關(guān)機(jī)
-r:重啟
eg:
shutdown -h now 立即關(guān)機(jī) shutdown -h 20:30 定時關(guān)機(jī)
其他關(guān)機(jī)命令 halt poweroff init 0
其他重啟命令
**reboot **重啟系統(tǒng) reboot -h now立即重啟
init 6
注意:生產(chǎn)環(huán)境中,關(guān)機(jī)命令和重啟命令謹(jǐn)慎執(zhí)行。
善于查看man help等幫助文檔
利用好Tab鍵 自動補(bǔ)全
掌握好一些快捷鍵
ctrl + c(停止當(dāng)前進(jìn)程)
ctrl + z 掛起當(dāng)前進(jìn)程,放后臺
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執(zhí)行過的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強(qiáng)大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎么著學(xué)會也得小半年吧。半年?。咳腴T都遠(yuǎn)著呢!能學(xué)會移動光標(biāo)就不錯了,你還別說耗不起,就這還是左右移動?。。?/p>
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光標(biāo)后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光標(biāo)前插入文本
|
|
I(shift+i)
|
在本行開始插入文本 行首
|
|
o
|
在光標(biāo)下插入新行
|
|
O(shift+o)
|
在光標(biāo)上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設(shè)置行號
|
|
:set nonu
|
取消行號
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存為指定文件
|
|
:w a.txt
|
內(nèi)容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷鍵,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只讀屬性)
|
不保存并退出:
1, 有修改,但是修改后的內(nèi)容是不保存的
2, 有突發(fā)情況,導(dǎo)致窗口退出。修改文件之后,直接刪除同名的.swp文件
|
命令
|
作用
|
|
x
|
刪除光標(biāo)所在處字符 nx 刪除光標(biāo)所在處后n個字符
|
|
dd
|
刪除光標(biāo)所在行,ndd刪除n行
|
|
:n1,n2d
|
刪除指定范圍的行(eg :1,3d 刪除了123這三行)
|
|
dG
|
刪除光標(biāo)所在行到末尾的內(nèi)容
|
|
D
|
刪除從光標(biāo)所在處到行尾
|
|
命令
|
作用
|
|
yy、Y
|
復(fù)制當(dāng)前行
|
|
nyy、nY
|
復(fù)制當(dāng)前行以下n行
|
|
dd
|
剪切當(dāng)前行
|
|
ndd
|
剪切當(dāng)前行以下n行
|
|
p、P
|
粘貼在當(dāng)前光標(biāo)所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光標(biāo)所在處字符
|
|
R(shift + r)
|
從光標(biāo)所在處開始替換字符,按Esc結(jié)束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索時忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一個出現(xiàn)位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字符串的上一個出現(xiàn)位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范圍內(nèi)替換指定字符串
|
% 指全文,s 指開始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換
eg: :41,44/yang/lee/g 同上,不詢問,直接替換
使用替換命令來添加刪除注釋
:% s/^/#/g 來在全部內(nèi)容的行首添加 # 號注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號注釋
vi里面怎么查命令??
:!which cp
vi里面怎么導(dǎo)入命令的結(jié)果?
:r !which cp
v 可視字符模式
V****(shift+v) 可視行模式,選擇多行操作
**ctrl+v **可視塊模式(列模式),操作列
I或者O進(jìn)入插入模式。
1,圖形化界面
2,setup 命令虛擬界面
3,修改配置文件(以網(wǎng)絡(luò)方式為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 #網(wǎng)段2任意,IP地址2固定,網(wǎng)段為vmnet8的設(shè)置的IP網(wǎng)段
DNS1=114.114.114.114
DNS2=8.8.8.8
重啟網(wǎng)絡(luò)生效:
service network restart
命令路徑:/bin/ping 執(zhí)行權(quán)限:所有用戶
作用:測試網(wǎng)絡(luò)的連通性
語法:ping 選項 IP地址
-c 指定發(fā)送次數(shù)
ping 命令使用的是icmp協(xié)議,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路徑:/sbin/ifconfig 執(zhí)行權(quán)限:root
作用:查看和設(shè)置網(wǎng)卡網(wǎng)絡(luò)配置
語法:ifconfig [-a] [網(wǎng)卡設(shè)備標(biāo)識]
-a:顯示所有網(wǎng)卡信息
ifconfig [網(wǎng)卡設(shè)備標(biāo)識] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶
作用:主要用于檢測主機(jī)的網(wǎng)絡(luò)配置和狀況
-a all顯示所有連接和監(jiān)聽端口
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 使用數(shù)字方式顯示地址和端口號
-l (listening) 顯示監(jiān)控中的服務(wù)器的socket
eg:# netstat -tlnu 查看本機(jī)監(jiān)聽的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
協(xié)議 待收數(shù)據(jù)包 待發(fā)送數(shù)據(jù)包 本地ip地址:端口 遠(yuǎn)程IP地址:端口
netstat –antpl
臨時生效:
hostname 主機(jī)名
[圖片上傳失敗...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[圖片上傳失敗...(image-2b9d9e-1624438708893)]
修改主機(jī)名和ip地址之間的映射關(guān)系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置別名
[圖片上傳失敗...(image-ec86cf-1624438708893)]
進(jìn)程和程序的區(qū)別:
1、程序是靜態(tài)概念,本身作為一種軟件資源長期保存;而進(jìn)程是程序的執(zhí)行過程,它是動態(tài)概念,有一定的生命期,是動態(tài)產(chǎn)生和消亡的。
2、程序和進(jìn)程無一一對應(yīng)關(guān)系。一個程序可以由多個進(jìn)程共用;另一方面,一個進(jìn)程在活動中有可順序地執(zhí)行若干個程序。
進(jìn)程和線程的區(qū)別:
進(jìn)程: 就是正在執(zhí)行的程序或命令,每一個進(jìn)程都是一個運(yùn)行的實體,都有自己的地址空間,并占用一定的系統(tǒng)資源。
線程: 輕量級的進(jìn)程;進(jìn)程有獨(dú)立的地址空間,線程沒有;線程不能獨(dú)立存在,它由進(jìn)程創(chuàng)建;相對講,線程耗費(fèi)的cpu和內(nèi)存要小于進(jìn)程。
進(jìn)程管理的作用?
判斷服務(wù)器的健康狀態(tài)
查看系統(tǒng)所有的進(jìn)程
殺死進(jìn)程
作用:查看系統(tǒng)中的進(jìn)程信息
語法:ps [-auxle]
常用選項
查看系統(tǒng)中所有進(jìn)程
ps應(yīng)用實例 # ps -u or ps -l 查看隸屬于自己進(jìn)程詳細(xì)信息
作用: 查看當(dāng)前進(jìn)程樹
語法:pstree [選項]
-p 顯示進(jìn)程PID
-u 顯示進(jìn)程的所屬用戶
作用:查看系統(tǒng)健康狀態(tài)
顯示當(dāng)前系統(tǒng)中耗費(fèi)資源最多的進(jìn)程,以及系統(tǒng)的一些負(fù)載情況。
語法:top [選項]
-d 秒數(shù),指定幾秒刷新一次,默認(rèn)3秒(動態(tài)顯示)
作用:關(guān)閉進(jìn)程
語法:kill [-選項] pId
kill -9 進(jìn)程號(強(qiáng)行關(guān)閉) 常用
kill -1 進(jìn)程號(重啟進(jìn)程)
添加用戶
語法:useradd [選項] 用戶名
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長度8位以上,設(shè)置大小寫加數(shù)字加特殊字符,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號時同時刪除宿主目錄(remove)
作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個分區(qū)的容量、已使用量、未使用量及掛載點(diǎn)等信息??词S嗫臻g
語法:df [-hkam] [掛載點(diǎn)]
-h(human-readable)根據(jù)磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區(qū)的信息,默認(rèn)
-M 以MB為單位顯示信息 -a 顯示所有分區(qū)包括大小為0 的分區(qū)
作用:用于查看文件或目錄的大?。ù疟P使用空間)
語法:du [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統(tǒng)計總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個子文件的大小,默認(rèn)單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區(qū)別:
df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計被命令或者程序占用的空間。
du命令面向文件,只計算文件或目錄占用的空間。
作用:查看內(nèi)存及交換空間使用狀態(tài)
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認(rèn)就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 /proc/sys/vm/drop_caches
大于。在linux中,-gt是大于的意思。-eq是等于的意思。-ne是不等于的意思。-ge是大于等于的意思。-lt是小于的意思。-le是小于等于的意思。腳本簡單地說就是一條條的文字命令。