測試工作中經常用到的一丟Linux命令

我是冰霜發表於2017-05-12

自己平時測試工作中經常要在Linux下搭建測試環境,有涉及到啟動/終止伺服器,修改tomcat配置檔案,偶爾碰到埠被佔用。。。

這時就不得不需要一些基本的Linux命令來處理遇到的這些問題

1.cd命令

用於切換目錄(可以一級一級地切換,也可以一次性切換到指定目錄)

[han@56 ~]$ cd shipping/
[han@56 ~]$ cd shipping/apache-tomcat-7.0.55/bin/
[han@56 ~]$ cd ..        返回上一級目錄
[han@56 ~]$ cd /         返回根目錄

2.ls命令

顯示當前目錄中有哪些檔案

[han@56 ~]$ ls
2017-03-27_all.log  gold  shipping  test

[han@56 ~]$ ls -a      顯示所有檔案,包括隱藏檔案(前面帶有"."的檔案)
.   2017-03-27_all.log  .bash_history  .bashrc  .java     shipping  test
..  .ansible            .bash_profile  gold     .lesshst  .ssh      .viminfo

[han@56 ~]$ ls -l       顯示檔案的詳細資訊
總用量 276
-rw-r--r--. 1 hanmengkai Default 269527 3月  27 16:41 2017-03-27_all.log
drwxr-xr-x. 4 hanmengkai Default   4096 3月   2 09:41 gold
drwxr-xr-x. 3 hanmengkai Default   4096 3月   1 18:58 shipping
drwxr-xr-x. 3 hanmengkai Default   4096 5月  12 13:56 test

3.mkdir命令

建立目錄  

[han@56 test]$ mkdir kk     在當前目錄下建立一個新目錄
[han@56 test]$ mkdir qq aa   同時建立多個目錄
[han@56 test]$ mkdir -p kk/mk   加上-p引數,就可以在某個目錄下建立一個新目錄

4.rm命令

刪除檔案或目錄

[han@56 test]$ rm sh.xml        刪除一個檔案(後跟檔名)
[han@56 test]$ rm -i ssa.xml      加上引數-i,刪除前會詢問是否刪除
rm:是否刪除普通檔案 "ssa.xml"?

[han@56 test]$ rm -i *.log          刪除任何.log檔案;刪除前逐一詢問確認
rm:是否刪除普通空檔案 "1.log"?n
rm:是否刪除普通空檔案 "2.log"?n
rm:是否刪除普通空檔案 "3.log"?n

[han@56 test]$ rm -r kk       加上引數-r,表示刪除目錄kk

[han@56 test]$ rm -ri qq     將qq目錄及目錄中檔案刪除,(不加i引數,則不會詢問)
rm:是否進入目錄"qq"? y
rm:是否進入目錄"qq/qq"? y
rm:是否刪除目錄 "qq/qq/km"?y
rm:是否刪除目錄 "qq/qq/mk"?y

刪除一個目錄及其中的子目錄,不作詢問
rm -rf -f 就是直接強行刪除

5.cp命令

複製檔案或目錄

cp [選項]... 源... 目的

[han@56 test]$ cp 1.log aa/    將1.log檔案複製到aa目錄下
[han@56 test]$ cp -r aa/ ccvv/ 將aa目錄及目錄中的內容複製到ccvv目錄下 [han@56 test]$ cp -a 1.log 2.log 複製(備份)一個1.log檔案,新檔案的名字為2.log [han@56 test]$ cp aa/1.log sh/ 將aa目錄下的1.log檔案複製到sh目錄下

6.tar命令

可以把一堆檔案或目錄打包成一個檔案,即可以打包、壓縮、解壓

語法:tar  引數  打包壓縮後檔名  需要打包的檔案/目錄名
常用引數:-c  打包
         -x  從壓縮包中提取檔案
         -v  顯示操作過程
         -f   指定壓縮/解壓檔名
         -z   打包同時壓縮/解壓縮

[han@56 test]$ tar -cvf log.tar 1.log 2.log 3.log     將3個log檔案打成tar包,命名為log.tar
han@56 test]$ tar -xvf log.tar    解包

[han@56 test]$ tar -zcvf log.tar.gz 1.log 2.log 3.log     將3個log檔案打成tar包並以gzip格式壓縮,命名為log.tar.gz

