标签: bash

Linux bash:现有文件没有这样的文件或目录消息

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

错误的图像

这不限于此特定程序或用户。当我尝试使用完整路径运行文件时也会发生这种情况。该文件的执行权限是全局授予的。

ubuntu bash

0
推荐指数
1
解决办法
791
查看次数

递归删除文件(bash)

我熟悉如何用 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 时如何强制使用绝对路径?

files bash recursive

0
推荐指数
1
解决办法
160
查看次数

在 nohup 中运行脚本 shell 的一部分

如何在 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.shscript5.sh的部分,而不使用命令“nohup”或“&”,因此如果用户断开连接,脚本继续执行。

不知道我的问题是否足够清楚:) 谢谢!

linux shell bash

0
推荐指数
1
解决办法
6030
查看次数

如何使用find命令清除所有文件的内容

是否有使用 find 命令清除所有“.log”文件内容的简单步骤 。

目前我正在使用“echo -n > filename.log”我试过 echo -n > /var/application-logs/*.log 但它不起作用..

有没有更好的方法来清除多个文件的内容?

scripting bash regular-expressions

0
推荐指数
1
解决办法
3091
查看次数

递归删除带有详细输出的空文件夹

这应该相当简单,但我不确定我错过了什么。

我想递归删除空目录,并获得正在删除内容的输出,此命令肯定有效,但我无法详细打印 -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)

scripting bash find shell-scripting

0
推荐指数
1
解决办法
919
查看次数

如何编写脚本以通过执行来安装多个东西

我有一台服务器(centOS),我想在上面安装主要的开发工具。Java、Tomcat 和 MySql。

编写可以在新生成的服务器上运行的脚本的好方法是什么,这样就不会在每个新服务器上手动完成。

bash 脚本最适合此目的吗?我希望脚本不仅与 centOS 相关联,而且能够跨不同风格的 linux 工作

scripting bash executable

0
推荐指数
1
解决办法
84
查看次数

如何知道复制目录是否完成

如果有人(即我的 VPS 提供商)执行以下命令,我如何从 ssh 知道副本是否完整?谢谢

cp /home/abc/hugeDir /home/cba
Run Code Online (Sandbox Code Playgroud)

linux bash

0
推荐指数
1
解决办法
1229
查看次数

Bash/grep:忽略超过 N 个字符的行

我有一个 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 find grep

0
推荐指数
1
解决办法
1261
查看次数

检查远程mysql查询是否成功 - bash

使用 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)

mysql bash

0
推荐指数
1
解决办法
2310
查看次数

如何修补 CVE-2014-6271 和 CVE-2014-7169?

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 有官方的补丁吗?

谢谢。

linux bash centos opensuse centos6

0
推荐指数
1
解决办法
711
查看次数