Java開發人員必須掌握的Linux命令(一)

子曰:「工欲善其事,必先利其器。「java

作一個積極的人
編碼、改bug、提高本身
我有一個樂園,面向編程,春暖花開!node

學習應該是快樂的,在這個樂園中我努力讓本身能用簡潔易懂(搞笑有趣)的表達來說解知識或者技術,讓學習之旅充滿樂趣,這就是寫博文的初心。linux

目錄

一、登陸服務器SSH命令

簡單說,SSH是一種網絡協議,用於計算機之間的加密登陸。若是一個用戶從本地計算機,使用SSH協議登陸另外一臺遠程計算機,咱們就能夠認爲,這種登陸是安全的,即便被中途截獲,密碼也不會泄露。shell

最基本的用法:編程

經常使用格式:ssh [-l login_name] [-p port] [user@]hostnamevim

例子:tomcat

ssh 192.168.1.110
ssh -l root 192.168.0.11
# 比較經常使用 
ssh root@192.168.0.11

圖解:安全

ssh示例

二、傳輸文件scp命令

scp命令用於Linux服務器之間複製文件和目錄。scp是 secure copy的縮寫, scp是linux系統下基於ssh登錄進行安全的遠程文件拷貝命令。服務器

最基本的用法:網絡

經常使用格式:scp [可選參數] file_source remote_username@remote_ip:remote_folder

例子:

scp /home/test.log root@192.168.1.110:/home/happy/

<font color='red'>注意: 使用scp命令要確保使用的用戶具備可讀取遠程服務器相應文件的權限,不然scp命令是沒法起做用的。</font>

三、查看系統狀態 top、free、df

top命令用於實時顯示 process 的動態。能夠配合用來查詢vm的一些問題!具體參數不作介紹。

# 表示更新兩次後終止更新顯示
top -n 2
#表示更新週期爲3秒
top -d 3
# 顯示進程號爲2586的進程信息,CPU、內存佔用率等
top -p 2586
更新顯示二次的結果輸入到名稱爲 top.log 的檔案裏
top -n 2 -b < top.log

free命令用於顯示內存狀態。

# 顯示內存使用信息 , -h 選項爲根據大小適當顯示(人類能夠讀懂的方式)
free -h
# 每10s 執行一次命令
free -hs 10

df 以磁盤分區爲單位查看文件系統,能夠獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。

# 查看磁盤信息, -h 選項爲根據大小適當顯示
df -h

du會顯示指定的目錄或文件所佔用的磁盤空間。用於查看當前目錄的總大小。

# 經過排序的方式顯示前十條
[root@localhost ~]# du -am  | sort -nr | head -n 10
183 ./jdk-8u191-linux-x64.tar.gz
183 .
1   ./.viminfo
....

四、壓縮/解壓tar命令

tar是用來創建,還原備份文件的工具程序,它能夠加入,解開備份文件內的文件。

  • 壓縮文件

命令 : tar -zcvf 備份文件.tar.gz 備份文件/目錄

後綴也能夠是.tgz。

# 建立一個文件
[root@localhost ~]# touch text.log    
# 壓縮 text.tar.gz
[root@localhost ~]# tar -zcvf text.tar.gz text.log 

[root@localhost ~]# tar -zcvf text.tgz text.log 
text.log
[root@localhost ~]# ll
-rw-r--r--. 1 root root       114 3月  12 22:45 text.tgz
  • 列出壓縮文件內容

命令: tar -ztvf 備份文件.tar.gz 或 tar -ztvf 備份文件.tgz

[root@localhost ~]# tar -ztvf text.tar.gz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log
[root@localhost ~]# tar -ztvf text.tgz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log
  • 解壓文件

命令: tar -zxvf 備份文件.tar.gz 或 tar -zxvf 備份文件.tgz

[root@localhost ~]# tar -zxvf text.tar.gz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log
[root@localhost ~]# tar -zxvf text.tgz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log

<font color='red'> tar -z 壓縮(c)、查看(t)、解壓(x)vf </font>

  • -z或--gzip或--ungzip 經過gzip指令處理備份文件
  • -c或--create 創建新的備份文件
  • -t或--list 列出備份文件的內容
  • -x或--extract或--get 從備份文件中還原文件
  • -v或--verbose 顯示指令執行過程
  • -f<備份文件>或--file=<備份文件> 指定備份文件

