linux的各種文件管理命令 例如: mkdir rmdir rm 等等
mkdir
作用:創建目錄
-m<目標屬性>或--mode<目標屬性>建立目錄的同時設置目錄的權限; -p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄; rmdir 作用:刪除目錄
-p或–parents:刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除;
–ignore-fail-on-non-empty:此選項使rmdir命令忽略由于刪除非空目錄時導致的錯誤信息;
-v或-verboes:顯示命令的詳細執行過程;
rm
作用:刪除文件和文件夾
-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄; -f:強制刪除文件或目錄; -i:刪除已有文件或目錄之前先詢問用戶; -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理; --preserve-root:不對根目錄進行遞歸操作; -v:顯示指令的詳細執行過程。
文件元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
1、元數據定義:
數據(Metadata),又稱中介數據、中繼數據,為描述數據的數據(data about data),主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。元數據算是一種電子式目錄,為了達到編制目錄的目的,必須在描述并收藏數據的內容或特色,進而達成協助數據檢索的目的
元數據就是數據的數據。
任何文件系統中的數據分為數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息(inode…)等等。在集群文件系統中,分布信息包括文件在磁盤上的位置以及磁盤在集群中的位置。用戶需要操作一個文件必須首先得到它的元數據,才能定位到文件的位置并且得到文件的內容或相關屬性。
文件系統元數據(metadata)的更改都被保存在一份單獨的日志里,當發生系統崩潰時可以根據日志正確地恢復數據。除此之外,日志使系統重新啟動時不必進行文件系統的檢查,從而縮短了恢復時間。
2、元數據管理方式:
元數據管理有兩種方式:集中式管理和分布式管理
集中式管理:是指在系統中有一個節點專門司職元數據管理,所有元數據都存儲在該節點的存儲設備上。所有客戶端對文件的請求前,都要先對該元數據管理器請求元數據。
分布式管理:是指將元數據存放在系統的任意節點并且能動態的遷移。對元數據管理的職責也分布到各個不同的節點上。
大多數集群文件系統都采用集中式的元數據管理。因為集中式管理實現簡單,一致性維護容易,在一定的操作頻繁度內可以提供較滿意的性能。缺點是單一失效點問題,若該服務器失效,整個系統將無法正常工作。而且,當對元數據的操作過于頻繁時,集中的元數據管理成為整個系統的性能瓶頸。
分布式元數據管理的好處是解決了集中式管理的單一失效點問題,而且性能不會隨著操作頻繁而出現瓶頸。其缺點是,實現復雜,一致性維護復雜,對性能有一定影響。
文件的數據分為兩類:一類為元數據,既屬性數據;一種就是數據本身。
可用命令stat查看文件的元數據
stat:
功能說明:顯示inode內容。
語 法:stat [文件或目錄]
補充說明:stat以文字的格式來顯示inode的內容。
ls 命令及其許多參數提供了一些非常有用的文件信息。另一個不太為人所熟知的命令 stat 提供了一些更為有用的信息。
例:
查看可執行文件“oracle”
# stat oracle
File: ‘oracle’
Size: 93300148 Blocks:182424 IO Block:4096 Regular File
Device: 343h/835d Inode: 12009652 Links: 1
Access: (6751/-rwsr-s–x) Uid:( 500/ oracle) Gid:( 500/ dba)
Access: 2006-08-04 04:30:52.000000000 -0400
Modify: 2005-11-02 11:49:47.000000000 -0500
Change: 2005-11-02 11:55:24.000000000 -0500
使用該命令獲得的信息:除了通常的文件大?。ㄒ部梢允褂?ls -l 命令獲得)以外,您還獲得了該文件占用的塊數。通常的 Linux 塊大小為 512 字節,因此一個大小為 93,300,148 字節的文件將占用 (93300148/512=) 182226.85 個塊。由于塊都是完整占用,因此該文件使用了一些整數個數的塊。無需猜測就可以獲得確切的塊數
stat 命令的修改符 -f 顯示了有關文件系統(而非文件)的信息:
# stat -f oracle
File: “oracle”
ID: 0 Namelen:255 Type:ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096
Inodes: Total: 12222464 Free: 12093976
另一個選項 -t 顯示了完全相同的信息,只不過是在一行中顯示的:
# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096
修改文件時間戳信息
命令:touch
touch命令一般用來修改文件的時間,或者新建一個不存在的文件.
語法如下: touch [-acm][-r ref_file(參照文件)|-t time(時間值)] file(文件名)
例子:
touch file1.txt 更新file1.txt的存取和修改時間
touch -c file1.txt 如果file1.txt不存在,不創建文件
touch -r ref_file file1.txt 更新file1.txt的時間戳和ref+file相同
touch -t 0911252234.40 file1.txt 設定文件的時間為09年11月25日22點34分40秒
參數說明:
-a 修改文件 file 的存取時間.
-c 不創建文件 file.
-m 修改文件 file 的修改時間
-r ref_file 將參照文件 ref_file 相應的時間戳記的數值作為指定文件 file 時間戳記的新值.
-t time 使用指定的時間值 time 作為指定文件 file 相應時間戳記的新值.
此處的 time 規定為如下形式的十進制數∶ [[CC]YY]MMDDhhmm[.SS] 這里,CC為年數中的前兩位,即”世紀數”;YY為年數的后兩位,即某世紀中的年數.如果不給出CC的值,則touch 將把年數CCYY限定在1969–2068之內.MM為月數,DD為天將把年數CCYY限定在1969–2068之內.MM為月數,DD為天數,hh 為小時數(幾點),mm為分鐘數,SS為秒數.此處秒的設定范圍是0–61,這樣可以處理閏秒.這些數字組成的時間是環境變量TZ指定的時區中的一個時 間.由于系統的限制,早于1970年1月1日的時間是錯誤的.
使用touch可以一次創建多個文件:
# touch myfile01 myfile02 myfile03
#touch myfile0{1,2,3} 創建myfile01 myfile02 myfile03 三個文件
linux定義別名
用戶可利用alias,自定指令的別名。若僅輸入alias,則可列出目前所有的別名設置?!lias的效力僅及于該次登入的操作。若要每次登入是即自動設好別名,可在/etc/profile或自己的~/.bashrc中設定指令的別名。
還有,如果你想給每一位用戶都生效的別名,請把alias la=’ls -al’ 一行加在/etc/bashrc最后面,bashrc是環境變量的配置文件 /etc/bashrc和~/.bashrc 區別就在于一個是設置給全系統一個是設置給單用戶使用 有,如果你想給每一位用戶都生效的別名,請把alias la=’ls -al’ 一行加在/etc/bashrc最后面,bashrc是環境變量的配置文件 /etc/bashrc和~/.bashrc 區別就在于一個是設置給全系統一個是設置給單用戶使用?
參數:若不加任何參數,則列出目前所有的別名設置。
例如:
alias md=mkdir
glob?:bash中用于實現文件名“通配”
通配符:*,?,[]
(1)*
任意長度的任意字符
(2)?
任意單個字符,,可以連續使用多個問號,幾個問號就代表幾個字符
(3)[]
匹配指定范圍內的任意單個字符
[abc],[0-9]從所有[]內的字符挑一個
[a-z]不區分大小寫
[A-Z]僅匹配大寫
??(4)[^]匹配指定范圍之外的任意單個字符
?專用字符集合?
[:digit:]:任意數字,相當于0-9
[:lower:]:任意小寫字母
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數字或字母
[:space:]:
[:punct:]:標點符號
例如:
顯示var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字的目錄和文件.
~]# ls -d /var/l*[0-9]*[[:lower:]]?
顯示/etc/目錄下,以任意數字開頭,且以非數字結尾的文件和目錄
~]# ls?-d?/etc/[[:digit:]]*[^[:digit:]]
在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件
~]# touch tfile-‘date +”%Y-%m-%d-%H-%M-%S”‘
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92024