想寫寫自己日常常用的服務器操作,但是想到這個題目還是有點大的。鳥哥兩本linux私房菜的書才說完了所有的服務器操作命令,這里一次性列出來也不現實。差不多這里就寫寫一些比較常用的命令吧。
ps aux|grep XXX
這個是最常用的命令了,查看一個進程的狀態啥的。還能看到端口號,運行時間等。如果需要批量關掉這些進程,也可以延生使用管道:
ps aux|grep XXX|awk '{print $2}'|xargs kill
netstat -anp|grep XXX
記得老王微博上有問過一個問題,說如何查看一個進程開啟哪個端口和一個端口被哪個進程占用。我的回答就是,這個命令就全部搞定了。這里的XXX可以是端口,也可以是進程名稱
telnet [IP] [Port]
查看某台機器上端口是不是開啟,用這個命令一下就能看出來。記得昨天有人問過,我怎么確定一台機器上的ftp已經開啟了,telnet一下21端口,ftp的協議會把ftp信息先返回到你的終端上。
du -sh *
有時候硬盤可能滿了,怎么判斷哪個文件夾占用多大空間呢?使用這個命令就能確定到底是哪個文件夾占空間了,然后刪除它就可以了。
關於查看服務器性能的命令
有free,iostat,sar,netstat等等。記得以前寫的這篇文章說的很清楚了:
http://www.cnblogs.com/yjf512/archive/2012/06/01/2529433.html
查看cpu信息,內存信息
最簡單就是使用top能實時觀察
如果需要看具體的可以使用cat /proc/cpuinfo或者 cat /proc/meminfo
grep test *.conf
這個命令就常用於我接收一個新機器的時候,nginx中配置很亂,我需要一個個理清楚的話就需要知道哪些配置文件中有我需要的域名。
chmod -R 777 [folder]
服務器上很多問題是權限導致的,所以這個命令大家一定不會少敲,給一個目錄足夠的權限。
tail -f XXX
要查看一個文件的最后寫入的數據,這個命令也是很有用。有時候寫腳本會把輸出指定到一個文件,然后就不斷監控這個輸出文件。
tar -cf a.tar.gz [folder]
壓縮文件夾到壓縮文件
tar -xf a.tar.gz
解壓壓縮文件
還有一些是常用的短命令:
cat:查看
grep:搜索
awk:字詞切割
ifconfig:網卡信息
date:日期
chmod:權限
chown:屬主
find:查找
netstat:網絡信息
wc:統計,比如有多少行
tail:尾查看
more:分屏查看
unzip:解壓zip文件
useradd:增加用戶
passwd:修改用戶密碼
top:查看機器狀況
pstree:樹形查看進程狀況
當然我不是運維出身,這些只是我平時常用到的,作為系統運維一定不夠,但是至少作為php開發人員來說掌握這些還是有必要的吧。
