Mac OS X Terminal教程
为什么要使用命令行/如何开启命令行?
- 许多功能在图形界面不提供,只有通过命令行来实现。
- Finder会隐藏许多你不太会需要的文件,然而 command line 会允许你访问所有文件。
- 通过 command line 可以远程访问你的 Mac(利用 SSH)。
- administrators 用户可以通过
sudo
命令获得 root 用户权限。 - 通过 command-line script 可以使工作更高效。
- Terminal(终端)程序可以在“实用工具”里找到。
- 如果你开启手动输入用户名登陆模式,登陆时在用户名处输入
>console
可以直接进入命令行界面。随后你仍然需要登录到一个账户。
关于 man 命令
虽然有上千条命令,每条命令还有许多可选参数和具体的使用方式,但是你却不需要记住这些命令。你只需要记住一个:man
两种路径:绝对路径和相对路径
- 绝对路径:完整描述一个文件的位置,总是以斜杠(
/
)(forward slash)开头。例如/Users/michelle/Public/Drop Box
。 - 相对路径:只描述一部分位置信息,它和你在 command line 目前的目录有关。当你打开新的 Terminal 程序时,command line 会话的目录应该是你的 home folder。这时上面例子文件夹的相对路径写作
Public/Drop Box
切换到其他路径和目录
如果你想将当前 command line 会话切换到其他目录,需要用到三个命令:pwd
,ls
和cd
。
-
pwd
的含义是“print working directory”,会显示当前目录的绝对路径。 -
ls
的含义是“list directory contents”,它会列出当前目录的内容。这个命令还有其他参数可选。 -
cd
的含义是“change directory”,它会改变当前目录到你指定的目录。如果你不指定,则会返回你的 home folder。
处理特殊字符
如果目录中有特殊字符(空格,括号,引号,[]
,!
,$
,&
,*
,;
,|
,\
),那么直接输入空格会造成系统识别困难,必须使用特殊的语法来表示这些字符。例如上例中,空格前添加反斜杠“\
”(back
slash)即可:cd Punlic/Drop\ Box/
。除了反斜杠,也可以用引号的方法:cd
"Public/Drop Box"。
查看隐藏文件
michelle$ ls -la
我们还添加了-l
选项,目的是控制输出格式。如果你注意输出内容的话,会发现还包括.
和..
两项,它们分别表示当前文件夹和父文件夹(如图)。如果你不想显示这两项,只需要把-a
改成-A
即可。
前往其他卷
在 command line 中,系统卷(也称为 root volume)是由开始的一个正斜杠表示的。然而也许听起来不可思议,在 command line 中其他卷看起来就在文件系统中一个叫做 Volumes 的文件夹中。下面的命令清晰地显示出这种逻辑关系:我从我的 home folder 出发,最终前往一个叫 Time Machine 的卷,该卷是外接在 Mac 上的。
bogon:~ renfei$ pwd
/Users/renfei
bogon:~ renfei$ cd /Volumes/
bogon:Volumes renfei$ pwd
/Volumes
bogon:Volumes renfei$ ls
Macintosh SSD Time Machine
bogon:Volumes renfei$ cd Time\ Machine/
bogon:Time Machine renfei$ pwd
/Volumes/Time Machine
检视文件
有许多基础命令用来定位、检视文件和文件夹,包括cat
, less
, which
, file
以及find
。别忘了,你可以利用man
命令来查阅每个命令的使用指南。
编辑文件和文件夹
有许多基础的命令用来编辑文件和文件夹,包括mkdir
, cp
, mv
, rm
, rmdir
以及vi
。下面我们来简要地介绍一下这些命令。
mkdir
“make diretory”的缩写,用来创建文件夹,语法为mkdir
后接新文件夹的目录。可以用-p
选项,来一起创建路径中不存在的文件夹(这样你就不用挨层创建了)。
cp
“copy”的缩写,用来把文件从一处复制到另一处。语法为cp
后接原始路径,后接目标路径。如果你想复制整个文件夹和所有内容,需要添加-R
选项。如果指定的目标路径不含文件名,则
cp 命令会按原名复制。如果指定的目标路径包括文件名,则会复制为你指定的文件名。如果仅指定新文件名,则会在原处以新名称创建文件副本。注意,系统会自动替换同名文件而不出现提示。
mv
“move”的缩写,用来移动文件。语法为mv
后接原路径,后接新路径。mv
的指定路径规则和 cp 是一样的(没错,如果仅指定新文件名,它就成了重命名命令)。
rm
“remove”的缩写,会永久删除文件。注意,command-line中没有废纸篓。语法为rm
后接文件路径。然而,使用
rm 命令删除的文件有可能可以通过数据恢复工具恢复。如果希望安全删除文件,可以使用srm
命令。
rmdir和rm -R
rmdir是“remove directory”的缩写,这个命令会永久删除文件夹。再强调一遍,CLI 中木有废纸篓。语法为rmdir
后接希望删除目录的路径。然而,rmdir
命令无法删除含有任何其他文件的文件夹,所以大多数情形下rmdir
命令是不适用的。不过,你可以利用rm
添加-R
选项来删除文件夹及包含的所有文件。
vi
代表“visual”(视觉的),然而这个名称相当具有讽刺意味:vi可能是可视化效果最差的文本编辑器了。然而,vi 是 command line 中最常见的文本编辑器。用vi打开文本文件,只需要输入vi
后接文件路径即可。Mac
OS X 还提供了nano
,一个更加现代的文本编辑器。它也更加方便,例如在底部包含了一个作弊小条(=_=),上面有常用的快捷键列表(你就不用背下来它们了)。然而,vi却有时是默认的文本编辑器,所以掌握vi是很有用的。
和less
命令类似,vi
命令会占用整个
Terminal 空间来显示文件内容。打开后,在“command模式”,vi 会等你输入一些预定义字符来告诉 vi 你想做什么。你也可以使用键盘上的箭头键单纯地浏览文件。你想编辑时,按A开始(会进入编辑模式)。文字会插入到光标处。如果你想保存,需要先退出编辑模式进入
command 模式。方法是按下esc键。回到
command 模式后,按住shift同时按两次Z来保存并退出。如果你不想保存,在
command 模式输入:quit!
并按enter
return直接退出。
使用 sudo 切换 Shell
如果你是一个管理员用户,你需要执行很多条需要 root 权限的命令,你可以临时切换整个命令行 shell 来取得 root 级别的访问权限。方法就是先输入sudo
-s
,回车后再键入你的密码。
- 中止一个错误的或者发疯的命令,可以使用组合键control + C。
- 你可以在执行前编辑命令,只需要使用箭头和键盘上的其他字母。
- 没有输入任何命令时,你可以用▲和▼来浏览历史命令。同样可以编辑和再次执行。
- 你也可以使用
history
命令查看历史记录。 - 你可以使用组合键control + L清屏。
上一篇: Mac Terminal
下一篇: java烂笔头记忆
推荐阅读
-
Mac OS X Terminal教程
-
Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法
-
Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法
-
在Mac OS上安装Tomcat服务器的教程
-
在Mac OS上安装Tomcat服务器的教程
-
在MAC OS X上安装MYSQL
-
mac系统OS X10.10版本安装最新5.7.9mysql的方法
-
在Mac OS X中完善PHP环境:memcache、mcrypt、igbinary
-
Mac OS X下Android系统华为手机无法连接问题之解决方案
-
Mac OS X 安装mysql过程