linux实验二

简介: 实验2 Linux文件系统 一.实验目的通过实验掌握Linux中文件管理的基本概念,包括常用命令格式、文件类型、目录结构等,初步了解有关文件安全方面的知识。

实验2 Linux文件系统

.实验目的

通过实验掌握Linux中文件管理的基本概念,包括常用命令格式、文件类型、目录结构等,初步了解有关文件安全方面的知识。。

 

.实验内容
1.
使用pwdcdls等命令浏览文件系统。
2.
使用catcpmvheadtailrm等命令查看和操作文件。
3.
使用findgrep命令进行文件查找和模式匹配。
4.
使用chmod命令修改文件的权限。

 

三、         实验报告

1.              简要说明实验的目的、任务与设备

2.              写出具体的实验步骤

3.              总结实验过程中遇到的问题及解决方法

4.              实验体会


.   实验步骤

所有实验内容均在终端命令行界面完成。

.目录操作

〈1〉 确认当前用户的主目录,和显示当前的工作目录。

〈2〉 利用ls命令显示当前工作目录的内容:

3〉运行以下命令,查看有何显示结果:
     ls –ai

4〉使用mkdir命令建立一个子目录subdir
5〉使用带-d选项的ls命令,你只能看到有关子目录的信息。
6〉使用cd命令,将工作目录改到根目录(/)上。
7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容。
8〉使用ls-l命令列出/dev的内容。
9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。
10〉使用命令cd  ../..,你将工作目录移到什麽地方?

 

.文件处理

1〉利用cd命令,将工作目录改到你的主目录上。
2〉将工作目录改到你的子目录subdir,然后运行命令:
      date > file1
   
将当前日期和时间存放到新建文件file1中。
3〉使用cat命令查看file1文件的内容。
4〉利用man命令显示date命令的用法:
      man date
5〉将date命令的用法附加到文件file1的后面:
     man date >> file1
6〉利用cat命令显示文件file1的内容。
7〉利用ls -l file1命令列出文件file1的较详细的信息。

11〉将工作目录移到你的主目录。显示文件file110行的内容:〈12〉显示文件file1的最后10行(这是默认值)的内容。
13〉显示目录/bin的详细内容。
14〉分屏显示/bin目录的内容。
15〉利用cp命令生成文件file1的副本fa。然后利用ls -l命令查看工作目录的内容。
16〉利用rm fa命令将文件fa删除。再利用ls -l命令查看工作目录内容。
17〉运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中?
18〉利用cat file*命令列出当前工作目录中以file开头的所有文件。
19〉运行cat file?命令,与上面结果相比有何差别?


. 查找文件和目录操作

1.增加用户xiaomei

2.利用grep命令在/etc/passwd文件中找到xiaomei的有关信息,并输出到文件xiaomeipd中。并用cat查看xiaomeipd的内容

3.利于whereis命令查找命令ftp

4.查找文件passwd,并显示其路径


.文件存取权限的操作
1.
创建目录sample,设置访问权限如下:

使创建该目录的用户拥有所有三种权限,同组用户只具备读访问权限,其它用户没有该目录的访问权限。

2.让其它用户获得目录sample的读访问权限

 

.有关文件和组的操作

创建用户mary和组class,将mary添加到class组中

实验指导:实验2 Linux文件系统

. Linux 中文件

五种类型文件:

普通文件(-)

目录(d)

特殊/设备文件(块特殊文件b或字符特殊文件c)

命名管道(p)

符号链接(l)

 

.文件系统结构(树结构)

根目录下:

/boot:启动Linux时需要的所有文件。

/Bin:二进制目录,包含大多数Linux命令的二进制映象。

/dev 设备目录,包含的文件对应于连接到计算机的设备(终端、磁盘驱动器等等)。有字符特殊文件和块特殊文件。

/etc :包含许多专用于主机的文件和目录,这些文件和目录包含了系统配置文件。

/home :包含用户的主目录。创建的所有用户都会在这个目录下建立一个子目录,目录名为用户名。用户本身对该目录下文件拥有所有权限。

/lib

 

.目录操作

命令echo $HOME : 确认当前用户的主目录

命令pwd:显示当前的工作目录。

1.创建和删除目录

命令mkdir创建目录;命令rmdir删除目录;

