02. Linux文件管理

1. 文件命名规则

1.1 可以使用哪些字符?

除了字符“/”之外,所有的字符都可以使用,且linux严格区分大小写,建议文件命名规则:

  • 尽量都用小写字母
  • 如果必须对文件名进行分割,建议使用_,例如:bit_bj_2022.txt

注意:

  • 在目录名或文件名中,尽量避免使用某些特殊字符,例如, <、>、?、* 等;
  • 如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来;

1.2 文件名的长度

​ 目录名或文件名的长度不能超过 255 个字符

1.3 Linux文件扩展名

Linux文件的扩展名对 Linux 操作系统没有特殊的含义,Linux 不以文件的扩展名开分区文件类型。例如,sz.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行的。
在Linux系统中,文件扩展名的用途为了使运维人员更好的区分不同的文件类型。

2. 文件管理命令

我们经常需要对Linux的文件或目录进行操作,常见操作包括新建,删除,更改,查看,复制,移动等,下面逐一讲解

2.1 目录创建/删除

① 创建目录

  • 命令: mkdir (make directory,创建目录)

  • 语法:mkdir [参数选项] 路径(包含要创建的目录名)

  • 常见参数:
    -p:递归创建所有目录,如果想创建多层不存在的路径,可以使用-p参数实现。-p表示parents,父级的意思;

  • 用法一:mkdir 不加参数 路径(需包含目录名称),例如:想在在/usr/local目录下创建一个名为nginx文件夹,命令为# mkdir /usr/local/nginx注意:mkdir命令默认不能隔级创建目录,必须要求要创建的目录所在的目录一定要存在;

  • 用法二:mkdir -p 路径(需包含目录名称),例如在/usr/local目录下,同时创建sz文件夹和sz下的子文件夹tomcat,命令为# mkdir -p /usr/local/sz/tomcat

  • 用法三:mkdir 路径1 路径2 路径3,例如命令#mkdir /usr/local/a /usr/local/b /usr/local/c意为在/usr/local目录下,同时创建a,b,c文件夹。

注意:mkdir需要root权限,# mkdir /usr/local/nginx中的#就表示在root权限下执行的命令,如果是普通用户,Linux下命令行会显示$

② 删除目录

  • 命令: rmdir(remove directory缩写)
    作用:删除目录
    语法:#rmdir [参数选项] 路径(包含要删除的目录名)
  • 常见参数:
    -p:递归删除所有空目录
  • 用法一:rmdir 不加参数 路径,删除指定路径下的空目录,例如:# rmdir /usr/local/nginx意为删除/usr/local下的空目录nginx,若nginx目录不为空,则会报错;
  • 用法二:rmdir 路径1 路径2 路径3,同时删除多个空目录,例如:# rmdir /usr/local/a /usr/local/b /usr/local/c意为同时删除a,b,c三个空目录
  • 用法三:rmdir -p 路径,递归删除目录(可以不为空),例如:# rmdir -p sz/tomcat意为递归删除tomcat和sz目录

2.2 文件创建/删除

在实际应用中,与文件相关的操作主要有两个:创建文件与删除文件

① 创建文件

  • 命令:touch
  • 语法:# touch 文件路径 [文件路径2 文件路径3 …]
  • 用法一:touch 路径(包含文件名),创建一个文件,例如:#touch readme.txt意为在当前路径下创建一个readme.txt文件
  • 用法二:touch 路径1 路径2 路径3 ,创建多个文件,例如:#touch a.txt b.txt c.txt意为在当前路径下创建a.txt b.txt c.txt三个文件
  • 用法三:touch 路径1{1..n},例如#touch file{1..5}.txt意为创建5个文件,分别为file1.txt、file2.txt、file3.txt、file4.txt、file5.txt,命令{}中1表示开始的数字,…表示连续的,5表示结束的数字

② 删除文件

  • 命令:rm(remove缩写)

  • 作用:删除文件或文件夹

  • 语法:rm [参数选项] 文件或文件夹

  • 参数选项:
    -r :递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有子目录和文件
    -f:强制删除,不提示任何信息,操作前一定要慎重!!!

  • 用法一:rm 路径(包含文件名),例如:#rm readme.txt表示删除当前路径下的readme.txt文件 ,会有提示信息:remove regular empty file ‘readme.txt’ ?输入y表示同意删除,否则输入n;

  • 用法二:rm -r 路径(通常为目录名),例如:#rm -r sz表示 删除当前文件夹下的sz文件夹 及其包含的所有子文件夹/文件,并且会出现类似提示信息;

  • 用法三:rm -rf 路径(通常为目录名),例如:#rm -rf sz表示强制删除 当前文件夹下的sz文件夹 及其包含的所有子文件夹/文件

2.3 复制与剪切

① 复制操作

  • 命令:cp (copy缩写,复制操作)
  • 作用:复制文件/文件夹到指定的位置
  • 语法:#cp [参数选项] 源路径(含文件名) 目标路径(如不指定文件名,则文件名不变)
  • 常见参数:-r:recursion,递归,用于复制目录
  • 用法一:cp 源路径 目标路径(不指定文件名),例如:#cp /root/itheima.txt /usr/local/,表示将/root目录下的itheima.txt文件拷贝到/usr/local下,文件名不变;
  • 用法二:cp 源路径 目标路径(指定文件名),例如:#cp /root/sz.txt /usr/local/szz.txt,表示 将/root目录下的sz.txt文件拷贝到/usr/local下,并重命名为szz.txt;
  • 用法三:cp -r 源路径(包含目录名) 目标路径,例如:#cp -r /root/a /usr/local/,表示 将/root下的a目录完整拷贝到/usr/local下。