[han@56 aa]$ tar -zxvf log.tar.gz     將log.tar.gz解壓至當前資料夾
[han@56 aa]$ tar -zxvf log.tar.gz 1.log   只將壓縮包中的1.log檔案解壓出來

[han@56 aa]$ tar -ztvf log.tar.gz    檢視log.tar.gz中的檔名稱(引數t)
-rw-r--r-- hanmengkai/Default 7 2017-05-12 15:34 1.log
-rw-r--r-- hanmengkai/Default 0 2017-05-12 15:15 2.log
-rw-r--r-- hanmengkai/Default 0 2017-05-12 15:15 3.log

[han@56 aa]$ tar -zxvf log.tar.gz -C  wq/   -C引數可以將壓縮包解壓至指定的目錄(這裡指定的wq目錄)

7.true命令

清空檔案中的內容  

[han@56 aa]$ true >catalina.out  這樣就把檔案中的內容清空了(可以在檢視日誌的時候用,先清空已存在日誌,再重新打出日誌,這樣看起來眼睛就不容易瞎了。。。)

8.zip命令

壓縮伺服器上當前目錄的內容為xxx.zip檔案

zip -r xxx.zip ./*

             解壓zip檔案到當前目錄

unzip filename.zip

9.檢視檔案內容

(1)動態檢視日誌檔案

[root@host-172-17-16-183 logs]# tail -f catalina.out

(2)檢視檔案的後100行

[root@host-172-17-16-183 logs]# tail -n 100 catalina.out 
加上-n引數,100表示看後100行

 10.vi命令編輯檔案時的常用操作

(1)vi + 檔名進入檔案後,先別切換至編輯模式,輸入“:n”可以定位至第n行

(2)vi + 檔名進入檔案後,先別切換至編輯模式,輸入“dd”可以刪除游標所在的那一行內容

(3)檢視檔案中包含某個字元

首先使用vi開啟檔案,然後輸入/,斜槓後輸入要查詢的字元即可,如下

 

11.查詢一個檔案所在的位置

find命令

[root@host-172-17-16-183 logs]# find / -name nginx.conf  在根目錄下查詢nginx.conf檔案
[root@host-172-17-16-183 logs]# find /etc -name '*srm*'  #使用萬用字元*(0或者任意多個)。表示在/etc目錄下查詢檔名中含有字串‘srm’的檔案
[root@host-172-17-16-183 logs]# find . -name 'srm*'   #表示當前目錄下查詢檔名開頭是字串‘srm’的檔案

 12.檢視linux版本資訊的一批命令

[root@localhost ~]# uname -a   #顯示電腦以及作業系統的相關資訊
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /proc/version #核心版本 Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[root@localhost ~]# cat /etc/issue #發行版本資訊 \S Kernel \r on an \m
[root@localhost ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.3.1611 (Core) Release: 7.3.1611 Codename: Core [root@localhost ~]#

13.vi模式下快速移動到行首或行尾

開啟檔案,不進入插入模式(不進入insert模式)
移動至行首:【Shift】
+^(對應鍵盤上的數字6上面的符號) 移動至行尾:【Shift】+$(對應鍵盤上的數字4上面的符號)

 14.vi模式下批量修改一個檔案中的字串(比如把一個配置檔案中的一個ip改為另一個ip)

 檔案內全部替換:
首先vi開啟一個檔案,然後使用如下命令
 :%s#localhost#192.168.0.11#g (如檔案內有#,可用/替換,:%s/localhost/192.168.0.11/g)
  --注:把localhost替換成192.168.0.11
 
15.檔案解壓後,撤銷解壓
zip

zipinfo -1 xx.zip | xargs rm -rf

tar

tar -tf xx.tar | xargs rm -rf

 16.把一臺伺服器的檔案複製到另一臺伺服器

1、複製檔案 
格式: 
scp 目錄/檔名.檔案格式 目標伺服器使用者名稱@ip地址:目標伺服器目錄 
scp /u01/xxx.war 賬號@ip:/u01/xx 2、複製目錄(包括目錄下的檔案) scp -r /u01/weblogic 賬號@ip:/u01/weblogic

 

 

相關文章