您可能会立即急切地看到对“命令行”的引用,或者在Mac上所知的“终端”中所知。的确,起初使用会感到艰巨。但好消息是,它遵循直接的规则。

一旦掌握了命令,使用终端就可以成为第二天性。而且,如果您不确定从哪里开始,则可以使用下面的备忘单!它包含命令和常见的词汇。

MAC终端

MAC终端命令和备忘单

提示在潜水之前:尽管您可能会在下面看到带有引号的命令,但您不需要在终端中使用引号。

如何在Mac上打开终端:

访问Mac上的终端应用程序很容易。要在Mac上打开终端,您可以单击顶部栏中的放大镜搜索图标,然后键入“终端”。

然后,只需双击终端应用程序结果即可。

$:

这称为“外壳提示”。当Mac终端准备好接受命令时,它会显示出来。例如,当您首次打开终端时,您会看到这样的占位符线:

yourname@macbook-pro〜 $

当您在行末尾看到壳提示符时,您会知道它可以接受命令。

争论:

在谈论命令行/MAC终端时,“参数”是命令的主题。

目录:

使用命令行时,文件夹称为“目录”。

您当前在终端中查看的任何文件夹(或目录)都称为“工作目录”。

嵌套文件夹文件系统:

计算机上的文件和目录被组织成“文件系统”。这将计算机的文件和目录组织成类似树状的结构。

文件系统中的第一个目录是“根目录”。它是文件系统中所有其他目录和文件的父母。

例如,假设您有一个名为“桌面”的文件夹作为根目录。在该文件夹中,您可能会有用于艺术,音乐,编程和图片的文件夹。这些文件夹中的每个文件夹也将拥有自己的文件夹。因此,您可能有这样的路径:

桌面/艺术/绘画/picasso.jpg

或者:

桌面/音乐/专辑/oliviarodrigo/driverslicenselyrics.txt

标准输入:

通常以stdin为单位,这是指通过键盘或输入设备输入到终端中的任何信息(例如文本)。

例如,标准输入可能是您输入的任何命令。

标准输出:

通常是作为Stdout缩写,这是指运行过程后输出的信息。

例如,如果您执行了“ LS”命令,则标准输出将是结果显示的文件/文件夹列表。

标准错误:

通常缩写为stderr,这是指由失败过程输出的错误消息。

PWD:

“ PWD”代表“打印工作目录”。它显示了您当前使用的目录的名称,也就是“工作目录”。

“ LS”和“ PWD”有助于显示您在文件系统中的位置。

例如,如果您这样做:

PWD

它可能输出:

文档/娱乐/娱乐/游戏

即:它准确地显示了您的位置。如果它说的只是“游戏”,那么您可能不确定“游戏”文件夹在哪里嵌套。

光盘:

如果您想知道如何导航到终端中的文件夹,那就别无所求。

CD代表“更改目录”。此命令将您切换到您指定的目录(即:它更改“工作目录”)。

带图标的文件夹

但是,您要切换的目录(文件夹)必须在当前工作目录内。这听起来可能令人困惑,但可以这样想:

假设您的计算机具有一个名为“ MyComputer”的父文件夹。在该文件夹中,有一个“桌面”文件夹。在台式机上,有一个名为“其他杂物”的文件夹。如果您在MAC终端中,并且当前的工作目录是MyComputer,则执行“ CD MISC”,它将输出一个错误,例如:

CD:没有这样的文件或目录:杂项

但是,如果您的工作目录在上面的示例中是台式机,则当您进行“ CD杂项”时,它将将您切换到桌面上的标题为“杂项”的文件夹。

在这种情况下,您要切换的文件夹通常称为“ CD”命令的“参数”。

如果要切换到当前工作目录中不在的文件夹(目录),则仍然有选项。

要导航到子文件夹中,您可以做:

CD parent foldername/childfoldername/afterChildFolderName

(用父文件夹的名称替换“ parent foldername”等)

向上移动一个目录(到父文件夹)使用:

CD ..

例如,如果您在上面提到的“杂项”目录中,则执行“ CD ..”将从myComputer/Desktop/其他杂项导航到MyComputer/Desktop。

Mkdir:

Mkdir代表“ Make Directory”。它将目录名称作为参数,并在当前工作目录中创建一个新目录。

换句话说,它使您可以选择一个新文件夹的名称,并在您当前使用的文件夹中创建它。

例如,如果您在“工作文档”文件夹中,并且您会这样做:

MKDIR客户

它将在“工作文档”目录中添加一个名为“客户”的新目录。

触碰:带有加号的文件夹

想知道如何在终端中创建新文件?“触摸”命令是您的新最好的朋友。

此命令在您所在的工作目录中创建一个新文件。它将文件名作为参数,并在当前工作目录中创建一个带有该名称的空文件。

