Questions tagged «cd-command»

cd是用于更改工作目录的内置Shell。

3
如何以root用户身份进入目录?
假设有一个我没有权限访问的目录。显然是sudo cd foo行不通的,因为cd每个外壳中都内置有一个外壳。 到目前为止,我一直在使用sudo bash(是的,我知道有更好的方法)来获取根提示。然后,我可以cd进入目录进行浏览。 有一个更好的方法吗?
10 bash  sudo  cd-command 

3
bash:cd到最近修改的子目录
想知道是否有一种简单和/或便携式的方式来表示“更改为最近修改的子目录”。我可以使用ls和awk,但是可能有更好的方法。 cd $( ls -ltrd */ | tail -1 | awk '{ print $8 }' ) 我必须在具有数百个子目录的“输出文件”目录中运行命令,并且有99%的时间我想转到最近更改的目录。我不知道目录的名称是什么。
10 bash  date  cd-command 

5
我可以插入cd命令吗?
我试图在我运行的服务器上进行设置,每当我cd有public_html95%的时间进入文件夹时,总会运行一些命令来检查某些内容。 无论如何,我都可以挂入,cd所以如果目录是a public_html,它将为我自动运行命令? 如果我无法使用cd命令,是否还有其他事情可以实现,以达到所需的结果? 我正在运行CentOS 5.8。


2
如何使cd参数不区分大小写?
有时,在访问各种目录时,多数情况下我记得我们Linux系统下目录的名称或至少一部分名称。但是某些目录的名称以大写字母开头或大写字母中间的一个字符开头。 任何人都可以建议我如何才能让下面的参数cd命令不区分大小写,这样,如果我执行cd BackupDirectory或者cd backupdirectory它可以进入该目录名BackupDirectory。 当然,我不想为其他用户搞麻烦,因此,如果上述可行,是否可以将更改仅应用于我正在使用的会话,而不会影响其他用户? 好的,我试过了 set completion-ignore-case,但是这行不通。如果我键入cd b和Tab或Esc Esc它填充目录名而忽略大小写,则只会有所帮助。但是,我需要做的是cd backupdirectory,它只是忽略大小写并BackupDirectory自行输入。

1
cd到上一个目录,不回显目录名称
这个答案给了我cd -简化到Bash上一个目录的捷径。它确实有一个主要问题:它打印出要更改的目录,浪费了我的屏幕空间,因为该目录随后在下一行的提示中重复出现。 我知道我可以做cd $OLDPWD,在该答案中也提到了,cd - >/dev/null但这要打字得多。 在bash手册页中说: ...或-是第一个参数,并且目录更改成功后,新工作目录的绝对路径名将写入标准输出。 我怎样才能-不成为第一个论点?通过使用任何cd可选参数?还有其他抑制回波或最小化键入的方法,而无需在我使用的每台计算机上定义函数/别名?

1
了解目录符号链接遍历和父目录
假设您有目录/dir1和/dir2/linked,其中目录是到目录的符号链接。 当您cd到达linkedand时pwd,您将获得输出/dir2/linked。如果这样的话cd ..,你会被戴上/dir2。此行为与您/dir2/linked之前的想法一致。但是,据我了解,..任何目录的父目录()都存储在目录inode中(即:物理上在磁盘中)。显然,既然/dir2/linked是true /dir1,那么inode上的父目录必须是/ 为了进一步使问题复杂化,而里面/dir2/linked的输出ls ..和cd .. ; ls .是不同的!似乎是在cd尊敬符号链接的路径,而在ls尊敬“物理”路径。就像这个问题中提到的那样,这里cd -P有用例。 man pwd 提到了“物理”和“逻辑”工作目录,但目前我仍然有几个问题: PWD如所述,此行为是否总是由环境变量提供的man pwd? 如果它们都是shell命令(即不是程序),为什么要默认cd并ls具有不同的行为? 是否使用典型程序(而非shell命令)PWD代替物理路径?我知道这取决于实现,但是有经验法则吗?

