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

相关推荐

  • CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置

    随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。 系统管理员遇到的常见问题如下: 1、日常维护过程中不可能登录到每一台服务器和设备上去查看日志; 2、网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的; 3、在某些非法入侵的情况下,入侵者一般都会清除本地日志…

    2017-03-15
  • N25-第一周

    一:计算机主要组成及其功能 计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出设备。  功能介绍:         1.控制器          …

    Linux干货 2016-12-04
  • N21沉舟第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;   (3) 为rootfs提供…

    Linux干货 2016-09-10
  • Linux基础知识总结

    Linux基础知识 计算机系统 计算机硬件组成 1.控制器:计算机系统的控制中心,协调各部分工作,保证计算机按照预先规定的目标和步骤进行操作及处理。 2.运算器:对数据进行算数运算,逻辑判断以及数据的比较、移位等操作。 3.存储器:存取程序和各种数据信息。  4.输入设备:把信息,如数字、文字、图像等转换为数字形式的“编码”的设备(键盘,扫描仪) …

    2017-05-18
  • nginx+tomcat+memcached构建session共享集群

    一、安装配置tomcat 配置前说明: 系统为centos7 m1.xsllqs.com地址为192.168.1.107 c1.xsllqs.com地址为192.168.1.114 c2.xsllqs.com地址为192.168.1.113 安装tomcat需要配合JDK使用,JDK有oracle JDK和open JDK两种 oracle JDK8的下载地…

    Linux干货 2016-06-26
  • 推荐-Nginx专题: upstream模块和缓存的简单使用

    Nginx专题: upstream模块和缓存的简单使用 nginx 负载均衡 Nginx专题: upstream模块和缓存的简单使用 前言: 实验拓扑 实验环境 Nginx_Upstream模块介绍 upstream使用方法 upstream使用示例 Nginx_Cache介绍 缓存静态资源 总结 前言: 本文接着上篇Nginx专题: 从编译安装到…

    Linux干货 2016-04-07

评论列表(1条)

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

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