linux上的文件管理類命令都有哪些,其經常使用的使用方法及其相關示例演示。node
linux上的文件管理類命令有:cat、tac、more、less、head、tail、cp、mv、rm、rmdir、mkdir等linux
cat:文件文本查看工具centos
cat[option]…[file]…安全
-n:給顯示的文本行編號 bash
-E:顯示行結束符$.less
tac:文件文本查看工具(cat 的倒序)ide
tac[option]…[file]…工具
more:可翻頁查看文件內容,一頁一頁的翻動centos7
注:若是more後面接的文件內容行數大於屏幕輸出的行數時,就會出現相似上圖,最後一行會顯示百分比,表示已經顯示了整個文件的百分多少,且最後一行還能夠輸入命令。spa
空格鍵:表明向下翻一頁
Enter:表明向下滾動一行,當到文件的最後一頁時,自動退出more,回到命令行。
/字符串:表明在這個顯示的內容當中,向下查詢"字符串"這個關鍵字
:f :馬上顯示出文件名以及目前顯示的行數
q :表明馬上離開more
b :往回翻頁
less:可翻頁查看文件內容,一頁一頁的翻動,比more有彈性
可輸入的命令:
空格鍵:向下翻動一頁;
[PageDown]:向下翻動一頁;
[PageUp]:向上翻動一頁;
/字符串 :向下查詢"字符串"的功能;
?字符串 :向上查詢"字符串"的功能;
n :重複前一個查詢;
N :反向重複前一個查詢;
q :離開less。
head:取出文件中的前面N行
head [OPTION]… [FILE]…
-n # 或者 -#: 顯示幾行,默認顯示10行
tail:取出文件中的最後N行
tail[OPTION]…[FILE]…
-n #或者- #:顯示幾行,默認顯示10行
-f:持續檢測後面所接的文件名,要等到按下[ctrl]-c纔會結束檢測。
此時須要按下[ctrl]-c纔會結束,後者會一直檢測該文件。
cp:複製
cp[OPTION]… [-T] SOURCE DEST
cp[OPTION]… SOURCE… DIRECTORY
-i:交互式複製,即覆蓋以前提醒用戶確認;
此時按下Y,表示覆蓋,按下N,表示不覆蓋。
-f:強制覆蓋目標文件;此時不會提示你是否覆蓋了,直接強制覆蓋;
如:當前目錄下已經有一個passwd文件了,執行以下操做不會有任何提示
-r, -R:遞歸複製目錄;
如:將/usr/share/man/下的man#文件複製到當前目錄
-d:複製符號連接文件自己,而非其指向的源文件;
以此文件爲例,其位於/etc/下,(centos7.1)
-a:-dR –preserve=all, archive,用於實現歸檔;
–preserv=
mode:權限
ownership:屬主和屬組
timestamps: 時間戳
context:安全標籤
xattr:擴展屬性
links:符號連接
all:上述全部屬性
mv:和剪切一個意思?
mv[OPTION]… [-T] SOURCE DEST
mv[OPTION]… SOURCE… DIRECTORY
mv[OPTION]… -t DIRECTORY SOURCE..
-i:交互式
-f:強制
rm:刪除文件
rm[OPTION]… FILE…
-i:交互
-f:強制
-r:遞歸
刪除目錄:rm -rf /PATH/TO/DIR
建議必定要執行一次:rm -rf /* (有驚喜)
bash的工做特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示?
bash的工做特性之命令執行狀態返回值:
命令執行完後,其狀態返回值保存於bash的特殊變量$?中。
bash經過狀態返回值來輸出此結果:
成功:0
失敗:1-255
注意,命令執行狀態返回值和命令的執行結果間的區別。如上圖,ls的執行結果是顯示當前目錄的文件名,緊接着執行echo命令用於顯示命令的執行狀態返回值,無論ls命令是否成功執行,其都會有相關數據顯示,可是命令執行狀態返回值倒是不一樣的。
bash的工做特性之命令行展開:
~:自動展開爲用戶的家目錄,或指定的用戶的家目錄。
{}:可承載一個以逗號分割的路徑列表,並可以將其展開爲多個路徑。
請使用命令行展開功能來完成如下練習?
(1)、建立/tmp目錄下的:a_c, a_d,b_c, b_d
~]#mkdir-p {a,b}_{c,d}
(2)、建立/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
~]#mkdir-pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib
/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息?
文件的數據分兩種:一種元數據,既屬性數據;一種就是數據自己;
能夠用命令stat查看文件的元數據;
file:文件名;
size:文件大小
block:文件佔了多少個數據塊
IO Block:文件所佔數據塊的塊大小
Device:硬件,既說明該文件在硬盤的那個柱面
Inode:節點號
links:連接
Access(第一個):權限
Uid:該文件所屬的屬主
Gid:該文件所屬的屬組
context:安全上下文
Access(第二個):文件上一次的訪問時間
Modify:文件上一次修改的時間
Change:文件上一次屬性更改的時間
能夠使用touch命令更改文件的時間戳:
touch[OPTION]… FILE..。
-c: 指定的文件路徑不存在時不予建立;
-a: 僅修改access time;
-m:僅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
~]#touchFILE
這條命令會將文件的三個時間一併更改爲當前的時間
以下三個分別更改atime,mtime,三個時間一塊兒更改。
如何定義一個命令的別名,如何在命令中引用另外一個命令的執行結果?
命令別名使用alias命令。
~]#aliasNAME='COMMAND'
在一個命令中引用另外一個命令的執行結果也是bash的特性之一,引用。
方法:$(COMMAND) 或者 `COMMAND`
顯示/var目錄下全部以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(能夠有其它字符)的文件或目錄?
# ls -d /var/l*[0-9]*[[:lower:]]
顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄?
~]#ls-d /etc/[0-9]*[^0-9]
顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄?
~]#ls-d /etc/[^a-z][a-z]*
在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22?
~]#touch/tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
複製/etc目錄下全部以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中?
[root@localhost tmp]# cp -a /etc/p*[^0-9] /tmp/mytest1
複製/etc目錄下全部以.d結尾的文件或目錄至/tmp/mytest2目錄中?
# cp -a/etc/*.d /tmp/mytest2
複製/etc/目錄下全部以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中?
[root@localhost tmp]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3