作為一個開發人員,有些常用的Linux命令必須掌握。即時平時開發過程中不使用Linux(Unix)或者mac系統,也需要熟練掌握
Linux命令。因為很多服務器上都是Linux系統。所以,要和服務器機器交互,就要通過shell命令。
本文並不會對所有命令進行詳細講解,只給出常見用法和解釋。具體用法可以使用--help查看幫助或者直接通過google搜索學習。
1.查找文件
[python] view
plain copy
print?
find / -name filename.txt 根據名稱查找/目錄下的filename.txt文件。
find . -name "*.xml" 遞歸查找所有的xml文件
find . -name "*.xml"|xargs grep "hello world" 遞歸查找所有文件內容中包含hello world的xml文件
grep -H 'spring' *.xml 查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f & 刪除文件大小為零的文件
ls -l | grep '.jar' 查找當前目錄中的所有jar文件
grep 'test' d* 顯示所有以d開頭的文件中包含test的行。
grep 'test' aa bb cc 顯示在aa,bb,cc文件中匹配test的行。
grep '[a-z]\{5\}' aa 顯示所有包含每個字符串至少有5個連續小寫字符的字符串的行。
2.查看一個程序是否運行
[python] view
plain copy
print?
ps –ef|grep tomcat 查看所有有關tomcat的進程
3.終止線程
[python] view
plain copy
print?
kill -9 19979 終止線程號位19979的進程
4.查看文件,包含隱藏文件
[python] view
plain copy
print?
ls -al
5.當前工作目錄
[python] view
plain copy
print?
pwd
6.復制文件
[python] view
plain copy
print?
cp source dest 復制文件
cp -r sourceFolder targetFolder 遞歸復制整個文件夾
scp sourecFile romoteUserName@remoteIp:remoteAddr 遠程拷貝
7.創建目錄
[html] view
plain copy
print?
mkdir newfolder
8.刪除目錄
[python] view
plain copy
print?
rmdir deleteEmptyFolder 刪除空目錄
rm -rf deleteFile 遞歸刪除目錄中所有內容
9.移動文件
[python] view
plain copy
print?
mv /temp/movefile /targetFolder
10.重命名
[python] view
plain copy
print?
mv oldNameFile newNameFile
11.切換用戶
[python] view
plain copy
print?
su -username
12.修改文件權限
[python] view
plain copy
print?
chmod 777 file.java //file.java的權限-rwxrwxrwx,r表示讀、w表示寫、x表示可執行
13.壓縮文件
[python] view
plain copy
print?
tar -czf test.tar.gz /test1 /test2
14.列出壓縮文件列表
[python] view
plain copy
print?
tar -tzf test.tar.gz
15.解壓文件
[python] view
plain copy
print?
tar -zxvf test.tar.gz
16.查看文件頭10行
[python] view
plain copy
print?
head -n 10 example.txt
17.查看文件尾10行
[python] view
plain copy
print?
tail -n 10 example.txt
18.查看日志類型文件
[python] view
plain copy
print?
tail -f exmaple.log 這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)
19.使用超級管理員身份執行命令
[python] view
plain copy
print?
sudo rm a.txt 使用管理員身份刪除文件
20.查看端口占用情況
[python] view
plain copy
print?
netstat -tunpl|grep 8080 查看端口8080的使用情況
21.查看端口屬於哪個程序
[python] view
plain copy
print?
lsof -i :8080
22.查看進程
[python] view
plain copy
print?
ps aux|grep java 查看java進程
ps aux 查看所有進程
ps aux 和ps -ef 區別兩者的輸出結果差別不大,但展示風格不同。aux是BSD風格,-ef是System V風格。這是次要的區別,一個影響使用的區別是aux會截斷command列,而-ef不會。當結合grep時這種區別會影響到結果。
舉例請參考:http://www.2cto.com/os/201303/197697.html
23.以樹狀圖列出目錄的內容
[python] view
plain copy
print?
tree a
24. 文件下載
[python] view
plain copy
print?
wgethttp://file.tgz
curlhttp://file.tgz
25.打印信息
[python] view
plain copy
print?
echo $JAVA_HOME 打印java home環境變量的值