Linux實用命令java
關於Linux中單雙引號的區別:linux
命令返回值shell
ls數據庫 |
|
列出當前目錄下全部文件vim |
|
find數組 |
|
在指定目錄下查找文件服務器 |
|
-l網絡 |
詳細文件信息oracle |
|
|
-nameless |
文件名 |
|
-t |
修改時間排序 |
|
|
-iname |
文件名,忽略大小寫 |
|
-r |
逆序排列 |
|
|
-type |
d 文件夾、f 文件 |
|
-h |
可讀的文件大小格式 |
|
|
經常使用用法 |
find . -name "abc" |
|
-a |
顯示隱藏文件 |
|
|
|
|
|
經常使用用法 |
ls -ltr |
|
|
|
|
|
|
|
|
|
|
|
locate |
|
查找符合條件的文件(查數據庫) |
|
updatedb |
|
更新locate命令所必需的數據庫文件 |
|
-b |
只查找文件夾 |
|
|
-v |
顯示執行的詳細過程 |
|
-i |
忽略大小寫(默認不忽略) |
|
|
經常使用用法 |
updatedb -v | less |
|
注意事項 |
若是存在的文件查不到,updatedb |
|
|
|
|
|
經常使用用法 |
locate abc aab (支持多關鍵詞) |
|
|
|
|
|
|
|
|
|
|
|
chmod |
|
更改文件權限(讀r 寫w 執行x) |
|
chown |
|
更改文件擁有者 |
|
777 |
rwx(r4 w2 x1)擁有者、羣組、其餘 |
|
|
-R |
子目錄一樣生效 |
|
-R |
子目錄一樣生效 |
|
|
user:group |
使用者:羣組 |
|
經常使用用法 |
chmod 777 test |
|
|
經常使用用法 |
chown runoob:users file1.txt |
|
|
|
|
|
|
|
diff |
|
比較文件差別 |
|
ln |
|
建立文件同步連接,默認硬連接(自動同步的文件) |
|
-y |
並列方式展現 |
|
|
-s |
建立軟連接(快捷方式) |
|
-W |
指定寬度(並列方式有效) |
|
|
經常使用用法 |
ln -s a.txt b.txt |
|
經常使用用法 |
diff a.txt b.txt -yW 50 |
|
|
|
|
|
|
|
|
|
|
|
less |
|
瀏覽文件 |
|
vi/vim |
|
編輯文件 |
|
經常使用用法 |
less a.txt |
|
|
經常使用用法 |
vim a.txt |
|
|
|
|
|
|
|
mv |
|
移動文件 / 文件重命名 |
|
scp |
|
遠程文件拷貝(雙向) |
|
-f |
覆蓋同名文件時不提示 |
|
|
-p |
保留原文件的時間和權限等 |
|
經常使用用法 |
mv aaa bbb |
|
|
-r |
遞歸複製整個目錄,默認是不能複製文件夾的 |
|
|
|
|
|
經常使用用法 |
scp root@192.168.1.10:/root/a.txt /tmp/a.txt |
|
|
|
|
|
|
|
rm |
|
刪除文件,默認是不能刪除目錄 |
|
cp |
|
拷貝文件,默認不能拷貝目錄 |
|
-r |
遞歸刪除目錄內的文件,刪除目錄 |
|
|
-r |
遞歸拷貝目錄內的文件,拷貝目錄 |
|
-f |
從不詢問是否刪除 |
|
|
-f |
從不詢問是否覆蓋文件 |
|
-v |
顯示刪除詳情 |
|
|
-p |
保留原文件的時間和權限等(經常使用) |
|
經常使用用法 |
rm -rf test |
|
|
經常使用用法 |
cp aaa.txt bbb.txt |
|
|
|
|
|
|
|
tee |
|
把數據打印到屏幕和文件中,相似> |
|
touch |
|
刷新文件的時間屬性,文件不存在則建立 |
|
-a |
追加到文件中,相似>> |
|
|
經常使用用法 |
touch aa.txt |
|
經常使用用法 |
echo abc | tee aa.log |
|
|
|
|
|
|
|
|
|
|
|
read |
|
標準輸入(控制檯輸入),默認回車結束 |
|
grep |
|
文件內查找字符串 / 篩選 |
|
-a |
輸入數組,空格分割 |
|
|
-i |
忽略大小寫,默認是不忽略 |
|
-d |
設置結束符 |
|
|
-n |
顯示行號 |
|
-p |
輸入前顯示內容 |
|
|
-r |
遞歸子目錄查找 |
|
-n |
限制輸入長度 |
|
|
-w |
全詞匹配 |
|
-s |
輸入時不顯示,像輸密碼那樣 |
|
|
經常使用用法 |
find . -name "*.java" | xargs grep "main" --color |
|
經常使用用法 |
read str |
|
|
|
grep "main" * |
|
|
|
|
|
|
|
sed |
|
操做文件,增刪改查(腳本經常使用) |
|
expr |
|
將表達式的值打印到控制檯 |
|
-e |
能夠指定多個命令 |
|
|
計算 |
expr $arg1 + $arg2(中間的空格是必需的,不加空格是字符串) |
|
-f |
指定命令文件 |
|
|
字符串匹配 |
expr match "abcd" ".*bcd",只能從頭匹配,返回匹配長度 |
|
-n |
取消默認控制檯輸出,與p一塊兒使用可打印指定內容 |
|
|
字符串長度 |
expr length "awefwe",返回長度 |
|
-i |
輸出到原文件,靜默執行(修改原文件的意思) |
|
|
字符串截取 |
expr substr "abscw" 2 3,返回bsc,下標從1開始 |
|
經常使用用法 |
sed 's/old/new/gi' test.txt |
|
|
字符查找 |
expr index "abcd" "dc",返回3,只能單個字符,哪一個字符先出現 |
|
|
|
|
|
變量賦值 |
param=`expr $arg1 + $arg2` (``將標準輸出賦值給變量) |
|
|
|
|
|
|
|
let |
|
定義整型變量 |
|
ftp |
|
鏈接FTP |
|
let |
let sum=age+3,不能有空格,變量不用加$,同declare -i |
|
|
ftp ip |
鏈接ftp服務器 |
|
let |
let "sum = age + 3",同上,有空格須要加引號 |
|
|
ls |
查看當前目錄下的文件列表 |
|
不用let |
sum=age+num,默認字符串操做,sum值爲"age+num'字符串 |
|
|
pwd |
查看當前目錄的路徑 |
|
|
|
|
|
cd |
切換目錄 |
|
|
|
|
|
get a.txt |
下載文件到當前目錄(執行ftp ip的目錄),自動覆蓋 |
|
|
|
|
|
put a.txt b.txt |
上傳文件,自動覆蓋 |
|
|
|
|
|
delete a.txt |
刪除文件 |
|
|
|
|
|
less a.txt |
查看文件,同linux的less |
|
|
|
|
|
? |
查看各類ftp命令 |
|
|
|
|
|
|
|
df |
|
顯示文件系統的磁盤使用狀況 |
|
du |
|
顯示文件夾所佔空間大小 |
|
-h |
可讀的文件大小格式 |
|
|
-h |
可讀的文件大小格式 |
|
-a |
顯示全部文件系統 |
|
|
經常使用用法 |
du -h 或者 du -h /tmp/zzj |
|
經常使用用法 |
df -h |
|
|
|
|
|
|
|
|
|
|
|
mkdir |
|
建立文件夾 |
|
pwd |
|
顯示當前目錄的絕對路徑 |
|
-p |
父目錄自動建立,用於建立多層文件夾 |
|
|
經常使用用法 |
pwd |
|
經常使用用法 |
mkir -p /tmp/abc/ddd/test |
|
|
|
|
|
|
|
|
|
|
|
stat |
|
查看文件屬性(建立時間、修改時間、權限修改時間等) |
|
tree |
|
以樹狀圖列出目錄的內容,包括子目錄裏的文件 |
|
經常使用用法 |
stat test.txt |
|
|
-A |
繪圖字符顯示樹狀圖(推薦) |
|
|
|
|
|
-a |
顯示隱藏文件 |
|
|
|
|
|
-C |
文件類型着色,便於區分 |
|
|
|
|
|
-f |
顯示完整文件路徑 |
|
|
|
|
|
經常使用用法 |
tree -AC test |
|
|
|
|
|
|
|
telnet |
|
查看某個端口是否能夠訪問 |
|
ifconfig |
|
顯示或設置網絡設備 |
|
經常使用用法 |
telnet 192.168.1.2 8080 |
|
|
經常使用用法 |
ifconfig eth0 down 關閉eth0網卡 |
|
|
|
|
|
|
ifconfig eth0 up 啓動eth0網卡 |
|
|
|
|
|
|
ifconfig eth0 192.168.1.12 修改ip |
|
|
|
|
|
|
|
netstat |
|
顯示網絡狀態 |
|
lsof |
|
列出當前系統打開的文件 |
|
-a |
顯示全部 |
|
|
-i |
指定端口篩選程序 |
|
-n |
域名轉換爲IP |
|
|
經常使用用法 |
lsof -i:8080 查看8080端口程序 |
|
-p |
顯示進程PID / 進程名 |
|
|
|
linux環境下的任何事物都以文件的形式存在,例如:進程、網絡鏈接等等均可以列出來 |
|
經常使用用法 |
netstat -anp | grep ":8080" 查看8080端口程序 |
|
|
|
lsof | grep vim | grep .swp 能查看當前正在編輯的文件和vim進程 |
|
|
端口不是獨立存在的,它是依附於進程的。某個進程開啓,那麼它對應的端口就開啓了,進程關閉,則該端口也就關閉了。而不要純粹的理解爲關閉掉某個端口,不過能夠禁用某個端口 |
|
|
|
|
|
|
|
|
|
|
|
wall |
|
廣播消息給全部在線用戶(who命令可查看) |
|
which |
|
查看命令的絕對路徑 |
|
經常使用用法 |
wall hello |
|
|
經常使用用法 |
which ls |
|
|
|
|
|
|
|
man |
|
查看命令的說明手冊 |
|
ping |
|
檢測主機的連通性 |
|
經常使用用法 |
man ls |
|
|
經常使用用法 |
ping 192.168.1.1 |
|
|
|
|
|
|
|
who |
|
查看當前活躍鏈接 |
|
write |
|
發送消息給指定在線用戶(who命令可查看) |
|
經常使用用法 |
who /var/log/wtmp 查看歷史鏈接 |
|
|
經常使用用法 |
write root pts/1 |
|
|
|
|
|
|
|
useradd |
|
建立用戶 |
|
userdel |
|
刪除用戶 |
|
-m |
建立用戶主目錄,默認在home目錄下建立 |
|
|
-r |
刪除用戶主目錄 |
|
-M |
不建立用戶主目錄 |
|
|
經常使用用法 |
userdel -r testuser |
|
-d path |
指定目錄爲用戶主目錄 |
|
|
|
|
|
-g |
建立時指定用戶羣組 |
|
|
|
|
|
經常使用用法 |
useradd testuser |
|
|
|
|
|
|
|
|
|
|
|
date |
|
顯示當前時間 |
|
finger |
|
查看用戶信息 |
|
-d str |
顯示指定字符串所描述的時間,而非當前時間 |
|
|
經常使用用法 |
finger root |
|
-s str |
將系統時間設爲字符串中指定的時間 |
|
|
|
less /etc/passwd 能查看全部用戶 |
|
-r file |
顯示指定文件的最後修改時間 |
|
|
|
less /etc/group 查看全部用戶羣組 |
|
經常使用用法 |
date |
|
|
|
|
|
|
|
|
|
|
|
sleep |
|
等待指定時間(s秒 m分鐘 h小時 d天,不加單位默認秒) |
|
|
|
|
|
經常使用用法 |
sleep 5s |
|
|
|
|
|
|
|
|
|
|
|
groupadd |
|
建立用戶羣組 |
|
groupdel |
|
刪除用戶羣組(只能刪除空羣組) |
|
經常使用用法 |
groupadd testgroup |
|
|
經常使用用法 |
groupdel testgroup |
|
|
|
|
|
|
|
groupmod |
|
修改用戶羣組 |
|
usermod |
|
修改用戶 |
|
-A user |
groupmod -A user testgroup 將用戶加入羣組 |
|
|
-g group |
usermod -g testgroup testuser 將用戶加入羣組 |
|
-R user |
groupmod -D user testgroup 將用戶移除羣組 |
|
|
-d path |
修改用戶主目錄 |
|
-g gid |
groupmod -g 1234 testgroup 修改羣組的gid |
|
|
-u uid |
usermod -u 123 testuser 修改用戶的uid |
|
|
|
|
|
|
|
id |
|
查看用戶的uid(用戶惟一標識)、gid、所屬羣組 |
|
kill |
|
關閉進程 |
|
經常使用用法 |
id testuser |
|
|
-KILL |
強制殺死進程 |
|
|
|
|
|
-9 |
完全殺死進程 |
|
|
|
|
|
經常使用用法 |
kill -9 PID |
|
|
|
|
|
|
|
last |
|
查看當前活躍鏈接和歷史鏈接(相似who) |
|
logname |
|
顯示當前登陸的用戶名 |
|
經常使用用法 |
last |
|
|
經常使用用法 |
logname |
|
|
|
|
|
|
|
ps |
|
顯示瞬間進程的狀態 |
|
top |
|
顯示實時進程的狀態 |
|
-e |
顯示全部進程 |
|
|
-d 3 |
刷新週期,默認3秒 |
|
-f |
顯示全格式列表 |
|
|
經常使用用法 |
top |
|
經常使用用法 |
ps -ef 顯示全部瞬間進程信息 |
|
|
|
|
|
|
|
|
|
|
|
shutdown |
|
關機 |
|
sudo |
|
使用root用戶執行命令(須要配置/etc/sudoers設置權限) |
|
-r |
馬上重啓(推薦) |
|
|
經常使用用法 |
sudo test.sh 使用root執行腳本(須要輸入當前用戶密碼) |
|
-h |
馬上關機 |
|
|
與su區別 |
su root test.sh 也是使用root執行腳本(須要輸入root密碼) |
|
-k |
提示關機,但不會關機 |
|
|
|
|
|
經常使用用法 |
shutdown -r now |
|
|
|
|
|
|
|
|
|
|
|
su |
|
切換用戶 |
|
w |
|
查看本身當前的鏈接 |
|
|
su root ./test.sh 使用指定用戶執行腳本 |
|
|
經常使用用法 |
w |
|
|
su -c ./test.sh root 使用指定用戶執行命令或腳本 |
|
|
|
|
|
經常使用用法 |
su - oracle |
|
|
|
|
|
|
|
|
|
|
|
clear |
|
清屏 |
|
alias |
|
設置命令的別名(/etc/profile配置永久生效) |
|
經常使用用法 |
clear |
|
|
|
unalias lt 取消別名 |
|
|
|
|
|
|
alias 列出全部設置的別名 |
|
|
|
|
|
經常使用用法 |
alias lt='ls -ltr' |
|
|
|
|
|
|
|
source |
|
在當前shell中執行文件中的命令 |
|
crontab |
|
定時任務(後臺執行) |
|
|
source test.sh 在當前shell中執行腳本 |
|
|
-l |
列出當前用戶定時任務 |
|
|
sh test.sh 建立子shell執行腳本,普通變量不會被帶到父shell |
|
|
-r |
刪除當前用戶全部定時任務 |
|
經常使用用法 |
source /etc/profile 使修改當即生效 |
|
|
-e |
編輯定時任務* * * * * date (分.時.日.月.星期)每分鐘執行一次date命令 |
|
|
|
|
|
經常使用用法 |
crontab -l |
|
|
|
|
|
|
|
declare |
|
定義變量 |
|
set |
|
顯示全部變量和方法,同declare |
|
declare |
顯示全部變量和方法,同set |
|
|
經常使用用法 |
set |
|
-f |
顯示函數 |
|
|
|
|
|
-r |
聲明只讀變量,只容許聲明時賦值 |
|
|
|
|
|
-x |
聲明環境變量,同export |
|
|
|
|
|
-i |
聲明整數型變量,同let |
|
|
|
|
|
-a |
聲明數組 arr=("ab" "cc" [5]="ww") |
|
|
|
|
|
經常使用用法 |
declare test=abc |
|
|
|
|
|
|
|
|
|
|
|
type |
|
查看命令的類型 |
|
eval |
|
執行字符串命令 |
|
|
alias 別名 |
|
|
經常使用用法 |
eval "test args1 args2" 例如調用函數,test爲函數 |
|
|
keyword 關鍵字 |
|
|
|
|
|
|
shell 保留字 |
|
|
|
|
|
|
function 函數 |
|
|
|
|
|
|
builtin 內建命令 |
|
|
|
|
|
經常使用用法 |
type if |
|
|
|
|
|
|
|
|
|
|
|
export |
|
定義環境變量 |
|
rpm |
|
RPM軟件包管理工具 |
|
經常使用用法 |
export testparam=value |
|
|
-i |
顯示套件的相關信息 |
|
|
export 顯示環境變量,同env |
|
|
-v |
顯示指令執行過程 |
|
|
|
|
|
-h |
顯示安裝進度 |
|
|
|
|
|
--force |
忽略報錯,強制安裝 |
|
|
|
|
|
經常使用用法 |
rpm -ivh packageName 安裝軟件包 |
|
|
|
|
|
|
|
passwd |
|
設置用戶密碼 |
|
time |
|
測量指令執行消耗的時間 |
|
經常使用用法 |
passwd testuser |
|
|
經常使用用法 |
time cd /tmp |
|
|
|
|
|
|
|
env |
|
顯示環境變量,同export |
|
unset |
|
刪除環境變量 |
|
經常使用用法 |
env |
|
|
經常使用用法 |
unset test |
|
|
|
|
|
|
|
chkconfig |
|
顯示系統服務 |
|
service |
|
管理系統服務 |
|
|
chkconfig iptables on/off 開關防火牆,重啓生效 |
|
|
經常使用用法 |
service iptables stop/start/statu 開關防火牆,當即生效 |
|
經常使用用法 |
chkconfig |
|
|
|
|
|
|
|
|
|
|
|
gzip |
|
壓縮gz文件(不能壓縮目錄,不保留原文件) |
|
gunzip |
|
解壓gz文件 |
|
-c |
將壓縮後文件輸出到控制檯,保留原文件 |
|
|
-c |
不解壓狀況下cat壓縮包中的文件,同zcat |
|
|
gzip test.txt 變成test.txt.gz文件,不保留原文件 |
|
|
|
gunzip test.txt.gz 變成test.txt文件,不保留壓縮文件 |
|
經常使用用法 |
gzip -c test.txt > test.txt.gz |
|
|
經常使用用法 |
gunzip -c test.txt.gz > test.txt |
|
|
|
|
|
|
|
zip |
|
壓縮zip文件(jar包也適用) |
|
unzip |
|
解壓zip文件(jar包也適用) |
|
-r |
壓縮文件夾 zip -r test.zip /tmp/zzj |
|
|
經常使用用法 |
unzip test.zip |
|
經常使用用法 |
zip test.zip ab.java 若是zip包存在,則更新zip包 |
|
|
|
unzip test.jar META-INF/maven/* 解壓指定文件或文件夾 |
|
|
|
|
|
|
|
zipinfo |
|
查看zip文件內容(vim也能夠查看) |
|
tar |
|
壓縮解壓tar文件(可保留軟連接文件) |
|
經常使用用法 |
zipinfo test.zip |
|
|
-c |
壓縮 |
|
|
|
|
|
-x |
解壓 |
|
|
|
|
|
-t |
查看tar文件內容(vim也能夠查看) |
|
|
|
|
|
-z |
使用gzip或gunzip處理 |
|
|
|
|
|
-v |
顯示執行過程 |
|
|
|
|
|
-f |
指定壓縮或解壓文件 |
|
|
|
|
|
經常使用用法 |
tar -cvzf test.tar.gz /tmp/zzj |
|
|
|
|
|
|
tar -xvzf test.tar.gz |
|
|
|
|
|
|
|
bc |
|
用於數學運算, |
|
tail |
|
查看文件結尾 |
|
|
直接執行bc,就是一個計算器,輸入數學表達式運算 |
|
|
-f |
不斷刷新 |
|
經常使用用法 |
echo 'scale=2; (2.777 - 1.4744) / 1' | bc 保留兩位小數,輸出1.30 |
|
|
-n |
指定顯示行數 |
|
|
echo '5 != 3' | bc 數字比較,輸出1 |
|
|
經常使用用法 |
tail -f test.log |
|
|
|
|
|
|
|
xargs |
|
從標準輸入構建和執行命令行 |
|
yum |
|
自動下載rpm並安裝 |
|
|
通常和管道一塊兒使用,"|"符號表示管道 |
|
|
經常使用用法 |
yum install packageName |
|
|
管道:將上一條命令的標準輸出,傳遞給下一條命令 |
|
|
|
yum remove packageName |
|
|
例如:find . -name "*.java" | grep "main",從文件名中grep |
|
|
|
|
|
|
例如:echo "test.txt" | less,顯示字符串 |
|
|
|
|
|
|
管道加上xargs:將上一條命令的結果轉換成標準輸入,傳遞給下一條命令 |
|
|
|
|
|
|
例如:find . -name "*.java" | xargs grep "main",從文件內容中grep |
|
|
|
|
|
|
例如:echo "test.txt" | xargs less,顯示文件內容 |
|
|
|
|
|
|
|
|
|
|
|
wc |
|
統計行數/字數/字節數 |
|
jar |
|
javaJDK帶的命令,效果同zip命令,參數用法同tar命令;打jar包zip包均可 |
|
經常使用用法 |
wc test.txt |
|
|
經常使用用法 |
jar -cvfM test.zip /tmp/zzj,-M表示不生成META-INF/MANIFEST.MF |
|
|
ls -l | wc |
|
|
|
jar -xvf test.zip 解壓到當前目錄 |
Ctrl+z |
將正在執行的命令放到後臺,而且暫停。同時獲得一個後臺命令的編號 |
jobs |
狀態 |
查看後臺命令列表,只能看同一個shell窗口的 |
||
Terminated | 中止,使用kill殺掉進程對應的狀態 | |||||
Running | 正在運行 | |||||
Stopped | 暫停,Ctrl+z對應的狀態 | |||||
Done | 完成,使用jobs命令查看一次後記錄消息 | |||||
fg |
將後臺命令調至前臺執行,若是是Stopped狀態則變成Running狀態 |
bg | 將後臺Stopped的命令置成Running狀態 | |||
經常使用用法 | fg 15,數字對應後臺命令編號 |
經常使用用法 | bg 15,數字對應後臺命令編號。可結合Ctrl+z使用,放到後臺暫停再bg。 | |||
後臺命令調至前臺後,只能經過Ctrl+z再次放到後臺,再bg繼續執行 |
(普通命令後加 & 可直接後臺執行,如:sh execute.sh &,同時獲得後臺命令編號和進程PID。後臺命令可fg調到前臺中止,也能夠kill殺掉進程) |
|||||
wait | 進入阻塞狀態,等待同一個shell窗口的全部後臺命令執行完畢 | |||||
PID | 等待同一個shell窗口的指定後臺命令執行完畢,不能跨shell窗口 |