本文旨在讲解指令和文件的特性,并没有深入讲解每个指令的详细使用。提倡大家多多使用 man 指令去查指令的使用,而不是死记。
1 指令说明
1)指令简单介绍
指令即命令,我们对电脑进行操作时,不管是通过GUI还是CLI,系统最终都会运行相关的指令和接口去执行,然后CPU调用底层设备,最后返回结果。 一个linux指令是由command、options(可选)和parameter组成。
其中:
- 选项(options):修改命令的执行,多个短选项可以合并。比如
-l
和-h
可以合并成-hl
。 - 参数(parameter):指令命令的作用对象,多个参数用空格相隔。
例如:ls(list)指令:列出指定路径下所有的文件。
-
不含选项和参数,直接使用
ls
指令时,会列出当前目录下的所有文件。这是一个最简单的指令。
-
包含选项和参数,使用
ls
的-l
选项和/Home
目录参数时,会显示出/Home
目录下所有文件的长格式。
ls
还有很多其他的选项,比如:
-h
:对文件的大小(默认是Byte)进行单位换算
-a
:显示隐藏的文件(隐藏的文件默认以 . 开头)
-d
:显示目录信息
-r
:逆序显示文件
一个指令就有这么多选项可选,Linux可是有好几千个指令。但是指令虽然很多,我们却只需要记住常用的一些即可,相关的选项参考我们可以通过man
指令来查询
2)man(manual)操作手册
操作手册一共分为九章,每章都包含着不同类别的指令。
- 用户可以操作的指令或可执行文件
- 系统核心调用的指令
- 一些常用的函数库
- 特殊文件,比如设备文件
- 文件格式
- 游戏
- 协议
- 系统管理员可用的管理命令
- 和kernel有关的文件
使用man
指令来查看ls
的相关信息:man ls
其中:
- NAME:简短的指令、名称说明
- SYNOPSIS:简短的指令语法说明
- DESCRIPTION:对指令的完整说明
- OPTIONS:针对SYNOPSIS中列举出可以选用的参数
- COMMANDS:当该指令在运行的时候可以进行的操作
- SEE ALSO:和该指令相关的其他说明
- EXAMPLE:该指令的范例
- AUTHOR
- Copyright
- BUGS
man page 中相关的快捷键
- 空格键:向下翻一页
- [Page Down]:向下翻一页
- [Page Up]:向上翻一页
- [Home]:去到第一页
- [End]:去到最后一页
- /string:向下查找 string 这个字符串
- ?string:向上查找 string 这个字符串
- n:在查找时进行下一个正向查找
- N:在查找时进行下一个反向查找
- q:退出
2 文件属性说明
先执行ls -l
指令可以查看文件的相关属性。
其中:
1. 文件属性
文件属性中又分为十个属性。
- 第一个属性表示文件的类型:
-
-
:普通文件 -
d
:目录文件(directory) -
b
:块设备文件(block) -
c
:字符设备文件(character) -
l
:链接文件(sysmbolic link file)(快捷方式) -
p
:命令管道(pipe) -
s
:套接字文件(scoket) - 剩余的九个属性每三位为一组,都为[rwx]中的参数组合,[ r ]表示可读,[ w ]表示可写,[ x ]表示可执行,如果是目录没有[x]权限,那么用户将无法进入该目录。
- 第一组为拥有者对该文件的权限
- 第二组为同群组对该文件的权限
- 第三组为其他人对该文件的权限
<a>Linux中分为文件拥有者、群组和其它人三个类别</a>
2. 文件的链接次数
3. 文件拥有者(owner)
4. 文件拥有者的群组(group)
5. 文件的大小
6. 文件的修改时间
7. 文件名
3 文件权限的修改
1)对文件所属群组的修改
指令:
-
chgrp [options] groupName fileName
chgrp(change group的缩写)
修改指定文件的所属群组,前提是该群组在/etc/group
文件中存在。
2)对文件拥有者的修改
指令:
-
chown [options] userName fileName
chown(change owner的缩写)
修改指定文件的属主,前提是该用户在/etc/passwd
文件中存在。
3)改变文件的【rwx】权限
指令:
-
chmod [options] MODE fileName
根据相应的模式对文件的权限进行修改
【1】使用数字类型模式改变文件权限
linux中文件的基本属性有九个,分别是owner/group/others组别的read/write/excute属性,每个[rwx]属性都对应着一个数字。
其中:
- r:4
- w:2
- x:1
假如一个文件的属性为[-rwxrwx---],那么:
- owner = rwx = 4 + 2 + 1 = 7
- group = rwx = 4 + 2 + 1 = 7
- others = --- = 0 + 0 + 0 = 0
这样我们就得到了该文件的属性所对应的的数字组合了。
使用指令
-
chmod [options] rwx fileName
即可对文件权限进行修改。其中 rwx 为文件属性的数字组合。
【2】使用符号类型改变文件的权限
每一组属性都对应着一个字母:
- owner:u
- group:g
- other:o
- a
每一个符号对[rwx]权限都有+/-/=的设定。
假如:
我们要将一个文件(test.txt)的属性设为[-rwxrw-r--],那我们就可以执行:
chmod u=rwx,g=rw,o=r test.txt
我们要将 owner 的 excute 权限移除,那我们可以执行:
chmod u-x test.txt
我们要给 owner/group/others 都加上 excute 权限,那我们可以执行
-
chmod a+x test.txt
或者 chomd ugo+x test.txt