一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
1、cat:用于連接文件并打印到標準輸出設備上,常用來顯示文件的內容
命令使用格式
cat [OPTION]… [FILE]…
2、more:以全屏的方式顯示文本內容
命令使用格式
more [OPTIONS…] FILE…
-d: 顯示翻頁及退出提示
3、less:類似more使用,但less能向前向后翻頁瀏覽
命令使用格式
less [OPTIONS…] FILE…
4、head:顯示文件開頭內容,默認顯示前十行
命令使用格式
head [OPTION]… [FILE]…
-c #: 指定獲取前#字節
-n #: 指定獲取前#行
5、tail:顯示文件尾部內容,默認顯示末十行
命令使用格式
tail [OPTION]… [FILE]…
-c #: 指定獲取后#字節
-n #: 指定獲取后#行
-f: 跟蹤顯示文件新追加的內容;
6、復制命令cp
命令使用格式:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
-i:交互式
-r, -R: 遞歸復制目錄及內部的所有內容;
-a: 歸檔,相當于-dR,–preserv=all
-d:–no-dereference –preserv=links
–preserv[=ATTR_LIST]保留源文件所選取的屬性進行保留
mode: 權限————-
ownership: 屬主屬組—默認三個屬性
timestamp: ————
links
xattr
context
all
-p: –preserv=mode,ownership,timestamp
-v: –verbose
-f: –force
7、mv:移動文件
命令使用格式
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i: 交互式
-f: 強制
8、rm:刪除文件和目錄
命令使用格式
rm [OPTION]… FILE…
常用選項:
-i: 交互式
-f: 強制刪除(不會交互式)
-r: 遞歸
rm -rf (能刪除目錄以及其下面的文件)
二、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
1、bash使用特殊變量$?保存最近一條命令的執行狀態結果:
0:成功
1-255:失敗
例如:
[root@Andder77 ~]# ls /var account crash db games lib lock mail opt run tmp yp cache cvs empty gdm local log nis preserve spool www [root@Andder77 ~]# echo $? 0 [root@Andder77 ~]# ls /vvar ls: 無法訪問/vvar: 沒有那個文件或目錄 [root@Andder77 ~]# echo $? 2
2、命令行展開
~: 展開為用戶的主目錄
~USERNAME:展開為指定用戶的主目錄
{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
例如
[root@localhost ~]# touch /tmp/test2.{1,2,3} [root@localhost ~]# ls /tmp | grep "^test2." test2.1 test2.2 test2.3
三、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@localhost ~]# 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目錄下的:
[root@localhost ~]# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts}, lib/modules,lib64,proc,sbin,sys.tmp,usr/lobal/{bin,sbin},var/{lock,log,run}} [root@localhost ~]# tree /tmp/mylinux//tmp/mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scripts ├── lib│ └── modules ├── lib64 ├── proc ├── sbin ├── sys.tmp ├── usr │ └── lobal │ ├── bin │ └── sbin └── var ├── lock ├── log └── run23 directories, 0 files
四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
1、使用stat命令來查看文件的元數據
[root@localhost etc]# stat passwd File: ‘passwd’ Size: 1259 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 134995767 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:passwd_file_t:s0 Access: 2016-06-17 08:13:54.651633356 +0800 Modify: 2016-06-17 08:12:07.106634433 +0800 Change: 2016-06-17 08:12:07.106634433 +0800
2、元數據信息:
File:文件名
Size:文件大小
Blocks:文件所占塊數量
IO Block:系統IO塊大小
Device:文件所在設備ID
INode:節點號
Links:鏈向此文件的文件數量
Access:文件類型及其權限
Uid:文件的屬主及其ID
Gid:文件的屬組及其ID
Access:文件最近的訪問時間
Modify:文件最近的修改時間
Change:文件最近的改變時間
3、使用touch命令修改文件的時間戳:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
例如改變/tmp/cptest1文件的訪問時間戳
[root@localhost tmp]# touch -at201501010101.12 cptest1 [root@localhost tmp]# stat cptest1 File: ‘cptest1’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 457901 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:user_tmp_t:s0 Access: 2015-01-01 01:01:12.000000000 +0800 Modify: 2016-06-17 13:22:40.968447858 +0800 Change: 2016-06-17 14:02:31.978423918 +0800
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
[root@localhost ~]# alias test1="cd /etc/sysconfig/network-scripts" [root@localhost ~]# test=$(cut -d: -f1 /etc/passwd) [root@localhost ~]# echo $testroot bin daemon adm lp sync shutdown halt mail uucp operator games gopher ftp nobody dbus usbmuxd vcsa rpc rtkit avahi-autoipd abrt rpcuser nfsnobody haldaemon gdm ntp apache saslauth postfix pulse sshd tcpdump
六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
[root@localhost ~]# ls /var | grep "^l.*[0-9]\+.*[a-z]$"
七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
[root@localhost etc]# ls /etc | grep "^[0-9].*[^[:digit:]]$"
八、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@localhost etc]# ls /etc | grep "^[^[:alpha:]][[:alpha:]],*"
九、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@localhost tmp]# touch /tmp/tfile-$(date +%F-%H-%M-%S)
十、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
[root@localhost ~]# find /etc -maxdepth 1 -name 'p*' -exec cp -r {} /tmp/mytest1/ \;
十一、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
[root@localhost ~]# find /etc -maxdepth 1 -name '*.d' -exec cp -r {} /tmp/mytest2/ \;
十二、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@localhost ~]# find /etc -maxdepth 1 -name '[lmn]*.conf' -exec cp -r {} /tmp/mytest3/ \;
原創文章,作者:mouse015110,如若轉載,請注明出處:http://www.www58058.com/18394
寫的很棒,排版也很好,最后幾個題有過測試嗎?