我读到当你删除一个文件时,根据情况,有可能恢复它的内容。
当您“删除”文件时,硬件级别会发生什么,例如。$ rm myFile而不是安全地切碎它,例如。$ shred myFile这使得“已删除”的文件有可能恢复?
我需要将 pv 命令的输出重定向到一个文件,以便我从另一个进程读取它的进度。或者我可以通过其他方式做到这一点吗?
我有一个包含 27K 文件的目录,我想将它们压缩成多个INDEPENDENT tar 文件,每个文件有 5000 个文件,最后一个显然有 2K(27K 不能被 5 整除)。
最快/最简单的方法是什么?
我有一个问题,我的 cron 脚本没有加载环境变量,所以我添加了以下行:
#!/bin/sh
bash /root/.bash_profile
Run Code Online (Sandbox Code Playgroud)
这似乎没有效果,并且路径变量设置不正确。如何运行 bash_profile 脚本
说我有以下 bash 脚本,可以找到所有 error.logs 给他们一个标题,然后在它下面拖尾 5 行..
#!/bin/bash
for ERR in `find -name "error.log"`;
do
echo -e "---- LOG: $ERR ----";
tail -n 5 $ERR;
done;
Run Code Online (Sandbox Code Playgroud)
我想让它像这样输出:
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
---- LOG: foo/error.log ----
[error ....]
[error ....]
Run Code Online (Sandbox Code Playgroud)
其中tail“d部缩进字符的一些量(例如4或任何一个制表符是)
我将如何缩进该特定部分的输出?
我经常遇到这样的情况,我只是使用了一个命令,我需要将它复制/粘贴到不同的终端窗口/IM 或其他任何地方。
在 Mac 上,我可以使用该pbcopy命令在剪贴板中获取某些内容,但我不确定应该如何获取该命令。我提出的是
history | tail -n 1 | perl -ple 's/\d+\s+//' | pbcopy
Run Code Online (Sandbox Code Playgroud)
哪个有效,但它看起来并不像干净的解决方案。有没有更好的方法来获得最后一个命令?我正在使用zsh,但我想如果有解决方案bash也可以使用zsh。
我有几个测试脚本,每个脚本都运行一个测试 PHP 应用程序。每个脚本永远运行。
所以, cat.sh, dog.sh, 和foo.sh每个都运行一个 PHP 脚本。每个 shell 脚本都在循环中运行 PHP 应用程序,因此它会永远运行,每次运行后都会休眠。
我试图弄清楚如何同时并行运行脚本。在 stdout/term 窗口中查看 PHP 应用程序的输出。
我想,做类似以下的事情可能会奏效:
foo.sh > &2
dog.sh > &2
cat.sh > &2
Run Code Online (Sandbox Code Playgroud)
在 shell 脚本中它就足够了,但它不起作用。
foo.sh, runs foo.php once, and it runs correctly
dog.sh, runs dog.php in a never ending loop. it runs as expected
cat.sh, runs cat.php in a never ending loop
*** this never runs!!!
Run Code Online (Sandbox Code Playgroud)
看来 shell 脚本永远不会运行cat.sh。如果我cat.sh在单独的窗口/术语中单独运行,它会按预期运行。
有没有人对如何让这些脚本并行运行有任何想法?
我正在编写一个脚本来安装 Bash 程序。我想在出错时退出,所以我添加set -e到脚本的开头。
我必须检查我的脚本中是否存在用户。为此,我正在使用grep ^${USER}: /etc/passwd. 如果用户存在,则脚本正常运行。但是,如果用户不存在,则此命令将退出。如果发生后一种情况,我不想退出。相反,我想创建用户并继续我的安装。
使我的脚本继续运行的解决方案是什么?我试图将 的输出重定向grep到一个变量,但我仍然遇到同样的问题。
我有这个文件:
A.class
A$1.class
A$2.class
Run Code Online (Sandbox Code Playgroud)
和一个类似的 bash 脚本:
for i in *; do
scp "${i}" foo@bar:/tmp/;
done
Run Code Online (Sandbox Code Playgroud)
这工作正常。所有三个文件都被复制。问题在于以下几点:
for i in *; do
scp "${i}" foo@bar:/tmp/"${i}";
scp "${i}" foo@bar:"/tmp/${i}";
scp "${i}" "foo@bar:/tmp/${i}";
done
Run Code Online (Sandbox Code Playgroud)
在任何一种情况下,SCP 都会复制所有文件,但复制到同一个文件A.class。
有任何想法吗?谢谢!
我的一个服务器守护进程在 /tmp 中使用了大量空间。因为我不想在服务器磁盘空间不足时重新启动我的机器,所以我需要运行一个 CRON 脚本来删除旧的临时文件。
比方说,递归删除 /tmp 下所有距用户 1 小时以上的文件和目录的好方法是什么www-data?当然,它不应该解析符号链接并开始删除系统上其他地方的文件。我正在使用 Ubuntu 12.04 并将以 root 身份运行此 cronjob。