LInux系统上的文件管理类型以及bash的基础特性

LInux系统上的文件管理类型以及bash的基础特性

  1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
  2. bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
  3. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
  4. 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
  5. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
  6. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
  7. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
  8. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
  9. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
  10. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
  11. 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

Linux上的文件管理类命令

cp命令:copy
  • 源文件–>目标文件
命令格式:
  • 单源复制:cp [OPTION]… [-T] SOURCE DEST
  • 多源复制:cp [OPTION]… SOURCE… DIRECTORY
  • 多源复制:cp [OPTION]… -t DIRECTORY SOURCE…
单源复制:
  • 如果DEST不存在,则事先创建此文件,并复制源文件的数据流填充到目标目录中
  • 如果DEST不存在,如果DEST是飞目录文件,则覆盖目标文件
  • 如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
  • 多源复制:
  • 如果DEST不存在:错误
  • 如果DEST存在:
  • 如果DEST是非目录文件:错误
  • 如果DEST是目录文件:分别复制每一个文件至目标目录中,并保持原名
参数:
  • -i:交互式复制,覆盖之前提醒用户确认
  • -f:强制覆盖目标文件
  • -r/-R:递归复制目录,复制目录及目录中的内容到目标位置
  • -d:复制符号链接文件本身,而非其志祥的源文件
  • -a:递归复制目录,=dr,用语实现归档
  • –preserv=
  1. mode:权限
  2. owership:属主和属组
  3. timestamps:时间戳
  4. context:安全标签
  5. xattr:扩展属性
  6. links:符号连接
  7. all:上述所有属性
mv命令:move
命令格式:
  • mv [OPTION]… [-T] SOURCE DEST
  • mv [OPTION]… SOURCE… DIRECTORY
  • mv [OPTION]… -t DIRECTORY SOURCE…
参数:
  • -i:交互式复制
  • -f:强制覆盖
rm命令:remove
命令格式:
  • rm [OPTION]… FILE…
参数:
  • -i:交互式删除,提醒是否删除
  • -r:递归删除目录,并交互式删除
  • -f:强制删除
删除目录: rm-rf /PATH/TO/DIR
危险操作:rm -rf /(在centos6、7上默认是禁止操作)
注意:所有不用的文件建议不要直接删除,二十移动到某个专用目录;(模拟回收站)

命令执行状态返回值

bash通过状态返回值来输出此结果:
  • 成功:0
  • 失败:非0值(1~255)
  • 命令执行完成之后其状态返回值保存于bash的特殊变量$?中,可通过echo $?查看状态,但是不能隔命令,必须执行完后第一时间查询
  • 命令正常执行时,有的还有命令返回值:
  • 根据命令及其功能不能同,结果各不相同
  • 引用命令的执行结果:
  • $(COMMAND)或反引号 `COMMAND`

例如以当前时间作为目录名称创建名称

  • ~]# mkdir $(date +%T-%H-%M)

命令行展开

  • ~:自动展开为用户的家目录。或指定的用户的家目录
  • {}:可以承载一个以逗号分割的路径列表,并能够将其展开为多个路径

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

20171212141134

  • ~]#mkdir  /tmp/{a,b}_{c,d}

创建/tmp/mylinux目录结构

20171212141019

  • ~]#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}}
文件的元数据信息有哪些
文件:两类数据
  • 元数据:metadata
  1. access time:最近访问:2017-12-12 12:21:38.432021736 +0800
  2. modify time:最近更改:2017-12-12 12:21:38.432021736 +0800
  • 数据:data

查看文件元数据

stat FILENAME

修改时间戳的方式

touch [-amt] FILENAME
  • -a:仅修改access time
  • -m:仅修改 modify time
  • -t:修改时间
  • YYMMDDhhmm.ss
定义别名:
  • ~]# alias NAME=’COMMAND’
注意:只对当前shell进程有效
在命令中引用另一个命令的执行结果
  • 例如想在/tmp下创建一个以当前系统时间为名称的目录
  • ~]#mkdir /tmp/$(date +%T-%H-%M)
显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录
  • ~]#ls -d /var/l*[0-9]*[[:lower:]]
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
  • ~]#ls -d /etc/[0-9]*[^0-9]
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
  • ~]#ls -d /etc/[^a-z][a-z]*
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
  •  ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
  •  ~]# cp -R /etc/p*[^0-9] /tmp/mytest1 $(mkdir -p /tmp/mytest1)
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
  • ~]# cp -R /etc/*.d /tmp/mytest2 $(mkdir -p /tmp/mytest2)
复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

  •  ~]# cp /etc/[l-n]*.conf /tmp/mytest3 $(mkdir -p /tmp/mytest3)

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89966

(1)
N28_北京_张鹏N28_北京_张鹏
上一篇 2017-12-11 22:55
下一篇 2017-12-12 16:53

相关推荐

  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x.…

    Linux干货 2017-07-20
  • N25第三周作业

    .列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 此题主要考察命令who,cut,sort以及管道的基本用法:who:列出当前已登陆的用户名,登陆设备名,时间以及ip地址。 cut:    顾名思义就是截取之意, -d 指定要截取信息的分隔符,此处是以空格为分隔符,-f指定要截取的字段,此…

    Linux干货 2016-12-20
  • linux学习总结-linux基础(之一)

    一、计算机的组成及其功能 冯诺依曼结构的计算机由运算器、控制器、存储器和输入设备、输出设备五部分组成。冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 控制器:控制程序执行; 存储器:记忆程序和数据; 输入设备:输入数据和程序; 输出设备:输出处理结果。 二、Linux发行版 Linux的发型版本众多,大体可以分为两类,一类是商…

    Linux干货 2016-09-23
  • Linux文件类型及把剩下的颜色标识

    Linux文件类型及bash下的颜色标识 Linux一切皆文件 查看文件类型的命令: 例如:列出ls的文件类型                file  /bin/ls 例如:粗略的列出文件类型           &n…

    Linux干货 2016-10-16
  • 常用命令之ls 详解

    ls详解 罗列目录内容权限,列出文件的信息列表(默认为当前目录)。 这个命令是Linux操作系统使用频率最高的命令,没有之一。熟练掌握这个命令的常用参数,可以提高学习、工作效率,因此需要认真对待。 1. 常用选项 – -a,–all:显示当前目录下全部文件(常用) [root@jingz ~]# ls -…

    Linux干货 2016-08-02
  • 从新开始,坚持记录

    从新开始,从心开始,记录自己的学习,不逼自己一把,永远不知道自己的潜力。

    Linux干货 2016-12-05

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-02 21:26

    很好,每一题都很用心。将题中涉及的知识点在日常运维中多加应用,争取尽快做到得心应手。