Linux上文件管理命令、元素据及时间戳、bash的工作特性回显和命令展开、定义别名,命令引用。

文件管理命令:

mkdir 创建空目录

语法:

mkdir [选项]…目录…

选项:

  • -P:逐层创建目录。
  • -v:显示过程。
  • -m:直接给定权限。
注意:路径的基名为命令作用对象。基名路径必须存在。

示例

创建/tmp/x1/a/a1和/tmp/x1/b

imger


rmdir 移除空目录

语法

rmdir [选项]…目录…

选项:

  • -p:删除子级后,向继续父目录逐层删除。
  • -v:显示过程

示例

删除/tmp/x1/a/a1和/tmp/x1/b

imger


cp命令:copy

是将源文件(suorce)复制到目标文件(dastination/DEST)

复制文件可以分为两种:

  • 单源文件复制:
    • 如果 目录DEST不存在,则会先创建文件,并赋值源文件下的数据流到DEST中;
    • 如果DEST存在:
      • 如果DEST是目录文件并且包含数据文件,则会覆盖目标文件;
      • 如果DEST是目录文件,则现在DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制DEST的目录文件内。
  • 多源复制:
    • 如果DEST不存在便会提示错误。
    • 如果DEST是目录文件,则现在的DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制到DEST目录文件内。

语法:

  • 单源复制:
    • cp [选项]…[T] SOURCE DEST
  • 多源复制:
    • cp [OPTION]… SOURCE… DIRECTORY
    • cp [OPTION]… -t DIRECTORY SOURCE…

常用选项:

  • -i:交互式复制,即覆盖之前提醒用户确认;
  • -f:强制覆盖目标文件;
  • -r -R:递归复制目录;将目录下的文件一并复制过去
  • -d: 复制符号链接本身,而非其指向的源文件。
  • -a: -dR –preserve=all,archive,用其实现归档;
  • -p:保留保留源文件所有者的属性
    • mode:权限
    • ownership:属主属组
    • timestamps:时间戳
    • context:安全标签
    • xattr:扩展属性
    • links:符号链接
    • all:上述所有属性

示例:

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录

执行命令 cp /etc/p*[^0-9] /tmp/mytest1

imger

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录

