Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。


5
Windows Linux子系统-在Ubuntu外部访问文件
例如,为什么在Windows中创建文件时,在Windows 10(bash.exe)的Linux子系统下看不到文件? 屏幕截图应说明。 文件夹:OMG是从Windows资源管理器中创建的。文件夹OMGBash是使用Linux子系统bash.exe创建的 在bash.exe之外创建文件夹或文件时,无论权限和所有权如何,我都看不到它。 为了显示我必须使用Cygwin来显示文件权限的信息,我还更改了权限以查看是否会出现该文件夹。(底部的两个命令窗口) 屏幕截图显示了文件夹,bash.exe和Cygwin权限: 我试图将所有Cygwin脚本移至Linux子系统, 但我不想重新创建每个文件,然后不得不使用bash复制并过去,然后重新格式化然后使用Dos2unix(非常麻烦)。 在GitHub上的Linux子系统中找到了这个: 根据其他问题的讨论,不支持从Windows直接复制到Linux子系统。AppData下有一个目录(我忘了在哪里),该目录似乎包含WSL文件系统的文件。但是,如果在其中放置新文件或在其中修改现有文件,则所做的更改将无法正确反映在WSL中。 我最好的猜测是,Linux需要与Windows存储有关其文件的不同元数据(以及更多的缓存信息等,因为其磁盘缓冲模型也有所不同),并且当前是通过存储结构的主副本来实现的Linux文件系统在某种数据库中的使用,只是将Windows文件系统用作该数据库的便捷BLOB存储。 如果您确实需要执行此操作,则一种变通方法是编写拖放式.bat脚本或执行bash.exe -c“ mv%1 / home / $ USER /”的脚本。(可能必须对sed和tr做一些巧妙的工作,才能将%1转换为有效的WSL路径。) 或者,您可以将文件放在Windows目录中,然后在WSL中执行“ cd〜; ln -s / mnt / c / path / to / my / files”以使它们看起来像在WSL主目录中吗?


9
是否有快捷方式指向mkdir foo并立即将其插入cd?
这是我经常做的事 $ mkdir foo $ cd foo 这可以作为单个命令使用,但是它的击键次数更多,并且不节省任何时间。 $ mkdir foo && cd foo 这有捷径吗? 编辑 使用下面的帮助,这似乎是最优雅的答案。 # ~/.bashrc function mkcd { if [ ! -n "$1" ]; then echo "Enter a directory name" elif [ -d $1 ]; then echo "\`$1' already exists" else mkdir $1 && cd $1 …

3
如何在Ubuntu中更改Shell?[重复]
这个问题已经在这里有了答案: 如何在我的Ubuntu上将Bash设置为默认外壳? 7个答案 我有一个Ubuntu Server VPS,并且想/bin/bash/用作外壳。我该如何更换外壳?我具有root用户访问权限,但不能以root用户身份工作。所以破折号现在是我的默认外壳。 我已经阅读了如何在Ubuntu上将Bash设置为默认外壳?和chsh接缝要走的首选方式。但是当我键入时,chsh /bin/bash我收到以下消息: chsh: unknown user /bin/bash 如果我只是键入/bin/bashBash shell接缝,就可以正常工作。怎么改变呢?

9
Linux的Windows子系统上的主目录是什么?
当我bash在Windows Subsystem for Linux上启动时,它会将我放置在目录中 /mnt/c/Users/<username> 当我ls看到该目录时Desktop,Documents可以看到C:\Users\<username>使用Windows File Explorer时出现的目录等等。因为这是bash程序启动的地方,所以我希望这是我的主目录,但是当我键入cd或时,cd ~我被带到 /home/<username> 其中包含我.bashrc,.profile等文件,我希望在Linux中我的家目录中找到。此外,cd ../..从这里进入,我可以看到目录bin,etc依此类推,再次在Linux机器上可以看到。 关于这一切,我有两个问题: 究竟/mnt/c/Users/<username>与之相比C:\Users\<username>?似乎它们是同一个人---那是/mnt/c/什么? 如何/home/<username>使用Windows File Explorer查看文件?并不是我真的想要-我只是想了解Windows如何组织Linux子系统。


5
通过用户名获取主目录
我想获取任何具有echo的用户的主目录 echo ~puchuu >> /home/puchuu 但是我不能使用变量 echo ~$USER >> ~puchuu echo `echo ~$USER` >> ~puchuu
84 linux  bash 


3
如何消除负号?
当我忘记以下内容中的引号时,我的早晨咖啡还没有触及: alias grep="grep --color=always" 所以我改为输入: alias grep=grep --color=always 给我留下: --color=always grep=grep 以我的别名。 当我尝试使用时清理--color = always时,unalias --color我得到: bash: unalias: --: invalid option unalias: usage: unalias [-a] name [name ...] 我曾尝试过转义,引用和乞讨,但我不知道如何使突击队变得更加混乱。 (我知道重新启动将解决问题,但是肯定必须有另一种方法)
83 bash  bash-alias 

4
如何将命令输出传递给其他命令?
例: ls | echo什么都不打印(实际上是空白行)。我希望它能打印文件列表。 ls | grep 'foo'另一方面,可以按预期工作(打印名称中带有'foo'的文件)。 在这些情况下,我的工作类似于: ls | while read OUT; do echo $OUT; done但这很麻烦。 为什么管道只能与某些命令一起使用,而不能与其他命令一起使用?如何解决这个问题?
83 bash  pipe 



1
目标文件尚不存在时,使用`>>`重定向是否等同于`>`?
考虑像Bash或sh这样的shell。在目标文件存在的情况下,>和之间的基本区别在于>>: > 将文件截断为零大小,然后写入; >> 不截断,它写入(附加)到文件的末尾。 如果文件不存在,则会以零大小创建文件;然后写。对于两个运营商都是如此。当目标文件尚不存在时,这些运算符似乎等效。 是真的吗
80 bash  redirection  sh 

7
如何解决“无法执行二进制文件”错误?
当我使用SSH登录时,我只能看到的是... -bash: /usr/bin/id: cannot execute binary file -bash: [: : integer expression expected 我在这里什么也不能做。命令如halt,poweroff,reboot将返回command not found。 我怎样才能解决这个问题?我正在使用Debian Squeeze Linux
80 linux  bash  ssh  debian 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.