1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
- 目錄管理類的命令
cd:變換目錄
pwd:顯示目前的目錄
選項:
-P:顯示正確的完整路徑,而非鏈接路徑
mkdir:創建新目錄
選項:
-m:設置文件權限
-p:遞歸創建
rmdir:刪除空目錄
選項:
-p:遞歸刪除
文件與目錄管理類的命令
ls:文件與目錄的檢視命令
常用選項:
-a:顯示全部文件
-A:顯示全部文件(不包括.與..)
-d:僅列出目錄本身
-l:顯示詳細信息,包括文件屬性與權限等等
cp:復制文件或目錄
常用選項:
-a:相當于 -dr –perserve=all
-d:若源文件為鏈接文件,則復制鏈接文件而非文件本身
-f:強制復制
-i:詢問覆蓋
-p:連同屬性(權限、用戶、時間)一起復制,備份常用
-r:遞歸復制
–perserve=all:除了-p的相關參數,還加入SELInux,links,xattr等
【注意】復制時需要清除:
是否需要完整的保留來源文件的信息?
來源文件是否為鏈接文件?
來源文件是否為特殊的文件,例如 FIFO, socket 等?
來源文件是否為目錄?
rm:刪除文件或目錄
常用選項:
-f:強制,忽略不存在的文件
-i:詢問刪除
-r:遞歸刪除(危險)
mv:移動文件與目錄,或重命名
常用選項:
-f:強制,直接覆蓋已存在的文件
-i:詢問覆蓋
-u:源文件比目標文件新才覆蓋
basename:獲取文件名
dirname:獲取目錄名
文件內容查閱
cat:Concatenate直接查閱
常用選項:
-A:相當于-vET
-b:列出行號(僅針對非空白行,空白行不標號)
-E:顯示結尾斷行字符$
-n:顯示行號(空白行也標)
-T:顯示[tab]
-v:顯示看不出的特殊字符
tac:cat的方向顯示
nl:添加行號打印
常用選項:
-b:顯示行號方式(-b t:空行不列;-b a:全都列)
-n:行號的顯示方法(ln:最左邊 rn:最右邊,不加0 rz:最右邊,加0)
-w:行號字符占用的字符數
more:逐頁翻動
按鍵說明:
下一頁:空白鍵
下一行:回車
上一頁:b
查找:/
顯示文件名和目前行數::f
退出:q
less:逐頁翻動(比more靈活)
按鍵說明:
下一頁:空白鍵或pagedown
上一頁:pageup
向下查找:/
向上查找:?
退出:q
head:顯示前幾行(默認10行)
選項:
-n 顯示行數
tail:顯示后幾行(默認10行)
選項:
-n 顯示行數
od:查閱非文本文件
選項:
-t a|c|d|f|o|x:默認|ASCII|十進制|浮點數|八進制|十六進制
touch:修改文件時間或創建新文件
三種文件時間:
modification time(mtime):文件內容更新時間
status time(ctime):狀態(如權限與屬性)更改時間
access time(atime):文件被取用(如cat)時間
選項:
-a:修改atime
-c:修改ctime,若文件不存在也不創建新文件
-m:修改mtime
指令與文件的尋找
which:尋找可執行文件
選項:
-a:可以找到的指令均列出,而不知第一個被找到的指令
whereis:在特定的目錄中尋找文件
選項:
-l:列出會查詢的主要目錄
-m:只在說明文檔manual路徑下尋找
locate:
選項:
-i:忽略大小寫
-c:只輸出找到的文件數量
-l:只輸出多少行
-s:輸出所使用的數據庫文件的相關信息
-r:后面接正則表示式
find:
選項:
-mtime n:前第n天內更新的文件
-mtime +n:n天以前(不包括第n天)更新的文件
-mtime -n:最近n天內(包括第n天)更新的文件
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令行展開
~:自動展開為用戶家目錄,或指定的用戶的家目錄
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b
命令執行狀態返回值
命令執行的狀態結果:
bahs通過狀態返回值來輸出此結果:
成功: 0
失?。?1-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir /tmp/{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 -p /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/{lick,log,run}}
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的數據分兩種:
元數據,即屬性數據(文件的屬性、大小、創建時間、訪問時間、屬主屬組等信息);
stat命令查看文件的元數據
一種就是數據本身;
三個時間戳:
Access Time最近訪問時間,讀寫文件內容
Modify Time最近更改時間,改變文件內容(數據)
Change Time最近改動時間,改變元數據
touch命令:改變文件時間戳
-c:指定文件路徑不存在時不創建
-a:只改變access time
-m:只改變modify time
-t:指定STAMP
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
定義命令別名:alias
【注意】?在命令行中定義的別名,僅對當前shell進程有效,如果想永久有效,要定義配 置文? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? 件(僅對當前用戶:~/.bashrc;對所有有效:/etc/bashrc)
引用命令的執行結果:使用管道 |
COMMAND1 | COMMAND2 | COMMAND3 |…
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -d /tmp/l*[0-9]*[a-z]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -d [^a-z][A-Z]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
mkdir /tmp/tfile-$(date +%Y-%m-%d-%h-%M-%S)
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
mkdir /tmp/mytest1
cp /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2
cp /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
mkdir /tmp/mytest3
cp /etc/{l,m,n}* /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/101677
以什么開頭使用 ^,以什么結尾使用 $,后面編程更要嚴謹。