• linux文件目录管理


    一.Linux之文件创建/删除

    Linux几乎大多数工作都可以在命令行下完成,除非要运行图形化工具。Linux bash shell提供了许多命令,例如:在命令行下可以轻松的完成文件的创建和删除。

    本关将介绍如何在Linux命令行下创建文件和删除文件。

    Linux创建文件

    Linux中使用touch命令来创建一个空文件。

    具体命令如下:

    touch 文件名

    具体说明:

    • 如果一次想创建多个文件,则每个文件名用空格隔开。

    • touch命令创建一个指定的新文件,并将当前登录用户作为文件所有者。

    • 由于touch命令创建的文件为空,所以文件的大小为0。

    • touch命令还可以用于更改文件的访问时间和修改时间,而不改变文件的内容。

    应用示例一:

    Linux系统命令行下创建一个新的文件,文件名为:newFile,则可以使用如下命令:

    touch newFile

     

    使用ls命令来查看文件是否创建成功。

    应用示例二:

    Linux系统命令行下一次创建2个文件,文件名分别为:newFile1newFile2,则可以使用如下命令:

    touch newFile1 newFile2

    使用ls命令来查看文件是否创建成功。

    Linux删除文件

    Linux中使用rm命令来删除一个已经存在的文件。

    具体命令如下:

    rm 参数 文件名

    常用参数如下:

    • -f:强制删除文件或目录;
    • -i:删除已有文件或目录之前先询问用户;
    • -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;-i:删除已有文件或目录之前先询问用户。

    具体说明:

    • 如果一次想删除多个文件,则每个文件名用空格隔开。

    • rm命令可以使用通配符来删除文件。

    应用示例一:

    Linux系统命令行下删除一个文件,文件名为:newFile,则可以使用如下命令:

    rm newFile

     

    使用ls命令来查看文件是否删除成功。

    应用示例2:

    Linux系统命令行下一次删除2个文件,文件名分别为:newFile1newFile2,则可以使用如下命令:

    rm newFile1 newFile2

     

    使用ls命令来查看文件是否删除成功。

    应用示例三:

    Linux系统命令行下删除一个文件同时删除前询问用户,文件名分别为:newFile,则可以使用如下命令:

    rm -i newFile

     

    使用ls命令来查看文件是否删除成功。

    编程要求

    本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

    • 新创建两个文件空文件file1file2
    • 删除系统已存在的两个文件oldFile1oldFile2
    1. #!/bin/bash
    2. #在以下部分写出完成任务的命令
    3. #***********begin*************#
    4. #新创建两个文件空文件file1和file2。
    5. touch file1
    6. touch file2
    7. #删除系统已存在的两个文件oldFile1和oldFile2。
    8. rm oldFile1
    9. rm oldFile2
    10. #************end**************#

    二.Linux之目录创建/删除

    本关将介绍如何在Linux命令行下创建目录和删除目录。

    Linux创建目录

    Linux中使用mkdir命令来创建一个空目录。

    具体命令如下:

    mkdir 参数 目录名

    常用参数如下:

    • -p或--parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。

    具体说明:

    • 如果一次想创建多个目录,则每个目录名用空格隔开。

    • mkdir命令创建一个指定的目录,并将当前登录用户作为目录所有者。

    • mkdir命令创建一个空目录后,该目录下只存在两个特殊的目录,分别是...

    应用示例一:

    Linux系统命令行下创建一个新的目录,目录名为:newDir,则可以使用如下命令:

    mkdir newDir

     

    使用ls命令来查看目录是否创建成功。

    应用示例二:

    Linux系统命令行下一次创建2个目录,目录名分别为:newDir1newDir2,则可以使用如下命令:

    mkdir newDir1 newDir2

     

    使用ls命令来查看目录是否创建成功。

    应用示例三:

    Linux系统命令行下创建一个目录如果上层目录目前尚未建立则一并将其创建,目录名分别为:Dir1/Dir2,则可以使用如下命令:

    mkdir -p Dir1/Dir2

     

    首先查看Dir1目录是否存在,如果不存在直接创建Dir1/Dir2,使用ls命令查看目录是否创建成功。

    Linux删除目录

    Linux中使用rmdir命令来删除一个已经存在的空目录。

    具体命令如下:

    rmdir 参数 目录名

    常用参数如下:

    • -p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;

    具体说明:

    • 如果一次想删除多个空目录,则每个目录名用空格隔开。

    • rmdir命令可以使用通配符来删除目录。

    如果想删除的目录不为空,则先使用rm命令将目录下的所有文件都清空,然后再使用rmdir将目录删除,或者直接使用rm -r命令直接递归的删除整个目录。

    应用示例一:

    Linux系统命令行下删除一个空目录,目录名为:newDir,则可以使用如下命令:

    rmdir newDir

     

    使用ls命令来查看目录是否删除成功。

    应用示例二:

    Linux系统命令行下一次删除2个空目录,目录名分别为:newDir1newDir2,则可以使用如下命令:

    rmdir newDir1 newDir2

     

    使用ls命令来查看目录是否删除成功。

    应用示例三:

    Linux系统命令行下删除一个目录如果上层目录为空则一并将其删除,目录名分别为:Dir1/Dir2,则可以使用如下命令:

    rmdir -p Dir1/Dir2

     

    使用ls命令来查看目录是否删除成4。

    应用示例四:

    Linux系统命令行下删除一个不为空的目录,则可以使用如下命令:

    rm -r Dir

     

    使用ls命令来查看目录是否删除成功。

    编程要求

    本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

    • 新创建两个空目录newDir1newDir2
    • 删除系统已存在的两个目录oldDir1oldDir2,其中oldDir1目录为空、oldDir2目录不为空。
    1. #!/bin/bash
    2. #在以下部分写出完成任务的命令
    3. #***********begin*************#
    4. #新创建两个空目录newDir1和newDir2。
    5. mkdir newDir1 newDir2
    6. #删除系统已存在的两个目录oldDir1和oldDir2,其中oldDir1目录为空、oldDir2目录不为空。
    7. rmdir oldDir1
    8. rm -r oldDir2
    9. #************end**************#

    三.Linux之文件复制/重命名

    本关将介绍如何在Linux命令行下对文件拷贝和重命名。

    Linux拷贝文件

    Linux中使用cp命令将一个或多个源文件复制到指定的目的目录下。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。

    具体命令如下:

    cp 参数 源文件 目的目录

    常用参数如下:

    • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
    • -i:覆盖既有文件之前先询问用户;
    • -p:保留源文件或目录的属性。

    具体说明:

    • cp命令支持同时复制多个文件,当一次复制多个文件时,目的目录参数必须是一个已经存在的目录,否则将出现错误;

    • cp命令支持同时复制多个文件,当一次复制多个文件时,多个文件用空格分隔。

    应用示例一:

    将当前目录下的一个文件拷贝到一个指定的目录下,文件名为:newFile,目录名为:newDir,则可以使用如下命令:

    cp newFile newDir

     

    使用ls命令来查看文件是否拷贝成功。

    应用示例二:

    将当前目录下的一个文件拷贝到一个指定的目录下并重命名为newFileCpy,文件名为:newFile,目录名为:newDir,则可以使用如下命令:

    cp newFile newDir/newFileCpy

     

    使用ls命令来查看文件是否拷贝成功。

    应用示例三:

    将当前目录下的两个文件拷贝到一个指定的目录下,文件名为:newFile1newFile2,目录名为:newDir1,则可以使用如下命令:

    cp newFile1 newFile2 newDir1

     

    使用ls命令来查看文件是否拷贝成功。

    Linux重命名文件

    Linux中使用mv命令来重命名一个文件名。

    mv命令还可以用来移动文件,类似于Windows上的剪切功能。

    具体命令如下:

    mv 参数 目录名

    常用参数如下:

    • -f:若目标文件与现有的文件重复,则直接覆盖现有的文件;
    • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。

    具体说明:

    • 如果一次想移动多个文件,则每个文件名用空格隔开;

    • mv命令可以使用通配符来移动目录。

    应用示例一:

    将当前目录下的文件newFile重命名为newFileRename,则可以使用如下命令:

    mv newFile newFileRename

     

    使用ls命令来查看文件是否重命名成功。

    应用示例二:

    将当前目录下的文件newFileRename移动到一个指定的目录下,目录名为:Dir,则可以使用如下命令:

    mv newFileRename Dir

     

    使用ls命令来查看文件是否移动成功。

    应用示例三:

    将当前目录下的文件newFileRename移动到一个指定的目录下并重命名为newFile,目录名为:Dir,则可以使用如下命令:

    mv newFileRename Dir/newFile

     

    使用ls命令来查看文件是否移动和重命名成功。

    编程要求

    本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

    • 将当前目录下的文件file1file2拷贝到目录Dir下;
    • 将当前目录下的文件file1拷贝到目录Dir下并重命名为file1Cpy
    • 将当前目录下的文件file3file4移动到目录Dir下;
    • 将当前目录下的文件file5重命名为file6
    1. #!/bin/bash
    2. #在以下部分写出完成任务的命令
    3. #***********begin*************#
    4. #将当前目录下的文件file1和file2拷贝到目录Dir下;
    5. cp file1 file2 Dir
    6. #将当前目录下的文件file1拷贝到目录Dir下并重命名为file1Cpy;
    7. cp file1 Dir/file1Cpy
    8. #将当前目录下的文件file3和file4移动到目录Dir下;
    9. mv file3 file4 Dir
    10. #将当前目录下的文件file5重命名为file6。
    11. mv file5 file6
    12. #************end**************#

    四.Linux之目录复制/重命令

    本关将介绍如何在Linux命令行下对目录拷贝和重命名。

    Linux拷贝目录

    Linux中使用cp -r命令将一个或多个源目录复制到指定的目录下。它可以将单个源目录复制成一个指定目录名的具体的目录或一个已经存在的目录下。

    具体命令如下:

    cp 参数 源目录 目的目录

    常用参数如下:

    • -r 是递归把源目录下的目录递归进行移动;
    • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
    • -i:覆盖既有文件之前先询问用户;
    • -p:保留源文件或目录的属性;

    具体说明:

    • cp命令支持同时复制多个目录,当一次复制多个目录时,目的目录参数必须是一个已经存在的目录,否则将出现错误;

    • cp命令支持同时复制多个目录,当一次复制多个目录时,多个目录名用空格分隔;

    • cp命令拷贝目录和拷贝文件大致用法相似,最大差别就是拷贝目录的时候必须加上-r参数,而拷贝文件的时候不需要加-r参数。

    应用示例一:

    将当前目录下的一个目录拷贝到指定的目录下,被拷贝目录名为:Dir1,指定目录名为:Dir2,则可以使用如下命令:

    cp -r Dir1 Dir2

     

    使用ls命令来查看目录是否拷贝成功。

    应用示例二:

    将当前目录下的一个目录拷贝到一个指定的目录下并重命名为Dir1Cpy,被拷贝目录名为:Dir1,指定目录名为:Dir2,则可以使用如下命令:

    cp -r Dir1 Dir2/Dir1Cpy

     

    使用ls命令来查看目录是否拷贝成功。

    应用示例三:

    将当前目录下的两个目录拷贝到一个指定的目录下,被拷贝目录名为:Dir1Dir2,指定目录名为:Dir3,则可以使用如下命令:

    cp -r Dir1 Dir2 Dir3

    使用ls命令来查看目录是否拷贝成功。

    Linux重命名目录

    Linux中使用mv命令来重命名一个目录名。

    mv命令还可以用来移动目录,类似于Windows上的剪切功能。

    具体命令如下:

    mv 参数 源目录 目的目录

    常用参数如下:

    • -f:若目标目录与现有的目录重复,则直接合并现有的目录;
    • -i:交互式操作,覆盖前先行询问用户,如果源目录与目标目录同名,则询问用户是否合并目标目录。用户输入”y”,表示将合并目标目录;输入”n”,表示取消对源目录的移动。这样可以避免误将目录覆盖。

    具体说明:

    • 如果一次想移动多个目录,则每个目录名用空格隔开。

    • mv命令可以使用通配符来移动目录。

    • mv命令移动目录和移动文件的使用大致一样,唯一不同的是如果出现源目录和目标目录重名,则采用合并的方式,而对于文件则是直接覆盖。

    应用示例一:

    将当前目录下的目录newDir重命名为newDirCpy,则可以使用如下命令:

    mv newDir newDirCpy

    使用ls命令来查看目录是否重命名成功。

    应用示例二:

    将当前目录下的目录newDirCpy移动到一个指定的目录下,指定目录名为:Dir,则可以使用如下命令:

    mv newDirCpy Dir

    使用ls命令来查看目录是否移动成功。

    应用示例三:

    将当前目录下的目录newDirCpy移动到一个指定的目录下并重命名为newDir,指定目录名为:Dir,则可以使用如下命令:

    mv newDirCpy Dir/newDir

    使用ls命令来查看目录是否移动和重命名成功。

    编程要求

    本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

    • 将当前目录下的目录Dir1Dir2拷贝到目录Dir下;
    • 将当前目录下的目录Dir1拷贝到目录Dir下并重命名为Dir1Cpy
    • 将当前目录下的目录Dir3Dir4移动到目录Dir下;
    • 将当前目录下的目录Dir5重命名为Dir6
    1. #!/bin/bash
    2. #在以下部分写出完成任务的命令
    3. #***********begin*************#
    4. #将当前目录下的目录Dir1和Dir2拷贝到目录Dir下;
    5. cp -r Dir1 Dir2 Dir
    6. #将当前目录下的目录Dir1拷贝到目录Dir下并重命名为Dir1Cpy;
    7. cp -r Dir1 Dir/Dir1Cpy
    8. #将当前目录下的目录Dir3和Dir4移动到目录Dir下;
    9. mv Dir3 Dir4 Dir
    10. #将当前目录下的目录Dir5重命名为Dir6。
    11. mv Dir5 Dir6
    12. #************end**************#

    五.Linux之文件/目录内容查看

    本关主要讲解在Linux命令行下如何查看文件内容和目录下内容。

    本关任务:查看一个文件的内容和列出一个目录下的所有内容。

    相关知识

    Linux查看文件内容

    Linux中查看文件内容的命令有很多,接下来我们介绍常用的几个命令。

    cat命令

    具体命令如下:

    cat 参数 文件名

    常用参数如下:

    • -n 或 --number:由1开始对所有输出的行数编号;
    •  -b 或 --number-nonblank:和-n相似,只不过对于空白行不编号。

    具体说明:

    • cat命令支持同时查看多个文件,当一次查看多个文件时,每个文件的内容都会被打印到屏幕上;

    • cat命令不能对文件进行编辑操作,只能查看文件内容。

    应用示例:

    查看文件/etc/passwd内容,则可以使用如下命令:

    cat /etc/passwd

     

    head命令

    具体命令如下:

    head 参数 文件名

    常用参数如下:

    • -n number:显示文件的前number行内容;

    具体说明:

    • head命令是从文件的开头显示内容,默认情况下只显示前10行的内容;

    • head命令不能对文件进行编辑操作,只能查看文件内容。

    应用示例:

    查看文件/etc/passwd的前8行内容,则可以使用如下命令:

    head -n 8 /etc/passwd

     

    tail命令

    具体命令如下:

    tail 参数 文件名

    常用参数如下:

    • -n number:显示文件的最后number行内容;

    具体说明:

    • tail命令是从文件的结尾显示内容,默认情况下只显示最后10行的内容;

    • tail命令不能对文件进行编辑操作,只能查看文件内容。

    应用示例:

    查看文件/etc/passwd末尾5行内容,则可以使用如下命令:

    tail -n 5 /etc/passwd

     

    Linux查看目录内容

    Linux中使用ls命令来查看一个目录下的内容。

    具体命令如下:

    ls 参数 目录

    常用参数如下:

    • -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
    • -A:显示除影藏文件“.”和“..”以外的所有文件列表;
    • -l:列出内容的详细信息;
    • -r:以文件名反序排列并输出目录内容列表;
    • -s:显示文件和目录的大小,以区块为单位;
    • -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
    • -R:递归处理,将指定目录下的所有文件及子目录一并处理。

    具体说明:

    • 如果一次查看多个目录,则每个目录名用空格隔开。

    应用示例一:

    查看目录/mnt下的所有信息(包括隐藏内容),则可以使用如下命令:

    ls -a /mnt

     

    应用示例二:

    查看目录/mnt下的所有信息(包括隐藏内容),同时显示每个文件的详细信息,则可以使用如下命令:

    ls -al /mnt

     

    编程要求

    本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

    • 查看当前目录下的文件file1的所有内容;
    • 查看当前目录下的文件file2的头5行内容;
    • 查看当前目录下的文件file2的末尾5行内容;
    • 查看目录/home目录下的所有内容(包括隐藏内容)。
    1. #!/bin/bash
    2. #在以下部分写出完成任务的命令
    3. #***********begin*************#
    4. #查看当前目录下的文件file1的所有内容;
    5. cat file1
    6. #查看当前目录下的文件file2的头5行内容;
    7. head -5 file2
    8. #查看当前目录下的文件file2的末尾5行内容;
    9. tail -5 file2
    10. #查看目录/home目录下的所有内容(包括隐藏内容)。
    11. ls -a /home
    12. #************end**************#

  • 相关阅读:
    vue 图片引入的各种方式
    Android入门第19天-Android里的RatingBar的使用
    Java面试题大汇总
    线性代数 --- 四个基本子空间(个人学习笔记)
    结合Mockjs与Bus事件总线搭建首页导航和左侧菜单
    Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略)
    QT-输入输出
    springcloud05——Zookeeper实现支付微服务
    【机器学习】李宏毅——AE自编码器(Auto-encoder)
    树和二叉树练习题
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/126139925