7.大數據之_linux基本知識_2_文件目錄操作命令_1

上一篇 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(非數學減法)

驗證:

創建的文件

創建的目錄

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章