第二周作业

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

    文件管理类命令:cp、mv、rm

    (1)cp:复制命令

     单源复制(源文件为文本文件) 
        其命令格式为:

    cp [OPTION]… [-T] SOURCE DEST
        如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
        如果DEST存在:1、如果DEST是非目录文件,则覆盖目标文件;2、如果DEST是目录文件,则先在DEST目录下创建同名文件并复制数据流

    多源复制(源文件为目录文件,且其下有多个文件)    
    其命令格式:
       cp [OPTION]… SOURCE… DIRECTORY
       cp [OPTION]… -t DIRECTORY SOURCE…
        如果DEST不存在:报错
        如果DEST存在:1、如果DEST是非目录文件,报错;2、如果目录是目录文件,则分别复制每个文件至目标目录中,并保持原名。

    常用选项:
         -i, –interactive 
                  prompt before overwrite (overrides a previous -n option)
                     交互式复制,覆盖之前提醒用户确认

        -R, -r, –recursive
              copy directories recursively
                           递归复制目录
        -d     same as –no-dereference –preserve=links
                  复制符号链接文件本身,而非其指向的源文件
        -a, –archive
              same as -dR –preserve=all
                          用于实现归档
        -f, –force
              if  an existing destination file cannot be opened, remove it and try again (this  ignored when the -n option is also used)
                      强制覆盖目标文件
        –preserve[=ATTR_LIST]
              preserve the specified attributes (default: mode,ownership,timestamps), if possible  additional attributes: context, links, xattr, all
            mode:权限                       ownership:属主和属组
            timestamps:时间戳               context:安全标签
            xattr:扩展属性                  links:符号链接
            all:上述所有属性
        -v, –verbose
              explain what is being done
              详细展示命令的运行过程

    

        (2)mv:移动命令

       命令格式:
       mv [选项]… 源文件 目标文件
       mv [选项]… 源文件… 目录
       mv [选项]… –target-directory=DIRECTORY SOURCE…

       常用选项:

                -i:交互式        

                -f:强制

        (3)rm:删除命令

        命令格式: rm [OPTIONS]…FILE…

        常用选线:           -i:交互式

                                     -f:强制

                                     -r:递归                           

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

    (1) bash命令执行返回值  

            命令行执行状态返回值保存在bash的特殊变量$?中,可以用echo $?查看其返回值,其中0表示成功,1-255表示失败

            例如:

捕获.PNG

            执行ls命令时,执行成功了,查看其返回值,显示为0

捕获.PNG

            执行ls命令时,命令出错,查看其返回值,显示为127

    (2)命令行展开

            ~:展开为用户的主目录

            ~USERNAME:展开为指定用户的主目录

            {}:可以承载一个以逗号分隔的列表,并将其展开为多个路径

            如: /tmp/{a,b}=/tmp/a, /tmp/b

          

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

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

mkdir /tmp/{a,b}_{c,d}

QQ图片20170118235815.png

   (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,user/local/{bin,sbin},var/{lock,log,run}}

QQ图片20170119000139.png

QQ图片20170118235228.png

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

        文件的元数据可以使用stat命令去查看。

        如:

捕获.PNG

        文件的元数据有:

        File:文件名

        Size:文件大小

        Blocks:文件块大小

        IO Block:io块大小

        Device:设备号    

        Inode:inode号

        Links:被链接的次数

        Access:文件的权限

        Uid:文件属主

        Gid:文件属组

        Access time:访问时间,atime 即:通过 cat,more等读取其内容

        Modify time:修改时间,mtime 即:改变文件内容

        Change time:改变时间,ctime 即:元数据发生改变

        (2)文件时间戳改变的方法可以touch命令去修改

        touch [OPTION]…FILE…

                    -a :修改atime

                    -m:修改mtime

                    -t [[CC]YY]MMDDhhmm[.ss]

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

    定义命令别名使用命令alias

    使用格式:alias new_name='old_name options'

    如:alias lsa='ls -a'

    在命令中引用另一个命令的执行结果可以使用`COMMAND`或者$(COMMAND) 

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

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

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

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

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

    ls -d /etc/[^a-z][a-z]*

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

    touch /tmp/tfile-`date +%Y-%m-%d-%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

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

(0)
M36-MasuriM36-Masuri
上一篇 2017-01-18
下一篇 2017-01-18

相关推荐

  • 使用cp命令定时复制数据

    cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或者目录。 cp [选项] [参数] 常用选项: -r -R 递归拷贝目录及目录里所有的内容 -i 交互式,默认支持 -d 复制的时候,如果目录有链接文件,则只复制链接文件 -p –preserv,复制的时候将文件的属性一起复制 -a = -dpR -v 复制的时候显示详细过程 如何定期执…

    Linux干货 2017-04-03
  • N26-第六周作业

    vim编辑器的使用 编辑模式:默认模式编辑模式–>输入模式;i:insert,在光标所在处输入;a:append,在光标所在处后方输入o:在光标所在处下方打开的一个新行;光标处在行首;I:在光标所在行的行首输入A:在光标所在处的行尾输入;O:在光标所在处的上方打开一个新行; 输入模式–>编辑模式ESC 编辑模式&#8211…

    Linux干货 2017-03-13
  • M20用户和组练习题和作业

    1、创建用户gentoo ,附加组为bin 和root ,默认shell为/bin/csh ,注释信息为"Gentoo Distribution"  useradd gentoo -G bin,boot -s /bin/csh -c "Gentoo Distribution" 2 、创建下面的用户、组和组成员…

    Linux干货 2016-08-03
  • rhel6.7安装pymssql(通过Python连接MSsql数据库)

    依赖安装: freetds、python-devel、cython、Python3.x 1、安装freetds tar -jxvf freetds-dev.0.99.134.tar.bz cd freetds-dev.0.99.134 ./configure –prefix=/usr/local/freetds&nb…

    Linux干货 2016-05-23
  • Shell编程 详解特殊变量之位置参数

    今天我们来探讨shell编程的特殊变量:位置变量。 首先我创建了一个testargs.sh的小脚本: #!/usr/bin/env bash # # Author: jacky18676887374@aliyun.com # date: 20160813-19:30:59 # Vervion:&nb…

    Linux干货 2016-08-15
  • Docker之~集群配置

    一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。 本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernet…

    2017-03-16