一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
文件管理命令有:mkdir rm tree ls 等等
1、mkdir [options] /path/to/somewhere
-p: 存在于不報錯,且可自動創建所需的各目錄;
-v: 顯示詳細信息
-m MODE: 創建目錄時直接指定權限;
新建一個目錄名字叫mtdy,可以看到新建成功。
[root@7mini ~]# mkdir -pv /tmp/mtdy
mkdir: 已創建目錄 "/tmp/mtdy"
[root@7mini ~]# ls -ld /tmp/mtdy
drwxr-xr-x. 2 root root 6 8月 21 14:08 /tmp/mtdy
新建一個叫沒有mtdy1的目錄并且屬組的權限是只讀
[root@7mini ~]# mkdir -vm g=w /tmp/mtdy1
mkdir: 已創建目錄 "/tmp/mtdy1"
[root@7mini ~]# ls -ld /tmp/mtdy1
drwx-w-rwx. 2 root root 6 8月 21 14:11 /tmp/mtdy1
2、rm命令:rm [OPTION]… FILE…
常用選項:
-i:interactive
-f:force
-r: recursive
刪除目錄:rm -rf /PATH/TO/DIR 危險操作:rm -rf /*
刪除mtdy目錄,-r 可以刪除目錄
[root@7mini ~]# rm -r /tmp/mtdy
rm:是否刪除目錄 "/tmp/mtdy"?y
[root@7mini ~]# ls -l /tmp
總用量 8
-rwx——. 1 root root 827 8月 14 22:05 ks-script-OPUkVZ
drwx-w-rwx. 2 root root 6 8月 21 14:11 mtdy1
drwxrwxr-x. 2 root mtdy 6 8月 20 20:23 mytest
drwx——. 2 mtdy test 59 8月 20 18:00 skel
-rw-r–r–. 1 yyy mtdy 1604 8月 20 23:06 test.etc
drwxr-xr-x. 2 mtdy test 6 8月 20 20:00 tt
drwxr-xr-x. 3 root root 51 8月 20 19:53 udev
-rw——-. 1 root root 0 8月 14 21:46 yum.log
3、 tree 以樹形圖列出文件的層級結構,需要先安裝tree命令。
命令格式:tree [選項]… 目錄…
常用參數:
-d:只顯示目錄;
-L:level:指定顯示的層級數目;
-P pattern:只顯示由指定pattern匹配到的路徑;
顯示根目錄1層樹結構
[root@7mini ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
顯示tmp/ 目錄
[root@7mini ~]# tree -d /tmp
/tmp
├── mtdy1
├── mytest
├── skel
├── tt
└── udev
└── rules.d
4、列出指定目錄下的內容
ls [OPTION]… [FILE]…
-a: 顯示所有文件,包括隱藏文件;
-A:顯示除.和..之外的所有文件;
-l: –long, 長格式列表,即顯示文件的詳細屬性信息;
-rw-r–r–. 1 root root 8957 10月 14 19:34 boot.log
-:文件類型,-, d, b, c, l, s, p
rw-r–r–
rw-:文件屬主的權限;
r–:文件屬組的權限;
r–:其它用戶(非屬主、屬組)的權限;
1:數字表示文件被硬鏈接的次數;
root:文件的屬主;
root:文件的屬組;
8957:數字表示文件的大小,單位是字節;
10月 14 19:34 :文件最近一次被修改的時間;
boot.log:文件名
-h, –human-readable:對文件大小單位換算;換算后結果可能會非精確值;
-d:查看目錄自身而非其內部的文件列表;
-r: reverse, 逆序顯示;
-R: recursive,遞歸顯示;
查看tpm/目錄屬性
[root@7mini ~]# ls -ld /tmp
drwxrwxrwt. 12 root root 4096 8月 21 14:37 /tmp
查看tpm/目錄內文件屬性
[root@7mini ~]# ls -l /tmp
總用量 8
-rwx——. 1 root root 827 8月 14 22:05 ks-script-OPUkVZ
drwx-w-rwx. 2 root root 6 8月 21 14:11 mtdy1
drwxrwxr-x. 2 root mtdy 6 8月 20 20:23 mytest
drwx——. 2 mtdy test 59 8月 20 18:00 skel
-rw-r–r–. 1 yyy mtdy 1604 8月 20 23:06 test.etc
drwxr-xr-x. 2 mtdy test 6 8月 20 20:00 tt
drwxr-xr-x. 3 root root 51 8月 20 19:53 udev
-rw——-. 1 root root 0 8月 14 21:46 yum.log
二、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失敗:1-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
命令正常執行時,有的還回有命令返回值:根據命令及其功能不同,結果各不相同;
引用命令的執行結果:
$(COMMAND)
或`COMMAND`
顯示創建目錄的狀態返回值
[root@7mini ~]# mkdir qiu
[root@7mini ~]# echo $?
0 值為真 創建成功
三、請使用命令行展開功能來完成以下練習:
1、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@7mini ~]# mkdir -pv /tmp/{a,b}{c,d}
mkdir: 已創建目錄 "/tmp/ac"
mkdir: 已創建目錄 "/tmp/ad"
mkdir: 已創建目錄 "/tmp/bc"
mkdir: 已創建目錄 "/tmp/bd"
[root@7mini ~]# ls -l /tmp
總用量 8
drwxr-xr-x. 2 root root 6 8月 21 15:04 ac
drwxr-xr-x. 2 root root 6 8月 21 15:04 ad
drwxr-xr-x. 2 root root 6 8月 21 15:04 bc
drwxr-xr-x. 2 root root 6 8月 21 15:04 bd
-rwx——. 1 root root 827 8月 14 22:05 ks-script-OPUkVZ
drwx-w-rwx. 2 root root 6 8月 21 14:11 mtdy1
drwxrwxr-x. 2 root mtdy 6 8月 20 20:23 mytest
drwx——. 2 mtdy test 59 8月 20 18:00 skel
-rw-r–r–. 1 yyy mtdy 1604 8月 20 23:06 test.etc
drwxr-xr-x. 2 mtdy test 6 8月 20 20:00 tt
drwxr-xr-x. 3 root root 51 8月 20 19:53 udev
-rw——-. 1 root root 0 8月 14 21:46 yum.log
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@7mini ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modeles,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}
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/modeles"
mkdir: 已創建目錄 "/tmp/mylinux/lib64"
mkdir: 已創建目錄 "/tmp/mylinux/proc"
mkdir: 已創建目錄 "/tmp/mylinux/sbin"
mkdir: 已創建目錄 "/tmp/mylinux/sys"
mkdir: 已創建目錄 "/tmp/mylinux/tmp"
mkdir: 已創建目錄 "/tmp/mylinux/user"
mkdir: 已創建目錄 "/tmp/mylinux/user/local"
mkdir: 已創建目錄 "/tmp/mylinux/user/local/bin"
mkdir: 已創建目錄 "/tmp/mylinux/user/local/sbin"
mkdir: 已創建目錄 "/tmp/mylinux/var"
mkdir: 已創建目錄 "/tmp/mylinux/var/lock"
mkdir: 已創建目錄 "/tmp/mylinux/var/log"
mkdir: 已創建目錄 "/tmp/mylinux/var/run"
[root@7mini ~]# tree /tmp/mylinux
/tmp/mylinux
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modeles
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── user
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
(1)文件的元素信息有:文件名、文件大小、文件權限、文件屬組、屬主、access time、modify time、change time等
(2)stat /PATH/TO/SOMEFILE:獲取指定文件的元數據
[root@7mini ~]# touch 1.txt
[root@7mini ~]# stat 1.txt
文件:"1.txt"
大?。? 塊:0 IO 塊:4096 普通空文件
設備:fd00h/64768d Inode:202330023 硬鏈接:1
權限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
環境:unconfined_u:object_r:admin_home_t:s0
最近訪問:2016-08-21 15:32:06.306203510 +0800
最近更改:2016-08-21 15:32:06.306203510 +0800
最近改動:2016-08-21 15:32:06.306203510 +0800
創建時間:-
(3)改變文件的時間戳 touch命令:
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,則不予創建
[root@7mini ~]# stat /tmp/network-scripts/ifcfg-eno16777736
文件:"/tmp/network-scripts/ifcfg-eno16777736"
大?。?83 塊:8 IO 塊:4096 普通文件
設備:fd00h/64768d Inode:467976 硬鏈接:1
權限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
環境:system_u:object_r:net_conf_t:s0
最近訪問:2016-08-20 16:08:38.213000471 +0800
最近更改:2016-08-14 22:04:09.232546199 +0800
最近改動:2016-08-14 22:04:09.232546199 +0800
[root@7mini ~]# touch /tmp/network-scripts/ifcfg-eno16777736
[root@7mini ~]# stat /tmp/network-scripts/ifcfg-eno16777736
文件:"/tmp/network-scripts/ifcfg-eno16777736"
大?。?83 塊:8 IO 塊:4096 普通文件
設備:fd00h/64768d Inode:67835846 硬鏈接:1
權限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
環境:unconfined_u:object_r:user_tmp_t:s0
最近訪問:2016-08-21 15:42:44.160223194 +0800
最近更改:2016-08-21 15:42:44.160223194 +0800
最近改動:2016-08-21 15:42:44.160223194 +0800
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias:顯示當前shell進程所有可用的命令別名
alias NAME='VALUE'定義別名NAME,其相當于執行命令VALUE;
在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
[root@7mini ~]# alias
alias cp='cp -i'
alias egrep='egrep –color=auto'
alias fgrep='fgrep –color=auto'
alias grep='grep –color=auto'
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'
引用另一個命令的執行結果可以用管道符號
COMMAND1 | COMMAND2 | COMMAND3 |…
[root@7mini ~]# mkdir /tmp/tqqq | ls -ld /tmp/tqqq
drwxr-xr-x. 2 root root 6 8月 21 16:13 /tmp/tqqq
六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l*[[:digit:]]*[[:lower:]]
ls /var/l*[0-9]*[a-z]
七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
[root@7mini ~]# ls -ld /etc/[[:digit:]]*[^[:digit:]]
drwxr-xr-x. 2 root root 6 8月 21 16:25 /etc/1tong
八、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@7mini ~]# ls -ld /etc/[^[:alpha:]][[:alpha:]]*
九、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@7mini ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
[root@7mini ~]# ls -l /tmp
/tmp:
總用量 20
drwxr-xr-x. 2 root root 6 8月 21 16:06 1.txt
drwxr-xr-x. 2 root root 6 8月 21 15:04 ac
drwxr-xr-x. 2 root root 6 8月 21 15:04 ad
drwxr-xr-x. 2 root root 6 8月 21 15:04 bc
drwxr-xr-x. 2 root root 6 8月 21 15:04 bd
-rwx——. 1 root root 827 8月 14 22:05 ks-script-OPUkVZ
drwxr-xr-x. 6 root root 4096 8月 21 15:36 log
drwx-w-rwx. 2 root root 6 8月 21 14:11 mtdy1
drwxr-xr-x. 14 root root 4096 8月 21 15:24 mylinux
drwxrwxr-x. 2 root mtdy 6 8月 20 20:23 mytest
drwxr-xr-x. 2 root root 4096 8月 21 15:39 network-scripts
drwx——. 2 mtdy test 59 8月 20 18:00 skel
-rw-r–r–. 1 yyy mtdy 1604 8月 20 23:06 test.etc
-rw-r–r–. 1 root root 0 8月 21 16:31 tfile-2016-08-21-16-31-19
drwxr-xr-x. 2 root root 6 8月 21 16:13 tqqq
drwxr-xr-x. 2 mtdy test 6 8月 20 20:00 tt
drwxr-xr-x. 2 root root 6 8月 21 16:12 ttt
drwxr-xr-x. 3 root root 51 8月 20 19:53 udev
-rw——-. 1 root root 0 8月 14 21:46 yum.log
十、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
[root@7mini ~]# mkdir /tmp/mytest1
[root@7mini ~]# cp -a /etc/p*[^[:digit:]] /tmp/mytest1
[root@7mini ~]# ls -a /tmp/mytest1
. passwd plymouth postfix printcap protocols
.. passwd- pm ppp profile python
pam.d pki popt.d prelink.conf.d profile.d
十一、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
[root@7mini ~]# mkdir /tmp/mytest2
[root@7mini ~]# cp -a /etc/*.d /tmp/mytest2
[root@7mini ~]# ls -a /tmp/mytest2
. dracut.conf.d pam.d rc4.d sysctl.d
.. grub.d popt.d rc5.d tmpfiles.d
bash_completion.d init.d prelink.conf.d rc6.d xinetd.d
binfmt.d ld.so.conf.d profile.d rc.d yum.repos.d
chkconfig.d logrotate.d rc0.d rsyslog.d
cron.d modprobe.d rc1.d rwtab.d
depmod.d modules-load.d rc2.d statetab.d
dnsmasq.d my.cnf.d rc3.d sudoers.d
十二、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@7mini ~]# mkdir /tmp/mytest3
[root@7mini ~]# cp -a /etc/[lmn]*.conf /tmp/mytest3
[root@7mini ~]# ls -a /tmp/mytest3
. ld.so.conf libuser.conf logrotate.conf mke2fs.conf
.. libaudit.conf locale.conf man_db.conf nsswitch.conf
原創文章,作者:N22-北京-錢峰,如若轉載,請注明出處:http://www.www58058.com/38299
寫的很好,排版還可以在漂亮一點,加油,3大題1小題不對,2小題跟要求也不一樣