马哥教育网络班21期+第2周作业

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

    cp复制,mv移动,rm删除

    1、cp:   

         1,用法:

cp [OPTION]... [-T] SOURCE DEST             
cp [OPTION]... SOURCE... DIRECTORY            
cp [OPTION]... -t DIRECTORY SOURCE...

      

       2,规则

        当源是文件:           

            目标不存在时:新建目标,并将源的内容填充至目标中;           

            目标存在时:

                如果目标是文件,则覆盖,可使用-i参数提醒;

                如果目标是目录,则在目标下新建与源同名的文件,并将源内容填充入内       

        当源是多个文件时:

            目标必为目录,如果目标不存在,则不能复制               

            如果源是目录,需使用-r选项,cp默认不支持目录复制            

        目标不存在时:创建指定目录,复制源目录中的所有文件至目标中;           

        目标存在时:1,目标是文件,报错;2,目标是目录,复制进去           

      

    3,常用选项:

        -i:交互式      

        -r,-R:递归复制目录及其内部所有内容       

        -a:归档       

        -d: –no-dereference –preserv=links    –preserve[=ATTR_LIST]           

            mode:权限            

            ownership:属主属组          

            timestamp:时间戳          

            xattr:扩展文件属性           

            context:上下文           

            links:链接           

            all:所有       

        -p:保留权限,属主属组及时间戳 = –preserv=mode,ownership,timestamp       

        -v:–verbose                       

        -f:–force

        2、mv:move移动文件

            如果SRC是单个文件:    

                若DEST不存在,则剪切源文件至新目录下,并重命名成新名字     

            如果SRC是目录,则把目录下所有文件都移动过去

          3、rm:remove,删除

               常用选项:       

                    -i:交互式      

                    -f:强制删除       

                    -r:递归       

                    Rm -rf:强制递归删除


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

    命令执行状态:bash使用特殊变量$?保存最近一条命令的执行状态结果:其中0表示成功;1-255表示失败。   

        命令行展开:           

        1,~:展开为用户的主目录;           

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

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

    如:

# mkdir -p 2/{bin,sbin,usr/{bin,sbin}}
[root@localhost ~]# tree 2
2
├── bin
├── sbin
└── usr
    ├── bin
    └── sbin
5 directories, 0 files

        

mkdir -p 1/{x,y}_m/{m,n}
[root@localhost ~]# tree 1
1
├── x_m
│   ├── m
│   └── n
└── y_m
    ├── m
    └── n
6 directories, 0 files

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

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

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

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

 


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

       文件名,大小,块,IO块,设备,Inode,硬链接,权限,Uid,Gid,环境,时间戳

       stat查看文件元数据

       touch修改时间戳

touch [OPTION]… FILE…    

-a:修改访问时间   

-m:修改修改时间   

-t:修改为指定时间    

-c:不创建文件

 


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

命令别名(alias)    通过alias命令实现       

1)alias:显示当前shell进程中所有可用的命令别名       

2)alias:NAME=‘VALUE’

定义别名NAME,其相当于执行命令VALUE       

例:alias cdnet='cd /etc/sysconfig/network-scripts'

注意:在命令行中定义的别名,

仅对当前shell进程有效,如果想永久有效,需要定义在配置文件中

仅对当前用户:~/.bashrc   

对所有用户有效:/etc/bashrc立即生效,

重新读取配置文件:source .bashrc bash

进程重新读取配置文件:

source /path/to/config_file     

 . /path/to/config_file

撤销别名:unalias      

unalias [-a] name [-name …]

PS:如果别名同原命令名称,要执行原命令,可使用"\COMMAND"


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

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

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

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

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

# ls /etc/[^:alpha:]?

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目录中。

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

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

# mkdir mytest2 && cp -r /etc/*.d /tmp/mytest2

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

# mkdir mytest3 && cp /etc/[lmn]*.conf /tmp/mytest3

 

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

(0)
lichenhanlichenhan
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • shell-语句总结

    shell脚本语法总结 过程式编程语言: 顺序执行 选择执行 循环执行 shell默认是顺序执行,如果有判断或循环语句则执行判断或循环。 条件判断 if     单分支         if 判断条件:then  &nb…

    Linux干货 2016-08-21
  • linux基础学习第七天-正则表达式及grep

    2016-08-04 授课内容: 各种文本工具来查看、分析、统计文本文件(more、less、cat、cut、sort、wc、uniq、head、tail、paste、diff) grep 正则表达式 扩展正则表达式 【】所有的文本查看、分析、统计等都是只是更改标准输出的显示方式,对原文件内容并没有更改 cat [OPTION]… [FILE]&…

    Linux干货 2016-08-07
  • iptables 补充本

    浅谈iptables一 什么是iptablesiptables 是工作在内核之上的netfilter框架的前端工具(iptables是netfilter的管理工具这样说也不为过)Firewall:隔离工具,工作于主机或网络的边缘处,对经由的报文根据预先定义的规则(识别标准)进行检测,对于能够被规则匹配到的报文实行某种预定义的处理机制的一套组件; 硬…

    Linux干货 2017-05-15
  • AOP面向方面编程

    1.引言         软件开发的目标是要对世界的部分元素或者信息流建立模型,实现软件系统的工程需要将系统分解成可以创建和管理的模块。于是出现了以系统模块化特性的面向对象程序设计技术。模块化的面向对象编程极度极地提高了软件系统的可读性、复用性和可扩展性。向对象方法的焦点在于选择对象作为模块的主要单元,并将对象与系统的…

    Linux干货 2015-04-07
  • Linux网络属性配置—iproute命令家族

    ip命令: show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | netns  } ip  OBJECT: ip li…

    Linux干货 2016-12-04
  • LVS介绍

    LVS介绍     LVS是linux virtual server的简写,是服务器集群的一种负载均衡解决方案,作为netfilter的补充套件,工作于内核空间。     常见的术语 CIP:客户端ip地址 RIP:后端服务器ip地址 VIP:lvs面向客户端的ip地址 DIP:lvs面向…

    Linux干货 2017-08-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 14:49

    写的很好,排版也很棒,加油