马哥教育网络班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

相关推荐

  • linux网络管理 一

    什么是网络?         是指将具有独立功能的计算机和周边设备,通过通信线路连接起来,在网络软件的支持下,实现资源的共享和数据的整个系统。 网络的特征:         速度      …

    2017-03-16
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习下

    在LAMP架构中,请分别以fpm工作为独立守护进程的方式来支持http yum groupinstall "Development Tools" "Server Platform Development"——>安装包组1、编译安装Apacheht…

    Linux干货 2016-09-26
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求 (2) 接收请求: 接收来自于网络的请求报文中对某资源的一次请求的过程; 持久连接:接收到请求不会断开这个请求 非持久连接:一个连接请求断开一次 并发访问响应模型(Web I/O): 单进程I/O结构:启动一个进程处理用户请求,而且一次只处理…

    Linux干货 2016-09-26
  • 如何正确安装一个源码包

        下周就要考试了,心情挺忐忑不安的,前几天做了25期的考试题,感觉每个题都是老师上课讲过的,但是自己做却想不起来了。这应该就像学习数学一样,需要大量练习,做的多了自然就会了。     这周我们学习了如何使用yum,还学习了磁盘管理。针对如何安装源码包,以httpd包为例我们…

    2017-08-19
  • N26-第七周博客作业

    一、创建一个10G分区,并格式为ext4文件系统; 1、 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;          A、创建一个10G的磁盘空间 [root@VM_221_40_centos ~]#fdisk /de…

    2017-07-09
  • 文本查看及处理工具

    文本查看及处理工具 wc wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数 语法 wc(选项)(参数) 选项 -c或–bytes或——chars:只显示Bytes数; -l或——lines:只显示列数; -w或——words:只显示字数。 参数 文件:需要统计的文件列表 实例 [root@localhost tmp]# cat …

    Linux干货 2018-03-18

评论列表(1条)

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

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