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

相关推荐

  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • shell脚本小练习..

    刚刚接触vim和shell脚本,用几个小脚本练练手。 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中。 3、编写脚本…

    2017-04-13
  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • http协议简介

        http:Hyper Text Transfer Protocol,超文本传输协议。是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hyp…

    Linux干货 2015-11-18
  • linux基础学习-第九天(shell基础)

    2016-08-10 授课内容: shell脚本基础: 变量 运算 bash测试(数字测试、字符测试、文件测试、组合测试) read命令 变量作用: 1、数据存储格式 2、参与的运算 3、表示的数据范围 变量类型: 1、本地变量 2、环境(全局)变量 3、特殊变量     驼峰命名变量:每个单词一个字母大写 本地变量:…

    Linux干货 2016-08-11
  • N22-第一周博客:计算机及Linux系统的入门学习了解

                                  …

    Linux干货 2016-08-15

评论列表(1条)

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

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