1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。 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 4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。 5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果? 6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。 7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。 8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。 9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。 10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。 12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
1、linux常用、基礎文件管理命令
ls 查看目錄文件
常用選項有:
-a:顯示所有檔案及目錄; -A:顯示除影藏文件“.”和“..”以外的所有文件列表; -C:多列顯示輸出結果。這是默認選項; -l:與“-C”選項功能相反,所有輸出信息用單列格式輸出; -F:在每個輸出項后追加文件的類型標識符, -i:顯示文件索引節點號(inode)。 -k:以KB(千字節)為單位顯示文件大??; -l:以長格式顯示目錄下的內容列表。 -s:顯示文件和目錄的大小,以區塊為單位; -R:遞歸處理
復制命令 cp
cp [option]..[-T] sou_file des_file 復制文件到文件 cp [option]..sou_file dir_file 復制文件到目錄 cp [option].. -t dir_file sou_file 復制文件到目錄
常用option -i 提示是否覆蓋 -R -r 遞歸復制目錄及目錄中的文件、子目錄 -v 顯示復制過程 -f 強制復制 -a 歸檔 備份,相當于-dR --presverv=all,保留文件所有屬性
mv 移動文件
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
常用option -i 提示是否覆蓋 -f 強制覆蓋
rm 刪除工具,默認只能刪除文件、
rm [option].. file_name 常用options有: -i 提示是否要刪除 -f 強制刪除 -r 遞歸刪除目錄及目錄下的文件、子目錄
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash的工作特性之命令執行狀態返回值存儲在$?中,使用echo $?顯示,其中0表示成功執行成功,1-255的數字則表示執行失敗
如:
[root@localhost ~]# cd /mnt [root@localhost mnt]# echo $? 0 --->0表示cd /mnt 執行成功 [root@localhost mnt]# ls -a . .. hgfs [root@localhost mnt]# echo $? 0 --->0表示ls -a 執行成功 [root@localhost mnt]# la 12312421321 -bash: la: command not found [root@localhost mnt]# echo $? 127 --->127表示執行失敗 [root@localhost mnt]#
命令行展開
~: 展開為用戶的主目錄 ~USERNAME:展開為指定用戶的主目錄 {}:可承載一個以逗號分隔的列表,并將其展開為多個路徑 /tmp/{a,b} = /tmp/a, /tmp/b /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
3. 請使用命令行展開功能來完成以下練習:
創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@localhost mnt]# mkdir {a,b}_{c,d} [root@localhost mnt]# ls a_c a_d b_c b_d hgfs [root@localhost mnt]#
創建/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
root@localhost mnt]# mkdir -p mylinux/{bin,boot/{grup},dev,etc/{rc.d/{init.d},sysconfig/{network-scripts}},lib/{module s},lib64,proc,sbin,sys,tmp,usr/{lcoal/{bin,sbin}},var/{lock,lgo,run}}[root@localhost mnt]# cd mylinux/ [root@localhost mylinux]# ls -R .: bin boot dev etc lib lib64 proc sbin sys tmp usr var ./bin: ./boot: {grup} ./boot/{grup}: ./dev: ./etc: rc.d sysconfig ./etc/rc.d: {init.d} ./etc/rc.d/{init.d}: ./etc/sysconfig: {network-scripts} ./etc/sysconfig/{network-scripts}: ./lib: {modules} ./lib/{modules}: ./lib64: ./proc: ./sbin: ./sys: ./tmp: ./usr: {lcoal ./usr/{lcoal: bin} sbin} ./usr/{lcoal/bin}: ./usr/{lcoal/sbin}: ./var: lgo lock run ./var/lgo: ./var/lock: ./var/run:
4. 文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
stat 查看時間戳
[root@localhost mnt]# stat mylinux/ File: `mylinux/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 802h/2050d Inode: 274810 Links: 14 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-20 20:35:14.315886505 +0800 Modify: 2016-06-20 20:35:01.926885104 +0800 Change: 2016-06-20 20:35:01.926885104 +0800 [root@localhost mnt]#
touch 修改文件的時間戳
[root@localhost mnt]# stat /etc/fstab File: `/etc/fstab' Size: 875 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 403417 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-19 12:27:03.116999300 +0800 Modify: 2016-06-19 12:26:54.081999285 +0800 Change: 2016-06-19 12:26:54.083999234 +0800 [root@localhost mnt]# touch /etc/fstab [root@localhost mnt]# stat /etc/fstab File: `/etc/fstab' Size: 875 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 403417 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-06-20 20:42:54.669885008 +0800 Modify: 2016-06-20 20:42:54.669885008 +0800 Change: 2016-06-20 20:42:54.669885008 +0800 [root@localhost mnt]#
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
別名
[root@localhost mnt]# alias la='ls -a' [root@localhost mnt]# la . .. mylinux [root@localhost mnt]# alias cdetc='cd /etc/sysconfig/' [root@localhost mnt]# cdetc [root@localhost sysconfig]#
引用另一個命令的執行結果:通過管道 或 變量
[root@localhost www]# ls htpasswrod vhosts [root@localhost www]# cat htpasswrod status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]# cat htpasswrod | grep "status" status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 [root@localhost www]#
[root@localhost www]# test=$( cat /www/htpasswrod) [root@localhost www]# cat /www/htpasswrod status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]# echo $test status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc [root@localhost www]#
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
[root@localhost www]# ls /var account crash db games lib local log named opt run tmp yp cache cvs empty gdm llk100a lock mail nis preserve spool www [root@localhost www]# ls -d /var/l*[0-9]*[[:lower:]] /var/llk100a [root@localhost www]# ls -d /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
[root@localhost /]# ls /etc/[0-9]*[^0-9] /etc/0kj /etc/1kj /etc/1abc: /etc/234k: [root@localhost /]#
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@localhost /]# ls /etc/[^a-z][a-z]* /etc/0kj /etc/1kj /etc/1abc:
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile–2016–05–27–09–32–22。
[root@localhost /]# touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S) [root@localhost /]# ls /tmp/tfile* /tmp/tfile2016-06-20-21-41-46 [root@localhost /]#
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -vrf /etc/p* /tmp/mytest1/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -vrf /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -vrf /etc/[l,m,n]*.conf /tmp/mytest3
原創文章,作者:Net20-deamon,如若轉載,請注明出處:http://www.www58058.com/19058
寫的很好,案例也很詳細,但是在元字符運用或者讀題的時候沒有把握好,在仔細讀讀題,加油