一、实验目的:
(1)掌握文件和目录的区别
(2)熟悉文件和目录的相关操作:建立、复制、移动、删除、重命名、查找、统计等
(3)掌握输入、输出重定向的用法
(4)掌握find的常见查找模式
(5)理解文件的类型及查看
二、实验准备
(2)了解linux命令行的基本概念,掌握通配符的使用方法。
(3)了解绝对路径和相对路径的概念及表达方法。
三、实验过程
例如:
1.命令操作
- mkdir命令操作,查看命令显示结果。
rmdir命令操作,查看命令显示结果。
more/less命令操作,查看命令显示结果。
cp命令操作,查看命令显示结果。
rm命令操作,查看命令显示结果。
【选项】
-f 忽略不存在的文件,不作提示。
-i 删除前提示用户确认。
-r 递归删除目录。
-v 显示操作结果。
mv命令操作,查看命令显示结果。
wc命令操作,查看命令显示结果。
sort命令操作,查看命令显示结果。
find命令操作,查看命令显示结果。
grep命令操作,查看命令显示结果
chmod命令操作,查看命令显示结果。
touch命令操作,查看命令显示结果
mount命令操作,查看命令显示结果。
umount命令
2.问题解答
(1) rmdir 命令可以删除一个目录,请问如何一次性删除多级目录?
mkdir -p a/b/c 递归删除目录
function deltree($pathdir)
{
echo $pathdir;//
if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接删除
}
else
{//否则读这个目录,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a) && ($a!='.') &&
($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接删除
if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
{//如果是目录
if(!is_empty_dir($pathdir.'/'.$a))//是否为空
{//如果不是,调用自身,不过是原来的路径+他下级的目录名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接删除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();
echo "必须先删除目录下的所有文件";//调试时用的
}
}
function is_empty_dir($pathdir)
{//判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空,PHP有没有给出什么
函数?
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return false;}
else return true;
}
(2) cp 命令可以复制一个文件,如果想要复制一个文件夹,需要加上什么样
的参数?cp -r /aaa/ /bbb/
四、实验总结
(1)没有理解find命令的参数含义以及其具体使用
没有彻底理解mount命令中的一些参数(nfs,vfat),以及挂载的含义
使用递归的方式建立目录时终端报错,参数出错
(2)yum命令
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。
Apt命令
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令
apt [options] [command] [package ...]
options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。