当我粘贴到终端时,有时剪贴板中的内容不是我所期望的。具体来说,它有时是来自网站的页面和文本页面。
发生这种情况时,终端会发疯,快速闪烁并command not found以最快的速度吐出。
我担心有一天文本会包含类似rm -rf /.
什么是最好的方法:
有关详细信息,我在 Linux 上的 urxvt 终端的 GNU 屏幕窗口中使用 bash。
在我的经验中,通常Ctrl-C或Ctrl-Z没有影响。
如何将所有子目录中包含的文件移动到当前目录,然后删除空子目录?
我发现了这个问题,但将答案调整为:
mv * .
Run Code Online (Sandbox Code Playgroud)
不工作; 我收到了很多警告,如下所示:
mv: wil and ./wil are identical
Run Code Online (Sandbox Code Playgroud)
子目录中包含的文件具有唯一名称。
前段时间我错误地删除了我的主文件夹,因为我rm -rf *在错误的终端上运行了 a ,其工作目录是主文件夹!
我希望我有一个rm命令的别名,但事实并非如此。
现在,我打算制作一个脚本作为rm.
你有什么最佳实践建议吗?
谢谢。
有没有人知道在 Windows PowerShell 中具有非常有用的 bash [Ctrl-r](和[Ctrl-o])的向后命令搜索功能的方法?
C-r是一种更强大的arrow up历史操作,它就像 emacs 的一样C-r,它在您之前输入的命令中向后搜索。然后C-o执行该命令并立即将下一个命令放在该行之后。这样您就可以有效地重复传递的一系列命令。它还会查找保存的历史记录,而不是会话历史记录。(~/.bash_history文件)。这是无限有用的。
谢谢。
ps:作为奖励,不按周期工作的选项卡完成也会很棒。
我有这个无法正常工作的 shell 脚本。
输入:
Server_Name=1
if [ $Server_Name=1 ]; then
echo Server Name is 1
else
echo Server Name is not 1
fi
Run Code Online (Sandbox Code Playgroud)
输出:
Server Name is 1
Run Code Online (Sandbox Code Playgroud)
但是,如果我改变Server_Name=2,输出是:
Server Name is 1
Run Code Online (Sandbox Code Playgroud)
当我更改Server_Name为 时2,我希望它说:Server Name is 2。
我知道这是if [ $Server_Name=1 ];一部分。
我如何解决它?
我有一个名为 b1 的文件,其中包含汇编语言。我正在尝试使用在 OSX 上执行文件
$ ./b1
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
-bash: ./b1: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)
我看过其他类似的问题,但无济于事。我肯定在使用 64 位架构。
以下是相关信息的输出:
$ file b1
b1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
$ uname -a
Darwin Anthonys-MacBook-Pro.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)
编辑:
Ranas b1最终以:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/as: fatal error in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as
在 Bash 中,如何创建名为 的目录-p?
mkdir -p失败的。
mkdir "-p"失败的。
mkdir "\-p"失败的。
mkdir \-p失败的。
这是一个以相反顺序对文件夹中的文件进行排序的命令
ls | sort -r
Run Code Online (Sandbox Code Playgroud)
有什么作用 |该命令符号有?
我在这里真正寻找的是 Linux 初学者对管道的高级(易于理解)解释。我在 Superuser 上看到了有关管道的其他问题,但没有任何答案可以简单地解释它们的作用以及它们与重定向(>或<符号)的区别。
我正在尝试从批处理脚本创建一个 zip 文件。我需要将它命名为 archive_.zip
不幸的是,由于斜线,这不适用于日期格式为 y/m/d 的系统:
zip some_options "archive_%DATE%.zip"
Run Code Online (Sandbox Code Playgroud)
该%DATE%变量扩展到像
Mon 09/28/2009
Run Code Online (Sandbox Code Playgroud)
我可以访问 gnuwin32 包,所以我可以使用,比如,sed用破折号替换空格和斜线。问题是,我将如何使用 的输出sed来创建 zip 存档的文件名?
在 Unix (bash) 中,可以使用反引号来就地评估命令并在另一个命令中使用其输出,例如:
zip [...] archive_`echo %DATE% | sed -e s/.../.../`.zip
Run Code Online (Sandbox Code Playgroud)
Windows 中有类似的东西吗?
或者也许有一种方法可以将变量设置为的返回值sed并使用它来构造文件名?
很多时候,我想要执行的脚本不在我当前的工作目录中,我真的不想离开它。
从另一个目录运行脚本(BASH、Perl 等)是一个好习惯吗?他们通常会找到正常运行所需的所有东西吗?
如果是这样,运行“远程”脚本的最佳方法是什么?是吗
. /path/to/script
Run Code Online (Sandbox Code Playgroud)
或者
sh /path/to/script
Run Code Online (Sandbox Code Playgroud)
以及sudo在这种情况下如何使用?例如,这不起作用:
sudo . /path/to/script
Run Code Online (Sandbox Code Playgroud) bash ×10
linux ×5
shell ×3
command-line ×2
script ×2
binary-files ×1
copy-paste ×1
history ×1
macos ×1
mv ×1
pipe ×1
powershell ×1
rm ×1
shell-script ×1
terminal ×1
unix ×1
urxvt ×1
windows ×1