位置: 编程技术 - 正文

Unix系统中文件管理和文件权限设置教程(UNIX系统中文件的索引表结构)

发布时间:2024-02-26

推荐整理分享Unix系统中文件管理和文件权限设置教程(UNIX系统中文件的索引表结构),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unix系统中文件的物理结构一般采用,unix系统中文件的物理结构一般采用,unix系统中文件的索引结构存放在什么中,unix系统中文件的命名方法,UNIX系统中文件的索引表结构,unix系统中文件的命名方法,UNIX系统中文件存,UNIX系统中文件的索引表结构,内容如对您有帮助,希望把文章链接给更多的朋友!

在 UNIX 中的所有数据被都组织成文件。所有文件被都组织成目录。这些目录被组织成一个称为文件系统的树状结构。

当您使用 UNIX 时,你将花费大部分时间用一种方式或另一种方式去处理文件。本教程将教你如何创建和删除文件,复制和重命名它们,创建链接到它们等。

在 UNIX 中有三种基本类型的文件:

普通文件: 一个普通的文件是系统上包含数据、 文本或程序指令的文件。在本教程中,你将使用普通文件。

目录: 目录存储特殊和普通文件。 UNIX 目录对于熟悉 Windows 或者 Mac OS 的用户,相当于文件夹。

特殊文件: 一些特殊的文件提供访问硬件,例如硬盘、 CD - ROM 驱动器、 调制解调器和以太网适配器。其他特殊文件类似于别名或快捷方式,使您能够访问单个文件使用不同的名称。

文件列表为了列出存储在当前目录中的文件和目录。使用下面的命令:复制代码代码如下: $ls这里是上述命令的示例输出:复制代码代码如下: $ls binhosts lib res. ch hw1pub test_results ch.bak hw2res. users docs hw3res. work命令 ls 支持 -l 选项,将帮助您获得有关列出的文件的详细信息:复制代码代码如下: $ls -l total

drwxrwxr-x 2 amrood amrood Dec : uml -rw-rw-r-- 1 amrood amrood Dec : uml.jpg drwxr-xr-x 2 amrood amrood Feb univ drwxr-xr-x 2 root root Dec 9 urlspedia -rw-r--r-- 1 root root Dec 9 urlspedia.tar drwxr-xr-x 8 root root Nov usr drwxr-xr-x Nov webthumb-1. -rwxr-xr-x 1 root root Nov webthumb.php -rw-rw-r-- 1 amrood amrood Nov webthumb.tar -rw-rw-r-- 1 amrood amrood Aug 9 yourfile.mid -rw-rw-r-- 1 amrood amrood Aug 9 yourfile.swf drwxr-xr-x amrood amrood May zlib-1.2.3

这里是有关所有列出的列信息:

第一列: 表示文件类型,给出了该文件的权限。后面是所有类型的文件的说明。

第二列: 表示文件或目录所采取的内存块的数目。

第三列: 表示该文件的所有者。这是创建此文件的 UNIX 用户。

第四列: 表示用户组。每个 UNIX 用户会有一个相关联的组。

第五列: 表示文件大小以字节为单位。

第六列: 表示此文件被创建或最后一次修改的日期和时间。

第七列: 表示文件或目录的名称。在 ls -l 清单示例中,每个文件的行开头为 d ,- ,或 l。这些字符指示列出的文件的类型。

前缀 描述 - 常规的文件,如 ASCII 文本文件,二进制可执行文件,或硬链接。 b 特殊块文件。块输入输出设备文件如物理硬盘驱动器。 c 字符特殊文件。原始的输入/输出设备文件如物理硬盘驱动器。 d 包含其他文件和目录列表的目录文件。 l 符号链接文件。链接到任何一个普通的文件。 p 命名的管道。进程间通信机制。 s 用于进程间通信的套接字。

元字符元字符在 UNIX 中具有特殊的意义。例如 * 和 ? 是元字符。我们使用 * 匹配 0 或多个字符,问号 ? 与单个字符匹配。

举个例子:复制代码代码如下: $ls ch*.doc显示名称以 ch 开头,并以 .doc 结束的所有文件:复制代码代码如下: ch-1.doc ch.doc ch.docch-2.doc ch-1.doc ch.doc ch.docch-2.doc ch-2.doc ch-1.doc c在这里 * 作为元字符可以和任何字符相匹配。如果你只是想要显示以 .doc 结尾的所有文件,你可以使用以下命令:复制代码代码如下: $ls *.doc

