标签: bash

压缩目录中除隐藏文件之外的所有文件/目录?

mydir除了所有以 a 开头的文件/目录外,如何制作目录中所有文件和子目录的 zip 文件.*

命令:

zip -r mydir.zip mydir/
Run Code Online (Sandbox Code Playgroud)

...将包括一切。例如,如果我有:

mydir/foo
mydir/bar
mydir/.hello
Run Code Online (Sandbox Code Playgroud)

我希望foobar包含在 中mydir,但不包含.hello

我怎样才能做到这一点?

unix script bash

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

双根文件夹 vs 单根文件夹

在我的 Linux 机器上,在 bash 中,我可以访问由两个正斜杠表示的“双根”文件夹:

tomas:~ $ cd /
tomas:/ $ ls
bin/ cdrom@ ...
tomas:/ $ cd //
tomas:// $ ls 
bin/ cdrom@ ...
Run Code Online (Sandbox Code Playgroud)

文件夹及其子文件夹的内容与“普通”单斜杠根目录相同。当我访问其子文件夹时,双斜线不会消失。异常不会以三个或更多斜线重复;这些是根的简单同义词:

tomas:// $ cd home/tomas
tomas://home/tomas $ cd ///
tomas:/ $ cd ////
tomas:/ $
Run Code Online (Sandbox Code Playgroud)

这是一个什么样的地方?这是一个错误吗?任何人都可以解释异常吗?

linux bash

14
推荐指数
1
解决办法
3029
查看次数

退出后如何用以前的bash活动替换vim屏幕缓冲区?

我试图找出什么是 bash(或 vim)功能。这是场景。我在 bash 终端中,然后用 vim 编辑一些东西,然后退出回到 bash。在某些终端中,vim 会话屏幕消失以显示之前的 bash shell 活动(这就是我想要的?)。

在其他情况下,vim 会话屏幕缓冲​​区仍然存在(隐藏旧的 bash shell 活动)。我要么清除屏幕,要么等到我的 bash 活动将该 vim 会话缓冲区推出屏幕。

如何控制此行为以用以前的 bash 活动替换 vim 会话缓冲区?

谢谢蒂姆

bash vim

14
推荐指数
2
解决办法
8180
查看次数

覆盖与系统命令同名的用户定义函数

这个函数存在于我的一个用户的 ~/.bashrc 中:

function rm()
{
        ls $*
        echo "rm?"
        read ans
        if [ "$ans" == 'y' ]; then
                /bin/rm $*
        fi
}
Run Code Online (Sandbox Code Playgroud)

在我要求用户运行的 ksh 脚本中,我有这样一行:

[[ "$KEEP" = "" ]] && \rm $FILE
Run Code Online (Sandbox Code Playgroud)

虽然反斜杠转义用户定义的别名,但它不会阻止脚本运行具有相同名称的用户定义函数。结果,我的用户的 rm() 函数被调用而不是系统函数。

我发现了这个超级用户问题问题和回复,但该解决方案仅适用于内置函数,而不适用于系统命令。

强制调用 rm 命令而不是别名或函数的最佳方法是什么?我是否必须指定 rm 的完整路径以及我想确保正确执行的每个系统命令?有没有更好的办法?

bash alias ksh bashrc

14
推荐指数
1
解决办法
8502
查看次数

Windows 10 linux bash shell ctrl+space 未在 Emacs 中设置标记

在 Windows 10 中,我为 Linux Bash 安装了子系统。但是我在 Emacs 中的快捷方式有问题Ctrl+space没有设置标记点。

我尝试过但没有帮助:

  • 我试图在 Windows 控制台的属性菜单中取消选中“启用 Ctrl 快捷键”

  • 我尝试使用不同的终端 ConEmu 没有成功。

我想知道这是否与 ubuntu 有某种关系,它在 ctrl + space 上有类似的问题,而 windows linux bash 正在使用 ubuntu 存储库。

keyboard-shortcuts bash emacs ubuntu windows-10

14
推荐指数
2
解决办法
6413
查看次数

如何在 Linux Bash 终端的 Windows 子系统上默认登录“root”帐户

Windows 10 周年更新刚刚发布,我立即安装了适用于 Linux 的 Windows 子系统,看看它的表现如何。到目前为止,我只发现了一个主要缺点:没有明显的方法可以使用 root 帐户作为默认值。

我知道这违背了许多最佳实践,但我个人不喜欢sudo在大多数命令前输入。当我打开一个文本文件进行编辑时,这会变得特别烦人nano,却发现我不得不放弃我的更改,因为我没有使用sudo.

有没有办法让终端默认以 root 身份启动?

bash ubuntu-14.04 windows-subsystem-for-linux windows-10-v1607

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

无法在 Windows 上的 Bash 中 ping

当我尝试运行时:

ping www.google.com
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ping: icmp open socket: Permission denied
Run Code Online (Sandbox Code Playgroud)

跑步sudo并没有什么区别。

bash windows-10 windows-subsystem-for-linux windows-10-v1607

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

当我在 bash 配置文件中将默认值设置为 ls -h 时,如何强制 ls 终端命令以字节显示结果?

我正在按照此处的代码段改进我在 Mac OSX 中的终端命令。

它通过导出alias ls='ls -GFh'到 bash 配置文件将 ls 结果的默认值设置为人类可读。这非常方便,但有时我想以字节为单位查看文件的确切大小(以便将其与另一个文件进行比较)。

我怎样才能做到这一点?有没有我可以使用 ls 的命令来强制它以字节为单位显示结果?

我可以使用其他命令来获取文件大小吗?

我想到了,du -s但它只会让我估计该文件的已用磁盘空间,并且最小大小是千字节块。

linux terminal bash command-line macos

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

在 shell 脚本的上下文中 set +e 和 set -x 命令会做什么?

我正在查看包含以下内容的 shell 脚本:

set +e
set -x
Run Code Online (Sandbox Code Playgroud)

我看到这些命令用于“为 shell 变量赋值”。但在这种情况下,我不明白用法。

https://afni.nimh.nih.gov/pub../pub/dist/edu/data/CD.expanded/AFNI_data6/unix_tutorial/misc/unix_commands.html#set

bash shell

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

在 Windows 上使用 git bash 进行克隆时,遇到致命错误:遇到 UriFormatException

我正在使用 git bash

$ git --version
git version 2.9.3.windows.1
Run Code Online (Sandbox Code Playgroud)

在 Windows 7 上。当我克隆一个 repo 时,我看到:

$ git clone https://UserName@bitbucket.mycompany.org:5555/scm/repofolder/repo.git
Cloning into 'repo'...
Fatal: UriFormatException encountered.
Fatal: UriFormatException encountered.
Fatal: UriFormatException encountered.
Fatal: UriFormatException encountered.
remote: Counting objects: 2666, done.
remote: Compressing objects: 100% (1426/1426), done.
remote: Total 2666 (delta 1378), reused 2112 (delta 1047)
Receiving objects: 100% (2666/2666), 1.53 MiB | 715.00 KiB/s, done.
Resolving deltas: 100% (1378/1378), done.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)

我怀疑我遇到的其他一些问题与此 UriFormatException 相关。任何人都知道为什么会发生异常以及如何解决问题?

windows-7 bash clone git

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