二 Linux指令和文件泛讲

本文旨在讲解指令和文件的特性,并没有深入讲解每个指令的详细使用。提倡大家多多使用 man 指令去查指令的使用,而不是死记。

1 指令说明

1)指令简单介绍

指令即命令,我们对电脑进行操作时,不管是通过GUI还是CLI,系统最终都会运行相关的指令和接口去执行,然后CPU调用底层设备,最后返回结果。 一个linux指令是由command、options(可选)和parameter组成。

《二 Linux指令和文件泛讲》 指令说明

其中:

  • 选项(options):修改命令的执行,多个短选项可以合并。比如 -l-h可以合并成-hl
  • 参数(parameter):指令命令的作用对象,多个参数用空格相隔。

例如:ls(list)指令:列出指定路径下所有的文件。

  • 不含选项和参数,直接使用ls指令时,会列出当前目录下的所有文件。这是一个最简单的指令。
  • 包含选项和参数,使用 ls-l选项和/Home目录参数时,会显示出/Home目录下所有文件的长格式。

《二 Linux指令和文件泛讲》 长格式

ls还有很多其他的选项,比如:
-h:对文件的大小(默认是Byte)进行单位换算
-a:显示隐藏的文件(隐藏的文件默认以 . 开头)
-d:显示目录信息
-r:逆序显示文件

一个指令就有这么多选项可选,Linux可是有好几千个指令。但是指令虽然很多,我们却只需要记住常用的一些即可,相关的选项参考我们可以通过man指令来查询

2)man(manual)操作手册

操作手册一共分为九章,每章都包含着不同类别的指令。

  1. 用户可以操作的指令或可执行文件
  2. 系统核心调用的指令
  3. 一些常用的函数库
  4. 特殊文件,比如设备文件
  5. 文件格式
  6. 游戏
  7. 协议
  8. 系统管理员可用的管理命令
  9. 和kernel有关的文件

使用man指令来查看ls的相关信息:man ls

《二 Linux指令和文件泛讲》 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指令可以查看文件的相关属性。

《二 Linux指令和文件泛讲》 文件属性

其中:

1. 文件属性

文件属性中又分为十个属性。

《二 Linux指令和文件泛讲》 十个属性

  • 第一个属性表示文件的类型:
  • -:普通文件
  • 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
    原文作者:司鑫
    原文地址: https://www.jianshu.com/p/374e34952cd9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