1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
文件管理有 cp, mv, rm
復制命令:cp
[root@ddwhost ~]# cp /etc/magic /tmp/
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
cp SRC DEST
SRC是文件:
如果目標不存在:新建DEST,并將SRC中內容填充至DEST中;
如果目錄存在:
如果DEST是文件:將SRC中的內容覆蓋至DEST中;
此時建議為cp命令使用-i選項;
如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;
SRC是目錄:
[root@ddwhost etc]# cp -r /etc/yum.repos.d/ /tmp/
[root@ddwhost etc]#
此時使用選項:-r
如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中;
mv: move,移動文件
[root@ddwhost tmp]# mv magic test
[root@ddwhost tmp]#
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i: 交互式
-f: 強制
rm: remove,刪除
[root@ddwhost etc]# rm -rf ddw
[root@ddwhost etc]#
rm [OPTION]… FILE…
常用選項:
-i: 交互式
-f: 強制刪除
-r: 遞歸
rm -rf
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash最近一條命令的執行狀態結果
成功:0
失?。?-255
echo $?:輸出狀態結果
程序執行的結果有兩類:返回值與執行狀態結果。及權限控制
[root@ddwhost tmp]# rm -rf a_b
[root@ddwhost tmp]# echo $?
0
[root@ddwhost tmp]#
[root@ddwhost tmp]# mv dd e4
mv: cannot stat `dd': No such file or directory
[root@ddwhost tmp]# echo $?
1
[root@ddwhost tmp]#
golb用于實現bash文件名的“通配”
*:表示任意數量個字符
?:表示一個字符
[]:指定[]范圍內的字符
[^]:指定[^]范圍外的字符
[^0-9a-z]:表示除0-9,a-z,用來表示特殊字符
專用字符集
[:digit:]:0-9
[:lower:]:任意小寫字母
[:upper:]:任意大寫字母
[:alpha:]:任意大小寫字母
[:alnum:]:任意數字或字母
[:space:]:空格
[:punct:]:標點符號
[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]
/etc/133dd /etc/355dd /etc/453dr /etc/46dd
[root@ddwhost etc]#
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
(1)
[root@ddwhost tmp]# mkdir {a,b}_{c,d}
[root@ddwhost tmp]# ll
total 56
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_d
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_d
srwxrwxr-x. 1 ddw ddw 0 May 23 16:39 gnome-system-monitor.ddw.1270181653
drwx——. 2 ddw ddw 4096 May 23 16:32 keyring-5QNkrm
(2)
[root@ddwhost tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-script},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
[root@ddwhost tmp]# tree mylinux
mylinux
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-script
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
24 directories, 0 files
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的時間戳管理工具:
touch
文件:metadata, data
查看文件狀態:stat
touch命令:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,則不予創
ll [file]
[root@ddwhost ~]# ll
total 68
-rw-r–r–. 1 root root 233 Jun 18 07:10 adduser.sh
-rw——-. 1 root root 2664 May 9 13:18 anaconda-ks.cfg
-rw-r–r–. 1 root root 40003 May 9 13:18 install.log
-rw-r–r–. 1 root root 9154 May 9 13:16 install.log.syslog
-rw-r–r–. 1 root root 70 Jun 18 20:15 numsort.sh
[root@ddwhost ~]#
- :文件類型
r– :屬主權限,r為可讀
w–:屬組權限, w為可寫
–x :其它,x為可執行
1 :表示硬鏈接數量
root:第一個root表示屬主
root:第二個root表示屬組
13 :為文件d大小
Jun 19 15:52:為時間
1 :最后一位表示文件名
時間戳:通常是一個字符序列,唯一標識某一刻的時間。
date是顯示或修改系統時間
[root@ddwhost ~]# date
Sun Jun 19 04:12:55 PDT 2016
[root@ddwhost ~]#
三個時間戳:
access time:訪問時間,簡寫為atime,讀取文件內容
modify time: 修改時間, mtime,改變文件內容(數據)
change time: 改變時間, ctime,元數據發生改變
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
通過alias命令實現命令的別名:
(1) alias
顯示當前shell進程所有可用的命令別名;
[root@ddwhost tmp]# alias //服務器存在的別名
alias cp='cp -i'
alias l.='ls -d .* –color=auto'
alias ll='ls -l –color=auto'
alias ls='ls –color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'
[root@ddwhost tmp]#
(2) alias NAME='VALUE'
定義別名NAME,其相當于執行命令VALUE;
[root@ddwhost tmp]# alias host='ddwhost'
[root@ddwhost tmp]# alias
alias cp='cp -i'
alias host='ddwhost' //剛定義的別名
alias l.='ls -d .* –color=auto'
alias ll='ls -l –color=auto'
alias ls='ls –color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'
[root@ddwhost tmp]#
注意事項:
在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
編輯配置給出的新配置不會立即生效;
bash進程重新讀取配置文件:
source /path/to/config_file
. /path/to/config_file
在命令中引用另一個命令的執行結果
[root@ddwhost ~]# alias host='ddwhost /tmp/mytest1 >>/dev/null 2>&1'
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
[root@ddwhost var]# ls
143df 1566dd cache db games lib lock mail opt run tmp yp
155sdc account crash empty gdm local log nis preserve spool www
[root@ddwhost var]# ls -d /var/1*[0-9]*[[:lower:]]
/var/143df /var/155sdc /var/1566dd
[root@ddwhost var]#
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
[root@ddwhost etc]# touch 133dd 453dr 355dd 3552 46dd
[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]
/etc/133dd /etc/355dd /etc/453dr /etc/46dd
[root@ddwhost etc]#
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@ddwhost etc]# touch 2dddd 4dd33 4ddd
[root@ddwhost etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/2dddd /etc/4dd33 /etc/4ddd
[root@ddwhost etc]#
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@ddwhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
[root@ddwhost tmp]# ll
total 56
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_d
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_d
-rw-r–r–. 1 root root 0 Jun 19 03:46 date
srwxrwxr-x. 1 ddw ddw 0 May 23 16:39 gnome-system-monitor.ddw.1270181653
drwx——. 2 ddw ddw 4096 May 23 16:32 keyring-5QNkrm
drwx——. 2 ddw ddw 4096 May 9 05:35 keyring-A42ICV
drwx——. 2 ddw ddw 4096 May 26 03:27 keyring-vYoGuc
drwx——. 2 ddw ddw 4096 Jun 4 21:22 keyring-wyE6NI
drwx——. 2 ddw ddw 4096 May 13 23:17 keyring-YKhNhE
drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux
drwx——. 2 ddw ddw 4096 Jun 13 02:29 orbit-ddw
drwx——. 2 gdm gdm 4096 Jun 4 21:22 orbit-gdm
drwx——. 2 ddw ddw 4096 Jun 4 21:22 pulse-UYzNE2Y3xwBW
-rw-r–r–. 1 root root 0 Jun 19 03:46 tfile-
-rw-r–r–. 1 root root 0 Jun 19 03:50 tfile-2016-06-19-03-50-14
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
[root@ddwhost tmp]# mkdir mytest1
[root@ddwhost tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@ddwhost tmp]# ls /tmp/mytest1/
pam.d passwd- pcmcia plymouth pnm2ppa.conf postfix prelink.conf profile pulse
pango passwd.OLD pinforc pm popt.d ppp prelink.conf.d profile.d
passwd pbm2ppa.conf pki pm-utils-hd-apm-restore.conf portreserve prelink.cache printcap protocols
[root@ddwhost tmp]#
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
[root@ddwhost tmp]# mkdir mytest2
[root@ddwhost tmp]# cp -r /etc/*.d /tmp/mytest2
[root@ddwhost tmp]# ll
total 64
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_d
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_d
-rw-r–r–. 1 root root 0 Jun 19 03:46 date
srwxrwxr-x. 1 ddw ddw 0 May 23 16:39 gnome-system-monitor.ddw.1270181653
drwx——. 2 ddw ddw 4096 May 23 16:32 keyring-5QNkrm
drwx——. 2 ddw ddw 4096 May 9 05:35 keyring-A42ICV
drwx——. 2 ddw ddw 4096 May 26 03:27 keyring-vYoGuc
drwx——. 2 ddw ddw 4096 Jun 4 21:22 keyring-wyE6NI
drwx——. 2 ddw ddw 4096 May 13 23:17 keyring-YKhNhE
drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux
drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1
drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2
drwx——. 2 ddw ddw 4096 Jun 13 02:29 orbit-ddw
drwx——. 2 gdm gdm 4096 Jun 4 21:22 orbit-gdm
drwx——. 2 ddw ddw 4096 Jun 4 21:22 pulse-UYzNE2Y3xwBW
-rw-r–r–. 1 root root 0 Jun 19 03:46 tfile-
-rw-r–r–. 1 root root 0 Jun 19 03:50 tfile-2016-06-19-03-50-14
-rw-r–r–. 1 root root 0 Jun 19 03:50 tfile-2016-06-19-03-50-40
-rw-r–r–. 1 root root 0 Jun 19 03:54 tfile-2016-06-19-03-54-15
-rw-r–r–. 1 root root 0 Jun 19 03:47 tfile-date
-rw-r–r–. 1 root root 0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S
-rw-r–r–. 1 root root 0 Jun 19 03:54 touch
drwx——. 2 root lp 4096 Jun 18 16:51 vmware-root-1847854491
-rw-r–r–. 1 root root 0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S
[root@ddwhost tmp]#
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@ddwhost tmp]# mkdir mytest3
[root@ddwhost tmp]# cp /etc/[l,m,n]*.conf /tmp/mytest3
[root@ddwhost tmp]# ll
total 68
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 a_d
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_c
drwxr-xr-x. 2 root root 4096 Jun 19 02:57 b_d
-rw-r–r–. 1 root root 0 Jun 19 03:46 date
srwxrwxr-x. 1 ddw ddw 0 May 23 16:39 gnome-system-monitor.ddw.1270181653
drwx——. 2 ddw ddw 4096 May 23 16:32 keyring-5QNkrm
drwx——. 2 ddw ddw 4096 May 9 05:35 keyring-A42ICV
drwx——. 2 ddw ddw 4096 May 26 03:27 keyring-vYoGuc
drwx——. 2 ddw ddw 4096 Jun 4 21:22 keyring-wyE6NI
drwx——. 2 ddw ddw 4096 May 13 23:17 keyring-YKhNhE
drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux
drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1
drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2
drwxr-xr-x. 2 root root 4096 Jun 19 03:59 mytest3
drwx——. 2 ddw ddw 4096 Jun 13 02:29 orbit-ddw
drwx——. 2 gdm gdm 4096 Jun 4 21:22 orbit-gdm
drwx——. 2 ddw ddw 4096 Jun 4 21:22 pulse-UYzNE2Y3xwBW
-rw-r–r–. 1 root root 0 Jun 19 03:46 tfile-
-rw-r–r–. 1 root root 0 Jun 19 03:50 tfile-2016-06-19-03-50-14
-rw-r–r–. 1 root root 0 Jun 19 03:50 tfile-2016-06-19-03-50-40
-rw-r–r–. 1 root root 0 Jun 19 03:54 tfile-2016-06-19-03-54-15
-rw-r–r–. 1 root root 0 Jun 19 03:47 tfile-date
-rw-r–r–. 1 root root 0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S
-rw-r–r–. 1 root root 0 Jun 19 03:54 touch
drwx——. 2 root lp 4096 Jun 18 16:51 vmware-root-1847854491
-rw-r–r–. 1 root root 0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S
[root@ddwhost tmp]#
原創文章,作者:dengdw0917,如若轉載,請注明出處:http://www.www58058.com/18816
寫的很棒,可以在多關注一些排版的技巧