马哥教育网络班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 11:20
下一篇 2016-07-12 11:21

相关推荐

  • LAMP运行环境搭建及部署php程序软件

    前言     Linux+Apache+MySQL+PHP是大多数web服务器的运行环境,能熟练配置此运行环境是每个运维的必备基本技能,本文以安装MySQL管理工具PHPmyadmin以及博客软件wordpress为例,演示编译安装LAMP运行环境的过程。 一、实验拓扑图 二、安装步骤 2.1 编译安装Apache h…

    2015-11-26
  • N25 – week 3 blog

    本周的blog开始使用了代码语言格式,我原本以为自然的才是最好的,orginal的才是最美的,但是我错了。。。我发现同学们都在各种markdown,各种排版。我说过我早已过了care这些的年纪,但是我不能脱离群体单独存在,所以我底下了傲娇的头。 本周开始blog标题改为英文,逼格满满,麦满分~ 下面开始第$wk_num周的作业 [root@dhcp-10-1…

    Linux干货 2016-12-19
  • N24_jerry 第十二周作业

    1、请描述一次完整的http请求处理过程; 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    Linux干货 2017-03-22
  • 系统启动及恢复

    一、知识整理 1、modinfo命令:显示模块的详细描述信息: -n 只显示模块文件路径 -p 显示模块参数 -a auther -d description -l license协议 modprobe命令:装载或卸载内核 -r卸载内核,同rmmod 配置文件:/etc/modprobe.d/*.conf depmod命令:内核模块依赖关系文件及系统信息映射…

    Linux干货 2016-09-22
  • 魔术方法

    魔术方法 属性 含义 __name__ 类、函数、方法等的名字 __module__ 类定义所在的模块名 __class__ 对象或类所属的类 __bases__ 类的基类的元组,舒徐为他们在基类列表中出现的顺序 __doc__ 类、函数的文档字符串,如果没有定义则为None __mro__ 类的mro,class.mro()返回的结果保存在__mro__中…

    Linux干货 2017-11-21
  • 由摩根定律引发的思考

    在Linux中,我们常常需要对一些条件进行判断,而对于多个条件的组合判断是基于摩根定律而进行的。所以理解摩根定律对于我们学习条件判断是很有必要的,下面我们就先介绍摩根定律进而引出其在一些具体场景上的应用。   一、摩根定律 在Linux中的条件判断中,摩根定律可以以下式来表示: !( A || B )=!A && !B !( A &…

    Linux干货 2016-08-16

评论列表(1条)

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

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