文件属性

1、ls和ls -a和ls -l和ls -al的区别

ls:显示没有隐藏的文件和文件夹
ls -a:显示当前目录下的所有文件和文件夹,包括隐藏的文件
ls -l:显示没有隐藏的文件和文件夹的详细信息
ls -al:显示当前目录下的所有文件和文件夹的详细信息

2、文件详细信息详解

我们随便进入一个文件夹,执行ls -l。

第1列:代表文件的类型。我们常见的是d和-。d代表是目录文件。-代表是普通文件。其他不常见的有。l代表链接文件,b代表块设备。c代表字符设备文件。
每组权限中的rwx,分别代表读,写,可执行的意思。

3、文件权限介绍

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
-代表空许可,r代表只读,w代表只写,x代表可执行。
第1组:rwx: 文件所有者可读、可写、可执行
第2组:r-x: 文件所有者所在组其它成员可读、可执行,不可修改
第3组:r-x: 其它人可读、可执行,不可修改

4、chmod命令重写权限
该命令用于改变文件或目录的访问权限。
该命令有两种写法:1、包含字母和操作符的方式。2、包含数字的设定方式。

4.1、文字设定法
4.1.1、命令

chmod [who] [+ | - | =] [mode] 文件名

4.1.2、命令中各选项的含义

操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。  
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。  
o 表示“其他(others)用户”。  
a 表示“所有(all)用户”。它是系统默认值。 
 
操作符号可以是:

+添加某个权限。
-取消某个权限。  
=赋予给定权限并取消其他所有权限(如果有的话)。 
 
设置mode所表示的权限可用下述字母的任意组合:

r 可读。  
w 可写。  
x 可执行。  
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。

例子1:chmod go-rwx file
让file文件仅自己可见
$ ls -l
drwx------ file
例子2:chmod g+r,o+r file
使同组用户(g),其他用户(o) 对文件file有读权限。
drwxr–r-- file
例子3:chmod u+x file
给当前用户增加对file的执行权限。

4.2、数字设定法
4.2.1、命令

chmod [mode] 文件名

chmod 755 file: 表示拥有者有可读写执行权限,其它人有可读执行权限。(7=4+2+1; 5=4+1)

可执行属性

which: 表示查看命令的路径。
一般用于当我们想知道使用的命令来源于什么地方时,比如安装了多个R 或多个python,但又分不清用的是哪个时,which 一下,立即明了。我们用which 获取的是可执行的命令所在的路径,进而查看其属性。
例子1:

ls -l "`which python`"
# lrwxr-xr-x 1 root root 9 Mar  8  2019 /public/software/anaconda352/bin/python -> python3.6
# l: 代表软连接
# 软连接自身是所有人可读可写,但具体的权限依赖于其链接的文件

ls -l "`which python3.6`"
# -rwxrwxr-x 1 root root 11989864 Mar  8  2019 /public/software/anaconda352/bin/python3.6
# 链接的原始文件

例子2:

ls -l "`which mkdir`"
# -rwxr-xr-x. 1 root root 79768 Nov  6  2016 /usr/bin/mkdir
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