马哥教育网络班21期+第2周课程练习

一、Linux文件管理类命令

    1、文件的复制、移动和删除

   

   A、cp  文件的复制
         cp命令的用法:   
            cp [选项]  源文件  目标文件
               a)、目标文件不存在,新建目标文件,并将源文件内容填充到目标文件中
               b)、目标文件存在,源文件内容将覆盖目标文件;使用-i会有交互式提醒
            cp [选项]  多个源文件   目标目录
                       此时目标必须是目录,否则就会出错
            cp -r [选项]   源目录   目标
                 a)、目标不存在,则创建目标名的目录,复制源目录下文件到目标目录下;
                 b)、目标存在,但是是文件时,报错;
                    目标存在,是目录时,复制源目录下文件到目标目录下;
             常用选项:
                     -i:交互式
                     -r, -R: 递归复制目录及内部的所有内容;
                      -a: 归档,

     B、mv文件移动

       

 mv用法:
             mv [选项]  源文件   目标文件
             mv [选项]  多个源文件    目标目录
             mv -r [选项]    源目录     目标

      C、rm删除文件

           

rm命令用法:
              rm [选项]   文件名
                  rm常用选项:
                        -i: 交互式
                        -f: 强制删除
                        -r: 递归

二、练习

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

mkdir -p /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

 mkdrir -p /tmp/mylinx/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{local,log,run}}

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

     Bash 命令执行后,会对执行状态返回一个值。

     如果命令执行成功则返回0,如果执行不成功,就会返回一个1-255的数字,这个返回值保存在特殊变量$?中。

     可以使用echo $?查看返回值。

   命令行展开:

      1、~  展开为用户的家目录

          使用方法:~username

      2、使用花括号和逗号的一个列表,展开为多个路径

  /etc/{a,b}  表示 /etc/a   /etc/b

 mkdir -p /tmp/{a,b}{c,d}     #会新建 /tmp/a/c   /tmp/a/d   /tmp/b/c   /tmp/b/d 目录

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

   文件的元数据包含文件本身的一些属性信息,如:文件名、文件的各类权限、各类时间戳、inode号码、链接次数等。

   文件包括三个时间戳:atime,mtime,ctime,可以使用touch命令来修改时间戳,用法如下

     touch  [选项]   filename

         常用选项有:

            -a: 只更改atime

            -m:  只更改mtime

            -c: 如果文件不存,则不予创建

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

   别名:

     使用alias命令定义别名,用法: alias name='command',

     使用alias 定义的别名,只对当前shell有效,重新登录就会失效。

     如果希望永久有效,请更改下面的配置文件

            如果仅对当前用户:更改~/.bashrc

            如果对所有用户有效:更改/etc/bashrc

  使用管道把一个命令的执行结果传送给另一个命令

ll | sort -d' ' -k2

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

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

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

ls /etc/[0-9]*[[:alpha:]]

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

 ls /etc/[^[:alpha:]][[:alpha:]]*

九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch "tfile-`date +%F`-`date +%l`-`date +%M`-`date +%S`"

十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

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

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

cp -r /etc/*.d   /tmp/mytest2

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

cp -r /etc/[m,n]*.conf /tmp/mytest3

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/19908

(0)
N21-沉舟N21-沉舟
上一篇 2016-06-26
下一篇 2016-06-26

相关推荐

  • bash脚本进阶

    case  变量引用  in PAT1)分支1 ;; PAT2)  分支2 ;; … *) 分支n ;; esac case支持glob风格的通配符:   *:任意长度任意字符: ?:任意单个字符: [ ]:指定范围内的任意单个字符: a|b:a或b function:函数   &nbs…

    Linux干货 2017-05-21
  • linux发展史

    Linux 发展史 说明 此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。    目录 一、Linux发展背景 二、UINIX的诞…

    Linux干货 2016-10-14
  • N26-第五周博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]].*$" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root…

    系统运维 2017-02-10
  • LINUX课堂笔记(第二周)

    2018.03.12 rpm httpd*** service httpd start ab 模仿用户访问 cat /var/log/httpd/access_log curl 访问web服务 rev 字符颠倒显示 sort  -r 执行反方向(由上至下)整理  -R 随机排序  -n 执行按数字大小整理  -f 选项忽略(fold)字符串中的字符大…

    Linux干货 2018-03-17
  • bash特性

    2018-03-11

    2018-03-11
  • grep作业题

    找出/proc/meminfo文件中,所有以大写或小写s开头的行,至少三种方式:grep -i "^s" /proc/meminfogrep "^[sS]" /proc/meminfogrep -E "^(s|S)" /proc/meminfo显示当前系统上roo、centos或者user用户的相关…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:23

    写的很好,可以多注意一下排版问题,加油,最后一个是不是错了