马哥教育网络班22期+第二周课程练习

一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?

cp命令:copy,有2类复制方法

 1、单源复制:如果DEST不存在:则实现创建此文件,并复制源文件的数据流至DEST中;

    如果DEST存在:如果DEST是非目录文件,则覆盖目标文件;如果DEST是目录文件,则先DEST目录下创建一个与源文件同名的文件,并复制其数据流;

 2、多源复制:

   如果DEST不存在:错误;

   如果DEST存在:

   如果DEST是非目录文件:错误;

   如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

      

   常用选项:

      -i:交互式复制,即覆盖之前提醒用户确认;

      -f:强制覆盖目标文件;

      -r:递归复制目录;

      -d:复制符号链接文件的本身,而非其指向的源文件;

      -a:-dR -preserve=all,archive,用于实现归档;

           –preserv=

                 mode:权限

                  ownership:属主和属组

                  timestamps:时间戳

                  context:安全标签

                  xattr:扩展属性

                  links:符号链接

                  all:上述所有属性

mv命令:移动或者改名

  mv – move (rename) file

   用法:

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

   在同一级的目录下,用mv命令,为改名,并把目标文件的内容修改为何源文件一样内容;

 ~]# cat test1 
    1 
 ~]# mv test1 test3
 ~]# cat test3 
    1

   在不同目录下,目标目录内无与之要移动文件的目录内的相同名字的文件,则把源文件移动至目标目录下;

rm命令:删除命令

  rm – remove files or directories

   用法:

      rm [OPTION]… FILE…

   选项:

      -r:递归删除

      -f:–force 强制删除  

      -i:交互式删除,删除前需用户确认

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

命令行展开:

    ~:自动展开为用户的家目录,或指定的用户的家目录;

    {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

     mkdir -pv /tmp/x/{y1/{a,b},y2}

     mkdir {a,b}_{c,d} 

命令的执行状态结果:

 bash通过状态返回值输出此结果;

   成功:0

   失败:1-255

 命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

    引用命令的执行结果是:

     $(COMMADN)或`COMMAND`

~]# cat /etc/fstab &>/dev/null
~]# echo "$?"
   0
   
~]# cat /etc/fstabb &>/dev/null
~]# echo "$?"
   1

 

三:请使用命令行展开功能来完成以下练习

(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}}

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

文件分为两类数据:

1、元数据:metadata 描述数据的,例如书中的目录

2、数据:data  真正的数据,例如书中的内容

  时间戳:

 Access(访问时间): 2016-08-16 06:39:59.915983316 +0800 读取文件

 Modify(更改时间): 2016-08-16 06:39:59.915983316 +0800 数据改变

 Change(改动时间): 2016-08-16 06:39:59.915983316 +0800 元数据改变

  数据改变,元数据一定改变,所以改动时间随着更改时间改变而改变

用stat查看

修改文件时间戳信息可用touch命令

 touch命令:

  change file timestamps;

   -c:指定文件路径不存在时不予创建;

   -a:仅修改access time;

   -m:仅修改modify time;

   -t:年月日小时分钟秒

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

分为两种模式定义别名,一种为全局模式下,一种为用户个人;

其中交互式登录shell进程:

/etc/prifile->/etc/profile.d/*->~/bash_profile->~/.bashrc->/etc/bashrc 从一级级的去定义。

非交互式登录shell进程:

~/.bashrc->/etc/bashrc->/etc/profile.d/*

可以在这些配置文件中去定义别名;

仅在当前shell生效的别名:

alias NAME='VALUE'

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

 ~]# ls /var/ |grep "^l*[0-9][a-z]$"

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

~]# ls -d /etc |grep "^[0-9].*[^0-9]$"

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

~]# ls  /etc/ |grep "^[^[:alpha:]][[:alpha:]].*"

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

~]# touch /tmp/tfile-`date +%F-%H-%M-%S`

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

~]# cp -fr /etc/p*[^[:digit:]] /tmp/mytest1

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

~]# cp -fr /etc/*.d /tmp/mytest2

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

~]# cp /etc/[l,m,n]*.conf /tmp/mytest3

原创文章,作者:N22-白蚁,如若转载,请注明出处:http://www.178linux.com/38532

(0)
N22-白蚁N22-白蚁
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • Linux文件系统管理

    一、什么是文件系统     我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。 二、文件系统类型     在linux系统上主要有如下类型的文件系统: &nbsp…

    Linux干货 2016-03-03
  • 使用ext_skel和phpize构建php5扩展

    首先声明:我们要构建的是扩展或者模块名为hello_module.该模块提供一个方法:hello_word. 1、php环境的搭建 我们一般使用源码包编译安装,而不是binary包安装。因为使用PHP的二进制分发包安装有些冒险,这些版本倾向于忽略./configure的两个重要选项,它们在开发过程中很便利: 第一个–enable-debug。这个…

    Linux干货 2015-05-28
  • DNS的基本配置、子域授权与bind编译(第十八九天)

        DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。     DNS利用类似于树形目录的结构,将主机名的管理分配在不同层…

    Linux干货 2016-06-12
  • 利用PXE技术批量安装linux系统

    技术背景 对与运维人员来说,如何安装操作系统想必并不陌生;但当我们面对大量需要安装系统的环境时,自动化安装系统就成了一项必备的技能;下面就让我们一起走进PXE这项批量自动化安装操作系统的技术吧。 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,…

    2017-09-18
  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

    1)bash的工作特性之命令执行状态返回值; 在 Linux 下,任意一个命令执行结束之后,bash都会返回0-255之间的数值以表示命令执行成功与否;其返回值保存于bash的特殊变量$?中; 其中0表示:执行成功;1-255表示执行错误; 例如: [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks…

    Linux干货 2016-11-06
  • 软链接和硬链接的区别

    文件管理 前言 Linux的一则哲学:一切皆文件。既然入坑,那么管理linux就是管理一堆文件,操作文件这是展示个人十八般武艺的时候,功夫高下一招下。怎么成为高手,高手的招式都有哪些,拳脚掌刀枪棍棒,一招一式如何练就。 1文件存储 文件存储就好比每个练武人必备的技能——挨打,在你耍十八般武艺前,必须先扛住对方的一掌。我们不必拥有金刚罩铁布衫,至少要学会如何躲…

    Linux干货 2016-10-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:39

    写的很好,排版还可以在漂亮一点,加油。3大题2小题跟老师的题目不一样