1.Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
? ls 查看文件與目錄
ls [選項] 文件或目錄
常用選項
-a:全部的文件,連同隱藏文件(以.開頭)一起列出來
-d:列出目錄本身,而不是列出目錄里的文件
-l:列出詳細信息,如文件的屬性與權限等數據
-h:將文件容量以易讀的方式顯示(例如:GB,KB等)
-t:以時間排序
-S:以文件容量的大小排序
[root@centos6 ~]# ls -lh /tmp
total 12K
drwxr-xr-x. 4 root root 4.0K Jan 4 12:31 a
drwxr-xr-x. 4 root root 4.0K Jan 4 12:31 b
drwxr-xr-x. 14 root root 4.0K Jan 4 12:47 mylinux
? cp 復制文件或目錄
cp [選項] 源文件 目標文件
或 cp [選項] 源文件1 源文件2 源文件3… 目錄
常用選項
-i:若目標存在,復制時提示是否覆蓋
-r:遞歸持續復制,用于目錄的復制
-p: 連同文件的屬性一起復制,而非使用默認屬性
-d: 若源文件為連接文件,則復制連接文件而非文件本身
-a:相當于-pdr
[root@centos6 ~]# cp /etc/issue ./
[root@centos6 ~]# ls -l /etc/issue
-rw-r–r–. 1 root root 47 Nov 27 2013 /etc/issue
[root@centos6 ~]# ls -l ./issue
-rw-r–r–. 1 root root 47 Jan 4 16:35 ./issue
? rm 刪除文件或目錄
rm [-fir] 文件或目錄
常用選項:
-f:強制刪除,忽略不存在的文件,不會出現警告信息
-i:互動模式,在刪除前會詢問用戶是否操作
-r:d遞歸刪除,常用于刪除目錄
rm -fr /tmp/*
? mv 移動文件或目錄
mv [-fiu] 源文件 目標文件
或 mv [選項] 源文件1 源文件2 源文件3… 目錄
常用選項
-f:強制刪除,如果文件已經存在,不會詢問而直接覆蓋
-i:若目標存在,復制時提示是否覆蓋
-u:若目標文件已經存在,并且源比較新,才會更新
[root@centos6 ~]# mv /tmp/a ./
[root@centos6 ~]# ls -ld a
drwxr-xr-x. 4 root root 4096 Jan 4 12:31 a
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
? bash有一特性,可以將執行的命令狀態賦值返回,0代表命令執行成功,非0表示命令執行失敗,并可以通過$?查看剛剛執行的命令狀態.
[root@centos6 ~]# echo $?
0
[root@centos6 ~]# ls -l /etc/onfile
ls: cannot access /etc/onfile: No such file or directory
[root@centos6 ~]# echo $?
2
? bash另一個特性,可以通過{}將命令展開.
[root@centos6 ~]# mkdir -p /tmp/{a,b}/{c,d}
[root@centos6 ~]# ls /tmp
a b
[root@centos6 ~]# ls /tmp/a
c d
[root@centos6 ~]# ls /tmp/b
c d
3、請使用命令行展開功能來完成以下練習:
(1)創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@centos6 ~]# mkdir -p /tmp/{a,b}/{c,d}
[root@centos6 ~]# ls /tmp
a b
[root@centos6 ~]# ls /tmp/a
c d
[root@centos6 ~]# ls /tmp/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 -p /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、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
? 元數據至少包含以下內容:
l 文件的訪問模式(read,write,excute)
l 文件的所有者(ower/group)
l 文件的大小
l 文件時間(atime/mtime/ctime)
l 文件特性標志(flag),如SUID
l 該文件真正內容的指向(pointer)
? 查看命令 stat
[root@centos6 ~]# stat a
File: `a'
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658939 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-08 14:33:02.554017143 +0800
Modify: 2017-01-08 14:33:39.010017036 +0800
Change: 2017-01-08 14:33:39.010017036 +0800
? touch修改文件的時間戳信息
用法: touch [OPTION]… FILE…
常用選項
-c:touch只修改時間戳,不創建空文件
-a:修改access time
-m:修改modify time
-t:指定時間,格式為[[CC]YY]MMDDhhmm[.ss]
[root@centos6 ~]# stat test.txt
File: `test.txt'
Size: 221353 Blocks: 440 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658909 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-04 16:29:54.780000187 +0800
Modify: 2017-01-04 16:29:38.764000447 +0800
Change: 2017-01-04 16:29:38.764000447 +0800
[root@centos6 ~]# touch -mt 200001010000 test.txt
[root@centos6 ~]# stat test.txt
File: `test.txt'
Size: 221353 Blocks: 440 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658909 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-04 16:29:54.780000187 +0800
Modify: 2000-01-01 00:00:00.000000000 +0800
Change: 2017-01-08 14:53:10.674013852 +0800
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
? alias定義命令別名
alias NAME=’COMMAND’
此命令只對當前shell有效,可通過修改配置文件,并重讀此配置文件使其當前shell以及子shell也有效.
source ~.bashrc
? 命令引用有兩種方式
l $()
l “
例[root@centos6 ~]#echo $(data)
Sun Jan 8 15:01:31 CST 2017
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -d /var/1[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。
touch /etc/tfile-$(date +%F-%H-%M-%S)
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
cp -r /etc/p*[0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
cp -r /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
cp -r /etc/[1mn]*.conf tmp/mytest3
原創文章,作者:天空,如若轉載,請注明出處:http://www.www58058.com/66095
內容很詳細,寫的也很條理,非常棒,再接再勵。