隐藏文件隐藏文件,是第一个字符是圆点或句点字符 (.) 的文件。 UNIX 程序 ( 包括 shell ) 大多数使用这些文件来存储配置信息。

隐藏文件的一些常见的例子包括文件:

.profile: Bourne shell ( sh ) 初始化脚本。.kshrc: Korn shell ( ksh ) 初始化脚本。.cshrc: C shell ( csh ) 初始化脚本。.rhosts: remote shell 配置文件。若要列出不可见文件,请指定到 ls -a 选项:复制代码代码如下: $ ls -a . .profile docs lib test_results ...rhostshostspub users .emacsbinhw1 res. work .exrc ch hw2 res. .kshrcch.bak hw3 res. $单个点 . : 这个代表当前目录。两个点 .. : 这个代表父目录。

创建文件您可以使用 vi 编辑器来创建任何 UNIX 系统上的普通文件。你只需要给出以下命令:复制代码代码如下: $ vi filename上面的命令会打开一个给定的文件名的文件。您将需要按键 i 来进入编辑模式。一旦您处于编辑模式下你可以在如下图所示文件中写入您的内容:

This is unix file....I created it for the first time..... I'm going to save this content in this file.一旦你做完上一步,请执行以下步骤:

按键 esc 退出编辑模式。一起按两个键 Shift + ZZ 完全退出文件。现在你会有一个已经创建好的叫 filename 的文件在当前目录中。复制代码代码如下: $ vi filename编辑文件您可以使用 vi 编辑器编辑现有的文件。我们将在一个单独的教程中详细介绍。但总之,您可以打开现有的文件,如下所示:复制代码代码如下: $ vi filename一旦文件被打开,您将能在编辑模式下按键 i ,然后您可以如您所想的编辑文件。如果您想要在一个文件里左右移动首先您需要按下键 esc 退出编辑模式来,然后您可以使用下列键在文件内部移动:

l 键移动到右侧。h 键移动到左侧。k 键移动到上面。j 键移动到下面。使用上面的键您可以将光标放在任何您想要编辑的地方。一旦您定位好然后您可以使用 i 键来在编辑模式下编辑该文件。当您编辑完文件您可以按下 esc 键然后按下 Shift + ZZ 键来从文件完全的退出。

显示文件的内容你可以使用 cat 命令来查看文件的内容。以下是简单的示例来查看上面创建文件的内容:复制代码代码如下: $ cat filename This is unix file....I created it for the first time..... I'm going to save this content in this file.你可以通过按如下方式使用 -b 选项和 cat 命令显示行号:复制代码代码如下: $ cat -b filename 1 This is unix file....I created it for the first time..... 2 I'm going to save this content in this file.

统计文件中字数你可以使用 wc 命令来获取一个文件中的总的行数,字数和字符数。以下是简单的示例来查看有关上面创建的文件的信息:复制代码代码如下: $ wc filename 2 filename这里是所有四个列的细节:

第一列: 代表文件中的行数。

第二列: 代表文件中的字数。

第三列: 代表文件中的字符数。这是文件的实际大小。

第四列: 代表文件名。在获取有关这些文件的信息的时候,你可以给多个文件。这里是简单的语法:复制代码代码如下: $ wc filename1 filename2 filename3

复制文件要使用 cp 命令文件的副本。该命令的基本语法如下:复制代码代码如下: $ cp source_file destination_file下面是创建一个已有文件 filename 的副本的例子。复制代码代码如下: $ cp filename copyfile现在你会发现多了一个文件 copyfile 在您的当前目录。此文件与原始文件 filename 完全相同。

删除文件若要更改文件的名称使用 mv 命令。其基本的语法是:复制代码代码如下: $ mv old_file new_file下面是把现有文件 filename 重命名为 newfile 的示例:复制代码代码如下: $ mv filename newfilemv 命令将现有文件完全移动到新的文件。所以在这种情况下你只能发现 newfile 在你当前的目录中。

Unix系统中文件管理和文件权限设置教程(UNIX系统中文件的索引表结构)

