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

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

目錄

1耐床、登錄服務(wù)器SSH命令

簡單說,SSH是一種網(wǎng)絡(luò)協(xié)議弦讽,用于計算機之間的加密登錄粟矿。如果一個用戶從本地計算機凰棉,使用SSH協(xié)議登錄另一臺遠程計算機,我們就可以認為陌粹,這種登錄是安全的撒犀,即使被中途截獲,密碼也不會泄露掏秩。

最基本的用法:

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

例子:

ssh 192.168.1.110

ssh -l root 192.168.0.11

# 比較常用

ssh root@192.168.0.11

圖解:

ssh示例

2或舞、傳輸文件scp命令

scp命令用于Linux服務(wù)器之間復(fù)制文件和目錄。scp是 secure copy的縮寫, scp是linux系統(tǒng)下基于ssh登陸進行安全的遠程文件拷貝命令蒙幻。

最基本的用法:

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

例子:

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

注意: 使用scp命令要確保使用的用戶具有可讀取遠程服務(wù)器相應(yīng)文件的權(quán)限映凳,否則scp命令是無法起作用的。

3邮破、查看系統(tǒng)狀態(tài) top诈豌、free、df

top命令用于實時顯示 process 的動態(tài)抒和〗糜妫可以配合用來查詢vm的一些問題!具體參數(shù)不做介紹摧莽。

# 表示更新兩次后終止更新顯示

top -n 2

#表示更新周期為3秒

top -d 3

# 顯示進程號為2586的進程信息蚌斩,CPU、內(nèi)存占用率等

top -p 2586

更新顯示二次的結(jié)果輸入到名稱為 top.log 的檔案里

top -n 2 -b < top.log

free命令用于顯示內(nèi)存狀態(tài)范嘱。

# 顯示內(nèi)存使用信息 , -h 選項為根據(jù)大小適當(dāng)顯示(人類可以讀懂的方式)

free -h

# 每10s 執(zhí)行一次命令

free -hs 10

df 以磁盤分區(qū)為單位查看文件系統(tǒng),可以獲取硬盤被占用了多少空間员魏,目前還剩下多少空間等信息丑蛤。

# 查看磁盤信息, -h 選項為根據(jù)大小適當(dāng)顯示

df -h

du會顯示指定的目錄或文件所占用的磁盤空間撕阎。用于查看當(dāng)前目錄的總大小受裹。

# 通過排序的方式顯示前十條

[root@localhost ~]# du -am? | sort -nr | head -n 10

183 ./jdk-8u191-linux-x64.tar.gz

183 .

1? ./.viminfo

....

4、壓縮/解壓tar命令

tar是用來建立,還原備份文件的工具程序棉饶,它可以加入厦章,解開備份文件內(nèi)的文件。

壓縮文件

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

后綴也可以是.tgz照藻。

# 創(chuàng)建一個文件

