标签: shell

当你“删除”一个文件而不是安全地粉碎它时会发生什么?

我读到当你删除一个文件时,根据情况,有可能恢复它的内容。

当您“删除”文件时,硬件级别会发生什么,例如。$ rm myFile而不是安全地切碎它,例如。$ shred myFile这使得“已删除”的文件有可能恢复?

shell bash rm

3
推荐指数
1
解决办法
114
查看次数

如何将历史记录中的最后一个 zsh 命令放入剪贴板?

我经常遇到这样的情况,我只是使用了一个命令,我需要将它复制/粘贴到不同的终端窗口/IM 或其他任何地方。

在 Mac 上,我可以使用该pbcopy命令在剪贴板中获取某些内容,但我不确定应该如何获取该命令。我提出的是

history | tail -n 1 | perl -ple 's/\d+\s+//' | pbcopy
Run Code Online (Sandbox Code Playgroud)

哪个有效,但它看起来并不像干净的解决方案。有没有更好的方法来获得最后一个命令?我正在使用zsh,但我想如果有解决方案bash也可以使用zsh

shell bash history zsh

3
推荐指数
1
解决办法
1969
查看次数

单个命令中的多个 SSH 会话

我正在尝试将数据库从一台服务器复制到另一台服务器。我尝试使用以下命令,但在输入 ssh 密码时遇到了问题。如果我输入一台服务器的密码,它会抱怨另一台服务器,反之亦然。

ssh root@server1 mysqldump --databases db | ssh root@server2 mysql

我设法通过在我的计算机上暂时保存转储来进行传输,只是想知道是否有办法让它工作。

mysql ssh shell command-line-interface

3
推荐指数
1
解决办法
641
查看次数

Unix 在不使用 crontab 的情况下在 shell 上重复运行命令

假设我是否需要运行命令checkstatus --jobnumber 12345来检查作业状态。该命令将信息打印到标准输出。有没有办法每分钟在shell上重复运行这个命令?我想查看最新的工作状态。

unix shell

3
推荐指数
1
解决办法
1740
查看次数

如何并行运行多个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在单独的窗口/术语中单独运行,它会按预期运行。

有没有人对如何让这些脚本并行运行有任何想法?

shell bash

3
推荐指数
2
解决办法
5万
查看次数

bash : "set -e" 并检查用户是否存在使脚本退出

我正在编写一个脚本来安装 Bash 程序。我想在出错时退出,所以我添加set -e到脚本的开头。

我必须检查我的脚本中是否存在用户。为此,我正在使用grep ^${USER}: /etc/passwd. 如果用户存在,则脚本正常运行。但是,如果用户不存在,则此命令将退出。如果发生后一种情况,我不想退出。相反,我想创建用户并继续我的安装。

使我的脚本继续运行的解决方案是什么?我试图将 的输出重定向grep到一个变量,但我仍然遇到同样的问题。

scripting linux shell bash grep

3
推荐指数
2
解决办法
4085
查看次数

在 shell 脚本中使用 sed 替换文件中的 IP 地址

我有一个脚本,它在文件中找到一个字符串并将其替换为一个新字符串。

$ 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)

任何的想法?

linux shell centos sed regular-expressions

3
推荐指数
1
解决办法
2万
查看次数

如何在 Unix Shell 脚本中更新文件中的文本

我正在创建一个需要更新 sudoers 文件的 shell 脚本。所以基本上我希望能够将“:/usr/local/bin/”附加到/etc/sudoers中的以下文本:

secure_path = /sbin:/bin:/usr/sbin:/usr/bin

我需要在命令中使用 sudo 以获得修改权限。知道我怎么能做到这一点吗?

unix shell

3
推荐指数
1
解决办法
1072
查看次数

命令:将一个目录内的所有文件移动到另一个目录(包括隐藏文件)?

我试图将一个目录中的所有文件移动到另一个目录,如下所示:

$ mv /directory_one/* /directory
Run Code Online (Sandbox Code Playgroud)

但是,不会移动 /directory_one 中的隐藏文件(例如 .htaccess)。

这样做的正确命令是什么?

linux shell command-line-interface mv

3
推荐指数
1
解决办法
1万
查看次数

Cron 没有运行 CentOS

我在这里做错了什么?试图设置一个 cron 作业来运行一个 shell 脚本,但它不起作用。做完之后我进入了下面的内容crontab -e。执行contrab -l.

0 2 * * * root /root/localbackup.sh
Run Code Online (Sandbox Code Playgroud)

linux shell centos cron

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

shell ×10

bash ×4

linux ×4

centos ×2

command-line-interface ×2

unix ×2

cron ×1

grep ×1

history ×1

mv ×1

mysql ×1

regular-expressions ×1

rm ×1

scripting ×1

sed ×1

ssh ×1

zsh ×1