Linux常用指令

Java程序員必須掌握的常用Linux命令。
Java程序員也是半個運維了,在日常開發中經常會接觸到Linux環境操作。小公司的開發人員甚至是兼了全運維的工作,下面整理了一些常用的Linux操作命令。

Linux常用指令

ls          顯示文件或目錄
     -l       列出文件詳細信息l(list)
     -a       列出當前目錄下所有文件及目錄,包括隱藏的a(all)     
mkdir         創建目錄
     -p       創建目錄,若無父目錄,則創建p(parent)
cd            切換目錄
touch         創建空文件
vim / vi      創建/編輯文件
     insert   編輯     
     :q       退出     
     :q!      強制退出     
     :wq      保存並退出     
     esc      退出編輯
echo          創建帶有內容的文件
cat           查看文件內容
tar           打包壓縮
     -c       建立壓縮檔案     
     -x       解壓縮文件     
     -z       gzip壓縮文件     
     -j       bzip2壓縮文件     
     -v       顯示所有過程     
     -f       使用檔名    
cp            拷貝
     -r       遞歸拷貝目錄
mv            移動或重命名
rm            刪除文件
     -r       遞歸刪除,可刪除子目錄及文件
     -f       強制刪除     
chmod         變更文件或目錄的權限
kill          殺進程
find          在文件系統中搜索某文件
wc            統計文本中行數、字數、字符數
grep          在文本文件中查找某個字符串
rmdir         刪除空目錄
tree          樹形結構顯示目錄,需要安裝tree包
pwd           顯示當前目錄
ln            創建鏈接文件
date          顯示系統時間
more / less   分頁顯示文本文件內容
head / tail   顯示文件頭、尾內容
sudo          用來以其他身份來執行命令,預設的身份爲root
su            換當前用戶身份到其他用戶身份
stat          顯示指定文件的詳細信息,比ls更詳細
who           顯示在線登陸用戶
whoami        顯示當前操作用戶
hostname      顯示主機名
uname         顯示系統信息
top           動態顯示當前耗費資源最多進程信息
ps            顯示瞬間進程狀態     
     -e       顯示所有進程     
     -f       全格式
du            查看目錄大小
     -s       只顯示目錄大小的總合     
     -h       帶單位顯示目錄大小
df            查看磁盤大小df     
     -h       帶有單位顯示磁盤信息     
free          查看內存情況
     -b       單位(bytes)     
     -k       單位(KB)     
     -m       單位(MB)     
     -g       單位(GB)
ifconfig      查看網絡情況
ping          測試網絡連通
netstat       顯示網絡狀態信息
     -ano     查看某個端口是否被佔用     
     -tlnp    根據端口查找PID
man           查看Linux中的指令幫助
clear         清屏
kill          殺進程
reboot        重啓系統
shutdown
     -r       關機重啓
     -h       關機不重啓
     now      立刻關機

1.查找文件 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.查看一個程序是否運行 ps –ef|grep tomcat 查看所有有關tomcat的進程

3.終止線程 kill -9 19979 終止線程號位19979的進程

4.查看文件,包含隱藏文件 ls -al

5.當前工作目錄 pwd

6.複製文件 cp source dest 複製文件 cp -r sourceFolder targetFolder 遞歸複製整個文件夾 scp sourecFile romoteUserName@remoteIp:remoteAddr 遠程拷貝

7.創建目錄 mkdir newfolder

8.刪除目錄 rmdir deleteEmptyFolder刪除空目錄 rm -rf deleteFile 遞歸刪除目錄中所有內容

9.移動文件 mv /temp/movefile /targetFolder

10.重命令 mv oldNameFile newNameFile

11.切換用戶 su -username

12.修改文件權限 chmod 777 file.java //file.java的權限-rwxrwxrwx,r表示讀、w表示寫、x表示可執行

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.查看日誌類型文件 tail -f exmaple.log//這個命令會自動顯示新增內容,屏幕只顯示10行內容的(可設置)。

19.使用超級管理員身份執行命令 sudo rm a.txt 使用管理員身份刪除文件

