6 如何在Linux上编辑$ PATH? 我正在使用ubuntu 9.04,我需要在$ PATH中添加一些文件夹。我知道如何读取路径: echo $PATH 我希望能够对其进行编辑并添加其他2条路径。 谢谢 44 linux shell ubuntu
8 如何使ls按文件扩展名排序然后命名? 默认情况下,ls命令仅按文件名排序,但我希望目录出现在其他文件类型之前。我什至可能希望文件按扩展名排序,例如Windows资源管理器按类型列排序的方式。有没有办法做与ls类似的事情? 44 linux shell
6 如何在Linux的sh(不是bash)的命令提示符中显示当前路径? 我想在sh提示符(不是bash shell)中显示当前路径,当前仅显示“#”,我尝试介绍一下 env PS1="$(whoami)@$(hostname):$(pwd)" 和 set PS1="$(whoami)@$(hostname):$(pwd)" 在中/etc/profile。 但是很明显,当目录更改或用户更改时,此操作不会刷新。请提出一种使这种动态变化的方法。 43 linux shell sh busybox
12 如何从命令行恢复CUPS打印机? 我的CUPS中有打印机,由于驱动程序问题(HP 1010),有时会暂停。 我想编写一个外壳脚本,该脚本每小时执行一次,以恢复CUPS中的打印机。但是我不知道在几分钟后如何从shell命令行恢复打印机。 42 linux shell printing cups
10 没有外壳的操作系统看起来像什么? 诸如bash或command.com(在Windows ME或更高版本)或CMD.EXE(在更高版本中)之类的外壳提供了一个界面(除其他外)接受来自用户的命令。运行Shell之前,操作系统是什么样的?在开发第一个外壳程序之前(例如1970年代初期的UNIX)如何使用系统?如果计算机甚至不能接受命令(没有命令行),那么用户如何与之交互?这个最基本的界面是什么?我可以在终端仿真器中运行此接口,还是在外壳后面没有办法? 41 shell operating-systems history
5 可以将','别名为'..'吗? 有时,当我想更改到父目录时,我错误地键入cd ,,而不是cd ..。有没有一种方法可以使bash认为这些语句相同?我从不在命令中使用逗号。理想情况下,我想别名,,来..。当我尝试此操作时,它不起作用。为什么没有这项工作?我还能如何解决这个问题? $ alias ,,=.. $ cd ,, -bash: cd: ,,: No such file or directory 41 linux bash shell
5 查找bash函数的定义 我的工作环境中有很多遗留的Shell脚本魔术。bash函数是从命令行中大量使用的东西,它们从我的.bash_profile中包含的某个文件中包含的某个文件中获取。有没有一种方法可以获取这些功能的定义,甚至更好地定义这些功能的位置,而无需跟踪5个包含级别? 41 bash shell
3 将当前命令传输到可分离的会话(tmux /屏幕) 我目前正在运行一个备份,现在需要将其转移到tmux或上可拆卸的备份上screen。当前正在运行命令时,有没有办法做到这一点? 我可以通过按Ctrl+ 将命令发送到后台,Z然后通过发出fg命令将其备份。但是我不知道退出终端后该会话是否可以返回。 41 command-line shell gnu-screen tmux
2 使用Mac OS X High Sierra VM卡在UEFI交互式外壳上 我在VirtualBox上安装了Mac OS X虚拟机,并在启动时进入了UEFI shell: 我该怎么办? 41 macos boot virtualbox shell uefi
3 在zsh命令中使用通配符 使用命令如rsync和scp与ZSH我碰到的麻烦。它不会运行并返回:不是给我所有匹配文件的(正常)行为,而是: ➜ ~ rsync -azP user@server:~/* ~/ zsh: no matches found: user@server:~/* 我怎样才能解决这个问题? 我的 .zshrc ZSH=$HOME/.oh-my-zsh ZSH_THEME="robbyrussell" plugins=(git brew) source $ZSH/oh-my-zsh.sh export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/sbin 39 macos terminal shell zsh oh-my-zsh
7 如何将一个用户的所有文件更改为另一用户? 我正在寻找一个Linux命令,该命令可以将属于给定用户(最好是目标目录中)的所有文件的所有权更改为另一个指定用户。 我的梦想命令看起来像这样... chuser -R --olduser tom --newuser jerry 要么 chuser -R --olduser 1066 --newuser 1492 这是我的情况...我有一个备份文件(.tgz),其中保留了用户和组信息。它来自运行Apache和MySQL的Web服务器。备份中的文件来自整个系统,并且包含来自多个不同用户和多个系统类型帐户的文件,这是在新服务器上还原设置时不会丢失设置的关键。问题是正在还原文件的计算机上的用户与备份文件中的用户不匹配。例如,两台计算机都有一个MySQL用户,但是它们具有不同的用户ID,并且两台计算机上都存在多个属于不同用户的用户ID。这意味着无法将新计算机上的用户同步到旧计算机上的用户。 我可以使用以下find命令找到所有用户文件... find /decompressed-backup-dir -uid 1050 要么 find /decompressed-backup-dir -user tom 如我所怀疑的,如果无法用单个命令来完成我想要的事情,那么也许有一种方法可以将find命令的结果传递给另一个命令来处理所有权更改? 我可以使用PHP脚本执行此操作,但是备份中有4GB内存和成千上万个文件,因此我不想使用PHP或Perl,但我对可以处理它的Shell脚本感到满意。 39 linux shell command-line
5 删除数百万个文件 我的目录充满了数百万个gif图像。rm命令太多。 我一直在尝试这样的find命令: find . -name "*.gif" -print0 | xargs -0 rm 问题是,它使我的机器停顿得很不好,并且由于它是服务器,因此导致客户超时。 有什么方法可以更快地删除所有这些文件...而无需锁定机器? 38 linux bash shell find rm
5 运行命令是否会使它们变慢? 我发现自己在-v越来越多的应用程序中使用该标志(特别是对于诸如tarand的琐碎事情cp)。但是,当我这样做的时候(例如,我要解压缩一个大文件),比不使用该-v标志的时间要长。 我认为这是因为终端必须处理文本,并且我正在填充它可能具有的任何缓冲区。但是我的问题是,这是否会使应用程序实际运行速度变慢,或者它是否在相同的时间内完成,我所看到的是终端试图追赶? 37 linux unix shell
4 无法重命名以连字符开头的文件 我正在尝试使用名称的开头和两者之间的连字符重命名文件: mv -example-file-name example-file-name 和这个: mv '-example-file-name' example-file-name 导致: mv: invalid option -- 'e' 37 linux command-line bash shell
4 Mac中Alt + Dot的等效项/替代项 我从Linux shell中错过的一件事是Alt + Dot快捷方式。它的作用是插入上一个命令的最后一个参数。这似乎是一项琐碎的技术,但确实很有用。 即,如果您输入以下内容: $ ls /Applications/MAMP/conf/apache/ 下次您只需键入命令+快捷方式,参数将为您完成。 $ cd 'alt+dot' 在Mac上,我知道2种替代方法。按Esc + Dot或使用魔术空间设置输入!$,!*。 但是,尽管这两种选择都确实插入了您使用的最后一个参数,但是它们无法像重复键入Alt + Dot一样在命令历史记录中向后滚动。 我现在可以使用此选项,但是我很想知道是否有人知道更好的方法。 36 linux mac bash terminal shell