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

相关推荐

  • week8

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:          连接不同子网,使其透明通信,它们工作在链路层。它们处理的是链路层数据,一般来说就是以太     网帧格式的 &nb…

    Linux干货 2016-12-19
  • 日志系统

    日志管理 发送日志命令,通知用户:logger  -p  local7.info “this is a test log” Local#.info 为自定义到文件或目录,或用户的级别 日志远程存储需要启动514端口,在centos7上需要取消注释 Uptime可以查看开机时间 rsyslog特性:CentOS6和7 Ü多线程 ÜUDP…

    Linux干货 2018-02-01
  • Ansible (playbook)

    一、YAML 1.1 YAML介绍 YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。 YAML Ain’t Marku…

    Linux干货 2017-11-01
  • N22-第三周课堂练习

    — 1.列出当前系统上所有已经登录的用户的用户名,注意:用一个用户登录多次,则只显示一次即可。     who | awk '{print $1}' | uniq 2.取出最后登录到当前系统的用户相关信息。   last | head -n 1 3.取出当前系统上被用户当作其默认shell的最多的…

    Linux干货 2016-08-30
  • 源码安装http

    http://xxlii.blog.51cto.com/10277731/1841570     哈哈!

    Linux干货 2016-08-24
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本 接受一个以上文件路径作为参数 显示每个文件拥有的行数 总结说明本次共为几个文件统计了其行数 #!/bin/bash # read -p “please input some paths:” paths if [ -z $paths ];then echo “There are not any paths inputtin…

    Linux干货 2017-08-14

评论列表(1条)

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

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