Mac 命令行及 Linux 使用指南与示例

0 阅读4分钟

通用基础命令(Mac 和 Linux 均适用)

1. 文件与目录操作

命令功能说明示例
ls列出目录内容ls -al(显示所有文件,包括隐藏文件)
cd切换目录cd ~/Documents(进入用户文档目录)
pwd显示当前目录路径pwd
cp复制文件或目录cp file.txt backup/
mv移动或重命名文件mv old.txt new.txt
rm删除文件或目录rm -rf dir/(强制递归删除目录)
mkdir创建目录mkdir project
touch创建空文件touch newfile.txt

2. 文本操作与处理

命令功能说明示例
cat查看文件内容cat log.txt
grep文本搜索grep "error" /var/log/syslog
echo输出内容或写入文件echo "Hello" > hello.txt
nano / vim文本编辑器vim notes.md
head / tail查看文件头/尾部内容tail -f log.txt(实时追踪日志)

3. 系统信息与进程管理

命令功能说明示例
ps查看进程信息ps aux | grep chrome
top / htop实时监控系统资源htop(需安装)
kill终止进程kill -9 1234(强制终止 PID 1234 的进程)
df / du查看磁盘使用情况df -h(以易读格式显示磁盘空间)
free查看内存使用(Linux)free -m(显示内存以 MB 为单位)

Mac 特有命令与工具

1. 系统信息与管理

命令/工具功能说明示例
sw_vers查看 macOS 版本sw_vers -productVersion
system_profiler查看硬件和系统信息system_profiler SPHardwareDataType
open用默认程序打开文件或目录open .(在 Finder 中打开当前目录)
pbcopy / pbpaste剪贴板操作cat file.txt | pbcopy(复制文件内容到剪贴板)

2. 包管理工具:Homebrew

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

# 常用操作
brew install wget     # 安装软件
brew update           # 更新包列表
brew upgrade          # 升级所有已安装包
brew remove node      # 卸载软件

Linux 特有命令与工具

1. 包管理(Debian/Ubuntu)

# 更新与安装
sudo apt update        # 更新软件源
sudo apt install nginx # 安装软件
sudo apt remove nginx  # 卸载软件
sudo apt autoremove    # 清理无用依赖

# 查看已安装软件
apt list --installed

2. 系统服务管理(Systemd)

sudo systemctl start nginx    # 启动服务
sudo systemctl stop nginx     # 停止服务
sudo systemctl restart nginx  # 重启服务
sudo systemctl status nginx   # 查看服务状态

3. 网络工具

# 查看 IP 地址(Linux)
ip addr show

# 测试网络连通性
ping google.com

# 查看开放端口
netstat -tuln

Mac 与 Linux 的差异点

1. 命令参数差异

功能Mac(BSD 风格)Linux(GNU 风格)
查看文件修改时间ls -lTls -l --time-style=full-iso
文本替换(sed)sed -i '' 's/old/new/g' filesed -i 's/old/new/g' file
计算 MD5 校验和md5 file.txtmd5sum file.txt

2. 文件系统路径差异

类型MacLinux
用户主目录/Users/username/home/username
临时目录/private/tmp/tmp
系统日志/var/log/system.log/var/log/syslog

实用场景示例

1. 批量重命名文件

# Mac(需安装 rename)
brew install rename
rename 's/old/new/' *.txt

# Linux(使用 rename 或 mmv)
sudo apt install rename
rename 'old' 'new' *.txt

2. 查找文件

# 按名称查找
find ~/ -name "*.log"

# 按内容查找
grep -rn "error" /var/log/

3. 压缩与解压

# 压缩目录为 tar.gz
tar -czvf archive.tar.gz /path/to/dir

# 解压 tar.gz
tar -xzvf archive.tar.gz

# 压缩为 zip(Mac/Linux 通用)
zip -r archive.zip /path/to/dir

安全与权限管理

1. 修改文件权限

chmod 755 script.sh     # 设置权限为 rwxr-xr-x
chown user:group file   # 修改文件所有者和组

2. SSH 密钥管理

# 生成密钥对
ssh-keygen -t ed25519

# 将公钥复制到服务器
ssh-copy-id user@remote-server

开发环境配置

1. Python 虚拟环境

# 创建虚拟环境
python -m venv myenv

# 激活环境(Mac/Linux)
source myenv/bin/activate

2. Node.js 版本管理(nvm)

# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

# 安装 Node.js
nvm install 18
nvm use 18

注意事项

  1. 权限警告

    • 慎用 sudorm -rf,避免误删系统文件。
    • Mac 启用 SIP(系统完整性保护),部分系统目录不可修改。
  2. 脚本兼容性

    • 在 Mac 上使用 GNU 工具(如 gsedgrep)可提高与 Linux 的兼容性:
      brew install coreutils findutils gnu-sed
      
  3. 日志与调试

    • 使用 journalctl(Linux)或 log show(Mac)查看系统日志。

通过掌握这些命令和示例,您可以高效操作 Mac 和 Linux 系统!遇到问题时,记得善用 man <命令> 查看手册(如 man ls)。