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

相关推荐

  • 马哥教育网络班21期-第六周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;  # :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; &nb…

    Linux干货 2016-08-15
  • 网络班22期+第二周作业练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示? Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir 1)pwd:显示当前工作目录 2)ls:列出指定目录下的内容 常用的选项有: -a:列出目录中的所有文件,包括隐藏文件 -A:显示除.和..之外的所有文件 -l,相当于–long,显示…

    Linux干货 2016-08-29
  • 马哥教育网络班21期第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel/ /home/tuser1 # chmod -R go= /home/tuser1/ 2、编辑/etc/gr…

    Linux干货 2016-07-27
  • 二、(4)bash的基础特性之:alias命令及文件名通配

    alias命令 在bash中,允许用户使用和创建命令的别名 用法: 查看:可以使用alias命令来获取当前可用的命令别名: 如第一行:alias cp=’cp -i’,将cp -i命令定义别名为:cp 创建:上图中,alias所展示的也是创建别名的方法,即:alias NAME=’COMMAND’ 注意:图中举例将ls -l命令创建别名为ls,此时原命令ls…

    2018-01-12
  • Keepalived介绍 , 配置说明 , 及实际应用

    1. Keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat、corosync、pacemaker。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。 1.1 VRRP协议 VRRP全称 Virt…

    Linux干货 2016-11-04
  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05

评论列表(1条)

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

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