苹果系统终端命令是macOS用户与系统进行深度交互的重要工具,通过命令行界面(CLI)可以高效完成文件管理、系统监控、网络配置、软件开发等多种操作,无论是日常维护还是高级调试,掌握终端命令都能显著提升工作效率,以下将从基础操作、文件管理、系统监控、网络工具、开发辅助及安全配置六个维度,详细解析常用命令及其使用场景,并辅以表格归纳核心功能,最后附相关FAQs解答常见问题。

基础操作命令
基础操作是终端使用的入门,涉及目录切换、文件查看、进程管理等核心功能。
-
ls
:列出当前目录下的文件和子目录。- 常用选项:
-l
:以长格式显示(包含权限、所有者、大小、修改时间等)。-a
:显示所有文件,包括隐藏文件(以开头)。-h
:以人类可读格式显示文件大小(如KB、MB)。
- 示例:
ls -lah
可显示包含隐藏文件的详细列表,并格式化文件大小。
- 常用选项:
-
cd
:切换当前工作目录。- 用法:
cd [目录路径]
,支持绝对路径(如/Users/username
)和相对路径(如返回上级目录)。 - 特殊目录:表示用户主目录(如
/Users/username
),表示上一次所在的目录。
- 用法:
-
pwd
:显示当前工作目录的完整路径。(图片来源网络,侵删)- 示例:执行
pwd
后可能输出/Users/username/Documents
。
- 示例:执行
-
clear
:清空终端屏幕内容,便于查看后续输出。 -
man
:查看命令的详细帮助手册。- 用法:
man [命令名]
,如man ls
会显示ls
命令的所有选项和说明,按q
退出。
- 用法:
文件与目录管理命令
文件管理是终端的日常核心操作,包括创建、复制、移动、删除及权限修改等。
-
touch
:创建空文件或更新文件时间戳。(图片来源网络,侵删)- 示例:
touch newfile.txt
会在当前目录创建名为newfile.txt
的空文件。
- 示例:
-
mkdir
:创建新目录。- 选项:
-p
可递归创建多级目录(如mkdir -p parent/child
)。
- 选项:
-
cp
:复制文件或目录。- 选项:
-r
用于复制目录(递归复制所有子文件和子目录)。 - 示例:
cp -r source_dir/ target_dir/
将source_dir
完整复制到target_dir
下。
- 选项:
-
mv
:移动文件/目录或重命名。- 移动:
mv oldname.txt /path/to/newdir/
将文件移动到目标目录。 - 重命名:
mv oldname.txt newname.txt
直接修改文件名。
- 移动:
-
rm
:删除文件或目录。- 选项:
-f
强制删除(不提示确认),-r
递归删除目录(需谨慎使用)。 - 示例:
rm -rf dir/
会强制删除dir
目录及其所有内容,无提示。
- 选项:
-
cat
:查看文件内容(适合小文件)。- 示例:
cat file.txt
在终端直接输出文件全部内容。
- 示例:
-
less
:分页查看文件内容(适合大文件)。- 用法:
less largefile.txt
,支持q
退出、搜索、空格
翻页等操作。
- 用法:
-
nano
:简单的文本编辑器,适合快速修改文件。- 用法:
nano config.conf
打开文件编辑,Ctrl+X
退出并保存。
- 用法:
-
chmod
:修改文件或目录的权限。- 权限符号:
r
(读,4)、w
(写,2)、x
(执行,1)。 - 示例:
chmod 755 script.sh
设置所有者可读写执行,其他用户可读执行。
- 权限符号:
-
chown
:修改文件或目录的所有者。- 用法:
chown user:group file.txt
将文件所有者改为user
,所属组改为group
。
- 用法:
系统监控与管理命令
通过终端可以实时监控系统状态、资源占用及进程信息,便于排查问题。
-
top
:动态显示系统进程及资源占用(CPU、内存等)。- 常用操作:
q
退出,P
按CPU排序,M
按内存排序。
- 常用操作:
-
htop
:top
的增强版(需单独安装,通过brew install htop
),支持彩色显示、进程树可视化等。 -
df
:查看磁盘空间使用情况。- 选项:
-h
以人类可读格式显示(如50G
)。 - 示例:
df -h
输出各分区的总容量、已用空间、可用空间及挂载点。
- 选项:
-
du
:查看目录或文件的磁盘占用空间。- 选项:
-sh
显示总大小(s
汇总,h
人类可读)。 - 示例:
du -sh /Users/username/Downloads
显示下载目录的总大小。
- 选项:
-
ps
:查看当前运行的进程。- 选项:
-ef
显示所有进程的详细信息,-aux
显示包含其他用户的进程。 - 示例:
ps -ef | grep "nginx"
筛选包含“nginx”的进程。
- 选项:
-
kill
:终止指定进程(需进程ID,PID)。- 示例:
kill 12345
终止PID为12345的进程;kill -9 12345
强制终止(不推荐常规使用)。
- 示例:
-
systemctl
:管理系统服务(macOS Catalina及更高版本基于Unix系统,支持部分systemctl命令)。- 示例:
systemctl start nginx
启动服务,systemctl status nginx
查看服务状态。
- 示例:
网络相关命令
网络命令用于诊断网络连接、配置网络参数及数据传输。
-
ping
:测试与目标主机的网络连通性。- 示例:
ping www.apple.com
持续发送数据包,显示往返时间(RTT)和丢包率。
- 示例:
-
ifconfig
:查看或配置网络接口信息(如IP地址、子网掩码)。- 示例:
ifconfig en0
显示以太网接口en0
的详细信息;ifconfig en0 up/down
启用/禁用接口。
- 示例:
-
netstat
:显示网络连接、路由表、接口统计等信息。- 常用选项:
-an
显示所有连接(不解析域名),-t
显示TCP连接,-u
显示UDP连接。 - 示例:
netstat -an | grep "80"
查看监听80端口的连接。
- 常用选项:
-
curl
:传输数据,常用于HTTP请求、API测试等。- 示例:
curl -X GET https://api.example.com/data
发送GET请求获取数据;curl -o output.html https://www.example.com
将网页保存为文件。
- 示例:
-
ssh
:通过SSH协议远程登录其他主机。- 用法:
ssh username@hostname
,如ssh admin@192.168.1.100
。 - 选项:
-p
指定端口(如-p 2222
)。
- 用法:
-
scp
:通过SSH安全复制文件。- 示例:
scp -r local_dir/ user@remote:/path/to/remote_dir/
将本地目录递归复制到远程主机。
- 示例:
开发与辅助命令
开发场景中,终端命令可提升编译、调试、版本控制等效率。
-
git
:版本控制工具,核心命令包括:clone
:克隆远程仓库(如git clone https://github.com/user/repo.git
)。add
:添加文件到暂存区(git add .
添加所有修改)。commit
:提交更改(git -m "commit message"
)。push/pull
:推送/拉取远程仓库代码。
-
brew
:macOS包管理器(需先安装Homebrew),用于安装软件、依赖库等。- 示例:
brew install python3
安装Python3;brew update
更新已安装的软件列表。
- 示例:
-
xcodebuild
:苹果官方命令行构建工具,用于编译Xcode项目。- 示例:
xcodebuild -project MyApp.xcodebuild -scheme MyApp build
编译项目。
- 示例:
-
python
/python3
:运行Python脚本。- 示例:
python3 script.py
执行Python脚本;python3 -m venv env
创建虚拟环境。
- 示例:
-
npm
:Node.js包管理器,用于管理JavaScript依赖。- 示例:
npm install react
安装React库;npm start
启动开发服务器。
- 示例:
安全与权限配置命令
通过终端可精细化管理系统权限,提升安全性。
-
sudo
:以超级用户(root)权限执行命令。- 示例:
sudo rm -rf /system_file/
删除系统文件时需sudo权限。 - 注意:避免频繁使用sudo,防止误操作导致系统损坏。
- 示例:
-
chmod
:如前文所述,通过修改权限保护敏感文件(如chmod 600 private_key
将私钥文件设为仅所有者可读写)。 -
ssh-keygen
:生成SSH密钥对,用于无密码登录或代码仓库认证。- 示例:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
生成RSA密钥。
- 示例:
-
security
:macOS安全框架命令,管理钥匙串、证书等。- 示例:
security find-certificate -c "MyCert" -p
导出指定证书。
- 示例:
核心命令功能速查表
命令类别 | 核心命令 | 主要功能 | 常用选项 |
---|---|---|---|
基础操作 | ls |
列出目录内容 | -l , -a , -h |
cd |
切换目录 | , | |
man |
查看帮助手册 | 无 | |
文件管理 | cp |
复制文件/目录 | -r (递归) |
mv |
移动/重命名 | 无 | |
rm |
删除文件/目录 | -f , -r |
|
chmod |
修改权限 | 755 , 644 |
|
系统监控 | top |
动态监控进程 | P , M |
df |
磁盘空间使用 | -h |
|
ps |
查看进程 | -ef , -aux |
|
网络工具 | ping |
测试连通性 | 无 |
curl |
数据传输 | -X , -o |
|
ssh |
远程登录 | -p (端口) |
|
开发辅助 | git |
版本控制 | clone , commit |
brew |
包管理 | install , update |
相关问答FAQs
Q1: 终端提示“command not found”怎么办?
A1: 通常是因为命令未安装或未添加到系统环境变量。
- 解决步骤:
- 确认命令是否已安装(如
which brew
检查Homebrew是否安装)。 - 若未安装,通过包管理器安装(如
brew install
)。 - 若已安装但未找到,检查环境变量:打开终端,执行
echo $PATH
查看命令搜索路径,若路径未包含命令所在目录,需编辑~/.zshrc
或~/.bash_profile
文件,添加export PATH="/path/to/command:$PATH"
,保存后执行source ~/.zshrc
生效。
- 确认命令是否已安装(如
Q2: 如何通过终端查看系统版本信息?
A2: 使用以下命令可获取macOS版本、内核版本及硬件信息:
sw_vers
:显示macOS版本号(如ProductName: macOS
、ProductVersion: 13.5
)。uname -a
:显示内核版本及系统详细信息(如Darwin Kernel Version 22.6.0
)。system_profiler SPHardwareDataType
:显示硬件信息(如CPU、内存、型号等),输出内容较长,可通过管道结合grep
筛选,如system_profiler SPHardwareDataType | grep "Model Name"
。