我读到当你删除一个文件时,根据情况,有可能恢复它的内容。
当您“删除”文件时,硬件级别会发生什么,例如。$ rm myFile而不是安全地切碎它,例如。$ shred myFile这使得“已删除”的文件有可能恢复?
我经常遇到这样的情况,我只是使用了一个命令,我需要将它复制/粘贴到不同的终端窗口/IM 或其他任何地方。
在 Mac 上,我可以使用该pbcopy命令在剪贴板中获取某些内容,但我不确定应该如何获取该命令。我提出的是
history | tail -n 1 | perl -ple 's/\d+\s+//' | pbcopy
Run Code Online (Sandbox Code Playgroud)
哪个有效,但它看起来并不像干净的解决方案。有没有更好的方法来获得最后一个命令?我正在使用zsh,但我想如果有解决方案bash也可以使用zsh。
我正在尝试将数据库从一台服务器复制到另一台服务器。我尝试使用以下命令,但在输入 ssh 密码时遇到了问题。如果我输入一台服务器的密码,它会抱怨另一台服务器,反之亦然。
ssh root@server1 mysqldump --databases db | ssh root@server2 mysql
我设法通过在我的计算机上暂时保存转储来进行传输,只是想知道是否有办法让它工作。
假设我是否需要运行命令checkstatus --jobnumber 12345来检查作业状态。该命令将信息打印到标准输出。有没有办法每分钟在shell上重复运行这个命令?我想查看最新的工作状态。
我有几个测试脚本,每个脚本都运行一个测试 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到一个变量,但我仍然遇到同样的问题。
我有一个脚本,它在文件中找到一个字符串并将其替换为一个新字符串。
$ sed -i 's/$old_string'/'$new_string'/g' $FILENAME
Run Code Online (Sandbox Code Playgroud)
现在我需要条件是一个正则表达式,它还检查旧字符串后面是否有除数字以外的任何内容。
我试过这个,但没有用:
$ sed -i -r 's/$old_string(^[0-9])+/$new_string/g' $FILENAME
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我正在创建一个需要更新 sudoers 文件的 shell 脚本。所以基本上我希望能够将“:/usr/local/bin/”附加到/etc/sudoers中的以下文本:
secure_path = /sbin:/bin:/usr/sbin:/usr/bin
我需要在命令中使用 sudo 以获得修改权限。知道我怎么能做到这一点吗?
我试图将一个目录中的所有文件移动到另一个目录,如下所示:
$ mv /directory_one/* /directory
Run Code Online (Sandbox Code Playgroud)
但是,不会移动 /directory_one 中的隐藏文件(例如 .htaccess)。
这样做的正确命令是什么?
我在这里做错了什么?试图设置一个 cron 作业来运行一个 shell 脚本,但它不起作用。做完之后我进入了下面的内容crontab -e。执行contrab -l.
0 2 * * * root /root/localbackup.sh
Run Code Online (Sandbox Code Playgroud)