Homework Week-2 Linux文件管理

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

文件管理工具:cp, mv, rm

        cp命令:copy  源文件  目标文件

               单源复制:cp [OPTION]… [-T] SOURCE DEST

                   如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

                   如果DEST存在:

                       如果DEST是非目录文件:则覆盖目标文件;

                       如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

               多源复制:cp [OPTION]… SOURCE… DIRECTORY

                    cp [OPTION]… -t DIRECTORY SOURCE…

                   如果DEST不存在:错误;

                   如果DEST存在:

                       如果DEST是非目录文件:错误;

                       如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

               常用选项:

                   -i:交互式复制,即覆盖之前提醒用户确认;

                   -f:强制覆盖目标文件;

                   -r, -R:递归复制目录;

                   -d:复制符号链接文件本身,而非其指向的源文件;

                   -a:-dR –preserve=all, archive,用于实现归档;

                   –preserv=

                       mode:权限

                       ownership:属主和属组

                       timestamps: 时间戳

                       context:安全标签

                       xattr:扩展属性

                       links:符号链接

                       all:上述所有属性

mv命令:move

        mv [OPTION]… [-T] SOURCE DEST

        mv [OPTION]… SOURCE… DIRECTORY

        mv [OPTION]… -t DIRECTORY SOURCE..           

        常用选项:

                   -i:交互式;

                   -f:force

      rm命令:remove

            rm [OPTION]… FILE…

            常用选项:

                -i:interactive

                -f:force

                -r: recursive

                删除目录:rm -rf /PATH/TO/DIR

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

bash的基础特性(命令的执行状态结果):

        命令执行的状态结果:

            bash通过状态返回值来输出此结果:

                成功:0

                失败:1-255

            命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

        命令正常执行时,有的还回有命令返回值:

            根据命令及其功能不同,结果各不相同;

bash的基础特性(命令行展开)

        ~:自动展开为用户的家目录,或指定的用户的家目录;           

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

            例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

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

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

#cd /tmp

#touch {a_,b_}{c,d}

     (2)创建/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

#cd /tmp

#mkdir mylinux/

#cd mylinux/

# mkdir -p {bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-s
cripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

文件的元数据信息有访问时间(access time)、修改时间(modify time)、状态改动时间(change time);

查看使用stat命令:

            stat – display file or file system status

            stat FILE…

            时间戳:

                access time:2015-12-10 16:12:22.776423693 +0800

             modify time:2015-12-10 16:12:22.776423693 +0800

             change time:2015-12-10 16:12:22.776423693 +0800

修改时间戳信息使用touch命令

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

定义别名使用命令# alias NAME='COMMAND'

例:#alias cl=clear

命令中可以通过管道引用另一个命令的执行结果;管道是连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流

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

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

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

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

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

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

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

# touch $(date +tfile-%Y-%m-%d-%H-%M-%S)

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

# mkdir   /tmp/mytest1/

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

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

# mkdir     /tmp/mytest2/

cp -r     /etc/*.d      /tmp/mytest2/

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

# mkdir /tmp/mytest3/

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

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

(0)
N22_ElephantN22_Elephant
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • 第四天作业

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

    Linux干货 2016-08-04
  • ansible配置与应用

    无法上传图片 一、程序主要文件: ansible ansible-playbook ansible-doc 二、程序发布: 要求: 1.不能影响用户体验 2.系统不能停机 3.不能导致系统故障或造成系统完全不可用。 发布路径: /webapps/tuangou /webapps/tuangou-1.1 /webapps/tuangou-1.2. 在调度器上下…

    Linux干货 2016-11-14
  • 网络21期第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统    &n…

    Linux干货 2016-09-15
  • 马哥教育网络班22期中秋节课程练习1

    #!/bin/sh   set -e CheckRoot() { #check if currect use is root user     CUR_USER=`whoami`     if&nbs…

    Linux干货 2016-10-09
  • Linux基础之shell脚本编程(三)

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;   1 #!/bin/bash   2 #author:BaoZhang   3 #  …

    Linux干货 2016-11-20
  • bash脚本入门之变量、运算、条件测试

    概述     脚本编程能力是作为运维工程师不可或缺的一项基本技能,各种系统的运维,如果完全靠命令行一条一条命令来执行,工作效率可想而知,而脚本却可以将完成一定功能的各个命令依据一定的流程控制,逻辑判断去完成某种功能,提升工作效率。本章就简单介绍一些linux下的bash脚本编程的基础入门知识,具体内容分为以下几个方面:…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:31

    写的很好,排版还可以在漂亮一点,加油,3大题2小题跟老师要求的不一样