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

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
文件管理类命令有:cp, mv, rm
    cp:
         功能:copy,复制
         语法: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中内容填充至新文件中;

                    cp SRC… DEST
                         SRC…:多个文件
                             DEST必须存在,且为目录,其它情形均会出错;
                         SRC是目录:
                              此时使用选项:-r

                              如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
                              如果DEST存在:
                              如果DEST是文件:报错

        常用选项:
            -i:交互式
            -r, -R: 递归复制目录及内部的所有内容;
            -a: 归档,相当于-dR –preserv=all
            -d:–no-dereference –preserv=links
            –preserv[=ATTR_LIST]
            -p: –preserv=mode,ownership,timestamp
            -v: –verbose  显示详细信息
            -f: –force
         示例:
              复制file1到/tmp下并重命名为file2:

     #cp file1 /tmp/file2

              备份当前目录的所有文件到/backup下:

     #cp -a . /backup/

              复制目录的内容到另一个目录:

     #cp -r SRC_DIR  DST_DIR

mv:
      功能:move,移动
      用法:mv [OPTION]… [-T] SOURCE DEST
                 mv [OPTION]… SOURCE… DIRECTORY
                 mv [OPTION]… -t DIRECTORY SOURCE…       
      常用选项:
            -i: 在执行时会提示
            -f: 强制执行
            -t:移动所有SOURCE 到 DIRECTORY
      示例:
          将当前目录的多个文件移动到/tmp下:

    #mv -t /tmp test1 test2 ...

          修改文件名称:

    #mv 1.txt 2.txt

rm:
     功能:remove,删除
     用法:rm [OPTION]… FILE…
     常用选项:
         -i: 交互式
         -f: 强制删除
         -r: 递归
     示例:
         删除/tmp下的.log文件:

   #rm -rf  /tmp/*.log

  
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
特殊变量$?保存上一条命令执行状态结果
可以这么查看

 #echo $?

返回结果:        0:表示成功
                   1-255:表示失败

命令行展开所涉及的内容:
    ~:展开为用户的主目录
    ~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
如下示例:

#touch /tmp/{a,b,c}

   /tmp/a /tmp/b /tmp/c

#mkdir /tmp/{hello,world}/d

  /tmp/hello/d /tmp/world/d

 

3、请使用命令行展开功能来完成以下练习:
   (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

   #mkdir /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 -p /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}}

 

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据信息是用来描述一个文件的特征的系统数据,包括文件大小,inode数,连接数,访问权限,UID、GID以及三个时间戳,可以用stat命令来进行查看。

文件有三个时间戳,分别是:
     access time:访问时间,atime,读取文件内容
     modify time: 修改时间, mtime,改变文件内容(数据)
     change time: 改变时间, ctime,元数据发生改变

可以用touch命令进行修改文件的时间戳信息。

touch:
     语法:touch [OPTION]… FILE…
     选项:-a: 只改变 atime
                -m: 只改变 mtime
                -t:STAMP: [[CC]YY]MMDDhhmm[.ss] 代替当前系统时间
                -c:如果文件不存在,则不创建
     示例:
          修改文件的访问时间为当前系统的时间

    #touch -a FileName

          修改文件的时间为指定时间戳

    #touch -t 201607071950.33 FileName

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
可以用alias定义一个命令的别名, 如 alias NAME=‘VALUE’
可以用反引号括起想要获取的命令的执行结果,如 FILES=`ls -l`

 

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

#ls -d /var/l*[0-9]*[[:lower:]]

 

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

#ls -d /etc/[0-9]*[^0-9]

 

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

#ls -d /tmp/[^a-zA-Z][a-zA-Z]*

 

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

#touch /tmp/tfile-`date +"%F-%H-%M-%S"`

 

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

#cp -a /etc/p*[^0-9] /tmp/mytest1/

 

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

#cp -a /etc/*.d /tmp/mytest2/

 

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

#cp -a /etc/[lmn]*.conf /tmp/mytest3/

 

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

(0)
ππ
上一篇 2016-07-12 11:15
下一篇 2016-07-12 11:15

相关推荐

  • 8月5日作业

    课堂练习: 1、找出ifconfig命令结果中本机的所有IPv4地址 [root@localhost ~]# ifconfig | tr -s " " |head -2 | tail -1 |cut …

    Linux干货 2016-08-15
  • yum的简单配置与使用

    yum 的基本配置与使用 1、yum:是rpm包管理器的前端工具,它是基于C/S结构,就客户端服务器模式 2、yum使用前需先配置好服务端的仓库(yum源) 3、yum客户端是通过文件传输协议来获取到yum源上的软件包的,yum一共支持四种传输协议 http:// https:// ftp:// file:// (这是一个本地路径,当yum源为本地光盘时,使…

    Linux干货 2017-06-11
  • Docker容器技术之Dokcer networking

    我们知道,docker容器中的资源用namespace进行了隔离,每一个容器中都有自己独立的一套网络资源,docker容器如何实现单机通讯与跨主机通讯呢?本节内容将为你解答这个问题。

    2018-08-08
  • bash的重定向

    一、简介         bash的数据流重定向(redirect)是将程序的执结果重新定向到另一文件或者设备。或者把一文件重定向给一程序作为数据来源。默认情况下,命令的执行结果显示在屏幕上。文件系统中,分为:标准输入,标准输出,错误输出。 二、用法   &n…

    Linux干货 2015-08-11
  • 【福利招聘】应用支持工程师/北京地区/10K+/内推

    北京首都国际机场海航数据中心–应用支持工程师 北京地区   岗位名称:应用支持工程师 工作地点:北京 学历要求:通信、计算机、电子相关专业毕业,本科及以上学历 工作经验:3年(含)以上系统维护经验 外语要求:英语四级   岗位职责: 1、负责集团内部客户使用的信息化/办公/商务等软件系统的日常管理工作,监督并促使系统的有效、安…

    Linux职位 2016-05-18
  • 第二周练习作业

    第二周作业 1、2、4、5 题博客中已经总结 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:ac, ad, bc, bd (2)、创建/tmp/mylinux目录下的: mylinux/     ├── bin     ├── boo…

    Linux干货 2016-11-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 14:05

    写的很好,排版也很棒,加油