首页
学习
活动
专区
圈层
工具
发布
24 篇文章
1
Linux系列教程(一)——Linux系统简介
2
Linux系列教程(四)——Linux常用命令之文件和目录处理命令
3
Linux系列教程(五)——Linux常用命令之链接命令和权限管理命令
4
Linux系列教程(六)——Linux常用命令之文件搜索命令
5
Linux系列教程(二)——Linux系统安装(手把手学安装centos6.8)
6
Linux系列教程(三)——Linux学习技巧
7
Linux系列教程(七)——Linux常用命令之帮助和用户管理命令
8
Linux系列教程(十一)——Linux软件包管理之RPM命令
9
Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包
10
Linux系列教程(八)——Linux常用命令之压缩和解压缩命令
11
Linux系列教程(十二)——Linux软件包管理之yum在线管理
12
Linux系列教程(九)——Linux常用命令之网络和关机重启命令
13
Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件
14
Linux系列教程(十)——Linux文本编辑器vim
15
Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令
16
Linux系列教程(十六)——Linux权限管理之ACL权限
17
Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令
18
Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
19
Linux系列教程(二十一)——Linux的bash基本功能
20
Linux系列教程(二十)——Linux的shell概述以及如何执行脚本
21
Linux系列教程(二十四)——Linux的系统管理
22
Linux系列教程(二十三)——Linux的服务管理
23
Linux系列教程(十九)——Linux文件系统管理之手工分区
24
Linux系列教程(二十二)——Linux的bash变量

Linux系列教程(五)——Linux常用命令之链接命令和权限管理命令

  前一篇博客我们讲解了Linux文件和目录处理命令,还是老生常淡,对于新手而言,我们不需要完全记住命令的详细语法,记住该命令能完成什么功能,然后需要的时候去查就好了,用的多了我们就自然记住了。这篇博客我们接着讲Linux命令——链接命令和权限管理命令。

1、链接命令

 一、生成链接文件命令:ln

  ①、命令名称:ln

  ②、英文原意:link

  ③、命令所在路径:/bin/link

  ④、执行权限:所有用户

  ⑤、功能描述:生成链接文件

  ⑥、语法: ln -s 【源文件】【目标文件】

            -s    创建软链接

        不加 -s   创建硬链接

  例子:一、创建文件 /etc/issue 的软链接 /tmp/issue.soft:ln -s /etc/issue /tmp/issue.soft

     二、创建文件 /etc/issue 的硬链接 /tmp/issue.hard:ln  /etc/issue /tmp/issue.hard

  我们可以看到:

  第一:软链接 前面是 l 开头的(link),而硬链接是 - 开头,表示文件

  第二:软链接所有者和所属组具有全部操作的权限,rwxrwxrwx;而硬链接不是。也就是软链接的前面都是 lrwxrwxrwx

  第三:软链接类似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件

  第四:硬链接文件除了文件名与源文件不一样,其余所有信息都是一样的。类似于 cp 复制操作。但是又和复制不一样,硬链接可以同步更新。

  第五:通过 ls -i 操作,来查看 文件的 i 节点。发现硬链接和源文件的 i 节点是相同的,而软链接与源文件的 i 节点是不同的

  第六:不允许将硬链接指向目录;不允许跨分区创建硬链接

2、权限管理命令

 一、更改文件或目录权限命令:chmod

  ①、命令名称:chmod

  ②、英文原意:change the permissions mode of a file

  ③、命令所在路径:/bin/chmod

  ④、执行权限:所有用户

  ⑤、功能描述:改变文件或目录权限

  ⑥、语法: chmod 【{ugoa}{+-=}{rwx}】【文件或目录】

        【mode=421】【文件或目录】

          -R 递归修改

  注意:不是每一个Linux用户都有权限更改某个文件或目录权限,能更改文件或目录权限的只有两种用户

     ①、文件的所有者。我们通过ls命令查看某个文件的详细信息,可以看到该文件的所有者。

     ②、root用户,这不用多说,root用户是linux系统权限最大的用户。别人不能干的事,root用户都能干。

