Linux實用命令

Linux實用命令java

 

 

關於Linux中單雙引號的區別:linux

  • 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
  • 雙引號裏能夠有變量,雙引號裏能夠出現轉義字符
  • 反引號param=`date`,命令替換,將命令的標準輸出賦值給變量,同$(date)

 

命令返回值shell

  • 0 :執行成功(即正常執行,並返回預期結果)
  • 非0 :執行失敗
  • $? 表明上一個命令執行後的退出狀態,也表明調用函數的返回值
  • echo $?  查看返回值

 

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窗口
相關文章
相關標籤/搜索