标签: bash

复制所有文件和文件夹,不包括 OS X 上的 subversion 文件和文件夹

我试图将所有文件和文件夹从一个目录复制到另一个目录,但排除某些文件。具体来说,我想排除 subversion 文件和文件夹。但是,我想要一个通用而简洁的解决方案。

我想在不久的将来我会发现需要排除几种类型的文件。例如,我可能想排除 .svn、*.bak 和 *.prj。

这是我整理的内容,但它对我不起作用。第一部分, find 有效,但我在xargscp 上做错了。我试过cp有和没有-R. 另外,我使用的是 OS X,它的xargs版本似乎比 linux 系统少。

find ./sourcedirectory -not \( -name .svn -a -prune \)
     | xargs -IFILES cp -R FILES ./destinationdirectory
Run Code Online (Sandbox Code Playgroud)

terminal bash command-line find macos

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

Ctrl-e 和 Ctrl-a 在 Ubuntu Hardy 上不起作用?

我用的是 Mac,所以我的键盘上没有HomeEnd键。我也经常使用 SSH 连接到 Linux 服务器。我发现当我通过 SSH 连接到运行 Jaunty 的 Ubuntu Linux 服务器时,我可以使用 readline 键绑定Ctrl-a并且Ctrl-e将光标移动到行的开头或结尾,但是我经常使用几个 Hardy 服务器SSH 到,并且这些键绑定在连接到它们时不起作用。

我已经尝试从 Linux 机器连接到它们,以防万一这与我的 Mac 终端的配置方式有关,并且我看到了相同的结果。

有谁知道为什么,以及如何解决这个问题?

linux bash shell readline

15
推荐指数
2
解决办法
9473
查看次数

如何递归下载整个网络目录?

我有一个 web 目录,其中包含许多文件夹和许多包含文件的子文件夹。

我需要使用 wget 或 bash 下载所有内容。

linux bash wget

15
推荐指数
4
解决办法
6万
查看次数

如何在 Ubuntu 中从多个终端会话中查看 Bash 历史记录?

可能的重复:
可以在 bash 中统一历史文件吗?

我使用 Ubuntu Server 9.10,我希望能够查看多个终端会话的 bash 历史记录。即我最近的 200 个左右的命令,即使我已经在这期间注销了。

当我使用时,history我只看到来自实际终端会话的所有命令。如何从 Bash 中查看更多命令历史记录?我应该从 Ubuntu 中的默认值更改 bash 的任何特定设置吗?

我没有~/.bash_history文件。但我有一个~/.bashrcHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredupsHISTCONTROL=ignoreboth

echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth
Run Code Online (Sandbox Code Playgroud)

更新:我现在正在 VirtualBox 中尝试 Ubuntu Server 10.10。如果我在没有关闭命令的情况下关闭 VirtualBox,那么下次启动时,上次会话的命令不会保存在历史文件中。

仅当我使用 shutdown 命令关闭机器时才会保存这些命令。例如关机 -P 0。

这一定是我的问题的原因。所以我必须弄清楚如何更频繁地保存命令历史。例如在每个命令之后。

bash history command-line ubuntu

15
推荐指数
2
解决办法
6万
查看次数

Bash:替换最后一个命令中出现的所有单词

几乎是错误的,我发现您可以执行以下操作:

$ cp foo.data bar1.data
$ ^bar1^bar2
Run Code Online (Sandbox Code Playgroud)

并且使用bar2.data而不是运行相同的命令bar1.data。现在,如果我多次出现目标词呢?例如:

$ cp foo.data bar.data
$ ^data^index
Run Code Online (Sandbox Code Playgroud)

它只替换第一个data扩展名。我如何让它替换两者?

linux bash command-line

15
推荐指数
2
解决办法
4234
查看次数

如何在bash中转义“-”

可能的重复:
Unix 工具:如果一个文件的名字减去一些东西怎么办?

请告诉我如何逃避这个:

[root@unix ~]# ./-sh
-bash: ./-sh: 权限被拒绝
[root@unix ~]# chmod +x -sh
chmod:无效模式:`-sh'
试试 `chmod --help' 以获得更多信息。
[root@unix ~]#

bash escape-characters

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

有没有像 Sublime Text 那样支持模糊补全的 shell?

我正在使用 bash,我想知道 bash 或其他 shell 中是否有任何插件允许我执行此操作 cat tfnislong.txt+[tab]完成cat ThisFileNameIsSoLong.txt就像 Sublime Text 中的选项卡完成一样。

bash shell tab-completion

15
推荐指数
2
解决办法
5322
查看次数

OS X 上的 Bash 4.3 子串负长度

Bash 4.2 添加了对负子字符串长度的支持:

http://tldp.org/LDP/abs/html/abs-guide.html#SUBSTREXTR01

例 37-12。字符串提取构造中的负参数

当“length”参数为负数时,它用作偏移量参数。

例如,在 Ubuntu 上测试时输出“World”:

STR="Hello World!"
echo ${STR:6:-1}
Run Code Online (Sandbox Code Playgroud)

但是在 OS X(GNU bash,版本 4.3.42(1)-release (x86_64-apple-darwin14.5.0))中,这种用法会产生以下错误:

-1: substring expression < 0
Run Code Online (Sandbox Code Playgroud)

这是 OS X 特定的,还是在以后的 bash 更新中再次被禁用?有没有办法为 OS X 启用此功能?

bash string-manipulation

15
推荐指数
2
解决办法
6751
查看次数

适用于 Linux 的 Windows 子系统和 Windows 上的 Ubuntu 上的 bash 有什么区别?

  1. 它们的功能有什么区别?其中之一更兼容还是其他什么?为什么微软要开发这两个看起来相同的东西?
  2. 文件位置。Windows 上 Ubuntu 上的 bash 文件位于 . C:\Users\<username>\AppData\Local\lxss,但是 WSL 的文件在哪里?有一个答案声称他们在C:\Users\<username>\AppData\Local\Lxss\rootfs,但我发现它是空的。
  3. WSL 有“.exe”吗?对于 Windows 上 Ubuntu 上的 bash,它是"C:\Windows\sysnative\bash.exe". WSL 有没有类似的东西,所以我可以在 Visual Studio Code 中使用它?

linux bash ubuntu windows-10

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

如何检查 bash 命令字符串的逐字字符?

今天早上我在 bash 终端中有这种奇怪的行为:

user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true
bash: [: missing «]»
user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true
true
Run Code Online (Sandbox Code Playgroud)
  • 第一个命令是从使用 gedit 编辑的脚本粘贴的
  • 第二个是直接在终端中输入的。

经过一番挖掘,我发现删除第 30 个字符(client.conf 和“]”之间的空格)并用空格替换它使命令再次起作用。

我的假设是正确的:命令中出现了一个未知的空白字符,但问题是:

  1. 如何在终端中显示这些字符以便调试命令?更重要的是:
  2. 我怎样才能防止这种情况再次发生?

顺便说一句,我运行的是 Ubuntu 18.04 / 法语,我粘贴命令的脚本位于 USB 驱动器中,并且也可能在 Windows 上进行了编辑。


谢谢你的好答案。坏字符是一个c2 a0不间断空格 UTF-8 字符。How to remove special 'M-BM-' character with sed这个问题有关于该角色的有趣事实。

奇怪的是,剧本竟然没有这个角色。所以我不知道它是从哪里来的。

linux bash gnome-terminal

15
推荐指数
3
解决办法
1724
查看次数