項目實施中常用的Linux命令

   目前,公司的項目實施中用到的操作系統多數爲Linux,因此,爲了增加大家對Linux的瞭解,快速熟悉常用的Linux命令,特編寫本文檔。
 
1. 文件操作
#切換當前目錄到/web
cd /web 
 
#顯示當前目錄的全路徑
pwd 
 
#顯示當前目錄下的文件和目錄
ls 
 
#顯示當前目錄下的所有文件和目錄,包括隱藏文件和目錄
ls -a 
 
#以列表形式顯示當前目錄下的文件和目錄,能夠查看文件的權限狀況、擁有者、大小及最後修改時間
ls -l 
 
#創建文件
>1.txt
 
#創建目錄
mkdir test
 
#重命名
mv 1.txt 2.txt
 
#移動文件到/tmp目錄下
mv 1.txt /tmp/
 
#將1.txt複製成2.txt
cp 1.txt /tmp/2.txt
 
#刪除文件,刪除之前會要求確認
rm 1.txt
 
#刪除目錄,會遞歸刪除目錄下的子目錄及文件,刪除前會要求確認
rm -r test
 
#直接刪除1.txt
rm -f 1.txt 
 
#直接刪除目錄及目錄下的子目錄、文件
rm -rf test 
 
 
#遞歸列出當前目錄的所有子目錄及文件
find .  #輸出結果以.開頭
 
#遞歸列出/web目錄的所有子目錄及文件
find /web #輸出結果爲全路徑
 
#查找/web目錄下文件名以.sql結尾的文件
find /web -name '*.sql'
 
#查找當前目錄下100天之內修改過的文件
find . -mtime -100 
 
#刪除所有.sql文件
find .-name '*.sql'|xargs rm -rf
 
2. 文本顯示
#顯示文本文件內容,進入命令後,回車顯示下一行,空格顯示下一屏
more 1.txt 
 
#從第2000行開始顯示文本文件,在操作日誌時很有用
more +2000 1.txt 
 
在輸入more命令顯示文本文件後,可以輸入如下字符執行相應操作:
h :獲得幫助
/ : 執行正則表達式搜索,例如輸入/zving,則會從當前行開始搜索zving,如果有搜索到,則跳到相應行
= : 顯示當前行號
 
#顯示文件的後10行
tail 1.txt
 
#顯示文件的後100行
tail -n 100 1.txt
 
#顯示文件的末尾,如果文件有追加內容,則自動輸出追加的內容,常用於監視日誌文件
tail -f catalina.out
 
#將1.txt中含有zving的行輸出
grep zving 1.txt
 
#將1.sql中以create開頭的行輸出,不區分大小寫
grep -i ^create 1.sql
 
#查找結果分屏顯示
grep zving 1.txt|more
 
#查找結果輸出到臨時文件
grep Exception catalina.out>tmp.txt
 
#統計文本文件的行數
wc -l 1.txt
 
#統計查找結果
grep zving 1.txgt|wc -l
 
 
3. 文本編輯
#編輯文本文件
vi 1.txt
進入vi後,默認是指令模式,在指令模式中按i可以進入輸入模式,在輸入模式下按ESC可以進入指令模式。兩種模式下都可以用上下左右移動光標。
輸入模式操作很簡單,就是在當前光標位置輸入文本,按退格鍵刪除文本。
指令模式下則有很多命令,常用的有:
dd #刪除當前行
/pattern #從光標開始處向文件尾搜索pattern(正則表達式)
?pattern #從光標開始處向文件首搜索pattern(正則表達式)
n #在同一方向重複上一次搜索命令
N #在反方向上重複上一次搜索命令
:s/p1/p2/g #將當前行中所有p1均用p2替代
:n1,n2s/p1/p2/g #將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g #將文件中所有p1均用p2替換
:w #保存
:x #保存並退出
:q #退出
:q! #不保存強制退出
 
 
4. 用戶和權限操作
       所有項目包括澤元自己的服務器都不允許直接使用root操作,即使得到root密碼後也要建立zving賬號,併爲zving賬號授權。常見的操作有:
#增加zving賬號
useradd zving 
 
#刪除zving賬號
userdel zving
 
