1、文件管理類命令
常規命令:copy、mv、rm
(1).copy 文件復制
用法:
注意:復制文件只是復制文件的數據而不是元數據,但是可以保留元數據的信息。
單源復制:目錄是否存在都可以
多源復制:目錄必須是存在的
-i:提醒用戶操作確認(交互式)
-f:強行覆蓋
-r:遞歸復制目錄
-p:保留源數據
-a:用于實現歸檔,做備份
-d:不跟蹤符號鏈接所指向的源文件–no-dereference –preserve=links
-v:顯示過程
–preserv=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
例子1:復制單個文件
[root@localhost ~]# cp /etc/issue /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 4
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
例子2:復制多個文件
[root@localhost ~]# cp a.sh b.sh c.sh /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 16
-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh
-rw-r–r– 1 root root 64 Dec 11 09:39 b.sh
-rwxr-xr-x 1 root root 91 Dec 11 09:39 c.sh
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
例子3:復制目錄
[root@localhost ~]# cp -r /etc/gconf /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 20
-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh
-rw-r–r– 1 root root 64 Dec 11 09:39 b.sh
-rwxr-xr-x 1 root root 91 Dec 11 09:39 c.sh
drwxr-xr-x 6 root root 4096 Dec 11 09:42 gconf
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
(2).mv 移動或者重命名
第一:如果SRC是單個文件
1、如果DEST不存在:剪貼功能
(內容覆蓋,文件名替換為DEST)
2、如果DEST存在:內容覆蓋
第二:如果SRC是多個文件
1、如果DEST不存在:剪貼功能
2、如果DEST存在
第三:如果SRC是個目錄
1、如果DEST不存在
2、如果DEST存在
常用選項:
-i交互式
-f強制
例子:
[root@localhost test1]# ll
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
[root@localhost test1]# mv issue issue.20161211
[root@localhost test1]# ll
-rw-r–r– 1 root root 74 Dec 11 09:37 issue.20161211
(3).rm:刪除
rm 【option】…FILE…
常用選項:
-i:交互式
-r:遞歸刪除目標目錄下的文件
-f:強制刪
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行狀態只有兩種結果
-
正確
-
錯誤
執行成功返回0,錯誤返回1-255數字(詳細信息自己搜)
#查看命令[root@CentOS7: ~]$ blsbash: bls: 未找到命令... [root@CentOS7: ~]$ echo $?127[root@CentOS7: ~]$ ls adduser.sh anaconda-ks.cfg disk.sh testshell.sh [root@CentOS7: ~]$ echo $?0
命令行展開所涉及內容(筆記截圖)
3、請使用命令行展開功能來完成以下練習…….
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@CentOS7: /tmp]$ mkdir -pv {a,b}_{c,d}mkdir: 已創建目錄 "a_c"mkdir: 已創建目錄 "a_d"mkdir: 已創建目錄 "b_c"mkdir: 已創建目錄 "b_d"
(2)
[root@CentOS7: /tmp]$ mkdir -pv 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: 已創建目錄 "mylinux"mkdir: 已創建目錄 "mylinux/bin"mkdir: 已創建目錄 "mylinux/boot"mkdir: 已創建目錄 "mylinux/boot/grubdev"mkdir: 已創建目錄 "mylinux/etcrc"mkdir: 已創建目錄 "mylinux/etcd"mkdir: 已創建目錄 "mylinux/etcd/init.d"mkdir: 已創建目錄 "mylinux/etcsysconfig"mkdir: 已創建目錄 "mylinux/etcsysconfig/network-scripts"mkdir: 已創建目錄 "mylinux/lib"mkdir: 已創建目錄 "mylinux/lib/modules"mkdir: 已創建目錄 "mylinux/lib64"mkdir: 已創建目錄 "mylinux/proc"mkdir: 已創建目錄 "mylinux/sbin"mkdir: 已創建目錄 "mylinux/sys"mkdir: 已創建目錄 "mylinux/tmp"mkdir: 已創建目錄 "mylinux/usr"mkdir: 已創建目錄 "mylinux/usr/local"mkdir: 已創建目錄 "mylinux/usr/local/bin"mkdir: 已創建目錄 "mylinux/usr/local/sbin"mkdir: 已創建目錄 "mylinux/var"mkdir: 已創建目錄 "mylinux/var/lock"mkdir: 已創建目錄 "mylinux/var/log"mkdir: 已創建目錄 "mylinux/var/run"[root@localhost: /tmp]# tree 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 └── run24 directories, 0 files
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
修改文件時間戳信息命令:touch
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令:aliax
小僧在用戶目錄下.bashrc里面進行的設定,僅對當前的root用戶有效
善意的提醒: 該文件內的設定之后需要通過 source 命令使設置生效。
另外: 在命令行直接使用命令設置的話只對當前進程有效
補充:/etc/bashrc 內設置的話將是全局有效(所有用戶)
引用另一個命令的執行結果,可以通過管道符"|" 。示例:
[root@localhost: ~]# cat .bashrc | grep alias# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'alias ssh5='ssh 10.90.50.217'alias mysqll='mysql -uroot -p'
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
[root@CentOS7: ~]$ ls -d /var/l*[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
[root@CentOS7: ~]$ ls -d /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@CentOS7: ~]$ ls /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@CentOS7: ~]$ touch tfile-`date +%F-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
[root@CentOS7: ~]$ cp /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
[root@CentOS7: ~]$ cp /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@CentOS7: ~]$ cp /etc/[lmn]*.conf /tmp/mytest3/
原創文章,作者:kakaqi,如若轉載,請注明出處:http://www.www58058.com/63192
總結的還是比較詳細的,有點小瑕疵就是mv那塊~建議補充上對應的操作~加油~