实验四:文件系统
实验步骤
- 登录系统。
a.使用实验一创建的用户名和密码登录系统。
b.打开终端程序。
- 文件和目录操作
a.在主目录中创建空文件large。
touch large
b.使用cat命令,将garden文件的内容多次追加到large中,使large的长度达到10页。
cat >> large
wc -l large
(不断执行上面语句,直到行数大于等于240)
c.使用pg命令及其选项,在屏幕上浏览文件large。
使用man pg,获取选项信息,然后依次再执行:
pg 选项 large
d.使用more命令及其选项,在屏幕上浏览文件large。
使用man more,获取选项信息,然后依次再执行:
more选项 large
e.在主目录中创建目录Memos。
mkdir Memos
f.使用cp命令复制主目录下所有的文件到Memos目录下。
cp * Memos
- 链接数的改变
a.使用ls -l large命令查看large文件的链接数。
(链接数是显示信息的第2个字段,应该为1)
b.使用ln命令,为large创建另一个名称large.link。
ln large large.l
c.使用ls命令及-i和-l选项,列出所有large开头的文件,观察i节点号和链接数。
ls -il large*
(比对结果:除了文件名之外所有其它信息都一致,链接数为2)
d.使用cat命令或cp命令,创建large的副本large.copy。
方式1:cat large > large.copy
方式2:cp large large.copy
e.使用ls命令及-i和-l选项,列出所有large开头的文件,观察i节点号和链接数。
ls -il large*
(比对结果:large.copy与其它两个文件的i节点号和链接数都不同)
f.使用mv命令,将large.copy和large.link移到Memos下。
mv large.copy large.link Memos
g.切换到Memos目录。
cd Memos
h.使用ls命令及-i和-l选项,列出所有large开头的文件,观察i节点号和链接数是否有变化。
ls -il large*
(i节点号和链接数没有变化,说明文件的移动不影响链接关系)
i.创建文件large.link的副本large.link2
cp large.link large.link2
j.使用ls命令及-i和-l选项,列出所有large开头的文件,观察i节点号和链接数。
ls -il large*
(large.link的i节点号和链接数没有变化,说明文件的复制不影响链接关系)
k.切换到父目录,删除目录Memos。
cd ..
rm -r Memos (一次删除)
或
rm Memos/*
rmdir Memos (先删除文件,再删除目录)
l.使用ls命令及-i和-l选项,显示所有large文件信息,观察链接数。
ls -l large
(链接数变为1)
- 文件局部处理
a.分别显示文件large的前5行、后5行、10-20行。
前5行:head -5 large
后5行:tail -5 large
10-20行:head -20 large | tail -11
b.将文件large的最后30个字符保存到另一个文件large.30chars。
tail -c 30 > large.30chars
- 文件查询
a.在主目录中查找名为large.30chars的文件,并删除该文件
find $HOME -name passwd.30chars -exec rm {} \;
b. 查找当前目录中的子目录,并列出其内容(为找到的每一个目录单独执行ls命令,执行命令前需要确认)
find . -type d -ok ls {} \;
c.在bin目录中查找文件大小小于等于1kB的文件
find /bin -size -3 -print (1块=512字节)
d.查找当前目录中,所有2天内修改的文件。
find . -mtime -2 -print
- 文件剪切与连接
a.在主目录下创建两个文件numbers和chars
touch numbers chars
b.使用vi输入其内容,如下:
numbers
11111111111111111 22222222222222222 33333333333333333 44444444444444444 55555555555555555 66666666666666666 77777777777777777 88888888888888888 99999999999999999 |
chars
aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbb ccccccccccccccccc ddddddddddddddddd eeeeeeeeeeeeeeeee fffffffffffffffff ggggggggggggggggg hhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiii |
c.使用cut命令显示numbers每行的前5个字符。
cut -f 1-5 numbers
d.使用paste命令将numbers和chars文件连接到一起,用@字符作为域分隔符。将结果保存到numbersANDchars文件中。
paste -d @ numbers chars > numbersANDchars
e.使用wc命令统计numbersANDchars的行数,字符数和单词数。
wc numbersANDchars