【Linux】实验报告8 Linux文件系统

【Linux】实验报告8 Linux文件系统_第1张图片
作者|Ricky的水果摊

时间|2022年7月6日


文章目录

    • 实验目的
    • 实验内容
      • 1.文件信息命令
      • 2. 基本的命令行文件管理
      • 3. 文件系统权限操作

实验目的

  • 使用 「控制字符」 执行特殊功能;使用 filestrings 命令确定文件类型; 使用 catmore 命令显示文本文件的内容;使用 headtail 命令显示文本文件的部分内容;使用 wc 命令确定单词、行和字符数;使用 diff 命令比较 2 个文件。
  • 回顾 文件和目录命名约定;使用 touch 命令创建新文件;使用 mkdir 命令创建新目录;使用 rm 命令删除文件;使用 rm -r 命令删除目录。
  • 显示文件系统权限,确定文件的用户权限、属组权限或其他 (公共) 权限,确定对于一个可执行文件的文件权限,使用默认权限创建一个文件或目录。
  • 从命令行中 修改权限:使用文件系统来控制安全访问,使用 符号模式 修改文件或目录的权限,使用 八进制模式 修改文件或目录的权限
  • 使用 vi 编辑器 创建一个脚本文件,并且使它可执行
  • 访问文件管理器,使用文件和目录权限工作;使用文件管理器确定文件或文件夹的权限;使用文件管理器修改文件或文件夹的权限。

实验内容

1.文件信息命令

步骤 1:开机,登录进入 GNOME

在 GNOME 登录框中填写指导老师分配的用户名和口令并登录。

步骤 2:访问命令行

单击系统,在菜单中单击 “系统工具”—“终端” 命令,打开终端窗口。

步骤 3:使用「控制字符」执行特殊功能

控制字符 用来执行特殊的作业,如中止和启动屏幕输出。

Ctrl + C终止 当前进程。