20.查看端口占用情況 netstat -tln | grep 8080 查看端口8080的使用情況

21.查看端口屬於哪個程序 lsof -i :8080

22.查看進程 ps aux|grep java 查看java進程 ps aux查看所有進程

23.以樹狀圖列出目錄的內容 tree a ps:Mac下使用tree命令

24.文件下載 wget http://file.tgz mac下安裝wget命令 curl http://file.tgz

25.網絡檢測 ping www.just-ping.com

26.遠程登錄 ssh userName@ip

27.打印信息 echo $JAVA_HOME 打印java home環境變量的值

28.java 常用命令 java javac jps ,jstat ,jmap, jstack

29.其他命令 svn git maven
cmd命令和linux命令的區別
cmd命令和linux命令看起來很相似,都是在一個控制檯輸入一些特定的指令去完成一些特定的操作。可是用過的朋友就會發現這些指令是有很多不同的,可是到底有什麼不同,要說又說不上來,所以要了解一下。

cmd命令的起源:DOS

DOS(Disk Operating System,磁盤操作系統),是Windows系統之前的一個操作系統名稱,屬於單用戶單任務式的,特點通常是黑底白字,用戶全靠鍵盤輸入命令來完成所有工作。之後Windows誕生了,屬於多用戶多任務式的(系統名稱都是多窗口),初期當然還得使DOS系統可用,再之後專門開闢個cmd窗口來模仿DOS界面及大多數的命令,也稱爲命令行,這就是cmd命令行的誕生。

Windows裏面運行cmd出來的DOS不是真正的DOS,那是微軟在windows裏虛擬的DOS環境,是用來運行一些高級命令的,真正的DOS是脫離系統的。因爲他本身就是一種操作系統。因此,可以得出一個結論就是:cmd是一個實現了DOS功能的接口,可以使用DOS的部分功能,支持DOS的部分指令。

cmd命令和linux命令的區別

1.最根本的區別是linux shell是linux操作系統的一個用戶交互層;而cmd只是windows系統下的一個小小的應用。

2.shell是介於應用程序和內核之間的殼,所有應用程序要和內核交互都必須要通過shell,包括linux的圖形桌面Xwindow;而cmd只是windwows下一個補充,cmd是否存在對windows系統並沒有那麼重要。

3.linux在沒有圖形界面下幾乎可以完成任何事情,而且比圖形桌面更簡潔高效,還可以配合shell編程實現自動化;而cmd只是windows下的一個終端模擬器,相當於一個桌面應用,不能單獨存在。

4.shell功能強大,體驗極佳;cmd蹩腳難用,功能有限。其實windows一直改善cmd,但是總是不夠強大,最後還是妥協引入shell,比如win7的powershell和win10的linux shell,儘管還是沒有專業的shell強大。這個一定程度上說明了shell遠比cmd要強大得多。

一些具體命令的不同
功能
cmd:
linux:
複製文件
cmd:copy
linux:cp
移動文件
cmd:move
linux:mv
列舉文件
cmd:dir
linux:ls
清除屏幕
cmd:cls
linux:clear
退出
cmd:exit
linux:exit
顯示修改日期
cmd:date
linux:date
刪除文件
cmd:del
linux:rm
迴響信息到屏幕
cmd:echo
linux:echo
用編輯器編輯文件
cmd:edit
linux:vi
比較文件內容
cmd:fc
linux:diff
在文件中查找字符串
cmd:find
linux:grep
顯示命令幫助
cmd:命令/?
linux:man 命令
創建目錄
cmd:mkdir
linux:mkdir
刪除目錄
cmd:rd
linux:rmdir
目錄更名
cmd:move
linux:mv
拷貝目錄
cmd:xcopy
linux:copy
查看文件
cmd:more
linux:less
重命名文
cmd:ren
linux:mv
切換目錄
cmd:cd
linux:cd
顯示時間
cmd:time
linux:date
顯示已被使用的內存
cmd:mem
linux:free
在屏幕打印文件內容
cmd:type
linux:cat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章