对于上面的语法 chmod 【{ugoa}{+-=}{rwx}】【文件或目录】,我们要知道ugoa分别是:u:表示所有者,g:表示所属组,o:表示其他人,a:表示所有人。而rwx表示的意思如下:

  对于【mode=421】【文件或目录】,这是我们将权限用数字表示,其中 r 表示4,w表示2,x表示1,分别是2的0次方,1次方,2次方。那么我们可以这样理解:具有 rwx 权限的数字就是 7,具有 rw- 权限的数字是 6,具有 r-- 权限的数字是 4。

  范例1:我们赋予 tmp 目录下的 tmp.log 所有者 x 的权限;赋予 所属组 w 权限,其他人 w 权限。

      chmod u+x /tmp/tmp.log

      chmod g+w,o+w /tmp/tmp.log

  将上面例子改为用 数字来操作,也就是说我们要给 tmp.log赋予的文件权限是 rwxrw-rw-,用数字表示是766。chmod 766 tmp.log

  我们还可以递归赋予权限,也就是加上 -R 参数给指定目录下的所有文件或目录赋予指定权限。

  范例2:给 tmp 目录下所有文件和目录赋予 776 的权限

  chmod -R 776 /tmp

 二、改变文件或目录所有者命令:chown

  ①、命令名称:chown

  ②、英文原意:change file ownership

  ③、命令所在路径:/bin/chown

  ④、执行权限:所有用户

  ⑤、功能描述:改变文件或目录的所有者

  ⑥、语法: chmod  【用户】【文件或目录】

注意:能更改文件或目录的所有者用户是 root

  这里我们通过useradd【用户名】命令创建用户,然后通过passwd【用户名】输入密码,这两个命令后面会将。我们通过这两个命令创建 vae 用户

  然后我们将tmp.log的所有者更改为 vae 用户:chown vae tmp.log

 三、改变文件或目录所属组命令:chgrp

  ①、命令名称:chgrp

  ②、英文原意:change file group ownership

  ③、命令所在路径:/bin/chown

  ④、执行权限:所有用户

  ⑤、功能描述:改变文件或目录的所属组

  ⑥、语法: chgrp【用户组】【文件或目录】

注意:能更改文件或目录的所有者用户是 root

 四、显示、设置文件的缺省权限命令:umask

  ①、命令名称:umask

  ②、英文原意:the user file-creation mask

  ③、命令所在路径:shell 内置命令

  ④、执行权限:所有用户

  ⑤、功能描述:显示、设置文件的缺省权限

  ⑥、语法: umask 【-S】

        -S 以rwx形式显示新建文件的缺省权限

注意:可能大家不太明白这个命令的意思,我们分别执行umask和 umask -S ,如下:

  其中umask 执行显示结果是 0022,第一个0表示特殊权限,后面我们会单独进行讲解有哪几种特殊权限。022表示权限的掩码值,我们用7 7 7 减去 0 2 2得到755(是每一位相减),表示的就是下面通过加上-S输出的rwxr-xr-x,这个值用数字表示就是755.

  这个意思说明创建一个文件的默认权限所有者为rwx,所属组为rx,其他人为rx。也就是说创建一个新文件默认权限为 rwxr-xr-x,我们创建一个文件来验证一下:

  我们发现使用touch命令创建了一个文件a.txt,然后发现权限并不是rwxr-xr-x,而是rw-r--r--。对比发现少了三个x,也就是少了可执行权限。这是为什么呢?

  这是因为在Linux系统中,所有新创建的文件都是没有可执行权限的。这是出于Linux系统的一种自我保护,因为类似的病毒木马程序都是具有可执行权限的。所以在Linux系统中,新创建的文件是没有可执行权限的。

  那么我们如何设置默认权限呢?比如我们想将新创建的文件权限设置为rwxr-xr--,也就是754。我们用777减去754得到023。也就是通过执行 umask 023 来完成默认权限设置。

3、总结 

  本篇文章我们讲解了链接命令ln和权限管理命令。首先对于链接命令,我们要注意 ln -s 表示创建软链接,不加-s表示创建硬链接,我们需要注意软链接和硬链接的区别,软链接类似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件。而硬链接我们可以想象为 cp -p +同步更新,也就是说创建的硬链接和原文件保持一样的属性,而且原文件更改了,硬链接也会更改。

  接着我们介绍了几个权限管理命令,对于权限,我们说够用就好,很多新手在进行权限操作是,上来就是 chmod 777 【文件或目录】,这样虽然省事,但是显然是不够准确的,chmod命令可以更改文件或目录权限,chown命令可以改变文件或目录所有者,chgrp命令可以改变文件或目录所属组。我们需要注意的是,后面两个命令只能由root用户来完成,而chmod命令除了root用户能完成,还有所更改文件或目录的所有者。

下一篇
举报
领券