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

相关推荐

  • grep命令

    grep命令:grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;grep搜索的结果被送到屏幕,不影响原文件内容。Unix的grep家族包括grep、egrep和fgrep…

    Linux干货 2016-08-08
  • 开始学习总结的一些基本知识点

       第一VNC软件(面授班课堂用的),这款软件采用C/S架构(client/sever客户端和服务器端)还有VNC协议(virtual Network computing虚拟网络计算)协议。虽说这款软件对网络班没有实际用途,但自己了解下这款软件的构成也是不错的。    第二开始学习需要的虚拟机软件其中包括VMWARE…

    Linux干货 2016-10-29
  • 第1周作业

    第一周作业   1、描述计算机的组成及其功能。 计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机 运算器,控制器:CPU 存储器:内存和硬盘 输入装置和输出装置:键鼠和显示器   2、按系列罗列Linux的发行版本,并描述不同版本的联系和区别。   linux的发行版本大致分为两大类,一类是商业公司维护的发行…

    Linux干货 2017-08-24
  • 文件查找工具—find命令总结

    描述:   find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 说明:  工作特点:  查找速度略慢; 精确查找;实时查找;可能只搜索用户具备读取和执行权限的目录…

    Linux干货 2016-08-18
  • Linux进程管理命令和性能监控工具的应用

    概述 监控系统的各方面的性能,保障各类服务的有序运行,是运维工作的重要组成部分,本篇就介绍了一些常用的系统监控命令和相关参数的说明 具体包含一下几个部分 1.进程管理基础 2.进程管理工具(ps,top,htop,kill) 3.内存监控类工具(vmstat,pmap) 4.系统监控累工具(glances,dstat)…

    Linux干货 2016-09-26
  • linux基础之用户管理

    介绍了一些基础命令,比如cut、head传输到管道时的使用,并通过详细的介绍、大量的习题完成了用户管理的相关知识

    Linux干货 2017-12-15

评论列表(1条)

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

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