我想进入所有目录并输入 ls 来转到特定文件而无需搜索它,而且我所知道的文件名和我想要的只是文件名的路径。请帮助我,我是 unix 编程的新手,我有兴趣彻底学习它。我已经安装了 homebrew 和 iTerm (zsh)。谢谢。
答案1
如果要在 PATH 中查找可执行文件,可以使用以下which
命令:
$ which ls
/bin/ls
如果您想按名称查找文件,则可以使用该命令。例如,要在当前目录或任何子目录中的某个位置find
找到名为的文件:sample.txt
$ find . -name sample.txt
./sample.txt
./temp/sample.txt
在上面的例子中,find
发现两个文件分别名为sample.txt
您可以在名称中使用通配符(记得将名称放在引号中,例如'*.txt'
),还有许多其他选项可以缩小搜索范围。有关find
命令的更多信息:
$ man find
答案2
我假设您在Finder
窗口中看到该文件,并且想要进入该目录而不必输入长cd
命令。
您可以将文件或文件夹从一个Finder
窗口拖放到下一个Terminal.app
窗口中:这将导致/path/to/file.name
在光标位置打印出来。
因此,如果我想在终端窗口中列出桌面上文件夹中的文件,我首先需要ls -l
在终端中输入,然后将文件夹拖到Terminal.app
窗口中。
[nevin-mac-mini:~/桌面] nevin% ls -l /用户/nevin/桌面/Eclipse 总计 584 -rw-r--r--@ 1 nevin 员工 126127 21 八月 15:32 DSC_7956 (1).jpg -rw-r--r--@ 1 nevin 员工 95940 21 八月 15:50 DSC_7960.jpg -rw-r--r--@ 1 nevin 员工 71307 24 八月 08:42 DSC_8025.jpg drwxr-xr-x 5 nevin 员工 170 23 八月 18:19 发布 [nevin-mac-mini:~/桌面] nevin%
/Users/nevin/Desktop/Eclipse
当我将文件夹图标从桌面拖放到窗口上时,文件夹名称会自动输入Terminal.app
。
答案3
有一款名为“Go2Shell”的应用程序。此应用程序会将一个图标放在 Finder 窗口上,单击该图标后,会将您带到终端或 iTerm 窗口中的同一目录。因此,如果您在 Finder 窗口中显示包含文件的目录,单击 Go2Shell 图标将打开一个指向该目录的终端窗口。
如果您只想要文件路径,可以右键单击文件并按住选项键。其中一个选项是复制所选文件的路径。
另一个选项是在终端中输入“locate filename”。如果找到文件,它将列出文件的完整路径。