语法:mkdir [选项]目录名

rmdir [选项]目录名(注意目录下必须为空)

选项-p:可以创建和删除一系列具有父子关系的目录。

例:

#mkdir  /home/xiaomei/course

#mkdir –p stu/temp (同时创建目录stu temp

#rmdir course course目录下必须为空,否则会显示错误信息)

 

2.改变目录

命令cd:改变当前目录

例:

#cd  /home/007   (进入根目录下的home目录中的007目录)

#cd        (cd不带任何参数,回到主目录)

#cd 。。    (回到上一层目录,如果当前目录为/home/007,则该命令执行后当前目录为/home)

 

3.显示目录内容: 命令ls

命令格式:ls [选项]目录名 (显示目录中所有子目录及文件名)
选项:-l:以列表方式显示。包含文件类型与权限、硬链接数目、所有者、组、文件大小、修改时间、文件名

文件类型:

普通文件(-)

目录(d)

特殊/设备文件(块特殊文件b或字符特殊文件c)

命名管道(p)

符号链接(l)

 

-a: 显示所有文件,包含隐藏文件(如. ..)。

其余选项用man命令查看   #man ls

可以多个选项一起使用。如:-la

例:

#ls –l |more (分屏显示当前目录详细内容)

 

.文件处理

1.查看文件

命令cat

格式:cat [选项]文件名

选项 –n:为显示行添加行号

例:#cat  test2 (显示当前目录下test2的文件内容)

 

命令more:如果要查看的文件超过一页,可以分屏显示。

空格键:显示下一屏

回车键:显示下一行

 

命令head:显示文件的头10行内容

命令tail:显示文件的末尾10行内容

 

2.复制文件,命令cp

命令格式:cp[选项] 文件1 文件2(复制文件1,并将副本命名为文件2。如果文件2是个目录,就将文件1的副本放在目录中。)

选项:

-i : 如果目标文件存在,在覆盖前提示

-r : 复制目录

注意:复制前必须具有文件1的读权限和文件2的写权限。

 

3.文件的移动和重命名,mv命令

格式:mv [选项] 文件1 文件2

例子:

#mv  temp  temp.moved(temp重新命名为temp.moved)

#mv  dir1/*  dir2 (将目录dir1中所有文件和目录(不包括隐藏文件)移到目录dir2)

 

4.删除文件 rm命令(丛文件结构中删除文件,以释放磁盘空间)

格式: rm [选项] 文件列表

选项:

-i : 删除前提示

-f : 强制删除,不考虑权限

-r : 删除目录中所有内容包括所有非空子目录。

 

5. 查找文件和目录
<1>
利用find命令可以查找文件和目录的位置。你要告诉系统你想查找的文件名和从哪个目录开始进行查找。

格式:find 目录列表 -name 文件名 -print
其中,目录列表是指定开始查找的目录,文件名是你要查找的文件或目录。-name-printfind命令的选项。

例子:

#find /usr/include –name socket.h –print

(/usr/include及子目录中查找文件socket.h,并打印该文件的绝对路径)

 

<2>利用whereis命令找出系统中是否有一个特别命令。(执行命令时,该命令有效但shell找不到它时用)

格式:whereis [选项]命令名

找到显示该命令的绝对路径名及手册页的绝对路径名

 

3〉查找文件中指定的模式
grep
命令常用于文本文件中查找给定的词或短语。包含给定模式字符串的行在标准输出(即显示器)上显示出来。

格式:grep [选项] 字符串 文件名

例子:

#grep xiaomei /etc/passwd(在/etc/passwd目录中寻找字符串xiaomei,找到则显示包含该字符串的行信息)

#grep –n xiaomei /etc/passwd (文件中包含xiaomei字符串的行都显示了行号)

 

6. 文件输出重定向

格式:命令 > 输出文件

例:

#ls >file1 (ls显示的结果输出到文件file1,如果file1存在,则覆盖)

7.给文件追加数据

格式:命令 >> 输出文件

例:

#ls –l  >>file1 (ls -l显示的结果追加到文件file1末尾)

 

