1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cat,tac :查看文件內容
cat [OPTION]… [FILE]…
-E :顯示行結束符$
-n :對顯示出行編號
more
more [OPTIONS…] [file …]
-d :顯示翻頁及退出提示
less
less [OPTIONS…] [file …]
head :查看文件頭部
head [OPTIONS…] [file …]
-c # :指定獲取文件前#字節
-n # :指定獲取文件前#行
-#
tail :查看文件尾部
taile [OPTIONS…] [file …]
-c # :指定獲取文件后#字節
-n # :指定獲取文件后#行
-#
-f :跟蹤顯示文件新追加的內容,Ctrl+c退出
touch :touch – change file timestamps
touch [OPTION]… FILE…
-a :only atime
-m :only mtime
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
-c :如果文件不存在,則不予創建
cp :copy
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
-i :交互式,提示目標文件存在時是否覆蓋
-r -R :遞歸復制
-a :archive歸檔復制,目標文件名與原文件明必須一樣
相當于-dR –preserv=all
-d :–no-dereference –preserv=links 不追蹤符號鏈接
–preserv[=ATTR_LIST]
mode :權限
ownership :屬主屬組
timestamp :時間戳
links :鏈接屬性
xattr :擴展屬性(隱藏屬性)
all :
-p :–preserv=mode,ownership,timestamp
-v :–verbose
-f :–force 強制
cp SRC DEST
SRC是文件
如果目標不存在:新建DEST,并將SRC中內容填充至DEST中
如果目標存在:
如果DEST是文件:將SRC中的內容覆蓋至DEST中,此時建議為cp命令使用-i選項
如果DEST是目錄:在DEST下新建與源文件同名的文件,并將SRC中內容填充至DEST中
cp SRC… DEST
SRC…:多個文件
DEST必須存在,且為目錄,其他情形均會出錯
cp SRC DEST
SRC是目錄,此時應使用選項:-r
如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中
DEST必須是目錄
mv :move,移動文件
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項
-i :交互式
-f :強制
rm :remove刪除
rm [OPTION]… FILE…
-i :交互式
-f :強制
-r, -R, –recursive 遞歸,刪除目錄
chmod :修改文件或目錄權限
chmod [OPTION]… OCTAL-MODE FILE…
-R :遞歸修改權限
chmod [OPTION]… MODE[,MODE]… FILE…
MODE:
修改一類用戶的所有權限
u= ,g= ,o= ,ug= ,a= ,u=,g=
修改一類用戶某位或某些位權限
u+,u-,o+,o-
chmod [OPTION]… –reference=RFILE FILE… 參考RFILE文件的權限,將FILE權限修改為同RFILE
chown :修改文件的屬主
chown [OPTION]… [OWNER][:[GROUP]] FILE…
用法
OWNER
OWNER:GROUP
:GROUP
Note:命令中的冒號可以用.替換
-R :遞歸
chown [OPTION]… –reference=RFILE FILE…
chgrp :修改文件的屬組
chgrp [OPTION]… GROUP FILE…
chgrp [OPTION]… –reference=RFILE FILE…
-R :遞歸
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令的執行結果狀態
成功,失敗
bash使用特殊變量$?保存最近一條命令的執行狀態結果
0 :成功
1-255 :失敗
程序執行有兩類結果:
程序的返回值
程序的執行結果狀態結果
命令行展開
~ :展開為用戶的主目錄
~USERNAME :展開為指定用戶的主目錄
{} :可承載一個以逗號分隔的列表,并將其展開為多個路徑
/tmp/{a,b} = /tmp/a , /tmp/b
/tmp/{tom,jerry}hi = /tmp/tom/hi , /tmp/jreey/hi
eg:創建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b
mkdir -pv /tmp/x/{y1/{a,b},y2/{a,b}}
mkdir -pv /tmp/x/{y1,y2}/{a,b}
eg:創建x_m,y_m,x_n,y_n
mkdir -pv /tmp/{x_{m,n},y_{m,n}}
mkdir -pv /tmp/{x,y}_{m,n}
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 "/tmp/a_c"
mkdir: 已創建目錄 "/tmp/a_d"
mkdir: 已創建目錄 "/tmp/b_c"
mkdir: 已創建目錄 "/tmp/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
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}}
mkdir: 已創建目錄 "/tmp/mylinux"
mkdir: 已創建目錄 "/tmp/mylinux/bin"
mkdir: 已創建目錄 "/tmp/mylinux/boot"
mkdir: 已創建目錄 "/tmp/mylinux/boot/grub"
mkdir: 已創建目錄 "/tmp/mylinux/dev"
mkdir: 已創建目錄 "/tmp/mylinux/etc"
mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d"
mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d/init.d"
mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig"
mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig/network-scripts"
mkdir: 已創建目錄 "/tmp/mylinux/lib"
mkdir: 已創建目錄 "/tmp/mylinux/lib/modules"
mkdir: 已創建目錄 "/tmp/mylinux/lib64"
mkdir: 已創建目錄 "/tmp/mylinux/proc"
mkdir: 已創建目錄 "/tmp/mylinux/sbin"
mkdir: 已創建目錄 "/tmp/mylinux/sys"
mkdir: 已創建目錄 "/tmp/mylinux/tmp"
mkdir: 已創建目錄 "/tmp/mylinux/usr"
mkdir: 已創建目錄 "/tmp/mylinux/usr/local"
mkdir: 已創建目錄 "/tmp/mylinux/usr/local/bin"
mkdir: 已創建目錄 "/tmp/mylinux/usr/local/sbin"
mkdir: 已創建目錄 "/tmp/mylinux/var"
mkdir: 已創建目錄 "/tmp/mylinux/var/lock"
mkdir: 已創建目錄 "/tmp/mylinux/var/log"
mkdir: 已創建目錄 "/tmp/mylinux/var/run"
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息(inode…)時間戳信息等
stat命令可查看文件的元數據信息
touch命令可修改文件的時間戳
touch :touch – change file timestamps
touch [OPTION]… FILE…
-a :only atime
-m :only mtime
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias NAME='VALUE' :定義別名NAME,其相當于執行命令VALUE
用反引號或管道或重定向可以在命令中引用另一個命令的執行結果
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -d /var/l*[0-9]*[:lower:]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -d /etc/[^a-z]*[a-z]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
mkdir -pv /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
mkdir: 已創建目錄 "/tmp/tfile-2016-06-29-14-45-26"
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
mkdir /tmp/mytest1
cp -a /etc/p*[:alnum:] /tmp/mytest1/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
mkdir /tmp/mytest2
cp -a /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
mkdir /tmp/mytest3
cp -a /etc/[lmn]*.conf /tmp/mytest3
原創文章,作者:hxc_0215,如若轉載,請注明出處:http://www.www58058.com/21054
寫的很好,排版可以多關注一下,加油