例如,如果您在“音乐内容”文件夹中,并且您会这样做:

触摸jayz.txt

这将创建一个新的空白文本文件,称为“音乐内容”目录中的“ Jayz”。

LS:

当您键入“ LS”并按Enter时,命令行会检查您的文件夹,然后列出其中的文件/文件夹。

例如,假设您在一个文件夹中,如果您键入“ LS”并按Enter键,则可以保存屏幕截图,您可能会看到这样的列表:

-一个:

这种类型的命令称为“选项”命令。它修改了“ LS”命令的行为,以便还列出以DOT开头的文件/目录。如果您只是单独使用“ LS”,则它将从一个段开始隐藏文件。

所以要做:

LS -A

将列出您所在的工作目录中的所有文件/文件夹,包括以DOT开头的文件/文件夹。

这很重要,因为某些计算机文件是从常规视图中隐藏的。在这种情况下,这些文件/文件夹从点开始。

-l:

该命令可以与“ LS”一起使用,并以长格式列出目录的所有内容。这意味着所有文件和文件夹列出为具有不同列的表。结果中将列出的列的示例:

  • 访问权限,是文件或目录上允许的操作
  • 硬链路数量,其中计算儿童目录和文件的数量(其中包括父目录链接(..)和当前目录链接(。)
  • 文件所有者的用户名
  • 拥有文件的组的名称
  • 字节中的文件大小
  • 文件最后修改的日期/时间
  • 文件或目录的名称

要使用此命令,例如,您可以执行:

LS -L

例如,哪个将输出:

drwxr-xr-x 3 yourusername员工96 6月15:25艺术
-rw —---@ 1 Yourusername员工64862 Feb 3 14:15表格1099G.pdf
-rw-r – r –@ 1 Yourusername员工92672 JUN 8 13:28 GITHUB NOTES.DOC
-rw —---@ 1 Yourusername员工64862 2月3日14:11测试说明.pdf
-rw —---@ 1 Yourusername员工6179 APR 27 22:56客户Notes.rtf
drwxr-xr-x 8 yourusername员工256 5月2日14:45测试脚本
-rw-r – r –@ 1 Yourusername员工143254 3月8日12:05 iPhone-Receipt.png

您可以将该输出与上面的列标题列表进行比较,以查看每个列的代表。

-t:

该命令可以与“ LS”一起使用,并且可以按照上次修改的时间输出工作目录中的文件/文件夹列表。

因此,您可以做:

LS -T

它将列出当前工作目录中的所有文件/文件夹,从最近修改的文件开始(并以最长前修改的内容结束)。

同时使用多个选项:

您可以同时使用多个选项,例如:

ls -al

或者:

ls -alt

(即同时使用“ -a”和“ -l”,或同时使用“ -a”和“ -l”和“ -t”)

CP:

此命令复制文件或目录。首先,您将要复制的文件命名,然后将要复制到的目录命名。例如,如果您在“音乐歌词”目录中,那么您会做:

复印机

cp harddaysnight.txt allbeatleslyrics.txt

它将复制艰难的夜晚歌词进入All Beatles歌词文件。

或者您可以这样做:

CP Musiclyrics/rockthecasbah.txt朋克/

它将移动摇滚卡斯巴文本文件到“朋克”目录中。

您也可以一次复制多个:

CP Musiclyrics/rockthecasbah.txt musiclyrics/magnificentseven.txt朋克/

通配符:

通配符是选择组的特殊角色。例如:

*在工作目录中选择所有文件

所以你可以做:

CP *音乐

将所有文件复制到Musiclyrics中。

如果您只想选择和复制特定条件的文件,也可以做到这一点。假设您只想复制以字母“ G”开头的文本文件。在这种情况下,您会做:

cp g*.txt Musiclyrics/

这将将以字母“ G”开头的所有文本文件复制到Musiclyics文件夹中。

MV:

与CP类似,此命令移动文件。主要区别在于,使用“ CP”,您正在复制文件 - 因此原始版本仍然保留在上一个位置。

要将文件移至目录中,请使用MV将源文件作为第一个参数和目标目录作为第二个参数。

例如,将“ Guitarchords”文本文件移动到一个名为“ Music”的文件夹中,您会做:

MV Guitarchords.txt音乐/

您也可以一次移动多个文件,例如:

MV Guitarchords.txt basschords.txt音乐/

您也可以使用MV更改文件名。例如:

MV Guitarchords.txt MusicLearning.txt

这将改变“ guitarchords.txt”,称为“ musiclealearning.txt”。

R M:

如果您想知道如何在终端中删除文件夹(或文件),则需要知道的只是两个字母:rm。此命令删除文件和目录。例如,要在工作目录中删除一个称为“杂项”的文本文件,您将执行:

rm杂项

如果您想删除目录及其所有儿童目录,则可以使用-r命令也是。要删除一个名为“ Phonenumbers”的目录,您将要做:

RM -R语音器

回声:

使用此命令使终端输出无论您告诉它。例如:

回声“测试123”

将输出:

测试123

粉红色和蓝色箭头交叉重定向:

通过重定向,您可以将命令的输入和输出引导到其他文件和程序,以及链命令在一起。

重定向重新安排标准输入,标准输出和标准误差到不同位置。例如,如果要保存在公共位置收到的错误列表,这可能会有所帮助。有关使用重定向的方法,请参见下文。

>::

使用“>”命令将标准输出重定向到文件。例如:

回声“测试123”> test.txt

将在测试文本文件中添加“测试123”。

猫:

此命令将文件的内容输出到终端。使用上述示例:

CAT TEST.TXT

将使终端输出“测试123”(或“ test.txt”文件的内容)。

猫和>:

您可以使用“ CAT”和“>”的组合将一个文件的内容添加到另一个文件中。例如:

$ cat chicago.txt> illinois.txt

将带有芝加哥文本文件内容,并将其移至伊利诺伊州文本文件中,以取代已经存在的所有内容。

猫和>>:

如果要将一个文件的内容添加到另一个文件(即:添加到新文件的末尾而不是替换旧内容),则可以使用CAT和>>。例如:

$ cat dachshunds.txt >> dogbreeds.txt

这会将“ dachshunds.txt”的内容添加到“ dogbreeds.txt”文件的末尾,而无需更换文件中的较早内容。

<:

从右侧的文件中获取标准输入,然后将其输入左侧的程序中。例如:

$ cat water.txt

这将用“ beveragestxt”的内容代替“ water.txt”的内容。

|::

|符号称为“管道”。它将命令的标准输出在左侧输出,并将其作为右侧命令的标准输入(即命令命令重定向)。例如,使用“ WC”(这意味着单词计数):

CAT Oceans.txt |厕所

在这里,Cat Oceans.txt的输出将是WC(单词计数)的标准输入。然后,“ WC”命令输出了Oceans.tx中的线,单词和字符的数量。

您可以这样将它们连接在一起:

CAT Oceans.txt |WC |CAT> totaloceans.txt

在这里,CAT Oceans.txt的输出是“管道”到WC命令的,然后WC命令的输出为“管道”到CAT,其输出的输出被重定向到Rivers.txt。

简单地说,这将获取“ Oceans.txt”文件的单词计数,然后将该单词计数添加到“ totaloceans.txt”文件中。

种类:字母顺序的文件列表

此命令采用标准输入并按字母顺序订购。例如:

对Oceans.txt进行排序

这将按字母顺序输出海洋文本文件中的单词。

假设您想对文件中的所有项目进行排序,并按字母顺序创建一个带有列表的新文件。为此,您可以做:

$ cat eachs.txt |排序> sorted-oceans.txt

uniq:

该命令过滤文件中相邻的重复行。例如,如果dogs.txt内容是:

科尔基
科尔基
帕格
帕格
科尔基

你做到了:

uniq dogs.txt

它将成为文件内容:

科尔基
帕格
科尔基

如果要确保它摆脱所有重复项(不仅是彼此列出的重复项),您可以做:

排序dogs.txt |uniq

然后,它将内容物字母顺序排列并删除重复项(在这种情况下总是相邻的,因为它按字母顺序排序)。

如果您想将列表放入新文件中:

排序dogs.txt |uniq> nyse-dogs.txt

格雷普:

GREP代表“全球正则表达印刷”。它搜索文件以匹配模式并返回结果。要知道的一个重要方面是,这对情况很敏感。

例如,如果您这样做:

grep corgi dogs.txt

它将在dogs.txt中搜索具有“ corgi”文本的line(但它不会返回任何具有“ corgi”而不是“ corgi”的内容)。

如果您希望它不敏感,则可以使用-i:

grep -i corgi dogs.txt

如果您想搜索整个目录(以及其中的所有文件),则可以使用-r:

grep -r corgi/home/yourusername/宠物

这将在宠物目录中搜索所有包含“ corgi”的行。

如果您只想检查文件名(而不是文件中的内容),则可以使用-rl:

grep -rl corgi/home/yourusername/宠物

并且只有在文件名中“ Corgi”的情况下返回结果。

文件夹上的放大玻璃图标SED:

SED代表“流编辑器”。在将其显示为输出数据之前,它接受标准输入并根据“表达式”进行修改。换句话说,它基本上就像“查找和替换”。例如,如果您这样做:

SED的S/蓝色/绿色/颜色.txt

它会搜索colors.txt,并用“绿色”替换“蓝色”一词的第一个(也是第一个)实例。

“ S”代表替代。它在使用“ SED”代替时始终使用。

如果您想替换单词的所有出现,而不仅仅是第一个出现,则可以这样使用G:

SED的S/蓝色/绿色/G'颜色.txt

这将取代文件中“蓝色”一词的所有用途。“ G”代表全球。

环境:

命令行环境由该会话中的设置/首选项组成,可以配置/自定义。

Nano:

Nano是命令行文本编辑器。它的工作方式与TextEdit一样,除了可以从命令行访问(仅接受键盘输入)。要在Nano文本编辑器中打开新的文本文件,您将要这样做:

nano newfilename.txt

键盘命令的菜单位于结果窗口的底部,您可以保存新文件和退出纳米的更改。“^”代表控制键。纳米编辑器中的选项包括:

  • 控制 + O保存文件。(o代表输出)
  • 控制 + X退出纳米程序(X代表出口)
  • 控制 + G打开帮助菜单
  • 清除(您键入并按Enter)清除终端窗口,将命令提示符移至屏幕顶部

〜/.bash_profile:

这是存储环境设置的文件的名称。它通常称为“ bash配置文件”。当您启动新的命令行会话时,它将在执行命令之前加载BASH配置文件的内容。

如果要更改环境设置,则命令nano〜/.bash_profile将打开nano中的bash配置文件。

如果您保存回声,则每当终端会话开始时,它将显示该文本。

当您这样做时:

来源〜/.bash_profile

它激活当前会话的BASH配置文件中的更改。也就是说,可以节省更改,因此它们立即生效,而不仅仅是将其保存为将来的会议。

别名:

您可以使用“别名”存储命令的快捷方式。

MAC终端

例如,如果您想为“ PWD”命令保存新名称(用于打印目录文件路径),则可以执行:

别名AJ =“ PWD”

这样一来,在命令行中键入“ AJ”可以用于打印工作目录。

然后,如果您使用源〜/.bash_profile,即使在当前会话中,新的别名/快捷方式也可以立即提供。

在另一个示例中,您可以做:

别名hy =“历史”

这样一来,在命令行中键入“ hy”将在该会话中输出您的历史记录。(同样,您需要执行源〜/.bash_profile,以便立即保存此保存,而不要等到下一个会话。)

您甚至可以将其用于多个命令,例如:

别名ll =“ LS - LA”

这样做,以便键入“ ll”将以长格式(包括隐藏文件)自动输出所有内容/目录。

变量:

环境变量包含有关环境的信息。它们可以跨命令和程序使用。

例如:

用户=“ Solange Knowles”

以上将将环境变量“用户”设置为“ Solange Knowles”。(通常,“用户”设置为计算机所有者的名称。)

然后您可以做:

导出用户=“ Solange Knowles”

这将使变量可用于您从您参加的会话中发起的所有儿童会议。

然后做:

Echo $用户

这将返回变量的值(“ Solange Knowles”)。返回变量的值时始终使用$。

如果将以下内容存储在〜/.bash_profile中:

导出ps1 =“ >>”

(注意:PS1是一个变量,定义了命令提示符的化妆和样式)

那会将命令提示从“ $”更改为“ >>”

然后,您只需要执行源命令(即可立即生效)。从那时起,命令行wold显示新命令提示符。

家:

家庭变量是显示主目录路径的环境变量。例如,如果您这样做:

回声$ home

它将显示您的主目录的路径,即:

主页/yourusername

小路:

路径是一个环境变量,该变量存储包含脚本的目录列表,该目录由结肠隔开。

命令行显示bin路径

例如:

回声$路径

会导致这样的事情:

/home/ccuser/.gem/ruby/2.0.0/bin:/usr/local/sbin:/usr/local/bin/bin:/usr/bin/bin:/usr/sbin:/sbin:/sbin:/sbin:/bin

BIN目录存储许多命令。例如,以下脚本:

/bin/pwd

/bin/ls

分别执行“ PWD”或“ LS”时执行。

env:

“ env”命令代表环境,并返回当前用户的环境变量列表。例如:

env |格雷普路径

将显示单个环境变量的值。

“ Env”的标准输出是GREP命令的“管道”。然后,GREP命令搜索变量路径的值,并将其输出到终端。

如何清除终端:

假设您要清除终端,以便会话中的先前命令从视图中消失。幸运的是,这很容易 - 您要做的就是:

清除

键入清晰并按Enter键后,它将清除您从终端中的较早命令。

在Mac上使用终端

命令行/终端可能没有最直接的用户体验。尽管备忘单并不能涵盖所有可能的命令,但这是一个很好的起点。

不用担心记住上面的所有项目。如果您需要停止并仔细检查要使用的命令,那就可以了。您在Mac上使用终端练习的练习越多,您会发现您不尝试就开始记住通用命令。