linux shell 判断文件是否存在

linux shell 判断文件是否存在,第1张

介绍了linux shell 中判断文件、目录是否存在的方法,分享给大家

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真

-w filename 如果 filename可写,则为真

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

Linux的本质就是一切皆文件,输入输出设备也是以文件形式存在和管理的。

内核启动的时候默认打开这三个I/O设备文件:标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件描述符 0, 1, 2。

你只是以自定义的文件代替了系统默认的设备文件,实现了输入输出的重定向。

权限为 0 ,你自己都修改不了……

你再试试能不能把权限改回来,如果真的改不回来。

基本上,现在你只能使用 root 来删除这个文件了。当然你也可以试试删除这个文件的上级文件夹,能不能删不好说,别忘了把不需要删的文件挪走。

只让 ftp *** 作,这需要看你的 ftp 程序运行时使用的是哪个用户 ID。一般是 ftp 或者 nobody 这两个用户之一。当然也有可能是和你的 ID 相同,这样只需设置为 0600 就行了。

如果不相同,那就只能设置权限里面的第三段,也就是其他人的权限。

之后还要看你的文件系统支持什么方式的权限管理。

一般情况下,你只能设置为 0666 权限(任何人可读可写),也就是 -rw-rw-rw- 或者 0606 -rw----rw- (删掉了同组人的读写权限)才能让 ftp 访问。当然如果你不需要给 ftp 写权限( ftp 下不能删),0604 也可以。因为你的 ID 和 ftp 不是同一个用户

更疯狂的是设置权限为 0600 也就是 -rw------- 之后用 chown ftp xxxxxx

(或者把 ftp 改为nobody,根据需要改!)

把文件的所有权改为 ftp ,但这样你就不能控制了。只能用 ftp 删除这个文件。

如果服务器支持 ACL 这个高级权限管理(类似 NTFS ),你用它设置可以只给 ftp 的权限。

这个需要服务器支持,怎么用 google 吧,我是在 IBM 的一个资料网页找到的使用教程,写的还行。

=================

找管理员吧……没招了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8693875.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存