1.Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示
ls 列出文件和目錄命令
-
-a:顯示所有檔案及目錄
-
-A:顯示除隱藏文件”.”和”..”以外的所有文件
-
-C:多列顯示結果,默認選項
-
-l:單列顯示結果,以長格式顯示目錄下的內容列表
-
-F:在每個輸出項后追加文件的類型標識符
-
“*”表示具有可執行權限的普通文件
-
“/”表示目錄
-
“@”表示符號鏈接
-
“|”表示命令管道FIFO
-
“=”表示sockets套接字
-
當文件為普通文件時,不輸出任何標識符
-
-d:僅顯示目錄名,不顯示目錄下的內容列表
-
-i:顯示文件索引節點號
-
-r:以文件名反序排列并輸出內容列表
-
-t:用文件和目錄的更改時間排序
-
-R:遞歸列出目錄下的所有文件及其子目錄
cat 文件內容查看命令
-
-n:顯示的內容標行號
-
-E:顯示行結束符$
-
-b:顯示非空行的行號
-
-s:不顯示連續的空行
file 查看文件類型
-
-L:查看軟鏈接對應文件類型
-
-z:查看解讀壓縮文件類型
cp 文件復制命令
-
-i:交互式復制,覆蓋式提示用戶確認
-
-f:強制覆蓋文件
-
-r,-R:遞歸復制目錄
-
-d:復制鏈接文件本身,而非源文件
-
-a:歸檔,相當于-dR –preserve=all
-
-p:保持原有文件的屬性
-
-v:顯示過程
mv 文件移動命令
-
-i:交互式
-
-f:強制覆蓋
-
-u:若源文件比目標文件新,或者目標文件不存在才移動
-
-t:多個源文件移動到一個目錄
rm 文件刪除命令
-
-i:交互式
-
-f:強制刪除
-
-r:遞歸刪除
2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
- “*”表示具有可執行權限的普通文件
- “/”表示目錄
- “@”表示符號鏈接
- “|”表示命令管道FIFO
- “=”表示sockets套接字
- 當文件為普通文件時,不輸出任何標識符
在linux系統中,任何一個命令結束后,bash都會返回0-255之間的值表示命令執行成功與否,其返回值保存在特殊變量$?中,0表示成功,1到255表示執行錯誤
比如當ls列出一個文件存在時,此時的$?為0,說明上一個命令的執行結果為成功 比如當ls列出一個文件不存在時,此時的$?為2,不為0,說明上一個命令的執行結果為錯誤
bash命令行展開主要有兩種方式:
- 是~ 自動展開用戶的家目錄或指定用戶的家目錄
-
是{,} 自動展開以逗號分隔的路徑列表
例如:/tmp/{a,b}/dd 相當于/tmp/a/dd和/tmp/b/dd
3.請使用命令行展開功能來完成以下練習:
- 創建/tmp目錄下的a_c,a_d,b_c,b_d
mkdir -pv /tmp/{a,b}_{c,d}
- 創建/tmp/mylinux目錄下的:
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}}
4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據有文件大小,文件類型,文件的屬主屬組,文件的inode號,文件的權限,文件的訪問修改時間等等,可以使用ls -l查看簡要信息,stat命令查看更多信息
- File:文件名
- Size:文件大小
- Blocks:文件占據了多少個數據塊
- IO Block:數據塊的塊大小
- Device:硬件,說明文件在硬盤哪個柱面
- Inode:文件的inode節點號
- Links:文件的硬鏈接數
- Access:文件的訪問權限
- Uid:用戶id Gid:用戶組id
- Access:文件的訪問時間
- Modify:文件的修改時間
-
Change:文件的屬性修改時間
touch -m 文件名 可以修改文件的修改時間
touch -a 文件名 可以修改文件的訪問時間
touch -t 時間戳 -m 文件名 可以用自定義時間修改文件的修改時間
touch -r 參考文件 文件名 可以參考其他文件的時間修改文件的時間
5.如何定義一個命令的別名,如何命令中引用另一個命令的執行結果?
alias ls=’ls –color=tty’
通過alias命令來定義一個命令的別名
通過$?來引用另一個命令的執行結果
6.顯示/var目錄下個所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄
ls -d /var/l*[[:digit:]]*[[:lower:]]
7.顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
ls -d /etc/[[:digit:]]*[^[:digit:]]
8.顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度字符的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpha:]]*
9.在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
touch /tmp/tfile-`date +%F-%H-%M-%S`
touch /tmp/tfile-$(date +%F-%H-%M-%S)
10.復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
cp -r /etc/p*[^[:digit:]] /tmp/mytest1
11.復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
cp -r /etc/*.d /tmp/mytest2
12復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
cp -r /etc/[lmn]*.conf /tmp/mytest3
原創文章,作者:N25_Allen,如若轉載,請注明出處:http://www.www58058.com/62741
內容比較詳細,能使用markdown來格式化輸出會更好~繼續加油~