前一篇博客咱们讲解了Linux文件和目录处理命令,仍是老生常淡,对于新手而言,咱们不须要彻底记住命令的详细语法,记住该命令能完成什么功能,而后须要的时候去查就行了,用的多了咱们就天然记住了。这篇博客咱们接着讲Linux命令——连接命令和权限管理命令。linux
①、命令名称:lnshell
②、英文原意:linkwindows
③、命令所在路径:/bin/linkpost
④、执行权限:全部用户url
⑤、功能描述:生成连接文件spa
⑥、语法: ln -s 【源文件】【目标文件】3d
-s 建立软连接htm
不加 -s 建立硬连接blog
例子:1、建立文件 /etc/issue 的软连接 /tmp/issue.soft:ln -s /etc/issue /tmp/issue.soft
2、建立文件 /etc/issue 的硬连接 /tmp/issue.hard:ln /etc/issue /tmp/issue.hard
咱们能够看到:
第一:软连接 前面是 l 开头的(link),而硬连接是 - 开头,表示文件
第二:软连接全部者和所属组具备所有操做的权限,rwxrwxrwx;而硬连接不是。也就是软连接的前面都是 lrwxrwxrwx
第三:软连接相似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件
第四:硬连接文件除了文件名与源文件不同,其他全部信息都是同样的。相似于 cp 复制操做。可是又和复制不同,硬连接能够同步更新。
第五:经过 ls -i 操做,来查看 文件的 i 节点。发现硬连接和源文件的 i 节点是相同的,而软连接与源文件的 i 节点是不一样的
第六:不容许将硬连接指向目录;不容许跨分区建立硬连接
①、命令名称: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
②、英文原意:change file ownership
③、命令所在路径:/bin/chown
④、执行权限:全部用户
⑤、功能描述:改变文件或目录的全部者
⑥、语法: chmod 【用户】【文件或目录】
注意:能更改文件或目录的全部者用户是 root
这里咱们经过useradd【用户名】命令建立用户,而后经过passwd【用户名】输入密码,这两个命令后面会将。咱们经过这两个命令建立 vae 用户
而后咱们将tmp.log的全部者更改成 vae 用户:chown vae tmp.log
①、命令名称:chgrp
②、英文原意:change file group ownership
③、命令所在路径:/bin/chown
④、执行权限:全部用户
⑤、功能描述:改变文件或目录的所属组
⑥、语法: chgrp【用户组】【文件或目录】
注意:能更改文件或目录的全部者用户是 root
①、命令名称: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 来完成默认权限设置。
本篇文章咱们讲解了连接命令ln和权限管理命令。首先对于连接命令,咱们要注意 ln -s 表示建立软连接,不加-s表示建立硬连接,咱们须要注意软连接和硬连接的区别,软连接相似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件。而硬连接咱们能够想象为 cp -p +同步更新,也就是说建立的硬连接和原文件保持同样的属性,并且原文件更改了,硬连接也会更改。
接着咱们介绍了几个权限管理命令,对于权限,咱们说够用就好,不少新手在进行权限操做是,上来就是 chmod 777 【文件或目录】,这样虽然省事,可是显然是不够准确的,chmod命令能够更改文件或目录权限,chown命令能够改变文件或目录全部者,chgrp命令能够改变文件或目录所属组。咱们须要注意的是,后面两个命令只能由root用户来完成,而chmod命令除了root用户能完成,还有所更改文件或目录的全部者。