[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

列出壓縮文件內(nèi)容

命令: 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 列出備份文件的內(nèi)容

-x或--extract或--get 從備份文件中還原文件

-v或--verbose 顯示指令執(zhí)行過程

-f<備份文件>或--file=<備份文件> 指定備份文件

5幸缕、修改文件屬性chmod命令

Linux/Unix 的文件調(diào)用權(quán)限分為三級 : 文件擁有者群发、群組、其他发乔。利用 chmod 可以藉以控制文件如何被他人所調(diào)用熟妓。

讀,寫栏尚,執(zhí)行的權(quán)限起愈。r=4,w=2译仗,x=1

若要rwx屬性則4+2+1=7抬虽;

若要rw-屬性則4+2=6;

若要r-x屬性則4+1=5古劲。

一般情況斥赋,賦值 命令

chmod 755 file

此外chmod也可以用字母來表示權(quán)限,這里就不進行說明产艾。

6疤剑、查找文件find命令

find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名闷堡。如果使用該命令時隘膘,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件杠览。并且將查找到的子目錄和文件全部進行顯示弯菊。

find . -iname \*.txt(大小寫都匹配)

find . -type d(當(dāng)前目錄下的所有子目錄)

find /usr -type l(當(dāng)前目錄下所有的符號鏈接)

find /usr -type l -name "z*" -ls(符號鏈接的詳細信息 eg:inode,目錄)

find /home/test -size +250000k(超過250000k的文件,當(dāng)然+改成-就是小于了)

find /home/test f -perm 777 -exec ls -l {} \; (按照權(quán)限查詢文件)

find /home/test -atime -1? 1天內(nèi)訪問過的文件

find /home/test -ctime -1? 1天內(nèi)狀態(tài)改變過的文件? ?

find /home/test -mtime -1? 1天內(nèi)修改過的文件

find /home/test -amin -1? 1分鐘內(nèi)訪問過的文件

find /home/test -cmin -1? 1分鐘內(nèi)狀態(tài)改變過的文件? ?

find /home/test -mmin -1? 1分鐘內(nèi)修改過的文件

#----------

#查找/var/log目錄中更改時間在7日以前的普通文件踱阿,并在刪除之前詢問它們

find /var/log -type f -mtime +7 -ok rm {} \;

#查找系統(tǒng)中所有文件長度為0的普通文件管钳,并列出它們的完整路徑

find / -type f -size 0 -exec ls -l {} \;

7、查詢字符 grep命令

grep命令用于查找文件里符合條件的字符串软舌。

grep指令用于查找內(nèi)容包含指定的范本樣式的文件才漆,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預(yù)設(shè)grep指令會把含有范本樣式的那一列顯示出來佛点。

# 顯示所有以d開頭的文件中包含test的行醇滥。

grep 'test' d*

# 顯示在text1黎比,text2,text3文件中匹配test的行鸳玩。

grep 'test' text1 text2 text3

# text文件中顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行阅虫。

grep '[a-z]\{5\}' text

# 查找文件名中包含 test 的文件中不包含test 的行

grep -v test *test*

8、查看端口占用netstat命令

netstat命令用于顯示網(wǎng)絡(luò)狀態(tài)不跟。

利用netstat指令可讓你得知整個Linux系統(tǒng)的網(wǎng)絡(luò)情況颓帝。

# 查看端口1212的使用情況

netstat -tln | grep 1212

查看端口屬于哪個程序

lsof -i :1212

9、查看文件內(nèi)容 tail命令

tail 命令可用于查看文件的內(nèi)容躬拢,有一個常用的參數(shù) -f 常用于查閱正在改變的日志文件躲履。

tail -f filename 會把 filename 文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新聊闯,只要 filename 更新就可以看到最新的文件內(nèi)容工猜。

真實使用:

# 查看日志

tail -f? xxxx.out

# 查看 100行日志

tail? -n100 xxxx.out

# 查看帶有'test'的日志

tail -f | grep 'test' 這樣可以只顯示

10、停止應(yīng)用kill命令

kill命令用于刪除執(zhí)行中的程序或工作菱蔬。

查找tomcat服務(wù)篷帅,并徹底殺死進程。

# 查找tomcat服務(wù)器

ps aux | grep tomcat

root? 25689

# 殺掉進程 -9 強制殺

kill -9 25689

1.查找文件 find / -name filename.txt 根據(jù)名稱查找/目錄下的filename.txt文件拴泌。

find . -name "*.xml" 遞歸查找所有的xml文件

find . -name "*.xml" |xargs grep "hello world" 遞歸查找所有文件內(nèi)容中包含hello world的xml文件

grep -H 'spring' *.xml 查找所以有的包含spring的xml文件

find ./ -size 0 | xargs rm -f & 刪除文件大小為零的文件

ls -l | grep '.jar' 查找當(dāng)前目錄中的所有jar文件

grep 'test' d* 顯示所有以d開頭的文件中包含test的行魏身。

grep 'test' aa bb cc 顯示在aa,bb蚪腐,cc文件中匹配test的行箭昵。

grep '[a-z]\{5\}' aa 顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。

2.查看一個程序是否運行 ps –ef|grep tomcat 查看所有有關(guān)tomcat的進程

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

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

5.當(dāng)前工作目錄 pwd

6.復(fù)制文件 cp source dest 復(fù)制文件 cp -r sourceFolder targetFolder 遞歸復(fù)制整個文件夾 scp sourecFile romoteUserName@remoteIp:remoteAddr 遠程拷貝

7.創(chuàng)建目錄 mkdir newfolder

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

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

10.重命令 mv oldNameFile newNameFile

11.切換用戶 su -username

12.修改文件權(quán)限 chmod 777 file.java //file.java的權(quán)限-rwxrwxrwx家制,r表示讀、w表示寫泡一、x表示可執(zhí)行

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//這個命令會自動顯示新增內(nèi)容颤殴,屏幕只顯示10行內(nèi)容的(可設(shè)置)。

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

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

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

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

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

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

25.網(wǎng)絡(luò)檢測 ping www.just-ping.com

26.遠程登錄 ssh userName@ip

27.打印信息 echo $JAVA_HOME 打印java home環(huán)境變量的值

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

29.其他命令 svn git maven

文件查找和比較

1鼻忠、locate/slocate命令

locate命令其實是find -name的另一種寫法涵但,但是要比后者快得多,原因在于它不搜索具體目錄帖蔓,而是搜索一個數(shù)據(jù)庫/var/lib/locatedb矮瘟,這個數(shù)據(jù)庫中含有本地所有文件信息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫塑娇,并且每天自動更新一次芥永,所以使用locate命令查不到最新變動過的文件。為了避免這種情況钝吮,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫奇瘦。

選項:

-d<目錄>或--database=<目錄>:指定數(shù)據(jù)庫所在的目錄棘催;

-u:更新slocate數(shù)據(jù)庫;

--help:顯示幫助耳标;

--version:顯示版本信息醇坝。

例子:

搜索etc目錄下所有以sh開頭的文件:

locate /etc/sh

搜索用戶主目錄下,所有以m開頭的文件:

locate ~/m

搜索用戶主目錄下次坡,所有以m開頭的文件呼猪,并且忽略大小寫:

locate -i ~/m

ps:centos7 默認沒有l(wèi)ocate命令,需要輸入“yum install mlocate”命令安裝砸琅,安裝完成后宋距,輸入“updatedb”更新數(shù)據(jù)庫

2、diff命令

diff命令在最簡單的情況下症脂,比較給定的兩個文件的不同谚赎。如果使用“-”代替“文件”參數(shù),則要比較的內(nèi)容將來自標準輸入诱篷。diff命令是以逐行的方式壶唤,比較文本文件的異同處尤泽。如果該命令指定進行目錄的比較厘唾,則將會比較該目錄中具有相同文件名的文件,而不會對其子目錄文件進行任何比較操作

選項參考網(wǎng)站:http://man.linuxde.net/diff

例子:

將目錄/usr/liangxj_pratice/logFile/下的文件"application.properties"與當(dāng)前目錄下的文件"application.properties"進行比較

diff /usr/liangxj_pratice/logFile/? application.properties

ps:還有個可以對比三個文件的命令:http://man.linuxde.net/diff3

3遗锣、find命令

find命令用來在指定目錄下查找文件琳省。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名迎吵。如果使用該命令時,不設(shè)置任何參數(shù)岛啸,則find命令將在當(dāng)前目錄下查找子目錄與文件钓觉。并且將查找到的子目錄和文件全部進行顯示

選項參考網(wǎng)站:http://man.linuxde.net/find

例子:

根據(jù)文件或者正則表達式進行匹配

列出當(dāng)前目錄及子目錄下所有文件和文件夾

find .

在/home目錄下查找以.txt結(jié)尾的文件名

find /home -name "*.txt"

同上,但忽略大小寫

find /home -iname "*.txt"

當(dāng)前目錄及子目錄下查找所有以.txt和.pdf結(jié)尾的文件

find . ?name"?.txt"?o?name"?.pdf"?name"?.txt"?o?name"?.pdf" 或 find . -name "*.txt" -o -name "*.pdf"

匹配文件路徑或者文件

find /usr/ -path "*local*"

基于正則表達式匹配文件路徑

find . -regex ".*\.txt∥\.pdf\.txt‖\.pdf$"

同上坚踩,但忽略大小寫

find . -iregex ".*\.txt∥\.pdf\.txt‖\.pdf$"

否定參數(shù)

找出/home下不是以.txt結(jié)尾的文件

find /home ! -name "*.txt"

根據(jù)文件類型進行搜索

find . -type 類型參數(shù)

類型參數(shù)列表:

f 普通文件

l 符號連接

d 目錄

c 字符設(shè)備

b 塊設(shè)備

s 套接字

p Fifo

基于目錄深度搜索

向下最大深度限制為3

find . -maxdepth 3 -type f

搜索出深度距離當(dāng)前目錄至少2個子目錄的所有文件

find . -mindepth 2 -type f

根據(jù)文件時間戳進行搜索

find . -type f 時間戳

UNIX/Linux文件系統(tǒng)每個文件都有三種時間戳:

訪問時間(-atime/天荡灾,-amin/分鐘):用戶最近一次訪問時間。

修改時間(-mtime/天瞬铸,-mmin/分鐘):文件最后一次修改時間批幌。

變化時間(-ctime/天,-cmin/分鐘):文件數(shù)據(jù)元(例如權(quán)限等)最后一次修改時間嗓节。

搜索最近七天內(nèi)被訪問過的所有文件

find . -type f -atime -7

搜索恰好在七天前被訪問過的所有文件

find . -type f -atime 7

搜索超過七天內(nèi)被訪問過的所有文件

find . -type f -atime +7

搜索訪問時間超過10分鐘的所有文件

find . -type f -amin +10

找出比file.log修改時間更長的所有文件

find . -type f -newer file.log

根據(jù)文件大小進行匹配

find . -type f -size 文件大小單元

文件大小單元:

b —— 塊(512字節(jié))

c —— 字節(jié)

w —— 字(2字節(jié))

k —— 千字節(jié)

M —— 兆字節(jié)

G —— 吉字節(jié)

搜索大于10KB的文件

find . -type f -size +10k

搜索小于10KB的文件

find . -type f -size -10k

搜索等于10KB的文件

find . -type f -size 10k

刪除匹配文件

刪除當(dāng)前目錄下所有.txt文件

find . -type f -name "*.txt" -delete

根據(jù)文件權(quán)限/所有權(quán)進行匹配

當(dāng)前目錄下搜索出權(quán)限為777的文件

find . -type f -perm 777

找出當(dāng)前目錄下權(quán)限不是644的php文件

find . -type f -name "*.php" ! -perm 644

找出當(dāng)前目錄用戶tom擁有的所有文件

find . -type f -user tom

找出當(dāng)前目錄用戶組sunk擁有的所有文件

find . -type f -group sunk

借助-exec選項與其他命令結(jié)合使用

找出當(dāng)前目錄下所有root的文件荧缘,并把所有權(quán)更改為用戶tom

find .-type f -user root -exec chown tom {} \;

上例中,{} 用于與-exec選項結(jié)合使用來匹配所有文件拦宣,然后會被替換為相應(yīng)的文件名截粗。

找出自己家目錄下所有的.txt文件并刪除

find $HOME/. -name "*.txt" -ok rm {} \;

上例中信姓,-ok和-exec行為一樣,不過它會給出提示绸罗,是否執(zhí)行相應(yīng)的操作意推。

查找當(dāng)前目錄下所有.txt文件并把他們拼接起來寫入到all.txt文件中

find . -type f -name "*.txt" -exec cat {} \;> all.txt

將30天前的.log文件移動到old目錄中

find . -type f -mtime +30 -name "*.log" -exec cp {} old \;

找出當(dāng)前目錄下所有.txt文件并以“File:文件名”的形式打印出來

find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;

因為單行命令中-exec參數(shù)中無法使用多個命令,以下方法可以實現(xiàn)在-exec之后接受多條命令

-exec ./text.sh {} \;

搜索但跳出指定的目錄

查找當(dāng)前目錄或者子目錄下所有.txt文件珊蟀,但是跳過子目錄sk

find . -path "./sk" -prune -o -name "*.txt" -print

find其他技巧收集

要列出所有長度為零的文件

find . -empty

4菊值、which命令

which命令用于查找并顯示給定命令的絕對路徑,環(huán)境變量PATH中保存了查找命令時需要遍歷的目錄育灸。which指令會在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件腻窒。也就是說,使用which命令磅崭,就可以看到某個系統(tǒng)命令是否存在儿子,以及執(zhí)行的到底是哪一個位置的命令

選項:

-n<文件名長度>:制定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名绽诚;

-p<文件名長度>:與-n參數(shù)相同典徊,但此處的<文件名長度>包含了文件的路徑;

-w:指定輸出時欄位的寬度恩够;

-V:顯示版本信息卒落。

例子:

查找文件、顯示命令路徑:

[root@localhost ~]# which pwd

/bin/pwd

[root@localhost ~]#? which adduser

/usr/sbin/adduser

文件內(nèi)容查看

1蜂桶、tail命令

tail命令用于輸入文件中的尾部內(nèi)容儡毕。tail命令默認在屏幕上顯示指定文件的末尾10行。如果給定的文件不止一個扑媚,則在顯示的每個文件前面加一個文件名標題腰湾。如果沒有指定文件或者文件名為“-”,則讀取標準輸入

選項:

--retry:即是在tail命令啟動時疆股,文件不可訪問或者文件稍后變得不可訪問费坊,都始終嘗試打開文件。使用此選項時需要與選項“——follow=name”連用旬痹;

-c<N>或——bytes=<N>:輸出文件尾部的N(N為整數(shù))個字節(jié)內(nèi)容附井;

-f<name/descriptor>或;--follow<nameldescript>:顯示文件最新追加的內(nèi)容两残∮酪悖“name”表示以文件名的方式監(jiān)視文件的變化∪斯“-f”與“-fdescriptor”等效沼死;

-F:與選項“-follow=name”和“--retry"連用時功能相同;

-n<N>或——line=<N>:輸出文件的尾部N(N位數(shù)字)行內(nèi)容崔赌。

--pid=<進程號>:與“-f”選項連用意蛀,當(dāng)指定的進程號的進程終止后耸别,自動退出tail命令;

-q或——quiet或——silent:當(dāng)有多個文件參數(shù)時浸间,不輸出各個文件名太雨;

-s<秒數(shù)>或——sleep-interal=<秒數(shù)>:與“-f”選項連用,指定監(jiān)視文件變化時間隔的秒數(shù)魁蒜;

-v或——verbose:當(dāng)有多個文件參數(shù)時,總是輸出各個文件名吩翻;

--help:顯示指令的幫助信息兜看;

--version:顯示指令的版本信息。

例子:

tail file (顯示文件file的最后10行)

tail +20 file (顯示文件file的內(nèi)容狭瞎,從第20行至文件末尾)

tail -c 10 file (顯示文件file的最后10個字符)

2细移、more命令

more命令是一個基于vi編輯器文本過濾器,它以全屏幕的方式按頁顯示文本文件的內(nèi)容熊锭,支持vi中的關(guān)鍵字定位操作弧轧。more名單中內(nèi)置了若干快捷鍵,常用的有H(獲得幫助信息)碗殷,Enter(向下翻滾一行)精绎,空格(向下滾動一屏),Q(退出命令)锌妻。

該命令一次顯示一屏文本代乃,滿屏后停下來,并且在屏幕的底部出現(xiàn)一個提示信息仿粹,給出至今己顯示的該文件的百分比:--More--(XX%)可以用下列不同的方法對提示做出回答:

按Space鍵:顯示文本的下一屏內(nèi)容搁吓。

按Enier鍵:只顯示文本的下一行內(nèi)容。

按斜線符|:接著輸入一個模式吭历,可以在文本中尋找下一個相匹配的模式堕仔。

按H鍵:顯示幫助屏,該屏上有相關(guān)的幫助信息晌区。

按B鍵:顯示上一屏內(nèi)容摩骨。

按Q鍵:退出rnore命令。

選項:

-<數(shù)字>:指定每屏顯示的行數(shù)契讲;

-d:顯示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”仿吞;

-c:不進行滾屏操作。每次刷新這個屏幕捡偏;

-s:將多個空行壓縮成一行顯示唤冈;

-u:禁止下劃線;

+<數(shù)字>:從指定數(shù)字的行開始顯示银伟。

例子:

顯示文件file的內(nèi)容你虹,但在顯示之前先清屏绘搞,并且在屏幕的最下方顯示完核的百分比。

more -dc file

顯示文件file的內(nèi)容傅物,每10行顯示一次夯辖,而且在顯示之前先清屏。

more -c -10 file

3董饰、less命令

less命令的作用與more十分相似蒿褂,都可以用來瀏覽文字檔案的內(nèi)容,不同的是less命令允許用戶向前或向后瀏覽文件卒暂,而more命令只能向前瀏覽啄栓。用less命令顯示文件時,用PageUp鍵向上翻頁也祠,用PageDown鍵向下翻頁昙楚。要退出less程序,應(yīng)按Q鍵

選項:

-e:文件內(nèi)容顯示完畢后诈嘿,自動退出堪旧;

-f:強制顯示文件;

-g:不加亮顯示搜索到的所有關(guān)鍵詞奖亚,僅顯示當(dāng)前顯示的關(guān)鍵字淳梦,以提高顯示速度;

-l:搜索時忽略大小寫的差異遂蛀;

-N:每一行行首顯示行號谭跨;

-s:將連續(xù)多個空行壓縮成一行顯示;

-S:在單行顯示較長的內(nèi)容李滴,而不換行顯示螃宙;

-x<數(shù)字>:將TAB字符顯示為指定個數(shù)的空格字符。

文件處理

1所坯、cat命令

cat命令連接文件并打印到標準輸出設(shè)備上谆扎,cat經(jīng)常用來顯示文件的內(nèi)容

注意:當(dāng)文件較大時,文本在屏幕上迅速閃過(滾屏)芹助,用戶往往看不清所顯示的內(nèi)容堂湖。因此,一般用more等命令分屏顯示状土。為了控制滾屏无蜂,可以按Ctrl+S鍵,停止?jié)L屏蒙谓;按Ctrl+Q鍵可以恢復(fù)滾屏斥季。按Ctrl+C(中斷)鍵可以終止該命令的執(zhí)行,并且返回Shell提示符狀態(tài)

