11 在Unix中使用“ ls”时,如何对第一个目录然后对文件等进行排序 我想使用该ls命令先显示目录,然后显示文件。我试过了: ls -la | sort -k 1 但是我的订单错了。 91 unix bash ls sorting
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主目录中吗? 90 windows-10 bash windows-subsystem-for-linux
5 在Mac OS X Snow Leopard和Lion上的哪里可以找到.bashrc文件? 我想在我的Snow Leopard机器上安装rvm。 它说我需要在.bashrc文件中添加一行(我正在使用bash),但是.bashrc文件在哪里? 89 bash osx-snow-leopard terminal osx-lion .bash-profile
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 … 89 command-line bash terminal shortcuts
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接缝,就可以正常工作。怎么改变呢? 87 ubuntu command-line bash shell chsh
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子系统。 86 windows-10 bash windows-subsystem-for-linux
4 如何在bash中内联扩展别名? 有没有办法在bash中内联扩展别名? $bash>alias ll='ls -l ' $bash>ll<tab> $bash>ls -l 84 bash alias expansion
5 通过用户名获取主目录 我想获取任何具有echo的用户的主目录 echo ~puchuu >> /home/puchuu 但是我不能使用变量 echo ~$USER >> ~puchuu echo `echo ~$USER` >> ~puchuu 84 linux bash
9 如何从命令行进行递归查找和替换? 使用bash或zshell之类的shell,如何进行递归“查找并替换”?换句话说,我想在此目录及其子目录的所有文件中将所有出现的'foo'替换为'bar'。 84 bash shell zsh find-and-replace
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
4 我如何回显$ something >> file.txt而没有回车? 当我echo $something >> file.txt,新行将追加到文件。 如果我不添加任何新行怎么办? 81 bash redirection
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