1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp:copy
源文件:目標文件
單源復制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST中
如果DEST存在:
如果DEST是非目錄文件:則覆蓋目標文件
如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的 文件并復制其數據流
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:錯誤
如果DEST存在:
如果DEST是非目錄文件:錯誤
如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原 名
常用選項:
-i:覆蓋之前提醒用戶確認
-f:強制覆蓋
-r/R:遞歸復制目錄
如果DEST不存在,創建一個空目錄并源目錄遞歸復制過去
如果DEST存在:在目標目錄下創建同源目錄名相同的目錄,并將源 目錄中的文件遞歸復制
-d:復制鏈接文件本身,不會指向源文件
-a:-dR –preserv=all 拷貝時保留源文件所有屬性
–preserv=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有
mv:move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
rm:remove files or directories
rm [OPTION]… FILE…
-i:interctive
-r:遞歸刪除,可以刪除
-rf:強制順產
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失敗:1-255
命令執行完之后,其狀態返回值保存于bash的特殊變量$?之中
[root@edu ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 視頻 圖片 文檔 下載 音樂 桌面
[root@edu ~]# echo $?
0
[root@edu ~]# ls /etc/sls
ls: 無法訪問/etc/sls: 沒有那個文件或目錄
[root@edu ~]# echo $?
2
命令正常執行時,有的還有命令返回值
根據命令及其功能不同,結果各不相同
命令行展開
~:自動展開為用戶的家目錄,或指定的用戶的家目錄
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@edu /]# 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
[root@edu /]# 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,rum}}
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/rum"
[root@edu /]# 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
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── rum
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
元數據用來描述一個文件的屬性信息,如訪問權限,文件擁有者,文件數據塊的分部,文件的時間戳等信息
# stat file 使用stat命令查看文件的元數據
修改文件的時間戳
touch命令:用于改變atime和mtime
touch [option]…file…
-c:指定的文件路徑不存在是不予創建
-a:僅修改 atime
-m:僅修改 mtime
-t:指定修改的時間:[[CC]YY]MMDDhhmm[.ss]
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
定義別名:
# alias NAME=‘COMMAND’ 僅對當前shell進程有效
撤銷別名:
# unalias NAME
[root@edu ~]# alias cle='clear'
[root@edu ~]# cl
cle clear clibrary2 clockdiff
clean-binary-files clibrary clock clpi_dump
[root@edu ~]# unalias cle
[root@edu ~]# cl
clean-binary-files clibrary clock clpi_dump
clear clibrary2 clockdiff
引用命令的執行結果:
$(COMMAND)
或者`COMMAND`
touch $(date +%H_%M_%S)
[root@edu test]# touch $(date +%H_%M_%S)
[root@edu test]# ls
18_44_55
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
# ls -d /var/I*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
# ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
# ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
# touch /tmp/tfile-$(date +%Y-%m-%d-%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/[Imn]*.conf /tmp/mytest3
原創文章,作者:panghl,如若轉載,請注明出處:http://www.www58058.com/48600
開始的部分看著稍有凌亂,后面的作業做的還不錯,知識點總結的蠻到位。