5
$ find -exec cd =>给出错误:=> find:'cd':没有这样的文件或目录
当我运行此命令时,它起作用: $ find . -inum 888696 -exec ls '{}' \; Conversation.pst Outlook Data File Outlook Data File.sbd Trash Unsent Messages Inbox.pst Outlook Data File.msf Sent.pst Trash.msf Unsent Messages.msf 然而,当更换ls与cd它不工作: $ find . -inum 888696 -exec cd '{}' \; find: ‘cd’: No such file or directory 我知道cd是一个bash内置的,所以我想这里面确实没有任何工作: $ find . -inum …
8 bash  find  cd-command 

4
退出外壳程序后,chdir(<directory>)不会更改目录
我想制作一个简单的C程序来更改我的项目目录。其内容如下: #include &lt;unistd.h&gt; int main() { chdir("/home/enedil/projects/algo"); return 0; } 我用以下命令编译了它(pro.c是它的文件名): gcc pro.c -o /usr/local/bin/pro 没有错误也没有警告。但是,当我运行它,它并不会改变目录。为什么?
8 process  c  cd-command 

3
是否可以通过编程方式更改父Shell的工作目录?
我想编写一些代码以允许我切换到通常访问的某些目录。说这个程序是mycd,并且/a/very/long/path/name是我要转到的目录。 所以我可以简单地键入mycd 2而不是cd /a/very/long/path/name。在这里我假设mycd知道2是指/a/very/long/path/name。也可能有mycd 1,mycd 3,...等等。 问题是我必须编写mycd为shell脚本并键入. mycd 2以执行所需的操作,因为否则该脚本将在子脚本中执行,而子脚本不会更改我实际上关心的父shell。 我的问题是: 我可以不用使用它source吗?因为. mycd假定mycd必须是一个shell脚本,并且这可能还会引入一些我不需要的功能。 我可以用其他一些编程语言实现它吗?

2
“ cd&”是什么意思?
我知道如何通过键入从终端更改目录 cd &lt;directory&gt; 但是这是场景。我正在使用终端进入git存储库的文件夹。 glenn存储库 glenn-remdroid存储库 给定上面的文件夹结构,我想进入,glenn-remdroid-repository因为这是我的存储库。 cd glennRepositories 在切换到glenn-remdroid-repository之前,我错误地键入了命令 cd &amp; 代替cd *。我cd *之所以使用该文件夹,是因为该文件夹名对我来说太长了,抱歉。 当我执行时cd &amp;,终端回复 [1] 7519 当我执行cd *这件事时 [1]+ Done cd (wd: ~/glennRepositories) (wd now: ~/glennRepositories/glenn-remdroid-repository) 有谁代表什么cd &amp;及其输出?Google不知道我的问题:)

3
用脚本更改当前工作目录
我已经阅读了这个问题和答案,但是即使是类似的问题也无法解决。 我正在编写一个脚本(称为cpj),它将启动我当前的项目之一。我大约有五个。当我键入 $ cpj blah 我希望当前工作目录更改为blah项目目录(我保存在$ PROJDIR中),并且我希望emacsclient打开该项目的主文件(我保存在$ MAINFILE中)。 我引用的问题是,您不能直接更改运行脚本的shell的环境,但是可以提供脚本的源代码,并且可以这样做。 为了测试这一点,我编写了一个shell脚本(称为chcwd),其中只有一行: cd $1 如果从命令行执行: $ . chcwd $PROJDIR 我当前的工作目录将根据需要更改。另一方面,如果从我的cpj脚本中获得同一行: . chcwd $PROJECT 它不会更改外壳程序的当前工作目录。我意识到我正在运行2个脚本(cpj,然后是chcwd),因此创建了2个shell,但是我看不到要完成所需的任何方法。谁能告诉我如何实现我的目标?
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.