Linux常用20个命令
?先來看看我在百人計劃學習期間常用到的20個命令
常用命令.png可能剛接觸的時候看到命令并不理解它的含義,但當我知道英文全稱時就明白了。
一、cd:切換目錄(Change directory)
(1)cd ~ 和 cd:返回用戶目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cd ~ [root@izwz94jtz9hbdq165vpxpxz ~]# [root@izwz94jtz9hbdq165vpxpxz app1]# cd [root@izwz94jtz9hbdq165vpxpxz ~]#(2)cd .:停留在當前目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cd . [root@izwz94jtz9hbdq165vpxpxz app1]#(3)cd ..:返回上一級目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cd a[root@izwz94jtz9hbdq165vpxpxz a]# cd ..[root@izwz94jtz9hbdq165vpxpxz app1]#(4)cd ../..:返回上兩級目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cd www[root@izwz94jtz9hbdq165vpxpxz www]# cd carina[root@izwz94jtz9hbdq165vpxpxz carina]# cd ../..[root@izwz94jtz9hbdq165vpxpxz app1]#(5)cd ../目錄A:先返回進入此目錄之前所在的目錄,然后再進入指定的目錄A
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www[root@izwz94jtz9hbdq165vpxpxz www]# ls123.jgp 123.txt a2 carina requests-2.18.1.tar.gz root[root@izwz94jtz9hbdq165vpxpxz www]# cd carina[root@izwz94jtz9hbdq165vpxpxz carina]#cd ../a2[root@izwz94jtz9hbdq165vpxpxz a2]#(6)cd -:返回進入此目錄之前所在的目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cd www[root@izwz94jtz9hbdq165vpxpxz www]# cd -/app1(7)cd 路徑:進入指定目錄
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www[root@izwz94jtz9hbdq165vpxpxz www]#(8)cd /:返回到根目錄
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /[root@izwz94jtz9hbdq165vpxpxz /]#[root@izwz94jtz9hbdq165vpxpxz carina]# cd /[root@izwz94jtz9hbdq165vpxpxz /]?
二、ls:列出目錄下的文件(List files)
ls:列出指定路徑下的所有文件名、時間及讀寫權限(文件詳細信息)
(1)ls -a:顯示所有文件列表(含隱藏文件“.”和“..”)
[root@izwz94jtz9hbdq165vpxpxz www]# ls -a. .. carina carina.tar.gz redis-3.0.7.tar.gz root text1.txt text.tx(2)ls -A:顯示除隱藏文件“.”和“..”以外的所有文件列表
[root@izwz94jtz9hbdq165vpxpxz www]# ls -Acarina carina.tar.gz redis-3.0.7.tar.gz root text1.txt text.txt(3)ls -l:以列表形式顯示文件及文件夾的詳細信息
(從左至右:文件類型、權限、數量、屬主、屬組、大小、修改/訪問時間、文件名)
ll:ls -l的簡寫
[root@izwz94jtz9hbdq165vpxpxz app1]# lltotal 36drwxr-xr-x 2 root root 4096 Jul 14 16:55 adrwxr-xr-x 2 root root 4096 Jul 16 13:43 aadrwxr-xr-x 2 root root 4096 Jul 16 13:47 bdrwxrwxrwx 4 root root 4096 Jul 10 13:29 bakdrwxr-xr-x 2 root root 4096 Jul 16 13:47 cdrwxr-xr-x 2 root root 4096 Jul 16 13:47 ddrwxr-xr-x 4 root root 4096 Jul 4 22:56 testdrwxr-xr-x 4 root root 4096 Jul 10 09:35 wwwdrwxr-xr-x 2 root root 4096 Jul 10 13:02 zyp?
三、mv:移動/重命名 文件或目錄 (Move file)
(語法:mv 源文件 目標文件)
(1)目標文件不是目錄,即重命名 ,如下是將app1文件夾內的a文件夾重命名為a1
(mv 原文件名 新文件名)
(2)目標文件是目錄
- 單文件移動(mv 移動前文件 移動后文件路徑)
- 多文件移動,使用 -t(含文件及文件夾)
(3)將上級目錄的文件 拷貝到當前目錄 (mv ../文件名 ./)
提示:./ 和../ 都是相對地址,./ 是當前目錄,../是上一級目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# lsfile2.txt file3.txt file4.txt file.txt[root@izwz94jtz9hbdq165vpxpxz app1]# cd www[root@izwz94jtz9hbdq165vpxpxz www]# lstest text1.txt text3.txt text.txt[root@izwz94jtz9hbdq165vpxpxz www]# mv ../file.txt ./[root@izwz94jtz9hbdq165vpxpxz www]# lsfile.txt test text1.txt text3.txt text.txt[root@izwz94jtz9hbdq165vpxpxz www]# cd ..[root@izwz94jtz9hbdq165vpxpxz app1]# lsfile2.txt file3.txt file4.txt?
四、mkdir:創建目錄(Make directory )
(需注意相對路徑和絕對路徑)
(1)在目錄名前沒有加任何路徑名,則在當前目錄下創建
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir a(2)在目錄名前有一個已經存在的路徑,將會在該目錄下創建
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1 [root@izwz94jtz9hbdq165vpxpxz app1]# mkdir aa(3)創建多級目錄及多文件夾,使用 -p(文件夾之間用空格隔開)
(若上層目錄沒找到,則會一并創建)
若不使用 -p,文件夾創建會失敗
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir test/test1 test2 test3 mkdir: cannot create directory ‘test/test1’: No such file or directory(4)創建多目錄下的單個文件,也可以使用 --parents
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir --parents /a2/a [root@izwz94jtz9hbdq165vpxpxz ~]# cd /a2 [root@izwz94jtz9hbdq165vpxpxz a2]# ls a(5)創建帶權限的文件夾,使用 -m
- 目錄已存在,創建成功
- 目錄不存在,創建失敗
此時需要使用 -p-m
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir -p -m 700 /a3/a/aa注意事項:
在創建目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名
?
五、cat:顯示文件的內容 (Concatenate)
(1)輸出多個文件內容
[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt hello world /*text1.txt內容*/ dgdfgfhfdgh /*text.txt內容*/(2)將2個文件合并新文件
[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt > text2.txt[root@izwz94jtz9hbdq165vpxpxz www]# lstext1.txt text2.txt text.txt[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txthello worlddgdfgfhfdgh注:若新文件有內容,則原數據會被清空,因此需要小心操作
[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txttesttesttedgdkljsdhfkld[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text3.txt > text2.txt[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txthello worldhihihihihihi(3)將file1.txt追加到file2.txt的末尾(>> 表示將文本流追加到另一個文件的末位)
cat file1.txt >> file2.txt
(4)文件夾不能合并
[root@izwz94jtz9hbdq165vpxpxz app1]# ls a1 a2 [root@izwz94jtz9hbdq165vpxpxz app1]# cat a1 a2 a3 cat: a1: Is a directory cat: a2: Is a directory cat: a3: No such file or directory?
六、find:在指定目錄下查找文件
find 目錄 參數
(1)單文件匹配
(2)多文件匹配(目錄下以.txt結尾的文件、含字母a的文件) : 使用 -o
[root@izwz94jtz9hbdq165vpxpxz ~] /app1/www/a2 /app1/www/root/carina /app1/www/root/carina/a /app1/www/root/carina/a/test.txt /app1/www/text3.txt /app1/www/text1.txt /app1/www/text.txt /app1/www/carina /app1/www/carina/aa /app1/www/carina/carina /app1/www/carina/carina/a2 /app1/www/carina/carina/a1 /app1/www/carina/carina/a3(3)查找除XX外的: **使用 "!" or "-not" **
如查找app1文件夾下www文件夾,文件名不含a
find /app1/www ! -name "*a*"查找當前目錄下 文件不含a的信息
[root@izwz94jtz9hbdq165vpxpxz ~]#find /app1/www -maxdepth 1 -not -name "*a*"(4)查找文件,忽略大小寫 :使用 -i
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -iname "*test*"/app1/www/a2/test/app1/www/test/app1/TEST /*大寫文件夾*/(5)只查找某層目錄下含XX的文件(夾):使用 mindepth 和 maxdepth
“-maxdepth 1” :限制只查找1層目錄深度,當前目錄即為1層
查找當前目錄下,含test的文件及文件夾
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 1 -name "*test*" /app1/test1.txt /app1/zyptest /app1/test如下 “ /app1/www/ ” 即為1層目錄深度
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -maxdepth 1 -name "*test*" /app1/www/test查找當前目錄 及其 1層深的子目錄中,含test的文件及文件夾,即 maxdepth 2
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 2 -name "*test*" /app1/www/test /app1/test1.txt /app1/zyptest /app1/test在第1層子目錄和第2層子目錄之間查找文件(第一層子目錄就是2層目錄)
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -mindepth 2 -maxdepth 3 -name "*test*"/app1/www/a2/test/app1/www/test(6)查找空文件(-empty)
只列出當前目錄下的非隱藏空文件
[root@izwz94jtz9hbdq165vpxpxz ~](7)查找指定文件類型的文件 (-type)
查找指定目錄下的所有目錄 -type d
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type d/app1/www/app1/www/a2/app1/www/a2/test/app1/www/root/app1/www/root/carina/app1/www/root/carina/b/app1/www/root/carina/a/app1/www/carina/app1/www/carina/aa查找指定目錄下的所有文件 -type f
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type f/app1/www/root/carina/config.xml/app1/www/requests-2.18.1.tar.gz/app1/www/text.txt/app1/www/123.jgp?
七、pwd:以絕對路徑的方式顯示用戶當前工作目錄
Print working directory
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www [root@izwz94jtz9hbdq165vpxpxz www]# pwd /app1/www?
八、rm -參數:刪除N個文件或整個目錄
使用rm命令要格外小心。因為一旦刪除了一個文件,就無法再恢復。
建議用-i選項,刪除時會有提示
注:rm不能刪除文件夾
[root@izwz94jtz9hbdq165vpxpxz /]# rm app3rm: cannot remove ‘app3’: Is a directoryrm -r(或rm -R):刪除當前目錄下除隱含文件外的所有文件和子目錄
應注意,這樣做是非常危險的!
[root@izwz94jtz9hbdq165vpxpxz app21]# ls -a . .. a3 redis-3.0.7.tar.gz text1.txt [root@izwz94jtz9hbdq165vpxpxz app21]# cd .. [root@izwz94jtz9hbdq165vpxpxz app2]# rm -r app21 rm: descend into directory ‘app21’? y /*輸入y刪除*/ rm: remove regular empty file ‘app21/text1.txt’? y rm: descend into directory ‘app21/a3’? y rm: remove regular empty file ‘app21/a3/a3.png’? y rm: remove regular empty file ‘app21/a3/a3.txt’? y rm: remove directory ‘app21/a3’? y rm: remove regular empty file ‘app21/redis-3.0.7.tar.gz’? y rm: remove directory ‘app21’? y [root@izwz94jtz9hbdq165vpxpxz app2]# ls -a . ..rm -(r)f:強制刪除,f 可理解為force
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/aa [root@izwz94jtz9hbdq165vpxpxz aa]# ls aa1 [root@izwz94jtz9hbdq165vpxpxz aa]# cd .. [root@izwz94jtz9hbdq165vpxpxz app1]# rm -rf aa [root@izwz94jtz9hbdq165vpxpxz app1]#刪除某個目錄下所有帶有test的文件夾及文件
- 結合find命令刪除:
語法解析
-exec 找到后執行命令rm -rf {} 就是刪除文件\; 命令 屬于格式要求的,沒有具體含義舉例
[root@izwz94jtz9hbdq165vpxpxz ~]/app1/www/test1.txt/app1/www/test/app1/test.txt/app1/zyptest/app1/test[root@izwz94jtz9hbdq165vpxpxz ~]find: ‘/app1/www/test’: No such file or directory /*文件已被刪除所以會提示找不到*/find: ‘/app1/zyptest’: No such file or directoryfind: ‘/app1/test’: No such file or directory[root@izwz94jtz9hbdq165vpxpxz ~][root@izwz94jtz9hbdq165vpxpxz ~]#?
九、touch:創建新的空文件
(用ls-l查看文件大小為0)
[root@izwz94jtz9hbdq165vpxpxz www]# touch text.txt [root@izwz94jtz9hbdq165vpxpxz www]# ls -l total 0 -rw-r--r-- 1 root root 0 Jul 16 17:02 text.txt批量創建文件
[root@izwz94jtz9hbdq165vpxpxz a1]# touch a{1..10}.text[root@izwz94jtz9hbdq165vpxpxz a1]# lsa10.text a1.text a2.text a3.text a4.text a5.text a6.text a7.text a8.text a9.text?
十、cp:復制文件/目錄(Copy file)
(1)默認情況下,cp命令不能復制目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# cp a1 /app2 cp: omitting directory ‘a1’如果要復制目錄,則必須使用-R選項
- 目標目錄存在,直接復制
-
目標目錄不存在,先自動創建目標目錄再復制源目錄
[root@izwz94jtz9hbdq165vpxpxz app1]# ls test www zyp [root@izwz94jtz9hbdq165vpxpxz app1]# cd www [root@izwz94jtz9hbdq165vpxpxz www]# ls 123.jgp a2 carina root text1.txt text3.txt text.txt [root@izwz94jtz9hbdq165vpxpxz www]# cp -R carina /app1/zyptest /*拷貝到不存在的目錄*/ [root@izwz94jtz9hbdq165vpxpxz www]# cd .. [root@izwz94jtz9hbdq165vpxpxz app1]# ls test www zyp zyptest /*目錄創建成功*/
(2)復制文件
[root@izwz94jtz9hbdq165vpxpxz www]# cp text1.txt /app1/c[root@izwz94jtz9hbdq165vpxpxz www]# find / -name "text1.txt"/app1/www/text1.txt/app1/c/text1.txt絕對路徑:[root@izwz94jtz9hbdq165vpxpxz ~]# cp /app1/www/text1.txt /app1/c(3)復制文件并重命名文件
如下將www文件夾下的text1.txt 復制到目錄 /app1,并改名為text.txt
(4)復制特定類型的文件
[root@izwz94jtz9hbdq165vpxpxz www]# ls123.txt carina text1.txt text3.txt text.txt[root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak[root@izwz94jtz9hbdq165vpxpxz www]# cd /app1/bak[root@izwz94jtz9hbdq165vpxpxz bak]# lstext1.txt text3.txt text.txt復制前可能已經有文件存在了,那么不想進行每個選項都輸入 y 確認的話,需要在 cp 前加 \,沒有空格
[root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak cp: overwrite ‘/app1/bak/text1.txt’? y cp: overwrite ‘/app1/bak/text3.txt’? y cp: overwrite ‘/app1/bak/text.txt’? y[root@izwz94jtz9hbdq165vpxpxz www]# \cp t*.txt /app1/bak /*沒有提示按y*/ [root@izwz94jtz9hbdq165vpxpxz www]#?
十一、vi:修改文件內容
先按鍵盤字母I,編輯內容后,保存(按esc鍵后輸入:wq)
[root@izwz94jtz9hbdq165vpxpxz www]# vi text.txt dgdfgfhfdgh?
十二、echo:創建/覆蓋文件
(1)使用>指令
若文件不存在則創建文件
(2)若文件存在,覆蓋文件原內容并重新輸入內容
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text hello hello [root@izwz94jtz9hbdq165vpxpxz a1]# echo 'hi hi' > hh.text [root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text hi hi(2)使用 >>,向文件追加內容,原內容不變
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text hello world [root@izwz94jtz9hbdq165vpxpxz a1]# echo 'yeah yeah' >> hw.text [root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text hello world yeah yeah?
十三、tar:文件打包、解壓(Tape archive)
(1)文件打包:tar -zcvf 打包名 文件
[root@izwz94jtz9hbdq165vpxpxz www]# ls 123.txt a2 carina requests-2.18.1.tar.gz text1.txt text3.txt text.txt [root@izwz94jtz9hbdq165vpxpxz www]# tar -zcvf text.tar.gz 123.txt a2 text1.txt 123.txt a2/ text1.txt [root@izwz94jtz9hbdq165vpxpxz www]# ls 123.txt a2 carina requests-2.18.1.tar.gz text1.txt text3.txt text.tar.gz text.txt(2)文件解壓:tar -zxvf 文件名
[root@izwz94jtz9hbdq165vpxpxz app1]# tar -zxvf text.tar.gz?
十四、scp:遠程拷貝文件(secure copy)
(1)將本地的文件上傳到遠程服務器上
相對路徑下,scp 文件名 用戶名@ip:服務器絕對路徑目錄 (分號后面無空格)
絕對路徑:
scp /app/software/www/text.txt root@29.118.65.136:/app1/bak若是上傳目錄,需要使用 -r
scp -r /app/software/www root@29.118.65.136:/app1/bak(2)將遠程服務器上的文件/目錄拷貝到本地
scp -r 用戶名@ip:服務器絕對路徑目錄 絕對路徑本地目錄
注意點:
- 使用scp需要注意所使用的用戶是否具有可讀取遠程服務器相應文件的權限
- 如果遠程服務器防火墻有特殊限制,scp便要走特殊端口,具體用什么端口視情況而定,命令格式如下:
scp -p 端口號 remote@www.abc.com:/usr/local/sin.sh /home/administrator
轉載于:https://www.cnblogs.com/create-and-orange/p/11193299.html
總結
以上是生活随笔為你收集整理的Linux常用20个命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入探究 Win32 PE 文件格式
- 下一篇: script学习,如何用linux监控你