Linux文件扩展名
*.sh:脚本或批处理文件(scripts),因为批处理文件为使用shell写成的,所以扩展名为.sh。
*Z,* .tar,*.tar.gz, *.zip, *.tgz :经过打包的压缩文件。
*.html,*.php:网页相关文件,分别代表HTML语法和PHP语法的网页文件。
文件种类
| 文件种类 | 常见类型 | 表示 |
|---|---|---|
| 正规文件(regular file) | 纯文本文件(ASCII)、二进制档(binary)、数据格式文件(data) | - |
| 目录(directory) | 目录 | d |
| 链接文件(link) | 类似Windows系统下的捷径 | l |
| 设备与设备文件(device) | 区块(block)设备文件、字符(character)设备文件 | b、c |
| 数据接口文件(sockets) | sockets | s |
| 数据输送档(FIFO,pipe) | first-in-first-out | p |
改变文件属性与权限
chgrp: 改变文件所属群组, 格式: chgrp 群组名 文件名;
注:群组名必须已经存在于/etc/group中,不然会报错;
chown: 改变文件拥有者,格式:chown 用户名 文件名;
注:用户名必须已经存在于/etc/passwd中。此外,如果需要连目录下的所有次目录或文件同时更改文件拥有者的话,直接加上-R的选项。
chmod: 改变文件的权限,SUID,SGID,SBIT等特性。
数字类型改变文件权限
| 内容 | 叠代物件 | r | w | x | |
|---|---|---|---|---|---|
| 文件 | 详细数据data | 文件数据夹 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
| 目录 | 文件名 | 可分类抽屉 | 读到文件名 | 修改文件名 | 进入该目录的权限(key) |
各权限分数对照
r: 4;
w: 2;
x: 1;
每种身份(owner/group/others)各自的三个权限(r/w/x)分数需要累加,例如当权限为:[-rwxrwx—]分数是:
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others=—=0+0+0=0
此时,该文件的权限数字为770,变更权限指令chmod的语法为:chmod [-R] 770 文件或目录。
同理,如果启用所有权限,变更权限指令chmod的语法为:chmod [-R] 777 文件或目录。
符号类型改变文件权限
| 身份 | 操作 | 权限 | ||
|---|---|---|---|---|
| u | +(加入) | r | 文件或目录 | |
| chmod | g | -(除去) | w | |
| o | =(设置) | x | ||
| a |
u、g、o分别代表三种身份的权限,a代表all,即代表全部身份。
以“-rwxr-xr–”为例,可以使用“chmod u=rwx,g=rx,o=r 文件或目录”更改权限。
如果要将权限去掉且不改动其它已存在权限,可以使用“chmod a-权限 文件或目录”。
常见目录与文件指令
cd:变换目录;
pwd:显示目前的目录;
mkdir:创建一个新的目录;
rmdir:删除一个空的目录;
ls:显示非隐藏文件的文件名;
选项与参数;
-a : 全部的文件, 连同隐藏文件( 开头为 . 的文件) 一起列出来( 常用)
-A : 全部的文件, 连同隐藏文件, 但不包括 . 与 .. 这两个目录
-d : 仅列出目录本身, 而不是列出目录内的文件数据( 常用)
-f : 直接列出结果, 而不进行排序 ( ls 默认会以文件名排序! )
-F : 根据文件、 目录等信息, 给予附加数据结构, 例如:
*:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;
-h : 将文件大小以人类较易读的方式( 例如 GB, KB 等等) 列出来;
-i : 列出 inode 号码, inode 的意义下一章将会介绍;
-l : 长数据串行出, 包含文件的属性与权限等等数据; ( 常用)
-n : 列出 UID 与 GID 而非使用者与群组的名称 ( UID与GID会在帐号管理提到! )
-r : 将排序结果反向输出, 例如: 原本文件名由小到大, 反向则为由大到小;
-R : 连同子目录内容一起列出来, 等于该目录下的所有文件都会显示出来;
-S : 以文件大小大小排序, 而不是用文件名排序;
-t : 依时间排序, 而不是用文件名。
–color=never : 不要依据文件特性给予颜色显示;
–color=always : 显示颜色
–color=auto : 让系统自行依据设置来判断是否给予颜色
–full-time : 以完整时间模式 ( 包含年、 月、 日、 时、 分) 输出
–time={atime,ctime} : 输出 access 时间或改变权限属性时间 ( ctime)
而非内容变更时间 ( modification time)
复制文件或目录:cp 来源文件(source) 目标文件(destination)
选项与参数:
-a : 相当于 -dr –preserve=all 的意思, 至于 dr 请参考下列说明; ( 常用)
-d : 若来源文件为链接文件的属性( link file) , 则复制链接文件属性而非文件本身;
-f : 为强制( force) 的意思, 若目标文件已经存在且无法打开, 则移除后再尝试一次;
-i : 若目标文件( destination) 已经存在时, 在覆盖时会先询问动作的进行( 常用)
-l : 进行硬式链接( hard link) 的链接文件创建, 而非复制文件本身;
-p : 连同文件的属性( 权限、 用户、 时间) 一起复制过去, 而非使用默认属性( 备份常用) ;
-r : 递回持续复制, 用于目录的复制行为; ( 常用)
-s : 复制成为符号链接文件 ( symbolic link) , 亦即“ 捷径” 文件;
-u : destination 比 source 旧才更新 destination, 或 destination 不存在的情况下才复制。
注:在默认的条件中, cp 的来源文件与目的文件的权限是不同的, 目的文件的拥有者通常会是指令
操作者本身。
移除文件或目录:rm 文件或目录
选项与参数:
-f:就是 force 的意思, 忽略不存在的文件, 不会出现警告讯息;
-i:互动模式, 在删除前会询问使用者是否动作;
-r:递回删除, 最常用在目录的删除(危险操作!)。
移动文件与目录,或更名
选项与参数:
-f : force 强制的意思, 如果目标文件已经存在, 不会询问而直接覆盖;
-i : 若目标文件 ( destination) 已经存在时, 就会询问是否覆盖!
-u : 若目标文件已经存在, 且 source 比较新, 才会更新 ( update)
文件内容查阅
cat:由第一行开始显示文件内容;
tac:从最后一行开始显示,可以看出tac是cat的倒写;
nl:显示的时候,顺道输出行号;
more:一页一页的显示文件内容;
less与more类似,但比more更好的是,他可以向前翻页;
head:只看头几行;
tail:只看尾几行;
od:以二进制的方式读取文件内容;