执行命令 cp -a /etc/*.d /tmp/mytest2

imger

12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录

imger

mv命令:move

  • 源文件复制到指定的目录下,文件名不变。如果目标文件不是目录文件则会变更目标文件名,并覆盖以存在的同名文件。
  • 如果是在同目录下作重命名。多个源复制到目标文件时保存源文件名不变。

语法:

  • mv [OPTION]…SUORCE DEST
  • mv [OPTION]…SUORCE…DEST
  • mv [OPTION]…target-directory=DIRECTORY SOURCE…

选项:

  • -i:交互式移动,覆盖前提示。
  • -f:覆盖前永不提示。
  • -b:档文件存在时,覆盖前为其创建一个备份。
  • -S<后缀>:为备份文件指定后缀,而不是用默认的后缀。
  • -u:当源文件与目标文件重复且目标文件比较新或目标文件不存在时,才执行移动操作。
  • –target-directory=DIRECTORY:移动全部“源文件”参数到“目录”中。

示例:

1、移动sys符号链接文件到/tmp/kernel并备份

imger


rm命令:

移除每个指定的文件,默认情况下,他不能移除目录。但当使用-r或者-R选项时,在指定目录下的整个指定的目录树都会被移除。

语法:

rm [OPTIONS]…FILE…

常用选项:

  • -i:提示是否移除每个文件。如果是则删除,否行则跳过。
  • -f:不提示直接删除
  • -r:递归的移除目录中的每一个文件

示例:

1、删除之前的演示目录/tmp/kernel

imger


元数据

所有文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,元数据是指这个文件的的特征信息,包含访问权限、文件的拥有者和文件数据的块分布信息等。

时间戳metadata: :

  • access time:最近访问 [简称a time]:2017-11-27 21:46:04.519521528 +0800
  • modify time:最近更改 [简称m time]:2017-11-27 21:46:04.519521528 +0800
  • change time:最近改动 [简称c time]:2017-11-27 21:46:04.519521528 +0800

stat 命令

显示文件或文件系统的状态。

格式:

stat FILE…

touch 命令

触摸改变文件的时间戳

选项:
  • -c:指定的文件路径不存在时不予创建。
  • -a:仅修改 acces time
  • -m:仅修改 modify time
  • -t:STAMP [[CC]YY]MMDDhhmm[.ss]

bash的基础特性之一:查看命令的执行状态结果。

bash命令执行时都会将末次执行的命令状态都将保存与bash的特殊变量$?中,可以使用echo $?进行查看执行命令结果。

  • 查看命令装来确认命令是否执行成功,返回值为0时标示成功。
  • 根据命令的功能呢不同返回值为1-255之间的任意数则是标示命令执行失败。

格式:

$?

示例:

1、查看ls的执行状态返回值

imger

2、查看符号链接文件的第一行,查看错误返回值。

imger

3、ls /var 将结果输出给 /dev/null 查看返回值

imger

4、创建一个tfile开头后是当前是日期和时间的文件,文件名为:tfile-2016-05-27-09-32-22

miger

bash的基础特性之一:命令行展开。

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

示例 1

创建/tmo目录下的a_b、a_d、b_c、b_d

mkdir -pv /tmp/{a,b}_{c,d}

imger


alias命令:

语法:

定义别名:alias 别名=命令
撤销别名: unalias 别名

示例:

给ifconfig 设置别名为ifc,。

imger

使用命令引用另一个命令的结果创建文件。

创建/tmp/mylinux目录下的:

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}}

imger


6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现1位数字(可以有其他字符)的文件或目录。
在/var下新建了3个文件目录分别是:lock99a、 look8a、like55a、

执行命令 ls /var/l*[0-9]*[a-z]

imger

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
在/var下新建了3个文件目录分别是:9998a、8888a、66a.
执行命令 ls -d /etc/[0-9]*[a-z]

imger

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
在/etc下创建9a998

执行命令 ls -d /etc/[0-9][A-Z,a-z]*

imger

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录

执行命令 cp /etc/p*[^0-9] /tmp/mytest1

imger

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录

执行命令 cp -a /etc/*.d /tmp/mytest2

imger

12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录

imger


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

(0)
N28_刚好遇到小熊猫N28_刚好遇到小熊猫
上一篇 2017-12-10 20:53
下一篇 2017-12-10 21:31

相关推荐

  • Linux中的账号管理之命令的使用(中)

    linux中账号管理的命令非常多,我这里主要介绍最常见的几个命令,这些命令分别是针对用户和组的管理 主要介绍对用户管理的命令: 一、用户创建:useradd useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实…

    Linux干货 2016-08-07
  • 数组详解

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合          数组名:整个数组只有一个名字     数组索引:编号从0开始,属于数值索引     &n…

    Linux干货 2016-08-24
  • Linux文件管理命令

    Linux系统上文件管理命令 一、文件查看类命令      1、cat 由第一行开始显示文件内容 语法格式: cat [选项列表] [文件列表]… 参数说明: -A, –show-all 等价于 -vET 。 -b, –number-nonblank 给非空输出行编号。 -e 等价于 -vE 。 -E…

    Linux干货 2017-07-24
  • (总结)RHEL/CentOS 7.x的几点新改变

    PS:RHEL7和CentOS7出来有一段时间了,拿出点时间研究下,有几个地方跟6和5系列相比改变比较大,估计不少童鞋有点不太习惯。下面简要举例说明改变比较大的要点: 一、CentOS的Services使用了systemd来代替sysvinit管理 1、systemd的服务管理程序:systemctl是主要的工具,它融合之前service和chkconfig…

    Linux干货 2015-02-10
  • Linux的终端类型

    一、了解终端   在早期的年代,主机不是很多,都是一系列的大型主机,简单来说就是用户很多,但主机很少,不可能做到人手一台,但可以在主机上连接一个分屏器,在分屏器上可以连接鼠标键盘以及显示器,这些东西是没有计算能力的,仅仅担任输入和输出的工作,运算和处理都是由主机来完成的。   简单来说终端是用户与主机交互,是必然用到的…

    Linux干货 2016-10-14
  • 第三周作业

      1. who |cut -d ” ” -f1|uniq 2.who |head -1 3.cat /etc/passwd | cut -d: -f7|uniq -c |sort -n|tail -1|grep -o “/[[:alnum:]].*” 4. cat /etc/passwd |sort…

    2017-12-16