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