自己平時測試工作中經常要在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