第二周作业

# 第二周作业

##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
下一篇 2016-12-09

相关推荐

  • keepalived + LVS-NAT 双主互备模型

        实验环境拓扑图:     备注:内网段使用192.168.91.0/24 网段模拟。外网使用192.168.23.0/24网段模拟 1、两节点上关闭防火墙和selinux。 [root@node1 keepalived]# systemctl stop firewalld…

    Linux干货 2016-03-12
  • bash 循环和函数

    回顾: 循环 循环控制:break,continuewhile , for循环的特殊用法for (());do     循环体donewhile read VARAIBLE;do     循环体done <&nbs…

    Linux干货 2016-08-24
  • N26-博客作业-week12

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求; (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; (3) 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; (4) 访问资源:获取请求报文中请求的资源; (5) 构建响应报文: (6) 发送响应报文: (7) 记录…

    Linux干货 2017-05-23
  • 第5周

    第5周 1.显示当前系统上root,fedora或user1用户的默认shell。 [root@node1 ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f 7 /bin/bash /bin/bash /bin/bash [root@node1 ~]# grep “^\(root…

    Linux干货 2017-07-27
  • 新的开始

    hello,我在这里,马哥运维,一起努力!

    Linux干货 2016-12-26

评论列表(1条)

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

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