删除文件若要删除现有文件使用 rm 命令。其基本的语法是:复制代码代码如下: $ rm filename警告: 要删除一个文件可能会很危险,因为它可能包含有用的信息。所以在使用此命令时要小心。这推荐使用 -i 选项和 rm 命令。

以下是完全删除现有文件 filename 的示例:复制代码代码如下: $ rm filename您可以在一行中删除多个文件,如下所示:复制代码代码如下: $ rm filename1 filename2 filename3

标准 UNIX 流在正常情况下每个 UNIX 程序在它启动时打开的三个流 ( 文件 ):

stdin : 这指作为标准输入,关联文件描述符为 0。它也可以表示为 STDIN 。UNIX 程序默认从 STDIN 中读取。stdout : 这指作为标准输出,关联文件描述符为 1。它也可以表示为 STDOUT 。UNIX 程序默认从 STDOUT 中读取。stderr : 这指作为标准错误,关联文件描述符为 2。它也可以表示为 STDERR 。UNIX 程序会将所有的错误信息写入 STDERR。

文件权限

文件所有权是 UNIX 的一个重要的组成部分,提供了一种安全的方法来存储文件。在 UNIX 中每个文件有以下属性:

所有者权限:所有者的权限决定文件的所有者可以对文件执行的操作。组权限:组权限决定了属于该组的成员对他所拥有的文件能够执行的操作。其他人权限:其他人权限表示其他所有人对于该文件能够进行的操作。

权限表示符当使用 ls -l 命令的时候,会将与文件相关的各种权限展示出来,如下:复制代码代码如下:$ls -l /home/amrood-rwxr-xr-- 1 amrood users Nov 2 : myfiledrwxr-xr--- 1 amrood users Nov 2 : mydir输出的第一列表示的是与文件或者目录相关的访问模式或者权限。

权限被分为三组,组中的每个位置代表一个特定的权限,这个顺序是:读(r)、写(w)和执行(x):

前三个字符 (2-4) 表示文件的所有者的权限。例如 -rwxr-xr-- 代表,文件的所有者拥有读 (r)、写 (w) 和执行 (x) 的权限。第二组的三个字符 (5-7) 包含了该文件所属组的权限。例如 -rwxr-xr-- 表示了所属组拥有读 (r) 和执行 (x) 的权限,但没有写权限。最后一组三个字符 (8-) 代表其他人的权限。例如 -rwxr-xr-- 代表其他人只有读 (r) 的权限。

文件访问模式文件的权限是 UNIX 系统安全性的第一道防线。UNIX 权限的基本组成部分是读,写,执行权限,如下所述:

读:分配对文件的内容进行读取和查看文件的权限。写:分配对文件的内容进行修改或者删除的权限。执行:允许用户将该文件作为一个程序进行执行的权限。

目录访问模式目录访问模式采用和其他文件用相同的方式组织。但是有一些差异,还是需要提到:

读:访问目录意味着用户可以读取目录下的内容。用户可以查看目录内的文件名。写:这个权限意味着用户可以在目录下面删除或者新建文件。执行:执行一个目录并没有真正的意义,因此将它当作可以遍历目录的权限。用户为了执行 ls 或者 cd 命令就必须先访问了 bin 目录。

改变权限改变文件或目录的权限,您可以使用 chmod(change mode)命令。有两种方法可以使用 chmod:符号模式和绝对模式。

符号模式中使用 chmod对于初学者来说使用符号模式是最简单的来修改文件或目录的权限方法。可以用下表中的符号来添加、删除或指定你想要设置的权限。

Chmod 操作符 描述 + 给文件或者目录添加指定的权限。 - 删除文件或者目录的权限。 = 设置指定的权限。 如下是以 testfile 文件为示例。对 testfile 文件运行 ls -l 就会像下面一样显示文件的权限:复制代码代码如下:$ls -l testfile-rwxrwxr-- 1 amrood users Nov 2 : testfile接下来将前面表格中的 chmod 命令都对 testfile 运行一下,下面的是在 ls -l 运行之后,你可以看到文件权限的改变:复制代码代码如下:$chmod o+wx testfile$ls -l testfile-rwxrwxrwx 1 amrood users Nov 2 : testfile$chmod u-x testfile$ls -l testfile-rw-rwxrwx 1 amrood users Nov 2 : testfile$chmod g=rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users Nov 2 : testfile下面将展示如何将上面的命令组合成一行:复制代码代码如下:$chmod o+wx,u-x,g=rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users Nov 2 : testfile

