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

相关推荐

  • mysql进阶至mysql备份基础及备份工具

    一、mysql备份、恢复基础 备份:存储的数据副本 还原:把副本应用到线上系统,仅能恢复至备份操作时刻的数据状态。 硬件上的冗余并不能有效恢复逻辑操作上的错误。 备份:数据备份、服务配置文件备份、系统环境备份。程序的运行依赖于一定的系统环境,仅提供数据本身并不能确保恢复数据之后系统可用,数据备份的目的在于确保系统出现不可预料的灾难事故之后能够快速恢复运行,降…

    2016-11-18
  • 磁盘配额的限制

    用一个块新的分区当做硬盘进行磁盘的配额限制实验 堆一块新的硬盘进行三步骤 分区,格式化,挂载 以/dev/sdb为例  (1) 分区: fdisk /dev/sdb sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 10G 0 part (2) 格式化: mkfs.ext4 /dev/sdb1 /dev/sdb1: UUID…

    Linux干货 2017-04-30
  • lvs DR模型

    LVS 负载均衡 使用lvs部署负载均衡服务器  实现4层tcp调度 lvs一共四种模式   分别是NAT  DR  TUN和FullNAT模式 NAT模式和DR模式部署相对简单而且实用性强 现在部署一下  LVS的DR模型 首先准备三台主机  使用的三台系统都是centos 7…

    2017-05-15
  • httpd服务之虚拟主机、访问控制、https配置详解

    前言 上文讲解了http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的是虚拟主机,访问控制及https等功能的配置。 httpd之虚拟主机 虚拟主机共分为三种模式:基于IP、基于端口、基于主机名(FQDN) 实验环境介绍 开始之前,先介绍一下httpd在CentOS6.6版本及文…

    Linux干货 2015-04-14
  • Linux基础知识之命令的语法通用格式

    #COMMAND OPTIONS ARGUMENTS 1.COMMAND:   (1)发起一命令:请求内核将某个二进制程序运行为一个进程: 程序–>进程 静态–>动态 (有声明周期)   (2)命令本身是一个可执行的程序文件:二进制格式的文件,有时候会调用共享库文件 多数系统程序文件都存放在:/bin,…

    Linux干货 2016-07-07

评论列表(1条)

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

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