#修改zving密碼
passwd zving
 
#將tomcat的目錄的擁有者設爲zving
chown -R zving /usr/tomcat 
 
#將項目web目錄的擁有者設爲zving
chown -R zving /web/zcms
 
#某些項目使用了apache或者nginx做http服務器,爲了使zving用戶也能修改相應的配置文件,需要修改文件擁有者
chown -R zving /etc/httpd 
 
#給文件加可執行權限,shell腳本需要加可執行權限後才能執行
chmod +x startup.sh
 
#給目錄下及其子目錄下的所有文件加可執行權限
chmod -R +x test 
 
以上命令中的目錄名需要根據實際情況靈活調整,參數-R表示遞歸設置
 
#當前用戶切換成zving,如果是root用戶則不需要輸入zving密碼,其他用戶則需要輸入密碼才能切換
su zving  #exit命令可以返回原來的用戶
 
#切換成oracle用戶,環境變量和工作目錄都切換成oracle用戶的
su -l oracle
 
5. 第三方軟件
#啓動apache
apachectl -k start
 
#關閉apache
apachectl -k stop
 
#重啓apache
apachectl -k restart
 
#啓動tomcat,注意,不能使用root用戶啓動,要求新建zving用戶,使用zving用戶來啓動tomcat
/usr/tomcat/bin/startup.sh 
 
#關閉tomcat
/usr/tomcat/bin/shutdown.sh
有時候shutdown.sh不能正常關閉tomcat,需要先使用ps aux|grep java找到tomcat對應的pid,然後使用kill -9 pid強制關掉進程
要注意不要在server.conf中有指向webapps目錄下的context節點,否則會導致文件訪問衝突,解決方式是將應用從webapps下移到外面,並修改server.conf
 
#啓動mysql
/etc/init.d/mysqld start  #有些系統上是mysqld得換成mysql
 
#停止mysql
/etc/init.d/mysqld stop  #有些系統上是mysqld得換成mysql
 
#重啓mysql
/etc/init.d/mysqld restart  #有些系統上是mysqld得換成mysql
 
#oracle的sqlplus操作,一般需要切換到oracle用戶(使用su -l oracle)
sqlplus /as sysdba  #以dba身份進入oracle
進入sqlplus後使用startup啓動數據庫,shutdown immediate關閉數據庫
 
#oracle監聽器操作
lsnrctl  #進入命令後可以使用status查看監聽了哪些實例
 
6. 系統命令
#顯示所有進程
ps aux
 
#顯示所有java進程
ps aux|grep java
ps命令輸出結果的第2列即爲進程的pid
 
#殺掉進程
kill -9 pid
 
#讓java進程輸出線程信息
kill -3 pid
 
#顯示test目錄下的所有文件的大小的合計
du -hs test
 
#顯示所有分區的使用情況
df -h
 
#動態顯示所有進程的資源使用情況
top
 
#內存\CPU\進程統計信息
vmstat
其中第1列"r"表示有多個進程正在進行,第二列"b"表示有多少進程被阻塞,"us"列表示用戶進程使用的cpu比例,"sy"表示系統進程使用的cpu比例
 
#每隔2秒統計一次,連續統計一萬次
vmstat 2 10000
 
#釋放可釋放的內存並顯示內存使用情況,需要注意的是有多少可用內存需要看第二行的free列結果
free
 
#列出打開文件
lsof
#列出/usr/tomcat未關閉的文件
lsof|grep /usr/tomcat
 
#顯示環境變量
env
 
#重啓系統
reboot 或 shutdown -r now
 
#顯示命令的幫助文檔
man ls
 
 
7.其他
       自動完成:在輸入命令到需要指定文件名或者目錄時,輸入文件或者目錄的前幾個字母后可以按tab鍵自動完成,如果有多個可能的選項,則會在按兩次tab鍵後列出所有可能的文件和目錄。
       命令管道:Linux中上一個命令的輸出可以作爲下一個命令的輸入,兩個命令之間以豎線隔開。例如:ps aux|grep java。
 
       說明:Linux的命令功能很強大,本文只是列出了最常用的用法,還不夠完善、嚴謹,大家還可以進行深度發掘。每個命令最好都親自敲一遍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章