第二周作业

# 第二周作业

##1.文件管理类命令

###cp   复制

* 单元复制

如果目标文件不存在,会自动创建

如果已经存在,会覆盖

* 多源复制

目标必须是目录,分别复制每个文件至目标目录中,并保持原名

> -i: 交互提醒

> -f: 强制覆盖,不交互

> -r: 递归复制目录

> -d: 如果复制的是符号链接,不找源文件,仅复制链接本身,cp默认是会复制符号链接的源文件到目标文件的

> -a: 用于实现付归档

> –preserv=

>     mode    权限

>     ownership   属主和属组

>     timestamps  时间戳

>     context     安全标签

>     xattr       扩展属性

>     links       符号链接

>     all         上述所有属性

    

###mv   移动

> -i  交互式

> -f  强制,不交互

###rm   删除

> -i  交互式

> -f  强制    force

> -r  递归    recursive

**所有不用的文件建议不要直接删除,而是移动到某个专用目录。**

##2.bash执行状态和命令行

###命令行展开

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

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

/tmp/{a,b}  相当于/tmp/a,/tmp/b

    [root@cloud test]# mkdir -pv /root/test/x/{y1/{a,b},y2}

    mkdir: created directory ‘/root/test/x’

    mkdir: created directory ‘/root/test/x/y1’

    mkdir: created directory ‘/root/test/x/y1/a’

    mkdir: created directory ‘/root/test/x/y1/b’

    mkdir: created directory ‘/root/test/x/y2’

    [root@cloud test]# mkdir -v {a,b}_{c,d}

    mkdir: created directory ‘a_c’

    mkdir: created directory ‘a_d’

    mkdir: created directory ‘b_c’

    mkdir: created directory ‘b_d’

###命令的执行状态结果

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

    成功:0

    失败:1-255

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

    

    [root@cloud test]# ls

    123.gz  a_c  a_d  b_c  b_d  file1  file1.gz  file2  x

    [root@cloud test]# echo $?

    0

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

这个返回值会保存于bash的变量中 $(COMMAND)或\`COMMAND\`

##3.完成练习

 – 创建/tmp目录下的:a_c,a_d,b_c,b_d

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

 – 创建/tmp/mylinux目录下

 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}}

##4.文件的元数据

###stat能看到文件的元数据

    [root@cloud test]# stat file1

      File: ‘file1’

      Size: 21         Blocks: 8          IO Block: 4096   regular file

    Device: 802h/2050d Inode: 68666229    Links: 1

    Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

    Access: 2016-12-06 23:18:37.841655271 +0800

    Modify: 2016-12-06 23:18:35.767655289 +0800

    Change: 2016-12-06 23:18:35.767655289 +0800

     Birth: –

     

     

Access: 2016-12-06 23:18:37.841655271 +0800         最近访问

Modify: 2016-12-06 23:18:35.767655289 +0800         最近更改,数据

Change: 2016-12-06 23:18:35.767655289 +0800         最近改动,元数据

###touch    创建文件,更改时间戳

> -c  指定的文件路径不存在时不予创建

> -a  仅修改access time;

> -m  仅修改modify time;

> -t  指定修改时间戳

##5.别名,引用结果

alias 定义别名

alias cdnd='cd /var/named/chroot/var/named/'

用管道连接程序,实现将前一个命令的输出直接定向给后一个程序当作输入数据流

    [root@cloud test]# cat /etc/issue |tr 'a-z' 'A-Z'

    \S

    KERNEL \R ON AN \M

    

##6.显示/var目录下,所有以1开头,以一个小写字母结尾,且中间至少出现一位数字的文件或目录

    ls -d /var/1*[0-9]*[a-z]

    

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

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

    

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

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

    

##9.在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,

    touch /tmp/tfile-$(date +'%F-%H-%M-%S')

    

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

    [root@WH-DNS-00 named]# mkdir /tmp/mytest1

    [root@WH-DNS-00 named]# cp -r /etc/p*[^0-9] /tmp/mytest1/

    

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

    [root@cloud ~]# mkdir /tmp/mytest2

    [root@cloud ~]# cp -r /etc/*.d /tmp/mytest2/

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

    [root@cloud ~]# mkdir /tmp/mytest3

    [root@cloud ~]# cp -r /etc/[1mn]*.conf /tmp/mytest3

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

(0)
lanpanglanpang
上一篇 2016-12-09 10:52
下一篇 2016-12-09 16:03

相关推荐

  • N26-第五周博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]].*$" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root…

    系统运维 2017-02-10
  • shell脚本一键分区

    #!/bin/bash #实现硬盘自动分区助手 echo "当前所有分区:" echo `fdisk -l|grep "Disk /dev/[sh]d"|cut -d: -f1|awk '{print $2 &q…

    Linux干货 2016-07-26
  • VimTutor中文版

        欢  迎   阅   读   《 V I M  教  程 》           …

    Linux干货 2016-08-24
  • 第一周 计算机/Linux基础入门

    1、描述计算机组成及其功能 计算机组成主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备 ENIARC: CPU:运算器、控制器、寄存器、缓存 存储器:内存,RAM(Random Access Memory)         Input:下指令,提供数据等 Output:输出数据加工的结果         &…

    2017-12-02
  • 测试Markdown

    测试markdown是否可用

    Linux干货 2018-03-10
  • rpm程序包管理器

    linux程序包管理器: 协作用户管理应用程序:安装、升级、查询、校验、卸载等 软件程序包生成过程:     源代码——》目标二进制格式–》组织成为一个或有限几个包文件     源代码:程序员写好的纯文本文档格式的代码     …

    Linux干货 2016-08-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 17:05

    赞,能注意下排版会更好~