news 2026/7/20 10:12:27

MacOS终端命令大全:从入门到高效使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MacOS终端命令大全:从入门到高效使用

1. MacOS终端命令基础入门

作为一名长期使用MacOS的开发者和系统管理员,我深刻体会到终端命令在日常工作中的重要性。与图形界面相比,命令行操作往往更加高效和强大。MacOS基于Unix系统,继承了丰富的命令行工具集,掌握这些命令能极大提升工作效率。

终端(Terminal)是MacOS内置的命令行界面,通过它可以直接与操作系统内核交互。打开终端的方式很简单:在"应用程序"文件夹中找到"实用工具",然后双击"终端"图标即可。更快捷的方式是使用Spotlight搜索(Command+空格键),输入"Terminal"后回车。

提示:我习惯将终端固定在Dock栏,这样随时可以快速访问。右键点击Dock中的终端图标,选择"选项"→"在Dock中保留"即可。

初次使用终端时,你会看到一个简单的界面,通常显示为黑色背景和白色文字(当然,这些都可以自定义)。默认提示符显示当前用户名、主机名和当前工作目录。例如:

yourusername@MacBook-Pro ~ %

这里的"~"符号代表当前用户的主目录(/Users/yourusername)。

2. 文件与目录操作命令

2.1 基础目录操作

在MacOS终端中,最常用的目录操作命令包括:

  1. pwd(Print Working Directory):显示当前所在目录的完整路径

    % pwd /Users/yourusername/Documents
  2. cd(Change Directory):切换目录

    • cd ~:返回用户主目录
    • cd ..:返回上一级目录
    • cd -:返回上一个访问的目录
    • cd /path/to/directory:切换到指定目录
  3. ls(List):列出目录内容

    • ls:简单列出文件和目录
    • ls -l:详细列表(显示权限、所有者、大小等)
    • ls -a:显示所有文件(包括隐藏文件)
    • ls -lh:人类可读的文件大小(KB/MB/GB)
  4. mkdir(Make Directory):创建新目录

    % mkdir new_folder % mkdir -p path/to/nested/folders # 创建多级目录
  5. rmdir(Remove Directory):删除空目录

    % rmdir empty_folder

2.2 文件操作命令

  1. touch:创建空文件或更新文件时间戳

    % touch new_file.txt
  2. cp(Copy):复制文件或目录

    % cp file1.txt file2.txt # 复制文件 % cp -r dir1 dir2 # 递归复制目录
  3. mv(Move):移动或重命名文件/目录

    % mv oldname.txt newname.txt # 重命名 % mv file.txt /target/directory/ # 移动文件
  4. rm(Remove):删除文件或目录

    % rm file.txt # 删除文件 % rm -r directory # 递归删除目录及其内容

警告:rm -rf命令极其危险,它会强制递归删除而不提示确认。我曾经不小心用这个命令删除了整个项目目录,所以现在使用前会再三确认路径。

  1. find:查找文件
    % find ~ -name "*.txt" # 在主目录查找所有txt文件 % find / -type f -size +100M # 查找大于100MB的文件

3. 系统信息与进程管理

3.1 系统信息命令

  1. uname:显示系统信息

    % uname -a # 显示所有系统信息 Darwin MacBook-Pro.local 22.1.0 Darwin Kernel Version 22.1.0...
  2. sw_vers:显示MacOS版本信息

    % sw_vers ProductName: macOS ProductVersion: 13.2.1 BuildVersion: 22D68
  3. system_profiler:获取详细系统配置

    % system_profiler SPHardwareDataType # 硬件概览
  4. df(Disk Free):显示磁盘空间使用情况

    % df -h # 人类可读格式 Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s1 466Gi 300Gi 161Gi 66% 2904864 488254576 1% /
  5. du(Disk Usage):显示目录或文件磁盘使用情况

    % du -sh ~/Downloads # 显示Downloads目录总大小 4.7G /Users/yourusername/Downloads

3.2 进程管理命令

  1. ps(Process Status):显示当前进程

    % ps aux # 显示所有运行中的进程
  2. top:动态显示系统进程和资源使用情况

    % top -o cpu # 按CPU使用率排序
  3. kill:终止进程

    % kill -9 PID # 强制终止指定PID的进程
  4. lsof(List Open Files):列出被打开的文件和进程

    % lsof -i :8080 # 查看哪个进程在使用8080端口
  5. htop:更友好的进程查看器(需安装)

    % brew install htop % htop

4. 网络相关命令

