我的一台服务器上发生了一个奇怪的错误 - 尽管存在文件,但我无法运行它:

这不限于此特定程序或用户。当我尝试使用完整路径运行文件时也会发生这种情况。该文件的执行权限是全局授予的。
我熟悉如何用 PHP 解决这个问题,但是我想更多地练习 bash 脚本。
任务是删除文件夹中的所有文件,该文件夹本身包含子文件夹(带有文件)。这些文件通常是 .pdf(或某些变体:PDF、Pdf、pDf 等),但有时可能会有其他文件类型,包括我目前未知的扩展名。
这是我到目前为止所拥有的。它与文件名相呼应,但如果我发出 rm $i,系统将返回在每个文件上找不到的文件。
for i in `ls -bRC1 /foo/temp_folders/* ` ; do echo $i ; rm $i ; done
Run Code Online (Sandbox Code Playgroud)
发出 rm $i 时如何强制使用绝对路径?
如何在 nohup 模式下运行部分 shell 脚本?我的脚本是这样的:
#!/bin/bash
command_1
script2.sh
script3.sh
...
(tests & loops, etc)
script4.sh
script5.sh
Run Code Online (Sandbox Code Playgroud)
我想要的是在 nohup 模式下运行从script3.sh到script5.sh的部分,而不使用命令“nohup”或“&”,因此如果用户断开连接,脚本继续执行。
不知道我的问题是否足够清楚:) 谢谢!
是否有使用 find 命令清除所有“.log”文件内容的简单步骤 。
目前我正在使用“echo -n > filename.log”我试过 echo -n > /var/application-logs/*.log 但它不起作用..
有没有更好的方法来清除多个文件的内容?
这应该相当简单,但我不确定我错过了什么。
我想递归删除空目录,并获得正在删除内容的输出,此命令肯定有效,但我无法详细打印 -excec 的操作。
while [ -n "$(find . -depth -type d -empty -exec rm -v -rf {} +)" ]; do :; done
通过递归我的意思是,我想保持删除空文件夹,直到有没有其他的空文件夹。
$ tree .
.
??? empty
? ??? empty
? ??? empty
??? non-emty
??? ko
Run Code Online (Sandbox Code Playgroud)
此项只会删除树中的一个空文件夹
$ find . -depth -type d -empty -exec rmdir -v {} +
rmdir: removing directory, `./empty/empty'
Run Code Online (Sandbox Code Playgroud) 我有一台服务器(centOS),我想在上面安装主要的开发工具。Java、Tomcat 和 MySql。
编写可以在新生成的服务器上运行的脚本的好方法是什么,这样就不会在每个新服务器上手动完成。
bash 脚本最适合此目的吗?我希望脚本不仅与 centOS 相关联,而且能够跨不同风格的 linux 工作
如果有人(即我的 VPS 提供商)执行以下命令,我如何从 ssh 知道副本是否完整?谢谢
cp /home/abc/hugeDir /home/cba
Run Code Online (Sandbox Code Playgroud) 我有一个 find/grep 命令用于搜索我的项目的代码库,因此:
find folder1 folder2 folderetc -print | awk '{print "\""$0"\""}' | xargs grep -n "search-string"
Run Code Online (Sandbox Code Playgroud)
经常让我恼火的是缩小的 javascript 和 css 文件,它们将所有内容都打包成一行(由于可能错误地认为删除换行符将使下载 javascript 文件的速度明显更快)。对于这些打包或缩小的文件,总会有一个非打包版本,我想在我的结果中看到它。我从不想看到打包版本,因为它只会导致屏幕和屏幕上出现无法读取的垃圾。
没有系统的方法可以告诉 grep 避免缩小或打包文件,因为没有命名约定。但我突然想到我可以过滤掉超过 400 个字符的结果。有没有办法用 grep(或其他东西?)
使用 bash 脚本执行远程 MySQL 查询时,如何知道该命令是否成功。在本地,它会返回一个退出代码。然而,远程它似乎发送查询,如果它能够连接到远程 MySQL 数据库,它就认为它成功了。有什么办法可以在远程执行时查看输出,比如在本地执行时。这是脚本:
#!/bin/bash
RemoveID=`mysql -u root -proot -h 192.168.1.56 -e "delete from table where ID = '$1'"`
Run Code Online (Sandbox Code Playgroud) CVE-2014-6271 和 CVE-2014-7169 是 2014 年 9 月 24 日报告的与 bash 相关的错误。 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables -代码注入攻击/
我正在使用 openSUSE 11.0(bash 版本:bash-3.2-112.1)并要求修补 CVE-2014-6271 和 CVE-2014-7169,我尝试了 YaST,但它没有用。我想问有什么rpm可以帮助修补这个bug吗?
我也试过在 CentOS 6.4 上进行 yum update,但是更新后还是有 bug,请问 CentOS 6.4 有官方的补丁吗?
谢谢。