chmod 命令中使用绝对权限用chmod命令修改权限的第二种方法,是使用一个数字来指定文件的一些列权限。

每个权限被分配了一个数值,如下表所示, 并且给每个权限集的总和提供了一个数值。

数值 权限八进制表示 参照 0 没有权限 --- 1 可执行的权限 --x 2 写权限 -w- 3 执行和写权限: 1 (执行) + 2 (写) = 3 -wx 4 读取权限 r-- 5 读取和执行权限: 4 (读取) + 1 (执行) = 5 r-x 6 读取和写权限: 4 (读) + 2 (写) = 6 rw- 7 所有权限: 4 (读) + 2 (写) + 1 (执行) = 7 rwx 如下是针对 testfile 文件的示例。运行 ls -l 命令会显示与该文件相关的权限如下:复制代码代码如下:$ls -l testfile-rwxrwxr-- 1 amrood users Nov 2 : testfile对 testfile 运行上面表格中每个 chmod 示例命令,如下是在 ls -l 之后的,你可以从下面命令中看出权限的改变情况:复制代码代码如下:$ chmod testfile$ls -l testfile-rwxr-xr-x 1 amrood users Nov 2 : testfile$chmod testfile$ls -l testfile-rwxr---wx 1 amrood users Nov 2 : testfile$chmod testfile$ls -l testfile----r---wx 1 amrood users Nov 2 : testfile

改变所有者和所属组在 UNIX 上创建一个帐户时,系统会给每个用户分配一个所有者 ID 和组 ID。所有上面提到的权限也会基于所有者和组进行分配。

如下的两个命令可以改变一个文件的所有者和组:

chown:chown 表示的是 “change owner”,并且它是被用来改变一个文件的所有者。chgrp:chgrp 表示的是 “change group”,并且它是被用来一个文件所属的组。

改变所有者关系chown 命令用来改变一个文件的所有者,它的基本语法如下:复制代码代码如下:$ chown user filelist上面命令中的 user 既可以是系统中的用户名,也可以是系统中用户的 id(uid)。 示例:复制代码代码如下:$ chown amrood testfile改变 testfile 文件的所有者为 amrood 用户。

注意:超级用户,root 用户,拥有不受限制的权限,能够更改所有文件的所有者,但是普通用户只能修改他们所拥有的文件的所有者。

改变组关系chgrp 命令被用来修改文件所属的组。基本语法如下:复制代码代码如下:$ chgrp group filelist上面命令中的 group 既可以是系统中存在的组的名称,也可以是系统中存在的组的 ID(GID)。

示例:复制代码代码如下:$ chgrp special testfile改变给定的文件的组为 special 组。

SUID 和 SGID 文件权限通常执行一个命令时,为了完成该任务它必须拥有某些特殊的权限。

举一个例子,当你使用 passwd 命令改变了你的密码后,您的新密码存储在文件 /etc/shadow 中。

作为一个普通用户,出于安全原因你没有读或写访问这个文件的权限,但是当你改变你的密码时,你需要拥有对这个文件写权限。这意味着 passwd 程序必须给你额外的权限,以便您可以编写文件 /etc/shadow,也就是需要额外的权限。

通过设置用户 ID(SUID)和组 ID(SGID) 位可以给程序额外的权限。

当您执行一个启用了 SUID 的程序,你继承了程序所有者的权限。启动改程序的用户就可以不用设置 SUID 直接运行该程序。

这对于 SGID 同样是适用的。通常程序是按组的权限进行执行,除非你的组改变了该程序所属组的拥有者。

如果 SUID 和 SGID 权限是可用的,它们将会以小写的 “s” 出现。SUID 的 “s” 位通常位于权限中所有者执行权限的旁边。如下:复制代码代码如下:$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin Feb 7 : /usr/bin/passwd*上面的显示了 SUID 被设置了并且该命令被 root 用户所拥有。在使用大写字母 S 而不是小写字母表示执行位没有设置。

