![在mac终端中,如何在当前目录或子目录中查找文件?](https://linux22.com/image/1242969/%E5%9C%A8mac%E7%BB%88%E7%AB%AF%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BD%93%E5%89%8D%E7%9B%AE%E5%BD%95%E6%88%96%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%96%87%E4%BB%B6%EF%BC%9F.png)
在mac终端中,如何在当前目录或子目录中查找文件?
文件名是:“something.py”
答案1
find . -iname something.py
('.' 指定当前目录)。 -iname
检查find
文件名的下一个参数,不区分大小写,这是 Mac OS 文件系统的常态。
答案2
请不要将“终端命令”与 shell 命令或命令行混淆。
这是一个终端:http://en.wikipedia.org/wiki/File:Terminal-dec-vt100.jpg
具体来说,那是 DEC VT-100,在 UNIX 开发时期,它可能是 UNIX 最常用的终端类型。直到 20 世纪 80 年代中期,市场上出现了大量不同类型的终端。这些硬件所能做的就是在屏幕上显示字符、在屏幕上移动光标以及执行一些其他次要功能,例如清除行尾或将显示屏向上滚动一行。
虽然这个设备可能看起来像是早期的 PC,但它并不是 PC。这个设备唯一能做的就是在屏幕上显示文本字符。它自己无法决定在屏幕上显示什么字符,也无法决定它们在屏幕上显示的位置。它必须由计算机(通常是多用户分时计算机)来控制执行什么操作。
尽管存在这些限制,这些终端仍然是用户在 UNIX 上进行所有操作所用的工具,包括编程、运行应用程序、玩游戏(是的,游戏)、电子邮件、IRC、聊天等...但终端所能做的就是在屏幕上显示字符,那么如何在其中运行编辑器呢?
你做不到,你也没有这样做。编辑器运行在一台多用户分时计算机中,比如说一台 PDP-10,它可能有 30 或 40 个终端与其连接。因此,可能有 30 或 40 个用户同时共享同一台计算机。他们甚至可能同时进行编辑。但是如何做到呢?
每个用户都有自己的进程。正在编辑的用户在 PDP10 内运行编辑会话,PDP10 内的编辑器程序会向终端发送“终端命令”**,以在终端屏幕上显示内容。
以下是 vt100 的一些实际终端命令:
[ 1 m 将这三个字符发送到 vt100 将使终端处于粗体模式。此后显示的所有文本都将显示为粗体文本,直到向终端发送另一个命令以关闭粗体模式。
[ ; H 将光标置于屏幕上的 X,Y 位置。
[ 0 K 清除从当前光标位置到行尾的行
[ 1 K 清除从行首到当前光标位置的行
[ 2 K 清除整行(光标位置不变)
[ 3 0 m 发送这三个字符会导致终端将背景颜色设置为黑色
最终,硬件终端逐渐消失。但我们仍然需要一个终端作为在 UNIX(当然现在还有 Linux)上运行的成千上万个程序的输入和显示设备。这就是 X-windows 终端仿真器应运而生的地方。这些是小型图形程序,可以模拟在运行程序时在真实硬件终端上发生的情况。它们会打开一个窗口,其外观和行为与真实终端(或几乎)一样。
终端仿真器包括 X-term、Gnome Terminal、Konsole 等。请记住 - 这些都不是终端。它们是终端仿真器。如果您向它们发送终端命令(如上所示),您将直接控制终端仿真屏幕显示的内容。
当然,发送转义字符和控制字符是一件麻烦事,因此 UNIX 开发人员自然而然地制作了一些工具来简化事情。Terminfo、termio、curses 和 tput 都是用于使向终端仿真器发送终端命令更加容易的特殊实用程序。大多数人发现 tput 是这些选择中最有用的。因此,当您在 Bash 命令行上输入命令、cat、awk、grep 等时,请记住您不是在运行“终端命令”,而是在运行 shell 命令或命令行命令。:)