上一篇 6.大數據之_linux基本知識_2_文件目錄操作命令_0
1.6.2 rm(移除檔案或目錄)
用法:rm [-fir] 檔案或目錄
選項參數:
-f:忽略不存在的檔案,不會出現警告,f(force)
-i:互動模式,再刪除前會詢問使用者是否進行刪除動作
-r:遞歸刪除,常用在目錄的刪除,(這是非常危險的選項),刪除了就找不回來了
舉例:
目錄參考上圖
<1>rm -i /tmp/test1/fff.txt
說明:使用-i命令刪除檔案(文件),系統發出交互信息。
<2>rm -i /tmp/test1/tt*
說明:通配符刪除文件,*代表的是0~任意多個字符
<3>rmdir /tmp/test2/test3/
說明:由於目錄下面有文件,所以刪除時,系統會提示消息(提示消息的原因是root
用戶所以預設加入了-i選項,這是一種保護機制,防止誤刪)。
這時使用:
rm -r /tmp/test2/test3/
/rm -r /tmp/test2/test3/ (去掉系統刪除提示)
-r代表遞歸刪除,也就是將目錄下面的文件刪除然後將test3目錄刪除,注意不會刪除test2目錄,這是遞歸向下。
<4>rm ./-aasd
說明:刪除開頭是-的檔案(文件),一定要使用./指定在當前目錄下面,因爲-在linux系統中表示後面接的是選項,因此,單純的使用『rm - aasd 』系統的指令就會誤判。所以,只能避過首位字符是 "-"的方法,就是加上本目錄『./ 』。還有另一種方式rm -- -aasd
1.6.3 mv移動檔案與目錄或更名
用法:mv [-fiu] 要移動的文件 目的位置
mv要移動的文件1要移動的文件2要移動的文件3 … 移動的目的位置
選項參數:
-f:如果目標文件已經存在,系統不會詢問直接覆蓋
-i:目標文件已存,系統發起詢問是否覆蓋(root用戶系統會預設添加-i選項)
-u:若目標文件已經存在,且要移動的文件比較新,這時纔會更新
舉例:
<1>mv aaa.txt test1
說明:將aaa.txt文件移動到test1文件夾下面
<2>mv -i aaa.txt test1(-i root用戶會進行預設加入)
說明:移動時,目標文件夾有同名的文件,系統發起詢問是否覆蓋
<3>mv -u aaa.txt test1
說明:-u選項系統發起詢問,是否覆蓋原文件。
1.6.4取得路徑的文件名和目錄名
<1>basename
用法:basename路徑
舉例:basename /etc/sysconfig/networw
說明:上面命令會顯示文件名
<2>dirname
用法:dirname路徑
舉例:dirname /etc/sysconfig/network
說明:上面命令顯示路徑
1.6.4 文件內容查看
就像windows的記事本瀏覽文件一樣,linux下,文件內容查看有很多常用的指令。
cat:由第一行顯示文件內容
tac:從最後一行顯示文件內容
nl:顯示文件,同時輸出行號
more:一頁一頁顯示內容
less:一頁一頁顯示內容,可以往前翻頁
head:只看頭幾行
tail:只看尾巴幾行
od:以二進制的方式讀取檔案內容
<1>cat
舉例:cat [-AbEnTv] 文件(可以是文件路徑)
選項:
-A:列出特殊字符
-b:列出行號僅僅針對非空白行顯示行號,空白航不顯示行號
-E:將結尾的斷行字符$顯示出來
-n:打印行號,空白行也顯示行號
-T:將tab鍵以^顯示出來
-v:列出一些看不出來的特殊字符
舉例1:cat -n /etc/issue
說明:查看issue文件,-n表示同時顯示行號
舉例2: cat -nv /etc/xinetd.d/rsync
說明: -nv選項組合使用,顯示行號,同時顯示特殊字符。
<2>tac
用法:tac文件(也可以是文件的據對路徑)
舉例:tac /etc/issue
說明:從文件最後一行開始顯示文件內容,就是倒序顯示文件內容
<3>nl
用法:nl [選項參數] 文件
選項:
-b a:顯示行號,空行也顯示行號
-b t:顯示行號,空行不顯示行號
-n:列出行號的表示方法
-n ln:行號在屏幕的最左方顯示
-n rn:行號在自己字段的最左方顯示,且不加0
-n rz:行號在自己字段的最左方顯示,且加0
-w:行號字段的佔用位數
舉例如下:
<4>more
用法:more文件(或者文件的絕對路徑)
舉例:more /etc/man.config
說明:將文件一頁一頁顯示
操作鍵:
空格鍵:代表向下翻一頁
Enter:代表向下翻一行
:f:立即顯示文件名以及目前顯示的行數
q:代表立刻離開more,不在顯示該文檔內容
b(或者ctrl b):代表往回翻頁,這個動作只對文件有用,對管道沒用
/字符串:代表在這個顯示的內容當中,向下搜尋這個【字符串】
<5>.less 文檔查看
用法:less 選項參數 文件
參數:
空格鍵:向下翻頁
pagedown:向下翻頁
pageup:向上翻頁
/字符串:向下搜尋【字符串】的功能
?字符串:向上搜尋【字符串】的功能
n:重複前一個搜尋(與/或?有關)
N:反向重複前一個搜尋(與/或?有關)
q:退出less命令
舉例:less /etc/man.config
說明:查看man.config文件
<6>head/tail 取出前幾行/取出後幾行
用法:head [-n number] 文件
參數:-n number:表示取出的行數,默認顯示前10行(包含空行)
舉例:
head /etc/man.config 取出前10行
head -n 21 /etc/man.config 取出前21行
注:tail和head用法一樣,只是取出後幾行
<7>.od 查看非純文本文件
用法:od [-t type] 文件
type:
a:利用默認字符輸出
c:使用ASCII字符輸出
d[size]:利用十進制輸出數據,每個整數佔size bytes
f[size]:利用浮點數輸出數據,每個數佔size bytes
o[size]:利用八進制輸出數據,每個整數佔size bytes
x[size]:利用十六進制輸出數據,每整個數佔size bytes
舉例:
od -t c /usr/bin/passwd 使用ASCII字符數出文件
od -t oCc /use/passwd 使用八進制和ASCII對照輸出
od -t xCc /use/passwd 使用十六進制和ASCII對照輸出
<8>.touch 修改文檔時間或者創建新文檔
介紹:每個文檔在linux下會記錄很多的時間參數,其中有三個主要的時間參數
modification time (mtime):
當文檔的內容變動時,就會更新這個時間,文檔內容不包含文檔的權限和屬性
status time (ctime):
當文檔的狀態改變時,就會更新這個時間,比如權限與屬性的變更
access time (atime):
當文檔的內容被讀取時,就會變動這個時間,比如使用cat讀取文檔
用法:touch [-acdmt] 文件
選項參數:
-a:僅修訂 access time
-c:僅修改文件的時間,若該檔案不存在則不建立新文件
-d:可以接欲修訂的日期而不用目前的日期,也可以用 --date="日期或時間"
-m:僅修改 mtime
-t:後面可以接欲修訂的時間而不用目前的時間,格式爲[YYMMDDhhmm]
舉例:
a.[root@XXXxxx tmp]# touch ttt
[root@XXXxxx tmp]# ls -l ttt
-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt
說明:在tmp文件夾下面創建文件ttt,touch 文件不存在就會創建。
[root@xxxx tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;
上面這個命令是查看三個時間
-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 這是mtime
-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 這是atime
-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 這是ctime
ll===ls -l ,';'表示連續指令,也就是輸入多重指令,這些指令可以依順序執行
b.[root@xxxx tmp]# touch -d "2 days ago" ttt 修改時間爲2天前
[root@xxxxx tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;
-rw-r--r--. 1 root root 176 Feb 10 18:46 ttt 這是mtime
-rw-r--r--. 1 root root 176 Feb 10 18:46 ttt 這是atime
-rw-r--r--. 1 root root 176 Feb 12 18:46 ttt 這是ctime
c.[root@o-o tmp]# touch -t 0809061325 ttt 修改時間爲2008年9月6號13點25分
[root@o-o tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;
-rw-r--r--. 1 root root 176 Sep 6 2008 ttt 這是mtime
-rw-r--r--. 1 root root 176 Sep 6 2008 ttt 這是atime
-rw-r--r--. 1 root root 176 Feb 12 18:50 ttt 這是ctime
1.6.5 文件預設權限
當建立一個默認的文件時,系統會設定默認的權限,這個默認權限就與umask(當前用戶建立文件或者目錄的時候的默認權限值)有關
0022是系統umask的數字形態的權限值,後三組022表示的是創建文件時,系統需要處理的文件權限值,第一個0暫時不用理會。
創建文件時,一般默認,文件是不可以執行的,一般文件是爲了保存數據使用的。所以系統文件的最大權限是666也就是,預設權限是 –rw-rw-rw-
創建目錄時,要進入此目錄,就需要x權限,因此,默認權限全部開放,最大權限值是777,預設權限是drwxrwxrwx
umask確定的是,在創建目錄或者權限時需要除去的權限值,因此係統默認權限值是:
創建文件:(-rw-rw-rw-) – (------w--w) ==> (-rw-r--r--) 也就是666 – 022 ==> 644(非數學減法)
創建目錄:(drwxrwxrwx) – (d-----w--w)=>(drwxr-xr-x)也就是777-022=>755(非數學減法)
驗證:
創建的文件
創建的目錄