選項:

-n或-number:有1開始對所有輸出的行數(shù)編號;

-b或--number-nonblank:和-n相似酣倾,只不過對于空白行不編號舵揭;

-s或--squeeze-blank:當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行躁锡;

-A:顯示不可打印字符午绳,行尾顯示“$”;

-e:等價于"-vE"選項映之;

-t:等價于"-vT"選項拦焚;

例子:

設(shè)ml和m2是當(dāng)前目錄下的兩個文件

cat m1 (在屏幕上顯示文件ml的內(nèi)容)

cat m1 m2 (同時顯示文件ml和m2的內(nèi)容)

cat m1 m2 > file (將文件ml和m2合并后放入文件file中)

目錄基本操作

1、install命令

install命令的作用是安裝或升級軟件或備份數(shù)據(jù)杠输,它的使用權(quán)限是所有用戶耕漱。install命令和cp命令類似,都可以將文件/目錄拷貝到指定的地點抬伺。但是,install允許你控制目標文件的屬性灾梦。install通常用于程序的makefile峡钓,使用它來將程序拷貝到目標(安裝)目錄。

選項:http://man.linuxde.net/install

例子:

install -d [option] DIRECTORY [DIRECTORY...]

支持多個若河,類似mkdir -p支持遞歸能岩。例如:install -d a/b/c e/f結(jié)果和mkdir -p a/b/c e/f一樣。