4.1 网络配置与诊断

  1. ifconfig:查看和配置网络接口

    % ifconfig en0 # 查看en0接口(通常是Wi-Fi)
  2. netstat:显示网络连接、路由表等信息

    % netstat -an | grep LISTEN # 查看监听端口
  3. ping:测试网络连通性

    % ping google.com PING google.com (142.250.190.46): 56 data bytes 64 bytes from 142.250.190.46: icmp_seq=0 ttl=117 time=12.345 ms
  4. traceroute:追踪数据包路径

    % traceroute google.com
  5. dig/nslookup:DNS查询工具

    % dig google.com % nslookup google.com

4.2 网络文件传输

  1. curl:强大的URL传输工具

    % curl -O https://example.com/file.zip # 下载文件 % curl -I https://example.com # 仅显示HTTP头
  2. wget:另一个下载工具(MacOS默认不包含,需安装)

    % brew install wget % wget https://example.com/file.zip
  3. scp(Secure Copy):安全文件传输

    % scp file.txt user@remote:/path/to/destination # 上传 % scp user@remote:/path/to/file.txt . # 下载
  4. rsync:高效文件同步工具

    % rsync -avz ~/Documents/ user@remote:/backup/Documents/

5. 文本处理与编辑

5.1 基础文本处理

  1. cat(Concatenate):显示文件内容

    % cat file.txt
  2. less/more:分页查看文件内容

    % less long_file.txt # 支持搜索和导航
  3. head/tail:查看文件开头/结尾

    % head -n 10 file.txt # 显示前10行 % tail -f logfile.log # 实时跟踪日志文件
  4. grep:文本搜索

    % grep "error" logfile.log # 搜索包含"error"的行 % grep -r "function_name" /path/to/code # 递归搜索
  5. awk:强大的文本处理工具

    % awk '{print $1}' file.txt # 打印每行第一个字段

5.2 高级文本处理

  1. sed(Stream Editor):流编辑器

    % sed 's/old/new/g' file.txt # 替换文本
  2. sort:排序文本

    % sort file.txt # 按字母顺序排序 % sort -n numbers.txt # 按数字排序
  3. uniq:去除重复行

    % sort file.txt | uniq # 先排序再去重
  4. wc(Word Count):统计行数、单词数、字符数

    % wc -l file.txt # 统计行数
  5. diff:比较文件差异

    % diff file1.txt file2.txt

6. 权限与用户管理

6.1 文件权限

  1. chmod(Change Mode):修改文件权限

    % chmod 755 script.sh # 设置权限为rwxr-xr-x % chmod +x script.sh # 添加可执行权限
  2. chown(Change Owner):修改文件所有者

    % sudo chown user:group file.txt
  3. chgrp(Change Group):修改文件所属组

    % sudo chgrp staff file.txt

6.2 用户与组管理

  1. whoami:显示当前用户名

    % whoami yourusername
  2. id:显示用户和组信息

    % id uid=501(yourusername) gid=20(staff) groups=20(staff),...
  3. passwd:修改密码

    % passwd
  4. sudo:以超级用户权限执行命令

    % sudo command_requires_root
  5. su(Switch User):切换用户

    % su - otheruser

7. 包管理与开发工具

7.1 Homebrew包管理

Homebrew是MacOS上最受欢迎的包管理器,安装方法:

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

常用命令:

% brew update # 更新Homebrew本身 % brew install package_name # 安装软件包 % brew upgrade package_name # 升级软件包 % brew list # 列出已安装的包 % brew info package_name # 显示包信息 % brew doctor # 诊断问题

7.2 开发相关命令

  1. git:版本控制

    % git clone https://github.com/user/repo.git % git status % git commit -am "message"
  2. ssh:安全远程登录

    % ssh user@remote_host % ssh-keygen # 生成SSH密钥
  3. make:构建工具

    % make % make install
  4. gcc/clang:C编译器

    % gcc -o program program.c
  5. python:Python解释器

    % python3 script.py

8. 实用技巧与高级命令

8.1 命令行效率技巧

  1. 命令历史

    • history:查看命令历史
    • !n:执行历史记录中第n条命令
    • !!:重复上一条命令
    • !$:上一条命令的最后一个参数
  2. Tab补全:输入部分命令或文件名后按Tab键自动补全

  3. 别名(Alias):创建命令快捷方式

    % alias ll='ls -lah' % unalias ll # 删除别名
  4. 重定向

    • command > file:输出重定向到文件(覆盖)
    • command >> file:输出追加到文件
    • command < file:从文件读取输入
  5. 管道(Pipe):

    % command1 | command2 # 将command1的输出作为command2的输入

8.2 高级系统命令

  1. crontab:定时任务

    % crontab -e # 编辑定时任务
  2. launchctl:管理启动项

    % launchctl list # 列出所有启动项
  3. diskutil:磁盘工具

    % diskutil list # 列出所有磁盘 % diskutil unmount /dev/disk2s1 # 卸载卷
  4. tmutil:Time Machine工具

    % tmutil startbackup # 手动启动Time Machine备份
  5. screencapture:命令行截图

    % screencapture -iW ~/Desktop/screen.png # 交互式窗口截图

