1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
linux上一切皆文件
(1)文件管理命令:cat、tac、head、tail、more、less等
cat:查看文件內容,一次性輸出所有內容
?? ? ? ? ? ? ? ? ? -n :輸出所有行編號
?? ? ? ? ? ? ? ? ? -b 對非空輸出行號
例如:cat /etc/fstab
例如:cat -n /etc/fstab
例如:cat -b /etc/fstab
tac:查看文本的內容,文件內容是逆序的
例如:tac /etc/fstab
head:(默認顯示前10行)- n #或- #,查看指定的行數
例如:head -8 /etc/fstab
tail:查看后n行(默認是后10行)- n #或- #,查看指定行數
?? ? ? ? ? ? ? ? ? f:查看文件尾部內容結束后不退出,跟隨顯示新增的行
例如:tail -8 /etc/fstab
(2)分屏查看命令:more、less
more:可以分屏顯示,按回車鍵翻下一屏,翻屏至文件尾部后自動退出
less:可以分屏顯示 可以按上下鍵,上下滾動
(3)創建空的新文件:touch
touch 可以創建一個空的新文件,若文件存在改變文件時間戳。
文件中間有空格需要加\創建
例如:touch p\ a —-> 文件名:p a
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash執行狀態返回值:0表示成功,1-255表示失敗。
bash的命令行展開:
? ~:自動展開為用戶的家目錄,或指定的用戶的家目錄
? {}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑
/tmp/{a,b}相當于/tmp/a、/tmp/b
3、請使用命令行展開功能來完成以下練習:
? ? ?(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_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
(1)mkdir -pv /tmp/{a,b}_{c,d}
(2)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}}
在/tmp目錄下,用tree mylinux查看(tree命令顯示目錄的層級結構)
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件:兩類數據(用stat命令查看)
元數據:metadata–>改動是元數據改變
數據:data–>更改是數據改變
查看:stat /tmp/mylinux
時間戳:
access time:最近訪問的時間,atime,讀取文件內容
modify time:最近更改的時間,mtime,改變文件內容(數據)
change time:最近改動的時間,ctime,元數據發生改變(不能手動改動)
修改時間戳信息:
touch命令–>只能改動?access time和modify time、(touch也可以創建一個空的新文件)
?? ? ? ? ? ? ? ? ?-c:指定的文件路徑不存在時,不予創建
?? ? ? ? ? ? ? ? ?-a:僅修改access time
?? ? ? ? ? ? ? ? ?-m:僅修改modify time
?? ? ? ? ? ? ? ? ?-t:STAMP自己指定要修改成的時間([[CC]YY]MMDDhhmm[s.s]年/月/日/時/分/秒)
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令獲取別名:alias
定義別名:alias NAME=’COMMAND’(僅對當前的shell有效)
撤銷別名:unalias NAME
使用IO重定向和管道命令都可以引用另一個命令的結果
例如:IO重定向–>alias > /tmp/alias.txt
例如:管道–>alias | tee /tmp/’p a’
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -d /var/l*[0-9]*[[:lower:]]
例如:ll -d /var/l*[0-9]*[[:lower:]](ls -d和ll -d只是顯示的不一樣)
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls -d /etc/[0-9]*[^0-9]
例如:ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -d /etc/[^[:alpha:]][[:alpha:]]*
例如:ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,
? ? ? ?文件名形如:tfile-2016-05-27-09-32-22。
mkdir -pv tfile-`date +%F-%H-%M-%S`
例如:mkdir -pv tfile-`date +%F-%H-%M-%S`
touch ttfile-`date +%F-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -a /etc/p*[^0-9] /tmp/mytest1/
例如:cp -a /etc/p*[^0-9] /tmp/mytest1/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -a /etc/*.d /tmp/mytest2/
例如: cp -a /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -r /etc/[lmn]*.conf /tmp/mytest3
例如:cp -r /etc/[lmn]*.conf /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102952