Liunx学习笔记之文件权限与I/O重定向

一、文件权限

1. 文件权限

在 Linux 中有四种访问权限,列举如下

  • 可读取:r,Readable
  • 可写入:w,Writable
  • 可执行:x,Execute
  • 无权限:-

我们可以使用 ls -l 文件名 命令查看一个文件的权限,其中显示内容的第一个字段就是对文件权限的描述,一个例子如下:

2. 修改文件权限

(1)权限类型的表示方法

  • 数字表示法:将所有者、所属组和其他人的访问权限分别转化为八进制数字,再根据八进制数字转化为十进制数字。例如:rwxrwxr-x -> (111)(111)(101) -> (7)(7)(5) -> 775
  • 文字表示法:所有者使用 u 表示(User)、所属组使用 g 表示(Group)、其他人使用 o 表示(Other);读取权限使用 r 表示(Read)、写入权限使用 w 表示(Write)、执行权限使用 x 表示(Execute)

(2)权限类型修改命令

在 Linux 中修改文件权限可以使用 chmod 权限,具体使用方法如下:

  • 数字表示法:chmod 权限的数字表示法 文件名,例如:chmod 664 file.txt
  • 文字表示法:直接以例子来说明

增加所有者的执行权限:chmod u+x file.txt

减少所属组的写入权限:chmod g-w file.txt

重新指定其他人的访问权限:chmod o=rw file.txt

(3)目录权限

修改目录权限所使用的语法和上面是完全一致的,不同的是符号的含义有所不同

r:可以使用 ls 命令列出目录中的内容

w:可在目录中新建、删除、修改文件

x:可以只用 cd 命令切换到目录

-:无任何权限

注意:若修改目录权限时发现该目录含有子目录并需要一同修改权限,则需要使用 -R 参数

3. 指定文件默认权限掩码

权限掩码由4个八进制数字组成,一般是用来指定文件的默认权限使用,一般而言,新建文件的默认权限为 664,新建目录的默认权限为 775,我们可以使用 umask 命令检查和修改文件权限
一个常用的公式如下:现有权限 - 权限掩码 = 默认权限

三、I/O重定向

1. I/O类型

  • 标准输入(Standard Input,stdin)
  • 标准输出(Standard Output,stdout)
  • 标准错误输出(Standard Error Output, Error stderr)

2. I/O重定向

(1)输出定向 >

一般在 Linux 中执行命令或程序默认是将结果输出到屏幕,但有时候会希望将结果保存到文件便于保存、分析和处理数据,这时候就需要用到输出定向了

例如:ls -al /etc 默认是将 etc 目录下的所有文件信息输出到屏幕,而使用输出定向后 ls -al /etc > ./file.txt ,则是将结果直接输出到 file.txt 文件

技巧:可以使用命令 cat > ./file.txt 创建一个简单的文本编辑器向文件写入数据

(2)附加输出定向 >>

附加输出定向和输出定向十分相似,区别仅仅在于输出定向会将旧数据覆盖,而附加输出定向会将新数据添加到原数据后,相当于追加数据

(3)输入定向 <

输入定向用于将键盘或文件提供给命令执行,例如命令 wc < file.txt 可以统计 file.txt 文件中的行数、字数等

(4)附加输入定向 <<

附加输入定向可以让你自定义一个字符串,系统在收到此字符串前,会持续将数据输入到文件,此功能常用于电子邮件系统中

(5)错误输出定向 &>

猜你喜欢

转载自www.cnblogs.com/wsmrzx/p/9665391.html