前一篇博客我们讲解了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用户能完成,还有所更改文件或目录的所有者。

Linux系列教程(五)——Linux常用命令之链接命令和权限管理命令的更多相关文章

  1. 第3章 Linux常用命令(2)_权限管理命令

    2. 权限管理命令 2.1 改变文件或目录权限:chmod (1)chmod命令 命令名称 chmod(change the permission mode of a file) 命令所在路径 /bi ...

  2. linux入门教程(五) Linux系统的远程登录

    首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章. Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在ID ...

  3. Linux常用命令之链接命令和权限管理命令

    目录 1.链接命令 一.生成链接文件命令:ln 2.权限管理命令3.总结 一.更改文件或目录权限命令:chmod 二.改变文件或目录所有者命令:chown 三.改变文件或目录所属组命令:chgrp 四 ...

  4. Linux系列教程(六)——Linux常用命令之文件搜索命令

    前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s  链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...

  5. Linux系列教程(五)——Linux链接命令和权限管理命令

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

  6. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  7. Linux系列教程(六)——Linux文件搜索命令

    前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s  链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...

  8. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

  9. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

随机推荐

  1. IE9获取file控件的本地文件路径

    最近发现,在IE9下,公司网站的本地图片预览都无法正常显示,经过测试发现,原因在于IE9下无法获取file控件的文件路径. 以前的代码如下: var strPic = fileImg.value; i ...

  2. 警告!中国90%AI初创企业将在两年内落败出局

    https://mp.weixin.qq.com/s/-RkyLda1jovaHBlBTsi-BA 近年来,中国涌现了一大批AI初创企业,但AI热潮也伴随着泡沫.由于近期市场资金紧缩,投资者发出警告, ...

  3. 程序员Web面试之JSON

    JSON是什么? JSON(JavaScript对象表示法), 是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据.这些数据可以易于和转换为JavaSc ...

  4. android.support不统一的问题

    今天supprt28遇到的问题,由于28还是预览版,还存在一些bug 都是因为如果程序内出现不同的,support或者其他外部引用库的多个版本,Gradle在进行合并的时候会使用本地持有的,最高版本的 ...

  5. HTML5文件API之FileReader

    在文件上传之前,我们总想预览一下文件内容,或图片样子,html5 中FileReader正好提供了2种方法,可以在不上传文件的情况下,预览文件内容. 图片预览:readAsDataURL(file); ...

  6. Linux Mint Mate 常用

    Linux Mint基于Ubuntu  Mate 桌面版据说资源占用较少 http://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/stable/17.3/li ...

  7. 字典Key值为变量

    m='aaa4a' d = dict(name=m) print d['name']

  8. mysql ANSI_QUOTES 这个sql_mode的作用(字段可以使用双引号)

    首先sql_mode用于mysql的行为,sql_mode的多个值之间用','分隔: 如果想使用双引号就这样做: 1. 修改/etc/my.cnf文件 ,  双引号模式是ANSI_QUOTES 或   ...

  9. Hbase-2.0.0_01_安装部署

    该文章是基于 Hadoop2.7.6_01_部署 进行的 1. 主机规划 主机名称 IP信息 内网IP 操作系统 安装软件 备注:运行程序 mini01 10.0.0.11 172.16.1.11 C ...

  10. SAP SQVI 快速浏览器

    SQVI可向SQL一样连接多个表浏览数据. 1.输入T-CODE:SQVI. 2.新建一个新查询case 输入CASE 名.点击新建,在弹出的窗口中输入标题,在数据源中可选择单个表查询,或者选择表连接 ...