如果对一个目录设置了防删除位(sticky bit),那么只有你是如下任意一种用户时你才可以删除该文件:

该目录的拥有者被删除文件的拥有者超级用户,root 用户你可以使用如下的方式设置任何目录的 SUID 和 SGID 位。复制代码代码如下:$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root Jun : dirname

Unix系统中目录的操作命令总结 目录是一个文件,它的作用是存储文件的名称和相关的信息。所有的文件,无论是普通,特殊,或目录都包含在目录中。UNIX使用层次结构来组织文件和

Unix系统中常用内置工具的命令使用指南 打印文件在UNIX系统中,您打印一个文件之前,您可能想要重新格式化它调整它的边距,高亮显示一些单词等等。大多数文件也可以打印而不用重新格式

裸设备是什么?例Oracle学习的问答 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个

标签: UNIX系统中文件的索引表结构

本文链接地址:https://www.jiuchutong.com/biancheng/350516.html 转载请保留说明!

上一篇:使用U盘安装FreeBSD系统的简单教程(使用u盘安装windows10电脑识别不出来)

下一篇:Unix系统中目录的操作命令总结(unix系统中目录采用什么结构)

  • 礼品的进项税能抵扣吗
  • 增值税发票认证平台
  • 有限责任公司相关规定
  • 现金支出的一般程序
  • 员工个人部分所承担的社保会计分录怎么做
  • 清税证明要什么证件
  • 实际收到股票股利的分录
  • 机械租赁费怎么算
  • 收到政府补助的固定资产的账务处理
  • 账外房产按评估入账怎么交税
  • 服务行业营业成本包括财务费用和管理费用吗
  • 正常的成本利润是多少
  • 办公室租赁合同需要交那些税?
  • 食用油从商业流入的原因
  • 车辆租赁合同印花税怎么算
  • 电子钥匙的发票怎么开
  • 个体工商户投资者减除费用
  • 列举20种不征增值税产品
  • 转出多交增值税会计科目
  • 存货计价方法的选择对利润表中的项目没有影响
  • 上年未计提所得税会计
  • 将自产产品用于职工福利的账务处理
  • 暂估冲红的分录怎么写
  • 联想笔记本bios密码忘记了怎么清除
  • 固定资产的专票可以抵扣吗
  • php最新动态
  • 分期摊销法计算公式
  • 营改增全面推开为什么还叫试点
  • 华为od机试成绩什么时候出来
  • php正则表达式验证网址
  • 三联专用发票每一联分别给谁
  • vue组件用法
  • mac m1 安装windows
  • 财政拨付资金什么意思
  • 退役士兵抵税2019
  • 帝国cms使用手册
  • 国家企业信用公示信息公示
  • 不动产销售额是否为免税
  • jdbc连接sqlserver2012
  • 其它应付款的审计内容
  • mysql5.5创建用户
  • 非公司人员差旅怎么报销
  • 关税进口增值税缴纳时间
  • 申请个税退税账号是什么
  • 电商刷单的成本如何处理?
  • 应收账款管理应该收集哪些信息
  • 现金流量表格式有几种
  • 工伤费退回会计分录
  • 债务人对债权人享有
  • 发出库存商品没有发票
  • 现金不够老板垫钱怎么办
  • 企业哪些项目可以立项
  • 代开专票作废税已经交了如何做分录?
  • 事业单位收到钱怎么记账
  • 目标考核奖金做什么科目
  • innodb_flush_method取值方法(实例讲解)
  • win8旗舰版和专业版区别
  • wpl是什么文件
  • xp系统蓝屏解决
  • ubuntu photoshop
  • 苹果Mac系统怎么切换输入法
  • winlogon是什么意思
  • 腾讯linux服务器
  • 如何在linux中添加环境变量
  • win8的开始菜单在哪里
  • jquery插件是干什么的
  • 简单的安卓程序
  • app启动页动画效果
  • 慎用是能用还是不能用
  • android设置移动网络灰色是什么原因
  • javascript获取数据
  • python tornado框架
  • 陕西税务平台
  • 税务局开展活动
  • 北京户籍网官方网站
  • 济阳二七大集
  • 江苏税务登录密码是几位
  • 预征率是2%怎么计算
  • 补发上个月的工资怎么做账
  • 八戒财税兼职
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号