[TOC]
Java開發(fā)必會的Linux命令
作為一個Java開發(fā)人員,有些常用的Linux命令必須掌握。即時平時開發(fā)過程中不使用Linux(Unix)或者mac系統(tǒng),也需要熟練掌握Linux命令。因為很多服務(wù)器上都是Linux系統(tǒng)。所以,要和服務(wù)器機器交互,就要通過shell命令。
本文并不會對所有命令進行詳細講解,只給出常見用法和解釋。具體用法可以使用--help查看幫助或者直接通過google搜索學習。
0.快捷輸入命令
# 自動匹配輸入的歷史命令
ctrl + r
# 快速移動管標到最前
ctrl + a
# 快速移動管標到最后
ctrl + e
1.查找文件
# 根據(jù)名稱查找/目錄下的filename.txt文件。
find / -name filename.txt
# 遞歸查找所有的xml文件
find . -name "*.xml"
# 遞歸查找所有文件內(nèi)容中包含hello world的xml文件
find . -name "*.xml" |xargs grep "hello world"
# 查找所以有的包含spring的xml文件
grep -H 'spring' *.xml
# 刪除文件大小為零的文件
find ./ -size 0 | xargs rm -f &
# 查找當前目錄中的所有jar文件
ls -l | grep '.jar'
# 顯示所有以d開頭的文件中包含test的行。
grep 'test' d*
# 顯示在aa,bb,cc文件中匹配test的行
grep 'test' aa bb cc
# 顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行
grep '[a-z]\{5\}' aa
2.查看一個程序是否運行
# 查看所有有關(guān)tomcat的進程
ps –ef|grep tomcat
# 高亮要查詢的關(guān)鍵字
ps -ef|grep --color java
3.終止線程
# 終止線程號位19979的進程
kill -9 19979
# or
kill 19979
4.查看文件,包含隱藏文件
ls -al
5.當前工作目錄
pwd
6.復制文件
# 復制文件
cp source dest
# 遞歸復制整個文件夾
cp -r sourceFolder targetFolder
# 從本地拷貝到遠程(Mac下)
# 文件
scp sourecFile romoteUserName@remoteIp:remoteAddr
# 文件夾
scp sourecFile -r romoteUserName@remoteIp:remoteAddr
# 從遠程拷貝到本地(Mac下)
# 文件
scp shanghai-2-hz:javalog.txt /Users/zhengshangjin/Downloads/
# 文件夾
scp shanghai-2-hz:javalog -r /Users/zhengshangjin/Downloads/
7.創(chuàng)建目錄
mkdir newfolder
8.刪除目錄
# 刪除空目錄
rmdir deleteEmptyFolder
# 遞歸刪除目錄中所有內(nèi)容
rm -rf deleteFile
9.移動文件
mv /temp/movefile /targetFolder
10.重命名
mv oldNameFile newNameFile
11.切換用戶
su -username
12.修改文件權(quán)限
# file.java的權(quán)限-rwxrwxrwx,r表示讀、w表示寫、x表示可執(zhí)行
chmod 777 file.java
13.壓縮文件
tar -czf test.tar.gz /test1 /test2
14.列出壓縮文件列表
tar -tzf test.tar.gz
15.解壓文件
tar -xvzf test.tar.gz
16.查看文件頭10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日志類型文件
# 這個命令會自動顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容的(可設(shè)置)
tail -f exmaple.log
19.使用超級管理員身份執(zhí)行命令
# 使用管理員身份刪除文件
sudo rm a.txt
20.查看端口占用情況
# 查看端口8080的使用情況
netstat -tln | grep 8080
# 查看端口8080被哪個服務(wù)使用
netstat -tunlp | grep :8080
# 查看端口被服務(wù)占用情況
netstat -tunlp | grep :
# 查看httpd服務(wù)是否已啟動
ps aux | grep httpd
21.查看端口屬于哪個程序
lsof -i :8080
22.查看進程
# 查看java進程
ps aux|grep java
# 查看所有進程
ps aux
23.以樹狀圖列出目錄的內(nèi)容
tree a
ps:Mac下使用tree命令
24. 文件下載
wget http://file.tgz mac下安裝wget命令
curl http://file.tgz
25. 網(wǎng)絡(luò)檢測
ping www.just-ping.com
26.遠程登錄
ssh userName@ip
27.打印信息
# 打印java home環(huán)境變量的值
echo $JAVA_HOME
28.java 常用命令
java javac jps ,jstat ,jmap, jstack
29.其他命令
svn git maven