Ubuntu学习笔记——Linux文件属性、链接和权限

文件基本属性

通过ls -l命令可以列出本目录下所有的文件的属性。

root@ubuntu:~# ls -l
total 1944
-rw-r--r-- 1 root root 1984663 2月  18 18:22 DSC_1013.jpg
drwxr-xr-x 2 root root    4096 6月  13 10:42 testDir

每一条记录最左边的十个字符表示了文件的类型和文件的权限。
其中第一个字符的含义如下:

  • [ - ]表示普通文件
  • [ d ]表示目录
  • [ l ]表示链接文件
  • [ b ]表示装置文件里面的可供储存的接口设备,例如硬盘
  • [ c ]表示装置文件里面的串行端口设备,例如键盘、鼠标

一切皆文件

在Linux系统中的一切都被当做文件来看待,甚至包括目录,磁盘,打印机等

普通文件

普通文件即Linux中的一般文件,比如用户创建的文本文件或者编译生成的可执行文件。

目录

在Linux中,目录也作为一种特殊的文件存在

设备文件

硬件设备在Linux也被作为文件来看待,比如硬盘、打印机等等,这之中包含了可供存储的接口设备串行端口设备,分别对应的字符标识是"b"和"c"。

常见的可供存储的接口设备有内存、硬盘等等存储设备
而串行端口设备是指那些逐位数据传输即时读取的设备,如鼠标、键盘等等

链接文件

  • 软链接
    相当于Windows系统中的快捷方式,当软链接指向的文件被删除时,该链接处于无效状态,即不能通过该链接继续读取被删除的文件。

  • 硬链接
    相当于新建了一个文件名指向被链接文件的inode节点。一般情况下,一个文件的文件名指向一个inode节点,该节点存储了文件的元数据,比如文件所有者,权限和创建时间等信息。在Linux系统中一个inode节点允许多个文件名来关联它,硬链接就相当于新创建了一个关联,这样在删除原有文件,即旧关联时依然不会影响新建的硬链接。所以删除原有文件名依然可以通过硬链接来访问文件数据。

Linux文件存储方式如下图所示

关于软硬链接的区别可以参考下节代码的执行结果。

链接的创建

使用ln命令创建链接,常见用法如下:

ln [option] targetFile linkName

对于option可以用以下几个参数:

  • -b 删除,覆盖以前建立的链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程

链接创建与测试如下:

uh3ng@uh3ng-VirtualBox:~/uh3ng$ touch f1
uh3ng@uh3ng-VirtualBox:~/uh3ng$ ln f1 f2
uh3ng@uh3ng-VirtualBox:~/uh3ng$ ln -s f1 f3
uh3ng@uh3ng-VirtualBox:~/uh3ng$ ls -l
总用量 0
-rw-rw-r-- 2 uh3ng uh3ng 0 6月  19 11:51 f1
-rw-rw-r-- 2 uh3ng uh3ng 0 6月  19 11:51 f2
lrwxrwxrwx 1 uh3ng uh3ng 2 6月  19 11:51 f3 -> f1
uh3ng@uh3ng-VirtualBox:~/uh3ng$ echo "I am f1 file" >> f1
uh3ng@uh3ng-VirtualBox:~/uh3ng$ cat f1
I am f1 file
uh3ng@uh3ng-VirtualBox:~/uh3ng$ cat f2
I am f1 file
uh3ng@uh3ng-VirtualBox:~/uh3ng$ cat f3
I am f1 file
uh3ng@uh3ng-VirtualBox:~/uh3ng$ rm f1
uh3ng@uh3ng-VirtualBox:~/uh3ng$ ls -l
总用量 4
-rw-rw-r-- 1 uh3ng uh3ng 13 6月  19 11:52 f2
lrwxrwxrwx 1 uh3ng uh3ng  2 6月  19 11:51 f3 -> f1
uh3ng@uh3ng-VirtualBox:~/uh3ng$ cat f2
I am f1 file
uh3ng@uh3ng-VirtualBox:~/uh3ng$ cat f3
cat: f3: 没有那个文件或目录

文件权限

Linux的文件有严格的权限控制,通过ls -l命令查看的文件权限表示如下:

习惯上,把每三位作为一个单元,用八进制表示文件对每个群组的权限,例如rwx记作111即八进制的7,r-x记作101即八进制5。所以上图的权限代码为755.

更改文件权限

以下介绍chgrp chown chmod三个命令,它们分别对应着更改文件属组,文件属主和文件权限。

1、chgrp

语法和示例:

chgrp [-R] 属组名 文件名 #-R表示递归更改文件目录下的文件

chgrp testGrp file

2、chown

语法和示例:

chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod
语法和示例:

chmod [-R] xyz file 

chmod 777 file #使所有用户都有file的读写执行权限
chmod a+x file #使所有用户都有file的执行权限
chmod u-r file #使属主不具备file的读权限
chmod g+x file #使属组拥有对file的执行权限
chmod o+w file #使其他用户拥有对file的写权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值