Ctrl + Z暂停 当前进程。(进程进入 悬挂状态

Ctrl + D: 表示文件的末尾或者退出。

Ctrl + U: 擦除整个命令行。如擦除输入密码,重新开始输入。

问题1:

当你接下Ctrl + Z的时候,发生了什么事情?

回答1:

退出了当前manual,回到命令行界面


问题2:

  1. 在 shell 提示符下键入 bc ,启动基本的计算器工具程序。

  2. 把两个数字相乘 (键入:458*594 ,然后按回车键) 。

  3. Ctrl + D 退出计算器。

当使用计算器的时候,你的提示符是什么?

回答2:
【Linux】实验报告8 Linux文件系统_第2张图片

无提示符


问题3:

输入一个命令,在接下回车键执行命令之前按下 Ctrl + U,结果是什么?

回答3:

当前指令被擦除


步骤 4:使用 file 命令 确定文件类型

file 命令可以用来 确定文件类型,常见的输出格式有:文本文件、可执行文件或数据文件。

  • 文本文件:包括 ASCII 或英语文本、命令文本和可执行的 shell 脚本。这种类型的文件可以使用 cat 或 more 命令读取,可以使用 vi 或其他文本编辑器编辑。

  • 可执行 (或二进制) 文件:包括 32 位的可执行文件和可扩展链接格式 (ELF) 编码文件,和其他动态链接的可执行文件。这种文件类型表示这个文件是一个命令或程序。
    image-20220608175107940

步骤 5:使用 strings 命令

strings 命令用于读取可执行文件,如 /usr/bin/cat。在大多数情况下,strings 命令也可以给出命令的使用语法。

问题

使用 strings 命令查看 /usr/bin/cat 文件的可读字符,列出 strings 命令中的一 些输出。

【Linux】实验报告8 Linux文件系统_第3张图片

步骤 6:使用 cat 命令 显示文件的内容

cat 命令在屏幕上显示一个文本文件的内容,常用于显示如脚本文件这样的短文本文件
【Linux】实验报告8 Linux文件系统_第4张图片

步骤 7:使用 more 命令 显示文件的内容

more 命令是一个用于显示文本文件首选的方法,因为它会自动的一次显示一屏文件内容。
【Linux】实验报告8 Linux文件系统_第5张图片

步骤 8:使用 head 命令 显示文件的一部分

head 命令用于显示一个或多个文本文件的前 n 行。在默认情况下,如果没有给出 -n 选项,将显示前 10 行。当您只想查看文件的开始的几行,而不管文件的大小的时候,head 命令是很有用的。
【Linux】实验报告8 Linux文件系统_第6张图片

【Linux】实验报告8 Linux文件系统_第7张图片

步骤 9:使用 tail 命令 显示文件的一部分

使用 tail 命令,显示文件的最后几行。默认情况下,如果没有指定 -n 选项,将显示最后10 行。
【Linux】实验报告8 Linux文件系统_第8张图片

步骤 10:通过使用 wc 命令,确定行数、单词数和字符数

wc 命令可以用于显示文本文件的行数、单词数、字节数或者字符数。使用不带选项的 wc 将给出文件的行数、字节数。使用带一个选项的 wc,可以确定想查看的哪一项内容。
image-20220608181813706

步骤 11:使用 ls | wc

使用 wc 和 ls 命令可以确定主目录中条目 (文件和目录) 的数目。
image-20220608182138098

步骤 12:使用 diff 命令 确定文件之间的不同之处

diff 命令用于比较 2 个文本文件,找出在它们之间的不同之处。

该命令有 2 个选项:-i 和 -c

  • -i 选项忽略字母的大小写,例如 A 和 a 相等
  • -c 选项执行细致的比较。
    【Linux】实验报告8 Linux文件系统_第9张图片

步骤 13:关闭终端窗口,注销


2. 基本的命令行文件管理

步骤 14:回顾 Linux 的文件和目录命名规则

  • 最大长度:组成文件和目录名最大长度为 255 个数字/字母字符,应尽可能保持文件名简洁且有意义

  • 非数字字母字符:

    一些非数字字母字符或者元字符是可用的,包括下划线 (_) 、连字符号 (-) 和句点 (.) 。 这些元字符可以在文件或目录名中使用多次 (如Feb.Reports.Sales 是一个有效的文件或目录名)

    星号 (*) 、 问号(?) 和发音符号 (~) 、方括号 ([ ]) 、&、管道 [ | ] 、引号 (“”) 和美元符号 ($) 在文件名中允许使用,但不推荐这么做,因为这些字符对于 shell 有特殊的意义。

    分号 ( 、小于号 (<) 和大于号 (>) 是不允许作为文件名的

  • 文件名扩展:文件名可以包含一个或多个扩展名,扩展名常被一个应用追加到文件的末端。扩展名通常是 1 个到 3 个字符,追加到文件名的末端

  • 目录名的扩展名:目录名一般不包含扩展名,但是也没有规则反对这一点

  • 大小写敏感:Linux 文件和目录名是大小写敏感的。Project1 和 project1不是同一个文件。在一个目录中,不能够有两个文件有着同样的名字。一般规则都是使用小写字母

文件名 是否为Linux文件名或目录名 判断理由
12345abcde678 包含有效数字与字符
Hobbies:2 包含有效数字与字符
Adcd-123 包含有效数字与字符
Sale*repts*2001 是,但不推荐 (*)一般不推荐
D.projects.bj.2001 包含有效数字与字符
Projects>1.bj-2001 包含无效字符>

步骤15:使用 touch 命令 创建文件
touch命令可以同时创建一个或多个文件,对于快速创建需要处理的文件很有用。touch命令也可以用来更新文件被访问的时间和日期,使文件可以再次被备份,当创建文件或目录的时候,可以指定绝对和相对的路径名。

命令格式: touch filename

  1. 在主目录中使用 touch 命令创建一个名为 newfile 的文件,应该使用什么命令?
touch newfile
  1. 使用 touch 命令在这个目录中创建另一个叫做 filenew 的新文件,应该使用什么命令?
touch filenew
  1. 输入命令显示 practice 目录中的文件的长列表。创建的文件列出来了吗?
    image-20220609095810112

  2. 谁是文件的所有者?和文件关联的组是什么?创建的日期和时间是什么?
    image-20220609100156606

  3. 文件的大小是多少?
    image-20220609172420589

  4. 使用 file 命令确定 newfile 的文件类型。它是哪一类的文件?
    image-20220609102142487

  5. 使用 touch 命令同时创建 3 个文件:new1、new2 和 new3,应该使用什么命令?

touch new1 new2 new3

步骤16:使用 mkdir命令 创建新目录

命令格式: mkdir diretory._name

1.从主目录中,使用相对路径名改变到 practice 目录中,使用什么命令?

cd practice

2.使用 mkdir 命令,在这个目录中创建一个叫做 newdir 的子目录,使用什么命令?

mkdir newdir

3.输入命令,显示 practice目录中文件和目录的长列表。创建的目录列出来了吗?
【Linux】实验报告8 Linux文件系统_第10张图片

4.目录的所有者是?

所有者是parallels

5.使用 file 命令确定 newdir 文件的类型,它是哪一类的文件?
image-20220609102829538

6.如果名字中没有字符 dir,采取别的什么方法来识别出它是一个目录?

根据高亮的颜色区分

7.mkdir 命令创建3个目录,目录名分别为 high、 medium 和 low,应该使用什么命令?

mkdir high medium low

8.用ls命令检查创建是否成功
image-20220609103002242

步骤17:使用 rm 命令 删除文件
rm 命令可以删除单个文件或多个文件,可以通过在 rm 命令之后指定文件的名字,或者使用(*)和(?)通配符,同时删除几个文件。

在 Linux 系统中删除的文件是永远被删除了,除非使用图形界面删除文件,它们才能够被恢复。rm 命令可以带 -i 选项使用,它在删除文件之前会提示用户,避免误删文件。

命令格式:rm [-i] filename

1.使用 rm命令 删除早先在 practice 目录中创建的 newfile 文件,应该使用什么命令?

rm newfile

2.用带 -i 的 rm 命令,删除早先在 practice 目录中创建的 filenew 文件。
image-20220609103234423

3.删除早先创建的三个名为 new1、new2 和 new3 的文件。使用(?)通配符,用一个命令删除所有三个文件

rm new?

步骤18:使用 rm -r命令 删除目录

rm -r 目录用于删除目录,它将删除从目标目录开始的目录,包括所有的子目录和文件。

命令格式:rm -ri directory_name

1.删除早先创建的 newdir 子目录,使用什么命令?

rm -ri newdir

2.用相对路径名和快捷方式,改变回到 practice 子目录中,应使用什么命令?

cd ..

3.使用一个命令删除 high 和 medium 子目录,应使用什么命令?

rm -ri high medium

步骤19:练习所学习到的内容
通过在 practice 目录中创建一个三级的目录树,练习使用 touch、 mkdir 和 rm命令,记住可以使用一个命令创建整个目录结构。在每个目录中创建多个文件,结束的时候,请删除实验时创建的文件和目录。

步骤20:关闭终端窗口,注销


3. 文件系统权限操作

步骤 1:开机,登录进入 GNOME

在 GNOME 登录框中填写指导老师分配的用户名和口令并登录。

步骤 2:访问命令行

单击“应用程序”菜单中单击“系统工具”-“终端”命令,打开终端窗口。

步骤 3:显示权限

权限控制着谁能够对文件系统中的文件和目录做什么。目录和文件权限可以使用 ls -l 命令来确定。
【Linux】实验报告8 Linux文件系统_第11张图片

【Linux】实验报告8 Linux文件系统_第12张图片

步骤4:解释权限

符号 权限 普通文件
r 文件可以被显示或者拷贝,只有读权限不能够删除或移动文件
w 文件可以被修改、移动和删除
x 执行 文件可以被执行 (shell 脚本或者可执行文件)
- 权限被拒绝 短横线表示权限被拒绝

步骤 5:确定文件的用户权限

9个权限被分成3个权限1组,每组的3个权限总是按照 r、w、x的顺序排列,如果无当前权限,将由-代替

第 1 组的3个权限是 用户的权限组,这些权限决定其所有者能够做什么。

实践:创建一个test的文件,向test中输入适量的文本,查看test文件的相关权限
image-20220609171102878

1.谁是 test 文件的所有者?

parallels

2.用户权限的头 2 个字符是什么?

rw → 表示可读可写

3.在用户的权限组中,第 3 个位置是什么?

- → 表示无执行权限

4.列出根据所给的文件权限,用户 (所有者) 能够做的 4 件事情。

读取、修改、删除、拷贝

步骤 6:确定文件的属组权限

系统管理员给每一个用户分配了一个主属组,第 2 组的 3 个权限决定了主属组的成员能够做什么
image-20220609171102878

1.test 文件的所有者是什么主属组的成员?

parallels

2.属组权限的第一个字符是什么?这允许属组的其他成员对文件进行什么操作?

r / 可读

步骤 7:确定文件的其他 (公共) 权限

最后一组字符,叫做其他权限,是其他每一个人都有的权限。其他指既不是文件所有者也不是文件所有者所在属组的成员,但是有权访问系统的所有人。
image-20220609171102878

1.不是所有者和属组的其他人对 test 文件有什么权限?

不是所有者和属组的其他人有 可读权限


步骤 8:确定可执行文件的文件权限
image-20220609173518170

1.从主目录中显示在 /usr/bin 目录中的 bc 文件的长目录列表。使用什么命令?

ls -l /usr/bin/bc

2.用户权限是什么?

可读、可写、可执行

3.属组权限是什么?

可读、可执行

4.其他权限是什么?

可读、可执行


步骤 9:使用默认权限创建一个新文件

使用默认权限创建新文件,使用 touch 命令在主目录中创建一个新文件

1.在主目录中创建一个叫做 newfileperms 的新文件,使用什么命令和路径名?

touch ~/newfileperms

2.查看 newfileperms 的权限,使用什么命令和路径名?

ls -l newfileperms

image-20220609174503268

3.分配给这个文件的默认权限是什么?

用户:可读、可写

主属组:可读、可写

其他用户:可读

4.谁是所有者?

parallels

5.谁是主属组?

parallels

6.主属组的成员能够重新命名这个文件吗?

可以


步骤 10:使用默认权限创建一个新目录

使用 mkdir 命令创建一个新目录。

1.在主目录的 practice 目录中创建一个叫做 newdirperms 的新目录。使用什么命令和路径名?

mkdir ~/Desktop/practice/newdirperms

2.列出主目录中的内容,查看 newdirperms 的权限。使用什么命令和路径名?

ls -l practice

image-20220609191443337

3.分配给这个目录的默认权限是什么?

用户:可读、可写、可执行

主属组:可读、可写、可执行

其他用户:可读、可执行

4.谁是所有者?

parallels

5.谁是主属组?

parallels

6.一个主属组的成员能够在这个目录中添加文件吗?

可以


步骤 11:回顾 chmod 命令模式

chmod命令 被文件所有者 (或超级用户) 用来修改文件权限

  • 符号模式:使用字母与符号的组合,为不同类别的用户添加或删除权限, 符号模式也叫做相对模式。

  • 八进制模式:使用数字表示文件权限,八进制模式也叫做绝对或者数字模式。

命令格式:chmod mode filename


步骤 12:使用符号模式修改文件权限

符号模式的命令格式使用字母和符号,命令的模式部分由 3 个部分组成:

  • 用户对象:u = 用户,g = 属组, o = 其他,a = 所有
  • 操作:设定 (=) ,删除 (-) ,给予 (+)
  • 权限:r = 读,w = 写,x = 执行

1.在主目录中使用相对路径名创建一个叫做 chmoddir 的新目录。使用什么命令创建目录?

mkdir chomoddir

2.改变到 chmoddir 目录中,创建一个叫做 symfile 的新文件,使用什么命令创建文件?

touch symfile

3.使用 ls -l 命令来确定 symfile 的权限
image-20220609215458088

4.使用 chmod 命令,在符号模式下,删除其他用户对于文件 symfle 的读权限,使用什么命令?

chmod o-r symfile

image-20220609215722672

5.如果想只使用一个命令删除属组和其他类别的读权限,使用什么命令?

chmod og-r symfile

image-20220609220456254

步骤 13:使用符号模式修改目录权限。

1.改变回到主目录,使用什么命令?

cd ..

2.从主目录中列出早先创建的新的 chmoddir 目录的权限
image-20220609220857938

3.除了自己或者属组成员以外的其他用户能够从 chmoddir 目录中拷贝文件吗?为什么能或者为什么不能?
image-20220609221735896

4.使用 chmod 命令,在符号模式下,删除其他类别用户对于目录 chmoddir的读和执行权限

chmod o-rx chmoddir

5.再次列出目录的权限。其他类别用户的权限是什么?

image-20220609222427819

6.主属组成员能够在你的 chmoddir 目录中创建或者拷贝文件吗?为什么能或者为什么不能?

image-20220609222604908

7.使用 chmod 命令,在符号模式下,给主属组去除对目录 chmoddir 的读权限,使用什么命令?

chmod g-r chmoddir

步骤 14:确定八进制权限。

八进制模式 为同时修改所有类别用户的权限提供了一个快捷的数字方式,而且允许每组权限不同。

  • r 权限指派数为 4,w 权限指派数为 2,x 权限指派为 数字 1

  • 例如,如果所有者的权限是 rwx,有 4 + 2 +1 = 7;如果主属组有 rw 权限,有 4 + 2 + 0= 6;如果其他用户只有 r 权限,有4 + 0 + 0 = 4,所以这个文件或目录的 octal_mode 是 764

练习:

用户权限 八进制数 属组权限 八进制数 其他权限 八进制数 八进制模式权限
rwx 7 rw- 6 rw- 6 766
rw- 6 r– 4 r– 4 644
r– 4 r– 4 r– 4 444
rwx 7 r–x 5 r–x 5 755

image-20220609221735896


步骤15:使用八进制模式修改文件权限
使用八进制模式,没有必要指定用户的类别,因为每个数字的位置表示了三种用户类别中的一种。Octal mode 由三个数字组成,每个都是一种用户类别的总和。

命令格式:chmod octal_mode filename

1.改变到 chmoddir 目录中,创建一个叫做 octfile 的新文件,使用什么命令创建文件?

touch octfile

2.用 ls -l 命令来确定 octfile 的权限,这些是文件的默认权限,用户、主属组和其他用户的权限是什么?
image-20220609224619546
3.与这个文件的用户、主属组和其他权限等同的八进制模式是什么?

664

4.使用 chmod 命令,在八进制模式下,删除其他用户对于 octfile 的 r (读) 权限,使用什么命令?

chmod 660 octfile

5.再次列出文件的权限,其他用户类别现在的权限是什么?
image-20220609224919141

6.如果想只使用一个命令,删除属组和其他类别的所有权限,使用什么命令?

chmod 600 octfile

步骤 16:使用八进制模式修改目录权限。

下面的格式用于修改目录的权限,-R (递归) 选项修改指定目录的权限,包括其中的所有子目录和文件。

命令格式:chmod [-R] octal_mode directoryname

1.改变到主目录,使用什么命令?

cd ..

2.从主目录中列出 chmoddir 目录的权限,对于用户、主属组和其他用户的权限是什么?
image-20220609225432485

3.该目录权限的八进制码是什么?

755

4.在八进制模式下,删除其他用户对于目录 chmoddir 的读和写权限,使用什么命令?

chmod 751 chmoddir

5.再次列出目录的权限,其他用户类别的权限现在是什么?用户和属组的权限保持不变吗?
image-20220609225845683
6.使用八进制模式把权限改回默认权限 (rwxr-xr-x)

chmod 755 chmoddir

步骤 17:创建一个脚本文件,使它能够执行。

在本步骤中,将使用 vi 编辑器创建一个简单的文本脚本文件,脚本文件在自动重复作业的时候非常有用。

1.进入 chmoddir 目录,启动 vi 编辑器, 创建一个名为 myscript 的文件,输入 echo “hello!”

2.按下 ESC 键,返回命令模式,然后输入一个冒号,进入末行模式。按下 wq 来保存)文件,然后退出 vi

3.列出文件,它的权限是什么?
image-20220609230545991

4.键入 ./myscript,就像它是一个命令,然后按下回车键,命令的响应是什么?
image-20220609230641020
5. 修改 myscript 的权限,使得用户权限包括 x (执行) 。使用什么命令修改权限?

chmod 764 myscript

6.列出文件,检查修改的权限,用户 (所有者) 现在的权限是什么?
image-20220609230958725

7.再次把 myscript 作为一个命令键入,然后按下回车键,命令的响应是什么?
image-20220609231312960

步骤18:删除在本实验中创建的文件和目录
删除在本实验过程中在你的主目录中创建的所有文件和目录

步骤19:关闭终端窗口,注销。


你可能感兴趣的:(Linux实验报告,linux,服务器,运维)