文件类型
Linux 下所有的东西(包括内存、网卡、外部设备等等)都可以看做文件,Linux 将文件 分为以下五种类型:
- 普通文件 : ‘-’
- 目录文件: ‘d’
- 管道文件: ‘p’
- 链接文件 :‘l’
- 设备文件(块设备 ’b’ 、字符设备 ‘c’ 、套接字设备 ‘s’ )
linux只有通过命令才能查看出一个文件的类型:ls -l 、ll :能查出隐藏文件。
注意点:Linux 上不以文件的扩展名区别文件类型,而是在文件属性中有一列专门记录文件类型。 这五种文件在 Linux 上的呈现如下图所示:
- 文件的类型和,权限。
- 表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
- 表示该文件或目录的拥有者。
- 表示所属的组(group)。
- 表示文件大小。文件大小用byte来表示。
- 表示创建日期。
- 表示文件名。
文件权限
总共分为4种权限:
- r 读权限 值: 4
- w 写权限 值: 2
- x 执行权限 值: 1
- - 无权限 值: 0
通过 ls -l 命令查看权限:
- u : 表示文件属主的访问权限 文件是谁建立的属主就是谁。
- g : 表示文件同组用户的访问权限 用户进行分组。
- o : 表示其他用户的访问权限 和创建文件的用户不是同一个组一切皆文件。
修改文件权限
文字设定法
chmod + u 表属主 / g 同组人 / o 其他人 / a 所有人
增加权限: + 去掉权限 : - 文件路径/文件名
数字设定法
例如:修改demo文件的权限为 -rwxr-xr-x-(对应的数字为:755)
r : 4 w:2 x : 1 无权限 : 0
修改文件的属组
通过 chgrp 修改属组
修改文件属主(管理员)
通过 chown 修改属主
属主和属组一起修改:
sudo chown 新属主 : 新属组 文件名
修改目录文件:
sudo chown -R 新属主 : 新属组 目录名
文件操作
查看文件
ls 查看当前目录下的文件
有参数如下:
-a: 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l: 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r: 将文件以相反次序显示(原定依英文字母次序)
-t: 将文件依建立时间之先后次序列出
-A :同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F :在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R :若目录下有文件,则以下之文件亦皆依序列出
创建文件
创建普通文件:
touch + 文件路径/文件名 创建普通文件 (文件路径:可以是相对路径也可以是绝对路径)
创建目录文件:
mkdir + 目录路径/目录名 创建目录文件
删除文件
删除普通文件:
rm + 文件路径/文件名 删除普通文件
删除目录文件:
rm -r +目录路径/ 目录名 -r 是rm的参数 或者 rm -ri +目录路径/ 目录名 会有提示。
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
–version 输出版本信息并退出
注意:rm -rf * 禁用 rm -rf / *
文件复制与重命名
复制粘贴使用cp:
语法: cp [options] source… directory
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回 答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
注意:通常情况下 -air 一起使用
移动文件或者重命名使用mv
语法:mv [options] source… directory
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
文件的压缩和打包
使用tar进行打包或者解包。使用gizp进行文件压缩。
打包
命令: tar
常用的参数:
- c 创建包文件 create
- f 指定目标为文件而不是设备
- v 显示详细过程
- t 显示包中的内容而不释放
- x 释放包中的内容
- z GNU 版本新加的,使得 tar 有压缩和解压的功能
解包:
压缩
命令:gzip
解压缩:
一步打包压缩与解压缩
缩文件:tar + -zcvf + 文件名.tar.gz + 要压缩的文件 (*.txt)
解压文件: tar + -zxvf + 文件名.tar.gz