linux文件管理命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件管理命令相关的知识,希望对你有一定的参考价值。

一、Linux上文件管理命令

1.文件管理类命令

(1)mkdir:创建目录

 -p:自动按需创建目录

 -v:显示详细过程

(2)rmdir(remove empty directory):删除空目录

 -p:删除某目录后,如果其父目录为空,则一并删除之

 -v:显示详细过程

2.文件查看类命令

(1)分屏查看命令:

  more:more FILE 翻屏到文件尾部后自动退出

  less:less FILE

  head:head [OPTIONS] FILE

  tail:tail  [OPTIONS] FILE
  stat:查询文件的详细信息

3.文件管理工具:

(1)cp:copy 源文件 目标文件

单源复制:cp [OPTION]. . . [-T] SOURCE DEST

                  如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;如果DEST存在(DEST是非目录文件则覆盖目标文件,DEST是目录文件则先在DEST目录下创建一个与源文件同名的文件并复制其数据流。)

多源复制:cp [OPTION]. . . SOURCE. . . DIRECTORY
cp [OPTION]. . . -t DIRECTORY SOURCE. . .

                  如果DEST不存在,错误;如果DEST存在(DEST是非目录文件则错误;DEST是目录文件则分别复制每个文件到目标目录中并保持原名。)   

常用选项: -i:交互式复制,覆盖之前提醒用户确认

                -f:强制复制

                -r,-R:递归复制

                -d:复制符号链接本身

                -a:-dR 用于实现归档

(2)mv命令:mv [OPTION]. . . [-T] SOURCE DEST
mv [OPTION]. . . SOURCE. . . DIRECTORY

mv [OPTION]. . . -t DIRECTORY SOURCE. . .

常用选项: -i:交互式复制,覆盖之前提醒用户确认

                -f:强制复制

(3)rm命令:remove [OPTION]. . .FILE. . .
常用选项: -i:交互式复制,覆盖之前提醒用户确认

                -f:强制复制

                -r,-R:递归复制

二、bash的工作特性

命令行展开:

    ~:自动展开为用户的家目录,或指定的用户的家目录

    {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径。例如:/tmp/{a,b}相当于/tmp/a  /tmp/b

命令执行状态返回值:

    即命令执行的状态结果:bash通过状态返回值来输出此结果(成功:0;失败:1-255),

    命令执行完成后,其状态返回值保存于bash的特殊变量$?中,

    命令正常执行时,有的还会有命令返回值,

    根据命令及其功能不同,结果各不相同

    引用命令的执行结果:$(COMMAND)或`COMMAND`

三、使用命令行展开功能完成

(1)mkdir -v /tmp{a,b}_{c,d}

(2)mkdir -pv /tmp/mylinux{bin,dev,lib64,proc,sbin,sys,boot/grub,etc{rc,d/init.d,sysconfig/network-scrips},lib/modules}

四、文件的元数据和修改文件时间戳

1.文件的两类数据

   元数据:文件名、大小、类型、权限、属主属组、文件的时间戳(非文件的组成部分)...

   数据:文件里的内容(文件的组成部分)

2.修改文件时间戳:touch 命令

   touch [OPTION]. . . FILE. ..

          -c:指定的文件路径不存在时不予创建
          -a:仅修改access times

          -m:仅修改modify times

五、定义命令别名和引用另一个命令的执行结果

1.定义命令别名

    # alias  NAME=`COMMAND`(仅对当前shell进程有效)

2.引用命令执行结果

    强引用:‘ ‘

    弱引用:" "

    命令引用:` `

六、练习

(6)显示/var目录下所有以1开头,以一个小写字母结尾且中间至少出现一个数字(可以有其他字符)的文件或目录
ls -d /var/1?[[ : lower : ]]

(7)显示/etc目录下,以任意一个数字开头且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]

(8)显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
ls -d /etc/[^a-z][a-z]*

(9)在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09:32-22
ls -d /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
(10)复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

cp -r /etc/p*[^0-9] /tmp/mytest1

(11)复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d/tmp/mytest2

(12)复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

cp -r /etc/{l,m,n}*.conf/tmp/mytest3

以上是关于linux文件管理命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件管理 whereis

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程