作者:geshan 來源丨格姍知識圈 Linux是我們開發(fā)人員必不可少的系統(tǒng),也是經(jīng)常接觸到的。然而,Linux命令比較多,有些不常用也難記住。那么,我們?nèi)绾胃咝У氖褂肔inux命令,而又不必全面地學(xué)習(xí)呢?今天就給大家分享一下我在開發(fā)過程中,比較常用、也比較實用的Linux命令。 01 查看文件或日志 查看文件內(nèi)容或日志文件, 相信幾乎所有人都會接觸到。其中,用得最多的就是head、tail和cat命令。 1、head 表示頭部,查看最前面幾行數(shù)據(jù)。 命令說明 head test.log查看test.log文件前幾行日志內(nèi)容 head -n 20 test.log 查看test.log文件前20行日志內(nèi)容 head -n -20 test.log查看test.log除了最后20行日志內(nèi)容 2、tail 表示尾部,查看最后幾行或?qū)崟r日志。 命令說明 tail -f test.log實時查看test.log文件最后幾行日志內(nèi)容 tail -f -n 20 test.log實時查看test.log文件最后20行日志內(nèi)容 tail -n 20 test.log查看test.log文件最后20行日志內(nèi)容 tail -n +20 test.log查看test.log文件20行后的所有日志內(nèi)容 3、cat 用于查看文件內(nèi)容。 命令說明 cat test.log查看test.log文件所有內(nèi)容 02 本地復(fù)制 同一臺服務(wù)器不同目錄之間復(fù)制文件或目錄也是經(jīng)常用到的。 1、復(fù)制文件 命令說明 cp test.log /home/geshan/logs復(fù)制test.log文件到/home/geshan/logs/目錄下 cp test.log /home/geshan/logs/cptest.log復(fù)制test.log文件到/home/geshan/logs/目錄下并重新命名為cptest.log 2、復(fù)制文件夾 命令說明 cp -r logs/ /home/geshan/復(fù)制 logs目錄及目錄下所有文件到/home/geshan/目錄下,此時該目錄會有l(wèi)ogs目錄 cp -r logs/ /home/geshan/testlogs/復(fù)制 logs目錄及目錄下所有文件到/home/geshan/testlogs/目錄下,并把logs目錄重新命名為testlogs,前提是/home/geshan/目錄沒有testlogs目錄 注:-r或-R表示循環(huán),循環(huán)目錄下所有文件和目錄。下面所有命令也是如此。 03 遠(yuǎn)程復(fù)制 當(dāng)我們需要從遠(yuǎn)程服務(wù)器復(fù)制某個文件或目錄到本地登錄的服務(wù)器時,大部分人想到先登錄遠(yuǎn)程服務(wù)器下載該文件,然后再登錄本地服務(wù)器再上傳文件。這樣是比較麻煩,效率也不高。 1、本地服務(wù)器復(fù)制到遠(yuǎn)程服務(wù)器 (1)復(fù)制文件 命令格式 命令1scp local_file remote_username@remote_ip:remote_folder 命令2scp local_file remote_username@remote_ip:remote_file 命令3scp local_file remote_ip:remote_folder 命令4scp local_file remote_ip:remote_file 第1,2個指定了用戶名,命令執(zhí)行后需要輸入用戶密碼,第1個僅指定了遠(yuǎn)程的目錄,文件名字不變; 第2個指定了文件名 ; 第3,4個沒有指定用戶名,命令執(zhí)行后默認(rèn)與當(dāng)前服務(wù)器用戶名并需要輸入用戶密碼,第3個僅指定了遠(yuǎn)程的目錄,文件名字不變,第4個指定了文件名。 實例1: 從本地服務(wù)器復(fù)制test.log至192.168.130.130服務(wù)器的/home/geshan/目錄,并重新命名為20190125.log 命令: scp test.log root@192.168.130.130:/home/geshan/20190125.log 實例2: 從本地服務(wù)器復(fù)制test.log至192.168.130.130服務(wù)器的/home/geshan/目錄 命令: scp test.log root@192.168.130.130:/home/geshan/ (2) 復(fù)制目錄 命令格式 命令1scp -r local_folder remote_username@remote_ip:remote_folder 命令2scp -r local_folder remote_ip:remote_folder 第1個指定了用戶名,命令執(zhí)行后需要輸入用戶密碼; 第2個沒有指定用戶名,命令執(zhí)行后需要輸入用戶名和密碼。 實例:從本地服務(wù)器/home/appuser/目錄下的tomcat目錄復(fù)制到192.168.130.130服務(wù)器的/home/geshan/目錄 命令: scp -r /home/appuser/tomcat root@192.168.130.130:/home/geshan/ 2、從遠(yuǎn)程服務(wù)器復(fù)制到本地服務(wù)器 從遠(yuǎn)程復(fù)制到本地的scp命令與上面的命令雷同,只要將從本地復(fù)制到遠(yuǎn)程的命令后面2個參數(shù)互換順序就行了。 (1)復(fù)制文件 實例:從192.168.130.130遠(yuǎn)程服務(wù)器的/home/geshan/路徑下test.log文件復(fù)制到本地服務(wù)器/home/appuser/路徑 命令: scp root@192.168.130.130:/home/geshan/test.log /home/appuser/ (2)復(fù)制目錄 實例:從192.168.130.130遠(yuǎn)程服務(wù)器的/home/geshan/路徑下tomcat文件夾復(fù)制到本地服務(wù)器/home/appuser/路徑 命令: scp -r root@192.168.130.130:/home/geshan/tomcat/ /home/appuser/ 注:ip地址和路徑之間(即冒號之間)沒有任何空格,否則會報錯。當(dāng)?shù)谝淮魏土硗庖慌_服務(wù)通信(如復(fù)制文件),會提示是否信任,輸入yes即可。 04 壓縮和解壓 壓縮和解壓文件也是經(jīng)常遇到的。如果下載一個目錄下的所有文件,可以直接下載這個目錄,但是直接下載目錄的話,文件一旦很多,下載過程中很容易丟失文件,下載速度也比較慢。一般情況下是先壓縮文件夾再下載。下面給大家介紹四種壓縮和解壓命令。 1、tar命令 解壓: tar zxvf fileName.tar 壓縮: tar czvf fileName.tar folder/ 實例: 解壓一個log.tar文件: tar zxvf log.tar 壓縮log目錄并命名為log.tar: tar czvf log.tar log/ 2、gz命令 壓縮: gzip FileName 注:壓縮為 .gz 文件 源文件會消失 如果想保留源文件,使用下面命令 gzip -c 源文件 > 壓縮文件 解壓: gunzip FileName.gz 或者 gzip -d FileName.gz .tar.gz 和 .tgz 解壓: tar zxvf FileName.tar.gz 壓縮: tar zcvf FileName.tar.gz DirName 壓縮多個文件: tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ... 實例: 解壓tomcat.tar.gz文件 tar zxvf tomcat.tar.gz 壓縮tomcat目錄,并命名為tomcat.tar.gz文件 tar zcvf tomcat.tar.gz tomcat/ 3、zip命令 解壓: unzip fileName.zip 壓縮: zip -r fileName.zip folder/ 或者 zip -r fileName.zip folder1/ folder2/ ..... 或者 zip -r fileNamezip file1 file2 ... 注:壓縮目錄時,需加 -r ,表示循環(huán)該目錄下所有文件和目錄。壓縮多個文件或目錄時,文件或目錄之間需要空格。 實例: 解壓一個log.zip文件: unzip log.zip 壓縮log文件目錄并命名為log.zip: zip -r log.zip log/ 壓縮log1和log2目錄并命名為log.zip: zip -r log.zip log1/ log2/ 壓縮test1.log和test2.log文件并命名為log.zip: zip log.zip test1.log test2.log 4、rar命令 同理,和zip命令類似,只需把zip改為rar即可。 05 修改權(quán)限 Linux系統(tǒng)中文件和目錄訪問權(quán)限是不同的,通過些方式可以確定誰可以對該文件和目錄進行相應(yīng)的操作。 其中,文件或目錄的訪問權(quán)限分為只讀,只寫和可執(zhí)行三種,分別代表可讀、可寫和可執(zhí)行。 1、chgrp命令 改變文件或目錄所屬的組。 命令: chgrp groupName fileName 或者 chgrp -R groupName dirName/ 實例: 把test.log文件所屬的組修改為geshan組 chgrp geshan test.log 把logs目錄及該目錄下所有文件所屬的組修改為geshan組 chgrp -R geshan logs/ 2、chown命令 更改某個文件或目錄所屬的用戶。 命令: chown userName fileName 或者 chown -R userName dirName/ 實例: 把test.log文件所屬用戶修改為geshan用戶 chown geshan test.log 把logs目錄及該目錄下所有文件所屬用戶修改為geshan用戶 chown -R geshan logs/ 3、chmod命令 用于改變文件或目錄的訪問權(quán)限。用戶用它控制文件或目錄的訪問權(quán)限。 命令: chmod mode fileName 或者 chmod -R mode dirName/ 其中,mode有很多種表示含義,下面只對數(shù)字說明。 大部分人看到mode有777或776等權(quán)限,這些表示什么呢? 為了方便,把mode改為abc,其中a,b,c各為一個數(shù)字,分別表示user、group及other的權(quán)限。r=4,w=2,x=1,r表示Read讀,w表示W(wǎng)rite寫,x表示eXecute。 若要rwx屬性則4+2+1=7; 若要rw-屬性則4+2=6; 若要r-x屬性則4+1=5。 實例: 把test.log文件修改可讀寫執(zhí)行(即777)操作。 chmod 777 test.log 把logs目錄及目錄下所有文件修改為讀寫(666)操作。 chmod -R 666 logs/ 在Linux系統(tǒng)中輸入ll(兩個小寫LL),如果文件或目錄為777(讀寫執(zhí)行)權(quán)限,可看到最前面為-rwxrwxrwx。如果為666(讀寫)權(quán)限,可看到最前面為-rw-rw-rw。 注:一般修改文件或目錄權(quán)限需要超級用戶(root)進行修改,否則可能會報權(quán)限不足。 這些Linux命令是比較常用實用的命令,肯定會有用得到的時候,記得收藏并轉(zhuǎn)發(fā)給有需要的人哦。 - End - |
|