一、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 块: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"
大小:383 块: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"
大小:383 块: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.178linux.com/38299
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油,3大题1小题不对,2小题跟要求也不一样