作為一個JAVA開發人員,有些常用的linux命令必須掌握。即使平時開發過程中不使用Linux(Unix)或者mac系統,也需要熟練掌握Linux命令。因為很多服務器上都是Linux系統。所以,要和服務器機器交互,就要通過shell命令。
本文并不會對所有命令進行詳細講解,只給出常見用法和解釋。具體用法可以使用--help查看幫助或者直接通過google搜索學習。
必會Linux命令清單
查找文件
find / -name filename.txt 根據名稱查找/目錄下的filename.txt文件。
find . -name "*.xml" 遞歸查找所有的xml文件
find . -name "*" |xargs grep "hello" 遞歸查找所有文件內容中包含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個連續小寫字符的字符串的行。
查看一個程序是否運行
ps –ef|grep Tomcat 查看所有有關tomcat的進程
ps -ef|grep --color java 高亮要查詢的關鍵字
終止進程
kill -9 19979 終止線程號位19979的進程
查看文件,包含隱藏文件
ls -al
當前工作目錄
pwd
復制文件
cp source dest 復制文件
cp -r sourceFolder targetFolder 遞歸復制整個文件夾
scp sourecFile name@ip:addr 遠程拷貝
創建目錄
mkdir newfolder
刪除目錄
rmdir deleteEmptyFolder 刪除空目錄
rm -rf deleteFile 遞歸刪除目錄中所有內容
移動文件
mv /temp/movefile /targetFolder
重命名
mv oldNameFile newNameFile
切換用戶
su -username
修改文件權限
chmod 777 file.java file.java的權限-rwxrwxrwx,r表示讀、w表示寫、x表示可執行
壓縮文件
tar -czf test.tar.gz /test1 /test2
列出壓縮文件列表
tar -tzf test.tar.gz
解壓文件
tar -xvzf test.tar.gz
查看文件前10行
head -n 10 example.txt
查看文件后10行
tail -n 10 example.txt
查看日志最近更新
tail -f exmaple.log 這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)。
使用超級管理員身份執行命令
sudo rm a.txt 使用管理員身份刪除文件
查看端口占用情況
netstat -tln | grep 8080 查看端口8080的使用情況
查看端口屬于哪個進程
lsof -i :8080
查看進程
ps aux|grep java 查看java進程
ps aux 查看所有進程
以樹狀格式列出目錄
tree a
PS:Mac下使用tree命令
文件下載
wget http://file.tgz
PS :Mac下安裝wget命令
curl http://file.tgz
網絡檢測
ping www.just-ping.com
遠程登錄
ssh userName@ip
打印信息
echo $JAVA_HOME 打印java home環境變量的值
Java常用命令
java
javac
javap
jps
jstat
jmap
jstack
其他命令
svn
git
maven
Linux命令學習網站
http://explainshell.com/
是一名Java程序員,最近發現有很多頭條的同學在學習Java的時候,感覺學的沒有方向,越學越迷茫,這樣的情況一般都是學習方法開始就是錯誤的。沒有把Java技術進行專業系統化的學習。從就業和節約時間的角度考慮,如果有誰遇到這方面的問題,可以隨時問我,因為我做Java也比較久了,對于這些問題比較了解。
你們可以關注我的頭條號并在后臺私信我:Java,里面有Java學習圈子的交流地址,有任何問題隨時問我,也可以跟大家交流,不要一個人盲目的學,少走彎路才是學習Java最大的捷徑。