install [option] SOURCE DEST

復(fù)制SOURCE文件(測試不能是目錄)到DEST file(文件):

install a/e c

結(jié)果類似:

cp a/e c? ? #注意c必須是文件萧福。

有用選項-D:

install -D x a/b/c

效果類似:

mkdir -p a/b && cp x a/b/c

install [option] SOURCE [SOURCE...] DIRECTORY

復(fù)制多個SOURCE文件到目的目錄:

install a/* d

2拉鹃、tree命令: http://man.linuxde.net/tree

3、rmdir命令

rmdir命令用來刪除空目錄鲫忍。當(dāng)目錄不再被使用時膏燕,或者磁盤空間已到達使用限定值,就需要刪除失去使用價值的目錄悟民。利用rmdir命令可以從一個目錄中刪除一個或多個空的子目錄坝辫。該命令從一個目錄中刪除一個或多個子目錄,其中dirname佬表示目錄名射亏。如果dirname中沒有指定路徑近忙,則刪除當(dāng)前目錄下由dirname指定的目錄;如dirname中包含路徑智润,則刪除指定位置的目錄及舍。刪除目錄時,必須具有對其父目錄的寫權(quán)限窟绷。

注意:子目錄被刪除之前應(yīng)該是空目錄锯玛。就是說,該目錄中的所有文件必須用rm命令全部钾麸,另外更振,當(dāng)前工作目錄必須在被刪除目錄之上炕桨,不能是被刪除目錄本身,也不能是被刪除目錄的子目錄肯腕。

選項:

-p或--parents:刪除指定目錄后献宫,若該目錄的上層目錄已變成空目錄,則將其一并刪除实撒;

--ignore-fail-on-non-empty:此選項使rmdir命令忽略由于刪除非空目錄時導(dǎo)致的錯誤信息姊途;

-v或-verboes:顯示命令的詳細執(zhí)行過程;

--help:顯示命令的幫助信息知态;

--version:顯示命令的版本信息捷兰。

例子:

刪除子目錄os_1和其父目錄bin

cd /usr/meng/test

rmdir -p bin/os_1

4、mkdir命令

mkdir命令用來創(chuàng)建目錄负敏。該命令創(chuàng)建由dirname命名的目錄贡茅。如果在目錄名的前面沒有加任何路徑名,則在當(dāng)前目錄下創(chuàng)建由dirname指定的目錄其做;如果給出了一個已經(jīng)存在的路徑顶考,將會在該目錄下創(chuàng)建一個指定的目錄。在創(chuàng)建目錄時妖泄,應(yīng)保證新建的目錄與它所在目錄下的文件沒有重名驹沿。

注意:在創(chuàng)建文件時,不要把所有的文件都存放在主目錄中蹈胡,可以創(chuàng)建子目錄渊季,通過它們來更有效地組織文件。最好采用前后一致的命名方式來區(qū)分文件和目錄罚渐。例如却汉,目錄名可以以大寫字母開頭,這樣搅轿,在目錄列表中目錄名就出現(xiàn)在前面病涨。

在一個子目錄中應(yīng)包含類型相似或用途相近的文件。例如璧坟,應(yīng)建立一個子目錄既穆,它包含所有的數(shù)據(jù)庫文件,另有一個子目錄應(yīng)包含電子表格文件雀鹃,還有一個子目錄應(yīng)包含文字處理文檔幻工,等等。目錄也是文件黎茎,它們和普通文件一樣遵循相同的命名規(guī)則囊颅,并且利用全路徑可以唯一地指定一個目錄。

選項:

-Z:設(shè)置安全上下文,當(dāng)使用SELinux時有效踢代;

-m<目標屬性>或--mode<目標屬性>建立目錄的同時設(shè)置目錄的權(quán)限盲憎;

-p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄胳挎;

--version 顯示版本信息饼疙。

例子:

在目錄/usr/meng下建立子目錄test,并且只有文件主有讀慕爬、寫和執(zhí)行權(quán)限窑眯,其他人無權(quán)訪問

mkdir -m 700 /usr/meng/test

在當(dāng)前目錄中建立bin和bin下的os_1目錄,權(quán)限設(shè)置為文件主可讀医窿、寫磅甩、執(zhí)行,同組用戶可讀和執(zhí)行姥卢,其他用戶無權(quán)訪問

mkdir -p-m 750 bin/os_1

5卷要、rm命令

rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉独榴。對于鏈接文件却妨,只是刪除整個鏈接文件,而原有文件保持不變括眠。

注意:使用rm命令要格外小心。因為一旦刪除了一個文件倍权,就無法再恢復(fù)它掷豺。所以,在刪除文件之前薄声,最好再看一下文件的內(nèi)容当船,確定是否真要刪除。rm命令可以用-i選項默辨,這個選項在使用文件擴展名字符刪除多個文件時特別有用德频。使用這個選項,系統(tǒng)會要求你逐一確定是否要刪除缩幸。這時壹置,必須輸入y并按Enter鍵,才能刪除文件表谊。如果僅按Enter鍵或其他字符钞护,文件不會被刪除。

選項:

-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0爆办,刪除該目錄难咕;

-f:強制刪除文件或目錄;

-i:刪除已有文件或目錄之前先詢問用戶;

-r或-R:遞歸處理余佃,將指定目錄下的所有文件與子目錄一并處理暮刃;

--preserve-root:不對根目錄進行遞歸操作;

-v:顯示指令的詳細執(zhí)行過程爆土。

例子:

交互式刪除當(dāng)前目錄下的文件test和example

rm -i test example

刪除當(dāng)前目錄下除隱含文件外的所有文件和子目錄

# rm -r *

6椭懊、pwd命令

7、ls命令

8雾消、mv命令

9灾搏、cp命令

10、cd命令

文件權(quán)限屬性設(shè)置

1立润、chmod命令

chmod命令用來變更文件或目錄的權(quán)限狂窑。在UNIX系統(tǒng)家族里,文件或目錄權(quán)限的控制分別以讀取桑腮、寫入泉哈、執(zhí)行3種一般權(quán)限來區(qū)分,另有3種特殊權(quán)限可供運用破讨。用戶可以使用chmod指令去變更文件與目錄的權(quán)限丛晦,設(shè)置方式采用文字或數(shù)字代號皆可。符號連接的權(quán)限無法變更提陶,如果用戶對符號連接修改權(quán)限烫沙,其改變會作用在被連接的原始文件。

權(quán)限范圍的表示法如下:

u User隙笆,即文件或目錄的擁有者锌蓄;

g Group,即文件或目錄的所屬群組撑柔;

o Other瘸爽,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍铅忿;

a All剪决,即全部的用戶,包含擁有者檀训,所屬群組以及其他用戶柑潦;

r 讀取權(quán)限,數(shù)字代號為“4”;

w 寫入權(quán)限峻凫,數(shù)字代號為“2”妒茬;

x 執(zhí)行或切換權(quán)限,數(shù)字代號為“1”蔚晨;

- 不具任何權(quán)限乍钻,數(shù)字代號為“0”肛循;

s 特殊功能說明:變更文件或目錄的權(quán)限。

選項:

-c或——changes:效果類似“-v”參數(shù)银择,但僅回報更改的部分多糠;

-f或--quiet或——silent:不顯示錯誤信息;

-R或——recursive:遞歸處理浩考,將指令目錄下的所有文件及子目錄一并處理夹孔;

-v或——verbose:顯示指令執(zhí)行過程;

--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同析孽;

<權(quán)限范圍>+<權(quán)限設(shè)置>:開啟權(quán)限范圍的文件或目錄的該選項權(quán)限設(shè)置搭伤;

<權(quán)限范圍>-<權(quán)限設(shè)置>:關(guān)閉權(quán)限范圍的文件或目錄的該選項權(quán)限設(shè)置;

<權(quán)限范圍>=<權(quán)限設(shè)置>:指定權(quán)限范圍的文件或目錄的該選項權(quán)限設(shè)置袜瞬;

例子:

rwx rw- r--

r=讀取屬性  //值=4

w=寫入屬性  //值=2

x=執(zhí)行屬性  //值=1

chmod u+x,g+w f01  //為文件f01設(shè)置自己可以執(zhí)行怜俐,組員可以寫入的權(quán)限

chmod u=rwx,g=rw,o=r f01

chmod 764 f01

chmod a+x f01  //對文件f01的u,g,o都設(shè)置可執(zhí)行屬性

2、chown命令

chown命令改變某個文件或目錄的所有者和所屬的組邓尤,該命令可以向某個用戶授權(quán)拍鲤,使該用戶變成指定文件的所有者或者改變文件所屬的組。用戶可以是用戶或者是用戶D汞扎,用戶組可以是組名或組id季稳。文件名可以使由空格分開的文件列表,在文件名中可以包含通配符澈魄。

只有文件主和超級用戶才可以便用該命令

選項:

-c或——changes:效果類似“-v”參數(shù)景鼠,但僅回報更改的部分;

-f或--quite或——silent:不顯示錯誤信息痹扇;

-h或--no-dereference:只對符號連接的文件作修改莲蜘,而不更改其他任何相關(guān)文件;

-R或——recursive:遞歸處理帘营,將指定目錄下的所有文件及子目錄一并處理;

-v或——version:顯示指令執(zhí)行過程逐哈;

--dereference:效果和“-h”參數(shù)相同芬迄;

--help:在線幫助;

--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全部設(shè)成和參考文件或目錄的擁有者與所屬群組相同昂秃;

--version:顯示版本信息禀梳。

例子:

將目錄/usr/meng及其下面的所有文件、子目錄的文件主改成 liu:

chown -R liu /usr/meng

3肠骆、file命令

file命令用來探測給定文件的類型算途。file命令對文件的檢查分為文件系統(tǒng)、魔法幻數(shù)檢查和語言檢查3個過程蚀腿。

選項:

-b:列出辨識結(jié)果時嘴瓤,不顯示文件名稱扫外;

-c:詳細顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形廓脆;

-f<名稱文件>:指定名稱文件筛谚,其內(nèi)容有一個或多個文件名稱時,讓file依序辨識這些文件停忿,格式為每列一個文件名稱驾讲;

-L:直接顯示符號連接所指向的文件類別;

-m<魔法數(shù)字文件>:指定魔法數(shù)字文件席赂;

-v:顯示版本信息吮铭;

-z:嘗試去解讀壓縮文件的內(nèi)容。

例子:

file install.log

4颅停、egrep命令

egrep命令用于在文件內(nèi)查找指定的字符串谓晌。egrep執(zhí)行效果與grep -E相似,使用的語法及參數(shù)可參照grep指令便监,與grep的不同點在于解讀字符串的方法扎谎。egrep是用extended regular expression語法來解讀的,而grep則用basic regular expression 語法解讀烧董,extended regular expression比basic regular expression的表達更規(guī)范毁靶。

例子:

egrep "system" application.properties

5、grep命令

它能使用正則表達式搜索文本逊移,并把匹配的行打印出來

選項/例子:http://man.linuxde.net/grep

6预吆、fgrep命令:http://man.linuxde.net/fgrep

7、comm命令

comm命令可以用于兩個文件之間的比較胳泉,它有一些選項可以用來調(diào)整輸出拐叉,以便執(zhí)行交集、求差扇商、以及差集操作凤瘦。

交集:打印出兩個文件所共有的行。

求差:打印出指定文件所包含的且不相同的行案铺。

差集:打印出包含在一個文件中蔬芥,但不包含在其他指定文件中的行。

選項:

-1:不顯示在第一個文件出現(xiàn)的內(nèi)容控汉;

-2:不顯示在第二個文件中出現(xiàn)的內(nèi)容笔诵;

-3:不顯示同時在兩個文件中都出現(xiàn)的內(nèi)容

文件壓縮與解壓

1、zip命令

zip命令可以用來解壓縮文件姑子,或者對文件進行打包操作乎婿。zip是個使用廣泛的壓縮程序,文件經(jīng)它壓縮后會另外產(chǎn)生具有“.zip”擴展名的壓縮文件街佑。

選項:http://man.linuxde.net/zip

例子:

現(xiàn)在我的html目錄下谢翎,我操作的zip壓縮命令是:

zip -q -r html.zip *

ps:centos沒有zip命令捍靠。輸入“yum install zip unzip ”可以安裝

2、gzip命令

gzip命令用來壓縮文件岳服。gzip是個使用廣泛的壓縮程序剂公,文件經(jīng)它壓縮過后,其名稱后面會多處“.gz”擴展名吊宋。

gzip是在Linux系統(tǒng)中經(jīng)常使用的一個對文件進行壓縮和解壓縮的命令纲辽,既方便又好用。gzip不僅可以用來壓縮大的璃搜、較少使用的文件以節(jié)省磁盤空間拖吼,還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式。據(jù)統(tǒng)計这吻,gzip命令對文本文件有60%~70%的壓縮率吊档。減少文件大小有兩個明顯的好處,一是可以減少存儲空間唾糯,二是通過網(wǎng)絡(luò)傳輸文件時怠硼,可以減少傳輸?shù)臅r間

選項:

-a或——ascii:使用ASCII文字模式;

-d或--decompress或----uncompress:解開壓縮文件移怯;

-f或——force:強行壓縮文件香璃。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接;

-h或——help:在線幫助舟误;

-l或——list:列出壓縮文件的相關(guān)信息葡秒;

-L或——license:顯示版本與版權(quán)信息;

-n或--no-name:壓縮文件時嵌溢,不保存原來的文件名稱及時間戳記眯牧;

-N或——name:壓縮文件時,保存原來的文件名稱及時間戳記赖草;

-q或——quiet:不顯示警告信息学少;

-r或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理秧骑;

-S或<壓縮字尾字符串>或----suffix<壓縮字尾字符串>:更改壓縮字尾字符串版确;

-t或——test:測試壓縮文件是否正確無誤;

-v或——verbose:顯示指令執(zhí)行過程腿堤;

-V或——version:顯示版本信息;

-<壓縮效率>:壓縮效率是一個介于1~9的數(shù)值如暖,預(yù)設(shè)值為“6”,指定愈大的數(shù)值,壓縮效率就會愈高颂暇;

--best:此參數(shù)的效果和指定“-9”參數(shù)相同;

--fast:此參數(shù)的效果和指定“-1”參數(shù)相同士修。

例子:

把test6目錄下的每個文件壓縮成.gz文件

gzip *

把上例中每個壓縮的文件解壓,并列出詳細的信息

gzip -dv *

詳細顯示例1中每個壓縮的文件的信息樱衷,并不解壓

gzip -l *

壓縮一個tar備份文件棋嘲,此時壓縮文件的擴展名為.tar.gz

gzip -r log.tar

遞歸的壓縮目錄

gzip -rv test6

這樣,所有test下面的文件都變成了*.gz矩桂,目錄依然存在只是目錄里面的文件相應(yīng)變成了*.gz.這就是壓縮沸移,和打包不同。因為是對目錄操作侄榴,所以需要加上-r選項雹锣,這樣也可以對子目錄進行遞歸了。

遞歸地解壓目錄

gzip -dr test6

3癞蚕、tar命令

tar命令可以為linux的文件和目錄創(chuàng)建檔案蕊爵。利用tar,可以為某一特定文件創(chuàng)建檔案(備份文件)桦山,也可以在檔案中改變文件攒射,或者向檔案中加入新的文件。tar最初被用來在磁帶上創(chuàng)建檔案恒水,現(xiàn)在会放,用戶可以在任何設(shè)備上創(chuàng)建檔案。利用tar命令寇窑,可以把一大堆的文件和目錄全部打包成一個文件鸦概,這對于備份文件或?qū)讉€文件組合成為一個文件以便于網(wǎng)絡(luò)傳輸是非常有用的。

首先要弄清兩個概念:打包和壓縮甩骏。打包是指將一大堆文件或目錄變成一個總的文件窗市;壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。

選項:

-A或--catenate:新增文件到以存在的備份文件饮笛;

-B:設(shè)置區(qū)塊大凶刹臁;

-c或--create:建立新的備份文件福青;

-C <目錄>:這個選項用在解壓縮摄狱,若要在特定目錄解壓縮,可以使用這個選項无午。

-d:記錄文件的差別媒役;

-x或--extract或--get:從備份文件中還原文件;

-t或--list:列出備份文件的內(nèi)容宪迟;

-z或--gzip或--ungzip:通過gzip指令處理備份文件酣衷;

-Z或--compress或--uncompress:通過compress指令處理備份文件;

-f<備份文件>或--file=<備份文件>:指定備份文件次泽;

-v或--verbose:顯示指令執(zhí)行過程穿仪;

-r:添加文件到已經(jīng)壓縮的文件席爽;

-u:添加改變了和現(xiàn)有的文件到已經(jīng)存在的壓縮文件;

-j:支持bzip2解壓文件啊片;

-v:顯示操作過程只锻;

-l:文件系統(tǒng)邊界設(shè)置;

-k:保留原有文件不覆蓋紫谷;

-m:保留文件不被覆蓋齐饮;

-w:確認壓縮文件的正確性;

-p或--same-permissions:用原來的文件權(quán)限還原文件碴里;

-P或--absolute-names:文件名使用絕對名稱沈矿,不移除文件名稱前的“/”號;

-N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的文件保存到備份文件里咬腋;

--exclude=<范本樣式>:排除符合范本樣式的文件羹膳。

例子:

將文件全部打包成tar包:

tar -cvf log.tar log2012.log? ? 僅打包,不壓縮根竿!

tar -zcvf log.tar.gz log2012.log? 打包后陵像,以 gzip 壓縮

tar -jcvf log.tar.bz2 log2012.log? 打包后,以 bzip2 壓縮

將tar包解壓縮:

tar -zxvf /opt/soft/test/log.tar.gz

文件備份和恢復(fù)

1寇壳、cpio命令

cpio命令主要是用來建立或者還原備份檔的工具程序醒颖,cpio命令可以復(fù)制文件到歸檔包中,或者從歸檔包中復(fù)制文件

選項:http://man.linuxde.net/cpio

例子:

將/etc下的所有普通文件都備份到/opt/etc.cpio壳炎,使用以下命令:

find /etc –type f | cpio –ocvB >/opt/etc.cpio

將系統(tǒng)上所有資料備份到磁帶機內(nèi)泞歉,使用以下命令:

find / -print | cpio -covB > /dev/st0

這里的/dev/st0是磁帶的設(shè)備名,代表SCSI磁帶機匿辩。

查看上例磁帶機上備份的文件腰耙,使用以下命令:

cpio? -icdvt < /dev/st0 > /tmp/st_content

有時可能因為備份的文件過多,一個屏幕無法顯示完畢铲球,此時我們利用下面命令挺庞,讓磁帶機的文件信息輸出到文件。

將示例1中的備份包還原到相應(yīng)的位置稼病,如果有相同文件進行覆蓋选侨,使用以下命令:

cpio –icduv < /opt/etc.cpio

注意,cpio恢復(fù)的路徑然走,如果cpio在打包備份的時候用的是絕對路徑援制,那么在恢復(fù)的時候會自動恢復(fù)到這些絕對路徑下,本例就會將備份文件全部還原到/etc路徑下對應(yīng)的目錄中芍瑞。同理晨仑,如果在打包備份用的是相對路徑,還原時也將恢復(fù)到相對路徑下。

通過上面的示例寻歧,可以看出,cpio無法直接讀取文件秩仆,它需要每個文件或者目錄的完整路徑名才能識別讀取码泛,而find命令的輸出剛好做到了這點,因此澄耍,cpio命令一般和find命令配合使用噪珊。其實,上面的示例我們已經(jīng)看到了它們的組合用法齐莲。

2痢站、dump命令

dump命令用于備份ext2或者ext3文件系統(tǒng)⊙⌒铮可將目錄或整個文件系統(tǒng)備份至指定的設(shè)備阵难,或備份成一個大文件

選項:

-0123456789:備份的層級;

-b<區(qū)塊大小>:指定區(qū)塊的大小芒填,單位為KB呜叫;

-B<區(qū)塊數(shù)目>:指定備份卷冊的區(qū)塊數(shù)目;

-c:修改備份磁帶預(yù)設(shè)的密度與容量殿衰;

-d<密度>:設(shè)置磁帶的密度朱庆。單位為BPI;

-f<設(shè)備名稱>:指定備份設(shè)備闷祥;

-h<層級>:當(dāng)備份層級等于或大于指定的層級時娱颊,將不備份用戶標示為“nodump”的文件;

-n:當(dāng)備份工作需要管理員介入時凯砍,向所有“operator”群組中的使用者發(fā)出通知箱硕;

-s<磁帶長度>:備份磁帶的長度,單位為英尺果覆;

-T<日期>:指定備份的時間與日期颅痊;

-u:備份完畢后,在/etc/dumpdates中記錄備份的文件系統(tǒng)局待、層級斑响、日期與時間等;

-w:與-W類似钳榨,但僅顯示需要備份的文件舰罚;

-W:顯示需要備份的文件及其最后一次備份的層級、時間與日期薛耻。

例子:

將/home目錄所有內(nèi)容備份到/tmp/homeback.bak文件中营罢,備份層級為0并在/etc/dumpdates中記錄相關(guān)信息:

dump -0u -f /tmp/homeback.bak /home

將/home目錄所有內(nèi)容備份到/tmp/homeback.bak文件中,備份層級為1(只備份上次使用層次0備份后發(fā)生過改變的數(shù)據(jù))并在/etc/dumpdates中記錄相關(guān)信息:

dump -1u -f /tmp/homeback.bak /home

通過dump命令的備份層級,可實現(xiàn)完整+增量備份饲漾、完整+差異備份蝙搔,在配合crontab可以實現(xiàn)無人值守備份。

3考传、restore命令

restore命令是dump命令的逆過程吃型,用于還原dump命令生成的備份文件。傾倒操作可用來備份文件僚楞,而還原操作則是寫回這些已備份的文件勤晚。

選項:

-b<區(qū)塊大小>:設(shè)置區(qū)塊大小,單位為Byte泉褐;

-c:不檢查傾倒操作的備份格式赐写,僅準許讀取使用舊格式的備份文件;

-C:使用對比模式膜赃,將備份的文件與現(xiàn)行的文件相互對比挺邀;

-D<文件系統(tǒng)>:允許用戶指定文件系統(tǒng)的名稱;

-f<備份文件>:從指定的文件中讀取備份數(shù)據(jù)跳座,進行還原操作悠夯;

-h:僅解除目錄而不包括與該目錄相關(guān)的所有文件;

-i:使用互動模式躺坟,在進行還原操作時沦补,restore指令將依序詢問用戶;

-m:解開符合指定的inode編號的文件或目錄而非用文件名稱指定咪橙;

-r:進行還原操作夕膀;

-R:全面還原文件系統(tǒng)時,檢查應(yīng)從何處開始進行美侦;

-s<文件編號>:當(dāng)備份數(shù)據(jù)超過一卷磁帶時产舞,用戶可以指定備份文件的編號;

-t:指定文件名稱菠剩,若該文件已存在備份文件中易猫,則列出它們的名稱;

-v:顯示指令執(zhí)行過程具壮;

-x:設(shè)置文件名稱准颓,且從指定的存儲媒體里讀入它們,若該文件已存在在備份文件中棺妓,則將其還原到文件系統(tǒng)內(nèi)攘已;

-y:不詢問任何問題,一律以同意回答并繼續(xù)執(zhí)行指令怜跑。

例子:

dump -9 -u -f /dev/hda3 /home/frank/

用restore命令來恢復(fù)備份:

restore rf /dev/hda3 /home/frank

用restore命令來查看備份文件里的文件列表:

restore ft /dev/hda3

Shell內(nèi)建命令

1样勃、history命令

history命令用于顯示指定數(shù)目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩沖區(qū)和將歷史命令緩沖區(qū)中的目錄寫入命令文件。

該命令單獨使用時峡眶,僅顯示歷史命令剧防,在命令行中,可以使用符號!執(zhí)行指定序號的歷史命令辫樱。例如诵姜,要執(zhí)行第2個歷史命令,則輸入!2搏熄。

歷史命令是被保存在內(nèi)存中的,當(dāng)退出或者登錄shell時暇赤,會自動保存或讀取心例。在內(nèi)存中,歷史命令僅能夠存儲1000條歷史命令鞋囊,該數(shù)量是由環(huán)境變量HISTSIZE進行控制止后。

選項:

-c:清空當(dāng)前歷史命令;

-a:將歷史命令緩沖區(qū)中命令寫入歷史命令文件中溜腐;

-r:將歷史命令文件中的命令讀入當(dāng)前歷史命令緩沖區(qū)译株;

-w:將當(dāng)前歷史命令緩沖區(qū)命令寫入歷史命令文件中。

例子:

使用history命令顯示最近使用的10條歷史命令挺益,輸入如下命令:

[root@localhost ~]# history 10

2歉糜、kill命令

kill命令用來刪除執(zhí)行中的程序或工作。kill可將指定的信息送至程序望众。預(yù)設(shè)的信息為SIGTERM(15),可將指定程序終止匪补。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序烂翰。程序或工作的編號可利用ps指令或job指令查看夯缺。

選項:

-a:當(dāng)處理當(dāng)前進程時,不限制命令名和進程號的對應(yīng)關(guān)系甘耿;

-l <信息編號>:若不加<信息編號>選項踊兜,則-l參數(shù)會列出全部的信息名稱;

-p:指定kill 命令只打印相關(guān)進程的進程號佳恬,而不發(fā)送任何信號捏境;

-s <信息名稱或編號>:指定要送出的信息;

-u:指定用戶毁葱。

3典蝌、export命令

export命令用于將shell變量輸出為環(huán)境變量,或者將shell函數(shù)輸出為環(huán)境變量头谜。

一個變量創(chuàng)建時骏掀,它不會自動地為在它之后創(chuàng)建的shell進程所知。而命令export可以向后面的shell傳遞變量的值。當(dāng)一個shell腳本調(diào)用并執(zhí) 行時截驮,它不會自動得到原為腳本(調(diào)用者)里定義的變量的訪問權(quán)笑陈,除非這些變量已經(jīng)被顯式地設(shè)置為可用。export命令可以用于傳遞一個或多個變量的值到任何后繼腳本葵袭。

選項:

-f:代表[變量名稱]中為函數(shù)名稱涵妥;

-n:刪除指定的變量。變量實際上并未刪除坡锡,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中蓬网;

-p:列出所有的shell賦予程序的環(huán)境變量。

例子:

一般來說鹉勒,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑帆锋,此時就需要設(shè)置環(huán)境變量。查看已經(jīng)存在的環(huán)境變量:

[root@localhost ~]# export

性能監(jiān)測與優(yōu)化

1禽额、netHogs命令

NetHogs是一個開源的命令行工具(類似于Linux的top命令)锯厢,用來按進程或程序?qū)崟r統(tǒng)計網(wǎng)絡(luò)帶寬使用率

設(shè)置5秒鐘的刷新頻率

nethogs -d 5

如果只用來監(jiān)視設(shè)備(eth0)的網(wǎng)絡(luò)帶寬可以使用如下命令:

# nethogs eth0

2、top命令

top命令可以實時動態(tài)地查看系統(tǒng)的整體運行情況脯倒,是一個綜合了多方信息監(jiān)測系統(tǒng)性能和運行信息的實用工具

選項:

-b:以批處理模式操作实辑;

-c:顯示完整的治命令;

-d:屏幕刷新間隔時間藻丢;

-I:忽略失效過程剪撬;

-s:保密模式;

-S:累積模式悠反;

-i<時間>:設(shè)置間隔時間婿奔;

-u<用戶名>:指定用戶名;

-p<進程號>:指定進程问慎;

-n<次數(shù)>:循環(huán)顯示的次數(shù)萍摊。

3、free命令

free命令可以顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目如叼,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)

選項:

-b:以Byte為單位顯示內(nèi)存使用情況冰木;

-k:以KB為單位顯示內(nèi)存使用情況;

-m:以MB為單位顯示內(nèi)存使用情況笼恰;

-o:不顯示緩沖區(qū)調(diào)節(jié)列踊沸;

-s<間隔秒數(shù)>:持續(xù)觀察內(nèi)存使用狀況;

-t:顯示內(nèi)存總和列社证;

-V:顯示版本信息逼龟。

例子:

free -m

網(wǎng)絡(luò)應(yīng)用

1、wget命令

wget命令用來從指定的URL下載文件追葡。wget非常穩(wěn)定腺律,它在帶寬很窄的情況下和不穩(wěn)定網(wǎng)絡(luò)中有很強的適應(yīng)性奕短,如果是由于網(wǎng)絡(luò)的原因下載失敗,wget會不斷的嘗試匀钧,直到整個文件下載完畢翎碑。如果是服務(wù)器打斷下載過程,它會再次聯(lián)到服務(wù)器上從停止的地方繼續(xù)下載之斯。這對從那些限定了鏈接時間的服務(wù)器上下載大文件非常有用

選項:

-a<日志文件>:在指定的日志文件中記錄資料的執(zhí)行過程日杈;

-A<后綴名>:指定要下載文件的后綴名,多個后綴名之間使用逗號進行分隔佑刷;

-b:進行后臺的方式運行wget莉擒;

-B<連接地址>:設(shè)置參考的連接地址的基地地址;

-c:繼續(xù)執(zhí)行上次終端的任務(wù)瘫絮;

-C<標志>:設(shè)置服務(wù)器數(shù)據(jù)塊功能標志on為激活涨冀,off為關(guān)閉,默認值為on檀何;

-d:調(diào)試模式運行指令;

-D<域名列表>:設(shè)置順著的域名列表廷支,域名之間用“频鉴,”分隔;

-e<指令>:作為文件“.wgetrc”中的一部分執(zhí)行指定的指令恋拍;

-h:顯示指令幫助信息垛孔;

-i<文件>:從指定文件獲取要下載的URL地址;

-l<目錄列表>:設(shè)置順著的目錄列表施敢,多個目錄用“周荐,”分隔;

-L:僅順著關(guān)聯(lián)的連接僵娃;

-r:遞歸下載方式概作;

-nc:文件存在時,下載文件不覆蓋原有文件默怨;

-nv:下載時只顯示更新和出錯信息讯榕,不顯示指令的詳細執(zhí)行過程;

-q:不顯示指令執(zhí)行過程匙睹;

-nh:不查詢主機名稱愚屁;

-v:顯示詳細執(zhí)行過程;

-V:顯示版本信息痕檬;

--passive-ftp:使用被動模式PASV連接FTP服務(wù)器霎槐;

--follow-ftp:從HTML文件中下載FTP連接文件。

例子:

使用wget下載單個文件

wget http://www.linuxde.net/testfile.zip

其余例子:http://man.linuxde.net/wget

常用工具命令

1梦谜、date命令

date命令是顯示或設(shè)置系統(tǒng)時間與日期丘跌。袭景。

選項:

-d<字符串>:顯示字符串所指的日期與時間。字符串前后必須加上雙引號碍岔;

-s<字符串>:根據(jù)字符串來設(shè)置日期與時間浴讯。字符串前后必須加上雙引號;

-u:顯示GMT蔼啦;

--help:在線幫助榆纽;

--version:顯示版本信息。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

例子:

格式化輸出:

date +"%Y-%m-%d"

2009-12-07

設(shè)定時間:

date -s? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置當(dāng)前時間捏肢,只有root權(quán)限才能設(shè)置奈籽,其他只能查看

date -s 20120523? ? ? ? ? ? ? //設(shè)置成20120523,這樣會把具體時間設(shè)置成空00:00:00

date -s 01:01:01? ? ? ? ? ? ? //設(shè)置具體時間鸵赫,不會對日期做更改

date -s "01:01:01 2012-05-23"? //這樣可以設(shè)置全部時間

date -s "01:01:01 20120523"? ? //這樣可以設(shè)置全部時間

date -s "2012-05-23 01:01:01"? //這樣可以設(shè)置全部時間

date -s "20120523 01:01:01"? ? //這樣可以設(shè)置全部時間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衣屏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辩棒,更是在濱河造成了極大的恐慌狼忱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件一睁,死亡現(xiàn)場離奇詭異钻弄,居然都是意外死亡,警方通過查閱死者的電腦和手機者吁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門窘俺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人复凳,你說我怎么就攤上這事瘤泪。” “怎么了育八?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵对途,是天一觀的道長。 經(jīng)常有香客問我髓棋,道長掀宋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任仲锄,我火速辦了婚禮劲妙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘儒喊。我一直安慰自己镣奋,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布怀愧。 她就那樣靜靜地躺著侨颈,像睡著了一般余赢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哈垢,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天妻柒,我揣著相機與錄音,去河邊找鬼耘分。 笑死举塔,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的求泰。 我是一名探鬼主播央渣,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渴频!你這毒婦竟也來了芽丹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤卜朗,失蹤者是張志新(化名)和其女友劉穎拔第,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體场钉,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蚊俺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惹悄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片春叫。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡肩钠,死狀恐怖泣港,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情价匠,我是刑警寧澤当纱,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站踩窖,受9級特大地震影響坡氯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洋腮,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一箫柳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧啥供,春花似錦悯恍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞬欧。三九已至,卻和暖如春罢防,著一層夾襖步出監(jiān)牢的瞬間艘虎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工咒吐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留野建,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓渤滞,卻偏偏與公主長得像贬墩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子妄呕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容