马哥教育网络班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
下一篇 2016-08-22

相关推荐

  • 初识linux文件管理

    初识linux文件管理 1.文件系统与目录结构 文件系统从根目录 下开始,用“/”。 以. 开头的文件为隐藏文件,路径分隔用/表示。文件系统的层级结构是LSB(linux standard base),遵循文件系统层级标准(FHS ) 文件命名规则:   文件名最长255个字节,包括路径名在内共4095个字节  &nb…

    2017-02-18
  • N26-第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     看到同学的图不错拿来用用 ~ ~      2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;  (1) 为硬盘新建两个主分区;并为其安装grub;  (2) 为硬盘的第一个主…

    2017-03-26
  • haproxy实验

    实验1: 部署discuz 1、  不做会话绑定 基于roundrobin —————————10.1.72.40|30————————&#821…

    Linux干货 2016-12-05
  • Linux basics–part1

    一、计算机的组成及其功能 依据冯·诺依曼体系结构,计算机可分为五大部分,CPU的运算器和控制器、内存、输入、输出。 CPU运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存…

    Linux干货 2017-07-10
  • Shell脚本中循环浅析

    在shell脚本中,循环是很重要的一环。循环可以不断的执行某个程序段落,直到用户设置的条件达成为止。在shell中,除了这种依据判断时达成与否的不定循环之外,还有另外一种已经固定要跑多少次的循环,可称之为固定循环。下面,我们主要对for,while,until三种循环做一下介绍。   一、for循环 For循环是给定变量列表的固定次数循环,其执行机…

    Linux干货 2016-08-21
  • 推荐CentOS Linux下的分区及格式化工具

    简介 伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款CentOS Linux下的分区工具及如何查看分区环境,也会给大家来带一些硬盘的基本知识 一、硬盘的接口类型 分区肯定是对硬盘进行分…

    2017-03-19

评论列表(1条)

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

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