② 剪切操作

  • 命令:mv (move,移动,剪切)
  • 作用:可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名
  • 语法:#mv [参数] 源文件 目标路径(不指定文件名)
  • 用法一:mv 源文件 目标路径(不指定文件名),例如:#mv readme.txt /usr/local/,表示 将当前目录下的readme.txt文件移动到/usr/local下,文件名不变;
  • 用法二:mv 源目录 目标路径(不指定目录名),例如:#mv shop /usr/local/,表示 将当前目录下的shop目录移动到/usr/local下,目录名不变;
  • mvcp的区别:
    • mvcp 命令不一样,不管是针对文件还是针对文件夹都不需要加类似 -r 的选项。
    • 默认在移动的过程中文档名称名称是不变的,变的是路径

③ 重命名操作

  • 命令:mv (move,移动,剪切)
  • 语法:#mv [参数] 源文件 目标路径(指定文件名)
  • 用法一:mv 当前文件名 新文件名,例如:#mv a.txt b.txt,表示 将当前目录下的a.txt文件重命名成 b.txt;
  • 用法二:mv 当前目录名 新目录名,例如:#mv sz szz,表示 将当前目录下的sz目录重命名成 szz;

2.4 tar打包压缩与解压缩

打包,指的是将若干个文件或目录归档存储在一个文件中,该打包文件没有经过压缩,占用的空间是其中所有文件和目录的总和
压缩文件也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件所占用的磁盘空间比集合中所有文件大小的总和要小。

① 打包

  • 命令:tar

  • 作用:将多个文件打包成一个文件

  • 语法:tar 选项 打包文件名 要打包的文件或目录

  • 常见参数:
    -c,create 创建的意思
    -v,显示打包文件过程
    -f,指定打包的文件名,此参数是必须加的
    -u,update缩写,更新原打包文件中的文件
    -t,查看打包的文件内容

  • 注意:

    • 在使用 tar 命令指定选项时可以不在选项前面输入“-”。例如,使用“cvf”选项和 “-cvf”起到的作用一样;
    • 使用 tar 命令归档的包通常称为 tar 包(tar 包文件都是以“.tar”结尾的)。
  • 用法一(重点掌握):tar -cvf 文件名 文件1 文件2 文件3,例如:#tar -cvf abc.tar a.txt b.txt c.txt,表示 将当前目录下的a.txt b.txt c.txt 打包成abc.tar文件,大小是三个文件的总合;

  • 用法二:tar -uf 现有包文件名 要追加的文件,例如:#tar -uf abc.tar d.txt,表示 将当前目录下的d.txt 追加到abc.tar文件,大小是四个文件的总合;

  • 用法三:tar -tf 包文件名,例如:#tar -tf abc.tar,表示== 查看==abc.tar文件内容;

② 打包并压缩(重点)

Linux下,常用的压缩工具有很多,比如 gzip、zip、bzip2、xz 等,tar 在打包的时候,是支持压缩的,gzip 、bzip2 、xz 压缩工具都可以在 tar 打包文件中使用。

  • 命令:tar
  • 作用:将多个文件打包并压缩成一个文件,其实就是tar命令的三个压缩参数
  • 语法:tar 选项 打包文件名 要压缩的文件或目录==
  • 常见参数:
    -z,压缩为.gz格式
    -j,压缩为.bz2格式
    -J,压缩为.xz格式
    -c,create 创建的意思
    -x,解压缩
    -v,显示打包文件过程
    -f,file指定打包的文件名,此参数是必须加的。
    -u,update缩写,更新原打包文件中的文件(了解)
    -t,查看打包的文件内容(了解)

注意:此处打包后的文件名叫做 abc.tar.gz,其中.gz表示使用gzip压缩的tar文件,目的是方便运维人员识别文件

  • 用法一:tar -zcvf 文件名 文件1 文件2 文件3,例如:#tar -zcvf abc.tar.gz a.txt b.txt c.txt,表示将当前目录下的a.txt b.txt c.txt 使用gzip压缩打包成abc.tar.gz文件;
  • 用法二:tar -jcvf 文件名 文件1 文件2 文件3,例如:#tar -jcvf abc.tar.bz2 a.txt b.txt c.txt,表示将当前目录下的a.txt b.txt c.txt 使用bz2压缩打包成abc.tar.bz2文件;
  • 用法三:tar -Jcvf 文件名 文件1 文件2 文件3,例如:#tar -Jcvf abc.tar.xz a.txt b.txt c.txt,表示将当前目录下的a.txt b.txt c.txt 使用xz压缩打包成abc.tar.xz文件;
  • 用法四:tar -tf 包文件名,例如:#tar -tf abc.tar,表示== 查看==abc.tar文件内容;

注意:bz2,gzip,xz三种工具的压缩比不同,实际工作中最常用的是gzip,换句话说,大家最常见到的压缩打包文件是 .tar.gz

③ 解压

  • 语法:解压的时候,把压缩命令中的 c换成 x即可
  • 用法一:tar -zxvf 文件名,例如:#tar -zxvf abc.tar.gz,表示将abc.tar.gz文件解压缩;
  • 用法二:tar -jxvf 文件名,例如:#tar -jxvf abc.tar.bz2,表示将abc.tar.bz2文件解压缩;
  • 用法三:tar -Jxvf 文件名,例如:#tar -jxvf abc.tar.xz,表示将abc.tar.xz文件解压缩;
  • 用法三:tar -xvf 文件名,例如:#tar -jxvf abc.tar.xz,表示系统将自动识别压缩格式,并自动选择相应工具,解压缩.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值