仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 726|回复: 13
打印 上一主题 下一主题

[其他Linux] Linux编程:接纳站功效在 Linux 中的完成仓酷云

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last
本文模仿Windows接纳站的功效,使用Bash剧本在Linux上做了完成,创立delete剧本取代rm命令对文件或目次举行删除操做。该剧本完成了以下功效:对年夜于2G的文件或目次间接删除,不然放进$HOME/trash目次下;恢复trash目次中的被删除文件到原目次下;文件寄存在trash目次中凌驾七天被主动删除。
概述

删除是伤害系数很高的操纵,一旦误删大概会形成无法计算的丧失。在Linux体系中这类伤害尤其分明,一条复杂的语句:rm–rf/*就会把全部体系全体删除,而Linux其实不会由于这条语句的分歧理而回绝实行。在Windows中,为了避免误删,体系供应了接纳站功效。用户在实行删除操纵后,文件其实不会间接从硬盘中删除,而是被放到接纳站中。在清空接纳站前,假如发明有文件被误删,用户能够将接纳站中的文件恢复到本来的地位。而Linux并没有供应相似功效,删除命令rm一旦确认实行,文件就会间接从体系中删除,很难恢复。
接纳站组成

本文共用三个剧本完成了接纳站的次要功效:Delete剧本、logTrashDir剧本和restoreTrash剧本。个中Delete剧本是中心剧本,其感化是从头封装rm命令。相对rm的间接删除,该命令会先将文件或目次挪动到$home/trash目次下。假如用户想要将文件间接删除,能够用-f选项,delete剧本会间接挪用rm–f命令将文件从硬盘上删除。logTrashDir剧本用于将被删除文件的信息纪录到trash目次下的一个埋没文件中。restoreTrash剧本用来将放进trash中的文件或目次从头恢复到原路径下。在Linux体系中,只需将这三个剧本放到/bin/目次下,并用chmod+Xfilename付与可实行权限,便可间接利用。上面将先容每一个剧本的次要部分
Delete剧本

创立目次

起首要创立目次来寄存被删除的文件,本文在用户根目次$HOME下创建trash目次来寄存文件。详细代码以下:
清单1.创立接纳站目次

1
2
3
4
5
6
realrm="/bin/rm"
if[!-d~/trash]
then
mkdir-v~/trash
chmod777~/trash
fi

如上所示,先判别目次是不是已创建,如未创建,即第一次运转该剧本,则创立trash目次。变量realrm寄存了Linux的rm剧本地位,用于在特定前提下挪用以间接删除文件或目次。
输入匡助信息

该剧本在用户仅输出剧本名而未输出参数实行时,输入扼要匡助信息,代码以下:
清单2.输入匡助信息

1
2
3
4
if[$#-eq0]
then
echo"Usage:deletefile1[file2file3....]"
echo"Iftheoptionscontain-f,thenthescriptwillexecrmdirectly"

如代码所示,该剧本的使用格局是delete后跟要删除的文件或目次的路径,两头用空格离隔。
间接删除文件

有些用户确认生效并想间接删除的文件,不该放进接纳站中,而应间接从硬盘中删除。Delete剧本供应了-f选项来实行这项操纵:
清单3.间接删除文件

1
2
3
4
5
6
7
8
9
10
11
12
whilegetopts"dfiPRrvW"opt
do
case$optin
f)
exec$realrm"$@"
;;
*)
#donothing
;;
esac
done

假如用户在命令中到场了-f选项,则delete剧本会间接挪用rm命令将文件或目次间接删除。如代码中所示,一切的参数包含选项城市传送给rm命令。以是只需选项中包含选项-f就即是挪用rm命令,可使用rm的一切功效。如:delete–rfvfilename即是rm–rfvfilename。
用户交互

必要与用户确认是不是将文件放进接纳站。相称于Windows的弹窗提醒,避免用户误操纵。
清单4.用户交互

1
2
3
4
echo-ne"Areyousureyouwanttomovethefilestothetrash?[Y/N]:a"
readreply
if[$reply="y"-o$reply="Y"]
then#####

判别文件范例并间接删除年夜于2G文件

本剧本只对一般文件和目次做操纵,其他范例文件不做处置。先对每一个参数做轮回,判别他们的范例,关于切合的范例再判别他们的巨细是不是凌驾2G,假如是则间接从体系中删除,制止接纳站占用太年夜的硬盘空间。
清单5.删除年夜于2G的文件

<p>1
2
3
4
5
6
7
8
9
10
11
12
forfilein$@
do
if[-f"$file"&ndash;o&ndash;d"$file"]
then
if[-f"$file"]&&[`ls&ndash;l$file|awk{print$5}`-gt2147483648]
then
<p>echo
再现理想 该用户已被删除
沙发
发表于 2015-1-20 19:54:52 | 只看该作者
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
不帅 该用户已被删除
板凳
发表于 2015-1-21 21:37:02 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
老尸 该用户已被删除
地板
发表于 2015-1-25 11:01:50 | 只看该作者
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
因胸联盟 该用户已被删除
5#
发表于 2015-1-26 15:37:50 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
柔情似水 该用户已被删除
6#
发表于 2015-2-4 15:14:10 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
莫相离 该用户已被删除
7#
发表于 2015-2-6 14:26:40 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
兰色精灵 该用户已被删除
8#
发表于 2015-2-7 13:16:31 | 只看该作者
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
若天明 该用户已被删除
9#
发表于 2015-2-19 12:21:26 | 只看该作者
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
海妖 该用户已被删除
10#
发表于 2015-3-1 21:04:41 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
第二个灵魂 该用户已被删除
11#
发表于 2015-3-10 23:44:12 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
小妖女 该用户已被删除
12#
发表于 2015-3-17 16:08:11 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
飘灵儿 该用户已被删除
13#
发表于 2015-3-17 16:08:12 | 只看该作者
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
飘飘悠悠 该用户已被删除
14#
发表于 2015-3-24 10:36:00 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 22:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表