.文件存取权限
1〉存取权限
Linux
系统对所有文件设置了存取权限。存取权限让你确定谁可以对你的个人文件和目录进行访问,以及可以进行什麽操作。
把所有用户分为三类:
——文件主(user),即文件的属主。
——组用户(group),即文件组的成员。
——其他用户(other),即能对系统进行访问的所有其他用户。
对一个文件的存取权限分为三种:
——读(r
——写(w
——执行(x
一组存取权限以及相应的文件类型统称为文件模式。

如:rw- r-- r--表示文件主有读和写的权限,组用户和其他用户只有读权限。
2〉文件存取权限
读权限(r)允许指定的用户可以打开文件并阅读其内容。如catmorefilecp命令等。
写权限(w)允许指定的用户可以打开文件并修改其内容。如vi cp等。
执行权限(x)允许指定的用户运行(即执行)一个二进制文件文件或者把一个shell脚本文件当做命令来运行。当你通过输入命令名来调用命令时,你必须具有该命令文件的执行权限。
3〉目录存取权限
读权限(r)允许你列出相应目录中所存放的文件的名字(即目录的内容表)。
写权限(w)允许你从目录中删除已有文件或者把新文件添加到目录中。
查询权限(x)允许你在目录中进行查找和使用cd命令把工作目录放到它这里。

4〉确定文件权限
ls –l命令:显示内容第一项

5〉修改文件权限
文件主或root用户可以使用chmod命令来修改文件或目录的权限。修改文件权限的方式有两种:符号模式和绝对模式。
符号模式格式如下:
chmod  key
文件 [文件列表]
其中,key由以下成分组成:
[who] [+|-|=] [mode]
——who这一部分可以由下面的一个和多个字符组成:ugoa,它们分别表示文件主,组用户,其他用户或所有三种用户。默认值是a
——第二部分必须是以下三个字符中的一个:+-,或者=,分别表示增加,删除或者设定。
——mode成分可以由以下字符任意组合:rwx,分别表示读,写或者执行/查询的权限。
以上三个部分必须依次输入,而且它们之间没有空格。在一个命令行中可以指定多个key,彼此间用逗号隔开,中间没有空格。
如:设文件f原来的权限是rw-rw-r--,现在想让所有用户都具有执行权限,则可使用以下命令:
chmod a+x f
该命令执行后,文件f的权限变成rwxrwxr-x

 

绝对模式格式如下:
chmod
八进制模式 文件 [文件列表]
例子:权限 rw- rw- r-- 用二进制表示应为:110 110 100

八进制表示则为:664

#chmod 664 file1

(将文件1赋予rw- rw- r--权限)

    

.有关文件和组的操作

1.改变文件或目录所属的组 chgrp命令

格式:chgrp [选项] 组名 文件名

2.改变文件的属主 chown命令

格式:chown [选项] 用户名 文件名

例:#chown xiaomei test(将文件test的所属用户由root改为xiaomei

 

 

目录
相关文章
|
11月前
|
网络协议 应用服务中间件 Linux
Linux网络综合基础实验
Linux网络综合基础实验
102 0
|
3月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
183 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
3月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
193 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
3月前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
274 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
|
3月前
|
NoSQL Linux 编译器
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
如何配置环境并使用QEMU虚拟机结合GDB进行Linux内核代码的断点调试,包括安装QEMU、交叉编译工具链,编译内核以及通过GDB远程连接进行调试的详细步骤。
135 0
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
|
2月前
|
Linux
linux内核 —— 读写信号量实验
linux内核 —— 读写信号量实验
|
3月前
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
|
4月前
|
小程序 Linux
【编程小实验】利用Linux fork()与文件I/O:父进程与子进程协同实现高效cp命令(前半文件与后半文件并行复制)
这个小程序是在文件IO的基础上去结合父子进程的一个使用,利用父子进程相互独立的特点实现对数据不同的操作
103 2
|
5月前
|
Linux
Linux VXLAN小实验
该文介绍了如何在两台运行CentOS 7的Linux主机(T620和T630)之间建立VXLAN隧道。通过配置VXLAN ID、远程和本地IP,以及设置隧道接口和路由,实现10.0.10.12和10.0.10.13之间的通信。文中提供了详细的配置命令,并展示了成功ping通和抓包的验证结果。
|
6月前
|
分布式计算 Hadoop Linux
实验: 熟悉常用的Linux操作和Hadoop操作
实验: 熟悉常用的Linux操作和Hadoop操作
84 2