1. linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示
A、目錄管理類命令:cd pwd ls mkdir redir tree
- cd (change directory):改變工作目錄
- 使用方法:cd /path/to/directory
cd:切換回家目錄
cd ~:切換回家目錄
cd ~USERNAME 切換到指定目錄的主目錄
cd -:在上一次目錄與當前目錄之間進行切換
- pwd (printing working directory):顯示當前工作目錄
相關環境變量
$PWD:當前的工作目錄 echo $PWD
$OLDPWD:上一次的工作目錄 echo $OLDPWD
-
ls:list列出指定目錄下的內容
ls [option]…[file]…
-a:顯示所有文件,包括隱藏文件
-A:顯示除 . 和 .. 之外的所有文件
-l:長格式顯示,顯示文件的詳細屬性信息
-h:將文件大小單位換算成人類易讀單位
-d:查看目錄本身,而非目錄內部文件
-
mkdir:創建目錄
mkdir [option]…directory…
-p:目錄不存在時自動創建目錄,存在時不返回錯誤信息
-v:顯示詳細過程
-m:創建目錄是直接指定權限
-
rmdir:刪除目錄
注:只能刪除空目錄
rmdir [option]…[directory]…
-v:顯示執行過程
-p:刪除某目錄後,如果父目錄爲空則一併刪除
- tree:查看目錄結構
-d:只顯示目錄
-L level:顯示指定的層級數目
-P pattern:只顯示指定pattern匹配到的路徑
B、文件查看命令:cat head tail less more
-
cat :一次性顯示文件所有內容
-n:給顯示內容進行文本編號
-
head:顯示文件前幾行
-n #:顯示文件前#行
-c #:顯示文件前#字節內容
-
tail:顯示文件後幾行
-n #:顯示後#行
-c #:顯示後#字節內容
-f:動態顯示文件內容,退出ctrl + c
-
more:
注:到文件底部自動退出
more [options] file […]
-d:顯示翻頁及退出提示 - less:與more相反
注:到文件底部不自動退出,需手動退出(q)
C、文件管理類命令:cp mv rm
-
cp:複製命令
cp [option]…[-T] source dest
cp [option]…source…directory
cp SRC…DEST
a、 SRC是文件
a) 目標不存在:新建DEST,將SRC內容複製到DEST中
b) 目標存在
DEST是文件:將SRC內容覆蓋到DEST
DEST是目錄:在DEST中新建SRC同名文件,並將內容複製到其中
b、 SRC是目錄
a) DEST不存在:新建DEST目錄,並將SRC內容複製到DEST目錄中
b) DEST存在
不是目錄:報錯
是目錄:在DEST目錄下創建與SRC同名目錄,並將SRC內容複製到DEST中
常用選項:
-i:交互式
-r:遞歸複製目錄
-p:保持原有文件的屬性信息
-f:強制覆蓋
-v:顯示過程
-
mv:移動、更名命令
-i:交互式
-f:強制
- rm:刪除命令
- rm [option]… file…
-i:交互式
-f:強制
-r:遞歸
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
-
命令的執行結果狀態
成功:0
失敗:1-255
bash使用 $? 保存上一條命令的執行狀態結果:echo $? - 命令行的展開
~:展開爲用戶的主目錄
~USERNAME:展開爲指定用戶的主目錄
{ }:可承載一個以逗號分隔的列表,並將其展開爲多個路徑
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 -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、文件的元數據有哪些,分別表示什麼含義,如何查看,如何修改文件的時間戳信息
元數據:文件名、大小屬性等,可通過命令stat filename查看
狀態信息三個時間戳:
access time:訪問時間,atime即通過cat,more讀取內容
modify time:修改時間:mtime即改變文件內容
change time:改變時間:ctime即元數據發生改變
時間戳管理命令:touch
touch [opeion]…FILE…
-a:修改atime
-m:修改mtime
-t [[CC]YY]MMDDhhmm[ss.]:修改指定時間戳爲某時間
-c:文件不存在時不創建文件
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果
alias:別名定義、查看命令
定義別名:alias ALIAS_NAME=’COMMAND’
注:僅對當前shell生效,永久生效
~/.bashrc:僅對當前用戶有效
/etc/bashrc:對所有用戶有效
撤銷別名:unalias ALIAS_NAME
使用管道可以引用另一個命令的執行結果
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一個數字(可以有其他字符)的文件或目錄
ls -d /var/l*[[:digit:]]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
ls -d /etc/[0-9]*[^[:digit:]]
8、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
touch /tmp/tfile-`date +%Y-%m-%d-%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 /etc/{l,m,n}*.conf /tmp/mytest3