1. 程式人生 > >Java開發人員必須掌握的Linux命令(一)

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

ava head 通過 應用 可選參數 scp csdn 符號鏈接 遠程服務

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

技術分享圖片

1、登錄服務器SSH命令

簡單說,SSH是一種網絡協議,用於計算機之間的加密登錄。如果一個用戶從本地計算機,使用SSH協議登錄另一臺遠程計算機,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。

最基本的用法:

常用格式:ssh [-l login_name] [-p port] [user@]hostname

例子:

ssh 192.168.1.110
ssh -l root 192.168.0.11
# 比較常用 
ssh [email protected]

圖解:

技術分享圖片

2、傳輸文件scp命令

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

最基本的用法:

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

例子:

scp /home/test.log [email protected]:/home/happy/

註意: 使用scp命令要確保使用的用戶具有可讀取遠程服務器相應文件的權限,否則scp命令是無法起作用的。

3、查看系統狀態 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
....

4、壓縮/解壓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

tar -z 壓縮(c)、查看(t)、解壓(x)vf

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

5、修改文件屬性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也可以用字母來表示權限,這裏就不進行說明。

6、查找文件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 {} \;

7、查詢字符 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*

8、查看端口占用netstat命令

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

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

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

9、查看文件內容 tail命令

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

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

真實使用:

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

10、停止應用kill命令

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

查找tomcat服務,並徹底殺死進程。

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

後續還會整理需要掌握的命令,敬請期待!


謝謝你的閱讀,如果您覺得這篇博文對你有幫助,請點贊或者喜歡,讓更多的人看到!祝你每天開心愉快!



不管做什麽,只要堅持下去就會看到不一樣!在路上,不卑不亢!

博客首頁 : http://blog.csdn.net/u010648555

願你我在人生的路上能都變成最好的自己,能夠成為一個獨擋一面的人
技術分享圖片

? 每天都在變得更好的阿飛雲

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