五、修改文件屬性chmod命令

Linux/Unix 的文件調用權限分爲三級 : 文件擁有者、羣組、其餘。利用 chmod 能夠藉以控制文件如何被他人所調用。

讀,寫,執行的權限。r=4,w=2,x=1

  • 若要rwx屬性則4+2+1=7;
  • 若要rw-屬性則4+2=6;
  • 若要r-x屬性則4+1=5。

通常狀況,賦值 命令

chmod 755 file

此外chmod也能夠用字母來表示權限,這裏就不進行說明。

六、查找文件find命令

find命令用來在指定目錄下查找文件。任何位於參數以前的字符串都將被視爲欲查找的目錄名。若是使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。而且將查找到的子目錄和文件所有進行顯示。

find . -iname \*.txt(大小寫都匹配)
find . -type d(當前目錄下的全部子目錄)
find /usr -type l(當前目錄下全部的符號連接)
find /usr -type l -name "z*" -ls(符號連接的詳細信息 eg:inode,目錄)
find /home/test -size +250000k(超過250000k的文件,固然+改爲-就是小於了)
find /home/test f -perm 777 -exec ls -l {} \; (按照權限查詢文件)
find /home/test -atime -1  1天內訪問過的文件
find /home/test -ctime -1  1天內狀態改變過的文件    
find /home/test -mtime -1  1天內修改過的文件
find /home/test -amin -1  1分鐘內訪問過的文件
find /home/test -cmin -1  1分鐘內狀態改變過的文件    
find /home/test -mmin -1  1分鐘內修改過的文件
#----------
#查找/var/log目錄中更改時間在7日之前的普通文件,並在刪除以前詢問它們
find /var/log -type f -mtime +7 -ok rm {} \;

#查找系統中全部文件長度爲0的普通文件,並列出它們的完整路徑
find / -type f -size 0 -exec ls -l {} \;

七、查詢字符 grep命令

grep命令用於查找文件裏符合條件的字符串。

grep指令用於查找內容包含指定的範本樣式的文件,若是發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。

# 顯示全部以d開頭的文件中包含test的行。
grep 'test' d* 
# 顯示在text1,text2,text3文件中匹配test的行。
grep 'test' text1 text2 text3
# text文件中顯示全部包含每一個字符串至少有5個連續小寫字符的字符串的行。
grep '[a-z]\{5\}' text

# 查找文件名中包含 test 的文件中不包含test 的行
grep -v test *test*

八、查看端口占用netstat命令

netstat命令用於顯示網絡狀態。

利用netstat指令可以讓你得知整個Linux系統的網絡狀況。

# 查看端口1212的使用狀況
netstat -tln | grep 1212
查看端口屬於哪一個程序
lsof -i :1212

九、查看文件內容 tail命令

tail 命令可用於查看文件的內容,有一個經常使用的參數 -f 經常使用於查閱正在改變的日誌文件。

tail -f filename 會把 filename 文件裏的最尾部的內容顯示在屏幕上,而且不斷刷新,只要 filename 更新就能夠看到最新的文件內容。

真實使用:

# 查看日誌
tail -f  xxxx.out
# 查看 100行日誌
tail  -n100 xxxx.out
# 查看帶有'test'的日誌
tail -f | grep 'test' 這樣能夠只顯示

十、中止應用kill命令

kill命令用於刪除執行中的程序或工做。

查找tomcat服務,並完全殺死進程。

# 查找tomcat服務器
ps aux | grep tomcat
root  25689
# 殺掉進程 -9 強制殺
kill -9 25689

推薦閱讀

Java開發人員必須掌握的Linux命令(一)
Java開發人員必須掌握的Linux命令(二)
Java開發人員必須掌握的Linux命令(三)
Java開發人員必須掌握的兩個Linux魔法工具(四)
Java開發人員必須掌握的Linux命令-學以至用(五)


謝謝你的閱讀,若是您以爲這篇博文對你有幫助,請點贊或者喜歡,讓更多的人看到!祝你天天開心愉快!


Java編程技術樂園:一個分享編程知識的公衆號。跟着園長老司機一塊兒學習,天天進步一點點。

掃描關注,後臺回覆【資源】,獲取珍藏乾貨! 99.9%的夥伴都很喜歡

image.png | center| 747x519

© 天天都在變得更好的阿飛雲

相關文章
相關標籤/搜索