9. 终端自定义与配置

9.1 终端外观设置

  1. 更改配色方案:

    • 打开终端偏好设置(Command+,)
    • 在"描述文件"选项卡中选择或创建新主题
  2. 修改提示符(PS1):

    % export PS1="\u@\h \w \$ " # 临时修改

    永久修改需要将上述命令添加到~/.zshrc(或~/.bash_profile)文件中

9.2 Shell配置文件

  1. ~/.zshrc(或~/.bash_profile):每次启动终端时执行的脚本

    % nano ~/.zshrc # 编辑配置文件
  2. 常用配置示例:

    # 设置PATH export PATH="/usr/local/bin:$PATH" # 设置别名 alias ll='ls -lah' # 设置默认编辑器 export EDITOR=nano
  3. 使配置生效:

    % source ~/.zshrc

9.3 第三方终端工具

  1. iTerm2:功能更强大的终端替代品

    • 分屏、搜索、自动完成等功能
    • 官网:https://iterm2.com/
  2. Oh My Zsh:Zsh配置框架

    • 主题、插件和自动补全功能
    • 安装:
      % sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  3. tmux:终端复用器

    • 允许在单个窗口中创建多个终端会话
    • 安装:
      % brew install tmux

10. 常见问题与解决方案

10.1 命令找不到问题

  1. command not found

    • 检查命令拼写是否正确
    • 检查命令是否已安装(which command_name
    • 检查PATH环境变量是否包含命令所在目录
  2. 解决方案:

    % echo $PATH # 查看PATH变量 % export PATH="/path/to/bin:$PATH" # 临时添加路径

10.2 权限问题

  1. Permission denied

    • 使用sudo执行需要root权限的命令
    • 检查文件权限(ls -l
    • 修改权限(chmod)或所有者(chown
  2. 示例:

    % sudo chown -R $(whoami) /usr/local/lib

10.3 进程占用端口

  1. 查找占用端口的进程:

    % lsof -i :8080
  2. 终止进程:

    % kill -9 PID

10.4 磁盘空间不足

  1. 查找大文件:

    % sudo du -h / | grep '[0-9\.]\+G'
  2. 清理缓存:

    % sudo rm -rf ~/Library/Caches/*

10.5 网络连接问题

  1. 刷新DNS缓存:

    % sudo dscacheutil -flushcache % sudo killall -HUP mDNSResponder
  2. 重置网络接口:

    % sudo ifconfig en0 down % sudo ifconfig en0 up

经过多年的MacOS使用经验,我发现掌握这些终端命令不仅能提高工作效率,还能在系统出现问题时快速诊断和解决。建议新手从基础命令开始,逐步积累,最终你会发现自己越来越离不开命令行工具的强大功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 10:12:20

C++多级指针与泛型指针:内存操作核心概念与工程实践

1. 项目概述&#xff1a;指针的深度与广度在C的世界里&#xff0c;指针是通往内存操作和高效编程的钥匙&#xff0c;但也是许多开发者进阶路上的“拦路虎”。尤其是当指针的“级数”增加&#xff0c;或者与泛型编程思想结合时&#xff0c;理解上的模糊往往会导致运行时难以追踪…

作者头像 李华
网站建设 2026/7/20 10:12:06

Selenium WebDriver底层原理与工程实践指南

1. 这不是“写个脚本点点网页”&#xff0c;而是重构你和浏览器的对话方式Selenium WebDriver 不是自动化测试工具&#xff0c;它是一套浏览器级的“人机接口协议”。当你敲下driver.get("https://example.com")&#xff0c;你不是在调用一个 Python 函数&#xff0c…

作者头像 李华
网站建设 2026/7/20 10:09:35

鸿蒙Next JSVM-API开发指南:JS与C++跨语言交互实战

1. 项目概述&#xff1a;为什么要在鸿蒙Next上搞JS与C交互&#xff1f;如果你正在为鸿蒙Next开发应用&#xff0c;尤其是涉及到复杂计算、硬件深度访问或者性能敏感的场景&#xff0c;你大概率会遇到一个瓶颈&#xff1a;纯JavaScript&#xff08;或ArkTS&#xff09;的性能或能…

作者头像 李华
网站建设 2026/7/20 10:07:30

世界模型技术:AI产业的新风口与落地实践

1. 世界模型技术爆发背后的产业逻辑2026年全球AI产业最引人注目的现象&#xff0c;莫过于世界模型领域95亿美元规模的投融资热潮。这个数字背后&#xff0c;反映的是大厂与初创企业在技术路线上的战略分野&#xff1a;科技巨头倾向于构建封闭的自研体系&#xff0c;而创业公司则…

作者头像 李华