• Linux文件和文件夹命令详解


    1.Linux文件类型详解

    常见的Linux文件类型:
    普通文件(Regular File):(例如文本文件、二进制文件、图片、视频和压缩文件等;)
    普通文件是最常见的文件类型,存储了实际的数据;
    可以包含文本、二进制数据、程序代码等;
    在文件系统中使用普通文件的名称来标识。
    ​
    目录(Directory):(例如 home、bin、usr、etc 等目录;)
    目录用于组织和存储文件和其他目录;
    目录中包含了文件系统中其他文件和目录的入口;
    由于目录本身也是文件,所以可以在目录中存储数据。
    ​
    符号链接(Symbolic Link):(例如 /usr/bin 目录下的 python3 等符号链接文件;)
    符号链接是一个指向另一个文件或目录的特殊文件;
    它创建了一个新的文件路径,指向目标文件或目录;
    符号链接可以跨越文件系统边界。
    ​
    设备文件(Device File):(例如 /dev/sda 表示硬盘设备文件, /dev/null 表示空设备文件;)
    设备文件是用于与硬件设备进行通信的特殊文件;
    在Linux中,设备文件分为两种类型:字符设备文件和块设备文件;
    字符设备文件用于处理字符流数据,比如键盘或串口设备;
    块设备文件用于处理以固定大小块为单位的数据,比如硬盘驱动器。
    ​
    命名管道(Named Pipe):(例如系统进程间通信中的管道;)
    命名管道是一种进程间通信机制,允许不相关的进程通过该管道进行通信;
    命名管道在文件系统中具有唯一的名称,并将数据传递给连接到该命名管道的进程。
    ​
    套接字(Socket):(例如作为网络通信的套接字文件;)
    套接字用于不同主机之间的网络通信;
    通过套接字,进程可以通过网络发送和接收数据。
    ​
    字符特殊文件(Character Special File):(例如键盘、鼠标等设备特殊文件。)
    字符特殊文件是一种特殊设备文件,用于与设备驱动程序进行低级别的通信;
    与字符设备文件相比,字符特殊文件通过一次发送和接收字符来处理数据。

    2.Linux文件夹新建,删除,复制,剪切命令

    1.文件夹新建命令:
    mkdir:用于创建一个新的文件夹。
    例如:mkdir folder_name 将创建一个名为 “folder_name” 的文件夹。
    ​
    2.文件夹删除命令:
    rmdir:用于删除一个空文件夹。
    例如:rmdir folder_name 将删除名为 “folder_name” 的空文件夹。
    rm:用于删除一个非空文件夹及其内容。
    例如:rm -r folder_name 将删除名为 “folder_name” 的文件夹及其内容。
    ​
    3.文件夹复制命令:
    cp:用于复制文件夹及其内容到目标位置。
    例如:cp -r folder_name destination 将复制名为 “folder_name” 的文件夹及其内容到指定的 “destination” 目录中。
    ​
    4.文件夹剪切命令:
    mv:用于剪切文件夹到目标位置,同时可以更改文件夹名称。
    例如:mv folder_name destination 将剪切名为 “folder_name” 的文件夹到指定的 “destination” 目录中。
    例如:mv folder_name new_folder_name 将重命名名为 “folder_name” 的文件夹为 “new_folder_name”。

    3.Linux文件新建,删除,复制,剪切以及重命名命令详解

    1.文件新建命令:
    touch:用于创建一个新文件。
    示例:touch file_name.txt 将在当前目录下创建一个名为 “file_name.txt” 的空文件。
    ​
    2.文件删除命令:
    rm:用于删除一个或多个文件。
    示例:rm file_name.txt 将删除名为 “file_name.txt” 的文件。
    若要删除多个文件,可以使用通配符,如 rm *.txt 将删除所有以 “.txt” 结尾的文件。
    若要删除包括子目录在内的所有文件和文件夹,可以使用 rm -r folder_name。
    ​
    3.文件复制命令:
    cp:用于复制文件到目标位置。
    示例:cp file_name.txt destination 将复制名为 “file_name.txt” 的文件到指定的 “destination” 目录中。
    若要递归地复制整个文件夹及其内容,可以使用 cp -r folder_name destination。
    若要保留源文件的元数据(如权限和时间戳等),可以使用 cp -p file_name.txt destination。
    ​
    4.文件剪切(移动)及重命名命令:
    mv:用于将文件移到目标位置,同时也可用于重命名文件。
    示例:mv file_name.txt destination 将移动名为 “file_name.txt” 的文件到指定的 “destination” 目录中。
    若要重命名文件,可以将目标位置指定为新的文件名,例如:mv old_file_name.txt new_file_name.txt。

    4.Linux文件查找find搜索命令

    Find 命令的基本用法:find [path] [expression]
    其中,path 表示指定要搜索的路径,expression 表示要对查找结果进行限定的表达式。
    ​
    以下列举了一些常用的表达式:
    -name 指定要查找的文件或目录名称
    示例:find /home/user -name "*.txt" 将在目录 /home/user 下查找所有以 “.txt” 结尾的文件。
    ​
    -type 指定查找的文件类型
    f:查找普通文件;
    d:查找目录;
    l:查找符号链接文件;
    示例:find /home/user -type f -name "*.txt" 将在目录 /home/user 下查找所有以 “.txt” 结尾的普通文件。
    ​
    -mtime 按文件修改时间(单位为天)查找文件
    示例:find /home/user -mtime -7 将在目录 /home/user 下查找最近7天内修改的文件。
    ​
    -size 按文件大小查找文件
    +n:查找大于 n 的文件;
    -n:查找小于 n 的文件;
    示例:find /home/user -size +1M 将查找文件大小超过 1MB 的文件。
    -user 按文件属主查找文件
    示例:find /home/user -user root 将查找所有属于 root 用户的文件。
    ​
    -perm 按权限查找文件
    示例:find /home/user -perm 644 将查找所有权限为 644 的文件。
    ​
    -exec 在查找结果中执行命令
    示例:find /home/user -name "*.txt" -exec rm {} \; 将查找所有以 “.txt” 结尾的文件并删除它们。

    5.Linux文件,文件夹以及通配符的使用

    其常用的通配符有 *、?、[] 三种。
    * 通配符能够匹配零个或多个字符,如 *.txt 可以匹配所有 .txt 结尾的文件。
    ? 通配符能够匹配任意一个字符,如 file?.txt 可以匹配 file1.txt、file2.txt 等文件,但不能匹配 file10.txt。
    [] 通配符可用来匹配多个字符中的一个。如 file[123].txt 可以匹配 file1.txt、file2.txt 或 file3.txt
    ​
    以下是一些基本的文件和文件夹操作:
    显示当前工作目录下的所有文件和文件夹:ls
    显示指定目录下的所有文件和文件夹:ls /path/to/directory
    进入指定目录:cd /path/to/directory
    返回上一级目录:cd ..
    创建一个名为 newfile 的空文件:touch newfile
    创建一个名为 newdirectory 的目录:mkdir newdirectory
    删除一个名为 file.txt 的文件:rm file.txt
    删除一个名为 directory 的空目录:rmdir directory
    递归删除一个名为 directory 的目录及其下所有文件和子目录:rm -r directory

    6.Linux文件查看命令:Cat,More,Less,Head,Tail

    cat 命令:
    cat 命令用于查看文件内容,并将其全部输出到终端。
    示例:cat file.txt 将显示文件 file.txt 的全部内容。
    ​
    more 命令:
    more 命令用于分页显示文件内容,逐页显示,按 Enter 键进行翻页。
    示例:more file.txt 将按页显示文件 file.txt 的内容。
    ​
    less 命令:
    less 命令也用于分页显示文件内容,类似于 more 命令,但它支持向上和向下滚动,并提供更多功能。
    示例:less file.txt 将按页显示文件 file.txt 的内容。
    ​
    head 命令:
    head 命令用于显示文件的前几行,默认为显示前 10 行。
    示例:head file.txt 将显示文件 file.txt 的前 10 行内容。
    ​
    tail 命令:
    tail 命令用于显示文件的后几行,默认为显示后 10 行。
    示例:tail file.txt 将显示文件 file.txt 的后 10 行内容。

    7.Linux文件vi编辑命令

    vi 是一款强大的文本编辑器,它常用于编辑各种类型的文件。下面是一些常用的 vi 编辑命令:
    ​
    打开文件:
    vi filename:打开名为 filename 的文件,如果文件不存在,则创建一个新文件。
    ​
    切换到不同的模式:
    命令模式(Command Mode):启动 vi 编辑器时默认的模式,可执行各种编辑器命令,例如保存、退出、搜索等。
    插入模式(Insert Mode):在此模式下,可以输入和编辑文本内容。
    可视模式(Visual Mode):可用于选择块文本以便复制、剪切或粘贴。
    ​
    常用编辑命令:
    i:在当前光标位置插入文本。
    a:在当前光标位置的下一个位置插入文本。
    o:在当前行的下方插入一个新行并进入插入模式。
    x:删除当前光标所在位置的字符。
    dd:删除当前行。
    yy:复制当前行。
    p:粘贴剪贴板中的内容。
    ​
    保存和退出:
    :w:保存文件但不退出 vi 编辑器。
    :wq:保存文件并退出 vi 编辑器。
    :q:退出 vi 编辑器(如果未修改文件内容)。
    :q!:强制退出 vi 编辑器,放弃对文件的修改。

    8.Linux文件权限的处理

    1.查看文件权限:
    使用 ls -l 命令可以显示文件或目录的权限信息
    例如:ls -l filename
    ​
    2.修改文件权限:
    使用 chmod 命令可以修改文件或目录的权限:
    (1)使用数字表示权限:chmod 三个数字 文件 (读r:4,写w:2,执行x:1,无权限-:0) 
    第一个数字表示所有者(user)的权限,第二个数字表示用户组(group)的权限,第三个数字表示其他用户(others)的权限。
    chmod 777 文件 (给所有者,用户组,其他用户最高权限有读写执行)
    (2)使用符号表示权限:
    u:代表所有者(user);
    g:代表用户组(group);
    o:代表其他用户(others);
    a:代表所有用户(all);
    +:增加权限;
    -:删除权限;
    r:读权限;
    w:写权限;
    x:执行权限。
    $ chmod u+r filename  // 给所有者添加读权限
    $ chmod g-w filename  // 移除所属组的写权限
    $ chmod o+x filename  // 给其他用户添加执行权限
    $ chmod a=rw filename  // 给所有用户设置读写权限
    ​
    3.修改文件所有者和所属组:
    (1)使用 chown 命令可以修改文件或目录的所有者:
    $ sudo chown new_owner filename
    (2)使用 chgrp 命令可以修改文件或目录的所属组:
    $ sudo chgrp new_group filename
    ​
    4.递归修改文件权限:使用 -R 选项可以递归地修改文件和目录的权限。
    $ chmod -R 755 directory  // 递归设置目录及其内容为rwxr-xr-x

    9.Linux中zip,rar,tar.gz压缩和解压操作

    1.zip 压缩和解压:
    (1)压缩:使用 zip 命令,类似于以下命令:
    $ zip archive.zip file1 file2 file3
    这将把 file1、file2 和 file3 压缩为一个名为 archive.zip 的压缩包。
    ​
    (2)解压:使用 unzip 命令,类似于以下命令:
    $ unzip archive.zip
    这将解压缩名为 archive.zip 的压缩包。
    ​
    2.rar 压缩和解压:
    (1)压缩:使用 rar 命令,类似于以下命令:
    $ rar a archive.rar file1 file2 file3
    这将把 file1、file2 和 file3 压缩为名为 archive.rar 的压缩包。
    ​
    (2)解压:使用 unrar 命令,类似于以下命令:
    $ unrar x archive.rar
    这将解压缩名为 archive.rar 的压缩包。
    ​
    3.tar.gz 压缩和解压:
    (1)压缩:使用以下命令将文件(夹)压缩为 tar.gz 格式的文件(例如将一个名为 folder 的文件夹压缩为 folder.tar.gz):
    $ tar -czvf folder.tar.gz folder
    注:-c 选项表示新建一个压缩包,-z 选项表示使用 gzip 压缩,-v 选项表示在压缩的过程中显示详细信息,-f 选项表示指定压缩包的名称。
    ​
    (2)解压:使用以下命令解压缩 tar.gz 格式的文件:
    $ tar -xzvf folder.tar.gz
    注:-x 选项表示解压缩,-z 选项表示使用 gzip 解压缩,-v 选项表示在解压缩的过程中显示详细信息,-f 选项表示指定要解压缩的压缩包。
  • 相关阅读:
    opencv最大值滤波(不局限于图像)
    [矩阵的乘法运算] m*M = c
    实验项目5.1 深度学习算法与硬件加速器
    CPU,ISA架构,CPU位数与内存
    新股发行基本流程及网下投资者参与过程介绍
    小红书运营:商家如何选择小红书博主?选择小红书博主需要注意什么?
    Java----集合框架(Collection)、foreach的用法
    使用 Win2D 实现融合效果
    [附源码]java毕业设计演唱会售票系统
    Java 中如何优雅的关闭进程&线程
  • 原文地址:https://blog.csdn.net/weixin_61275790/article/details/134468562