马哥教育21期网络班—第二周课程+练习

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

linux文件管理类命令有:cp、mv、rm。
cp:复制
  主要参数:
    -i:交互式,复制前询问用户是否确认覆盖目标文件。
    -r/R:递归复制,连同源目录及以内的子目录和文件一并复制到目标目录内。
    -f:强制执行,直接覆盖目标文件夹或文件,不询问用户。
    -v:显示复制的详细过程。
    -d:当源为符号链接时,目标也复制为符号链接,并指向源链接的原始文件或目录。
    -p:保留原文件或目录的{mode,ownership,timestamps}属性。
    -a:一般用于文件或目录备份。参数效果等同于-dpR。
mv:移动或重命名
主要参数:
  -irfv:参数与cp命令一致,此处不多做说明。
rm:删除文件或目录
主要参数:
  -irfv:参数与cp命令一致,此处不多做说明。

bash工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示  

bash命令执行状态返回值
   命令执行状态返回值即命令执行的成功或失败的状态结果。bash特殊变量"$?"会保存最近一条命令的执行状态结果。使用echo "$?" 查看。返回值:0代表执行成功;1-255表示执行失败。
命令行展开
~:展开至当前用户的家目录。
~username:展开至指定用户的家目录。
{}:可装载多个以逗号分隔开的列表,并将其展开为多个路径。
如:创建名为1.test,2.test,3.test三个文件。
  [tracy@tracy ~]# touch {1,2,3}test 
  [tracy@tracy ~]# ls
  1test  2test  3test

请使用命令行展开功能来完成以下练习

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[tracy@tracy ~]# touch /tmp/{a,b}_{c,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

# 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,run}}

文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳

元数据:存储的是文件的大小,权限,属主属组,时间戳等信息,可使用stat命令查看元数据详细信息。
stat:查看及修改文件元数据。
  主要参数:
    -a:修改文件访问时间;
    -m:修改文件被修改时间;
    -c:当文件不存在时,不创建空文件。
    -t STAMP:
     [[CC]YY]MMDDhhmm[.ss]使用指定的日期时间,而非现在的时间;

如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

命令别名:alias 
      直接使用alias参数可查看当前shell生效的alias别名。
      # alias NAME='VALUE'
在命令中引用另一个命令的执行结果可使用|符号。
      使用格式:COMMAND1 | COMMAND2 | COMMAND3 ...
      如: # cat /etc/inittab | wc -l

显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

#ls -ld /var/l*[[:digit:]]*[[:lower:]]

显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

# ls -ld /etc/[[:digit:]]*[^[:digit:]]

显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

#ls -ld /etc/[^[:alpha:]][[:alpha:]]*

在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

# touch tfile-$(date +%F-%H-%M-%S)

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

# mkdir /tmp/mytest1
# cp -rf /etc/p*[^[:digit:]] /tmp/mytest1

复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

# mkdir /tmp/mytest2
# cp -rf /etc/*.d /tmp/mytest2/

复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

# mkdir /tmp/mytest3
# cp -rf /etc/[1,m,n]*.conf /tmp/mytest3

原创文章,作者:哎哟喂,如若转载,请注明出处:http://www.178linux.com/22297

(0)
哎哟喂哎哟喂
上一篇 2016-07-07
下一篇 2016-07-07

相关推荐

  • 马哥教育网络班22期-第6周博客作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@centos6 ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@centos6 ~]# sed -…

    Linux干货 2016-12-05
  • 马哥教育网络班21期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@itop ~]# cp -r /etc/skel /home/tuserl [root@itop ~]# chmod -R&nbsp…

    Linux干货 2016-08-01
  • centos6.9实现网卡bonding

    centos6.9实现网卡bonding 为什么要用bonding  将多块网卡配置同一IP地址实际中是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址,这样可以实现多块网卡绑定同一IP地址,对外提供服务。用于网络负载均衡和网络冗余。 工作模式  bonding的模式:0-6,即:7种模式,这里我们…

    2017-08-20
  • 文本编辑工具vim

                             vim +#: 打开文件直接处在#行 +/PATTERN:打开文件直接处在第一次匹配到行 vim + file :打开文件直接处在最后行 vim –b file :以二进制打开文件…

    Linux干货 2016-08-12
  • DNS

    配置缓存服务器: #vim /etc/named.conf Options { Listen-on port 53 { 127.0.0.1;172.16.0.68;}; //listen-on-v6 port 53 {::1;}; ……. Allow-query {any;}; …… Dnssec-enable…

    2017-06-04
  • Linux文本处理三剑客之grep 和 正则表达式

    本文主要介绍:1、文本处理工具grep 2、正则表达式

    2018-04-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-07 11:24

    写的很好,排版也很棒,可以列举一些例子来辅助说明。加油