作為一個Java開發人員,有些常用的Linux命令必須掌握。即時平時開發過程中不使用Linux(Unix)或者mac系統,也需要熟練掌握Linux命令。因為很多服務器上都是Linux系統。所以,要和服務器機器交互,就要通過shell命令。
本文並不會對所有命令進行詳細講解,只給出常見用法和解釋。具體用法可以使用
--help
查看幫助或者直接通過google搜索學習。
1.查找文件
1
2
3
4
5
6
7
8
9
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.查看一個程序是否運行
1
ps
–ef|
grep
tomcat 查看所有有關tomcat的進程
3.終止線程
1
kill
-9 19979 終止線程號位19979的進程
4.查看文件,包含隱藏文件
1
ls
-al
5.當前工作目錄
1
pwd
6.復制文件
1
2
3
cp
source
dest 復制文件
cp
-r sourceFolder targetFolder 遞歸復制整個文件夾
scp
sourecFile romoteUserName@remoteIp:remoteAddr 遠程拷貝
7.創建目錄
1
mkdir
newfolder
8.刪除目錄
1
2
rmdir
deleteEmptyFolder 刪除空目錄
rm
-rf deleteFile 遞歸刪除目錄中所有內容
9.移動文件
1
mv
/temp/movefile
/targetFolder
10.重命令
1
mv
oldNameFile newNameFile
11.切換用戶
1
su
-username
12.修改文件權限
1
chmod
777
file
.java
//file
.java的權限-rwxrwxrwx,r表示讀、w表示寫、x表示可執行
13.壓縮文件
1
tar
-czf
test
.
tar
.gz
/test1
/test2
14.列出壓縮文件列表
1
tar
-tzf
test
.
tar
.gz
15.解壓文件
1
tar
-xvzf
test
.
tar
.gz
16.查看文件頭10行
1
head
-n 10 example.txt
17.查看文件尾10行
1
tail
-n 10 example.txt
18.查看日志類型文件
1
tail
-f exmaple.log
//
這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)。
19.使用超級管理員身份執行命令
1
sudo
rm
a.txt 使用管理員身份刪除文件
20.查看端口占用情況
1
netstat
-tln |
grep
8080 查看端口8080的使用情況
21.查看端口屬於哪個程序
1
lsof
-i :8080
22.查看進程
1
2
ps
aux|
grep
java 查看java進程
ps
aux 查看所有進程
23.以樹狀圖列出目錄的內容
1
tree a
ps:Mac下使用tree命令
24. 文件下載
1
2
wget http:
//file
.tgz
curl http:
//file
.tgz
mac下安裝wget命令
25. 網絡檢測
1
ping
www.just-
ping
.com
26.遠程登錄
1
ssh
userName@ip
27.打印信息
1
echo
$JAVA_HOME 打印java home環境變量的值
28.java 常用命令
java javac jps ,jstat ,jmap, jstack
29.其他命令
1
svn git maven
28.linux命令學習網站:
http://explainshell.com/
參考資料:
Linux端口被占用的解決(Error: JBoss port is in use. Please check)
linux 中強大且常用命令:find、grep
Linux命令