实验2 Linux文件系统
一.实验目的
通过实验掌握Linux中文件管理的基本概念,包括常用命令格式、文件类型、目录结构等,初步了解有关文件安全方面的知识。。
二.实验内容
1.使用pwd,cd,ls等命令浏览文件系统。
2.使用cat,cp,mv,head,tail,rm等命令查看和操作文件。
3.使用find,grep命令进行文件查找和模式匹配。
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〉将工作目录移到你的主目录。显示文件file1前10行的内容:〈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和-print是find命令的选项。
例子:
#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)允许指定的用户可以打开文件并阅读其内容。如cat,more,file和cp命令等。
写权限(w)允许指定的用户可以打开文件并修改其内容。如vi, cp等。
执行权限(x)允许指定的用户运行(即执行)一个二进制文件文件或者把一个shell脚本文件当做命令来运行。当你通过输入命令名来调用命令时,你必须具有该命令文件的执行权限。
〈3〉目录存取权限
读权限(r)允许你列出相应目录中所存放的文件的名字(即目录的内容表)。
写权限(w)允许你从目录中删除已有文件或者把新文件添加到目录中。
查询权限(x)允许你在目录中进行查找和使用cd命令把工作目录放到它这里。
〈4〉确定文件权限
用ls –l命令:显示内容第一项
〈5〉修改文件权限
文件主或root用户可以使用chmod命令来修改文件或目录的权限。修改文件权限的方式有两种:符号模式和绝对模式。
符号模式格式如下:
chmod key 文件 [文件列表]
其中,key由以下成分组成:
[who] [+|-|=] [mode]
——who这一部分可以由下面的一个和多个字符组成:u,g,o或a,它们分别表示文件主,组用户,其他用户或所有三种用户。默认值是a。
——第二部分必须是以下三个字符中的一个:+,-,或者=,分别表示增加,删除或者设定。
——mode成分可以由以下字符任意组合:r,w或x,分别表示读,写或者执行/查询的权限。
以上三个部分必须依次输入,而且它们之间没有空格。在一个命令行中可以指定多个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)