osx和linux命令
osx和linux命令详细介绍
OSX(现称 macOS)和 Linux 同属 Unix-like 系统,大部分命令行工具兼容,但因内核和生态差异,部分命令存在细节区别。以下是常见命令的对比和说明:
一、通用命令(功能基本一致)
1.
文件与目录操作
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看文件 / 目录 | ls |
列出文件(支持 -l, -a, -h 等参数,OSX 和 Linux 选项略有差异但兼容) |
| 切换目录 | cd |
如 cd ~, cd .. |
| 创建目录 | mkdir |
支持 -p 递归创建(如 mkdir -p dir1/dir2) |
| 复制文件 | cp |
复制文件或目录(目录需加 -r,如 cp -r src dest) |
| 移动 / 重命名 | mv |
移动文件或重命名(如 mv old.txt new.txt) |
| 删除文件 | rm |
删除文件(目录需加 -r,强制删除加 -f,如 rm -rf dir) |
| 查看文件内容 | cat(快速查看)、nano/vim(编辑)、less/more(分页查看) |
文本处理工具通用 |
| 搜索文本 | grep |
支持正则表达式,如 grep "关键词" file.txt |
2.
系统与进程管理
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看进程 | ps(静态)、top/htop(动态) |
ps aux(Linux) vs ps -ef(OSX,BSD 风格),本质功能一致 |
| 终止进程 | kill(PID)、killall(进程名) |
如 kill -9 1234(强制终止 PID 为 1234 的进程) |
| 查看系统信息 | uname -a |
显示内核、架构等基础信息 |
| 查看内存 / CPU | free(内存)、df(磁盘空间) |
通用命令,输出格式略有差异但数据一致 |
3.
网络工具
| 功能 | 命令 | 说明 |
|---|---|---|
| 网络连接测试 | ping |
测试主机连通性(OSX 默认发送 5 个包,Linux 默认持续发送,需用-c指定次数) |
| 下载文件 | curl/wget |
通用工具,如 curl -O https://example.com/file.zip |
| 查看网络状态 | netstat/ss |
查看端口、连接状态(Linux 的ss更高效,OSX 仍以netstat为主) |
| 端口监听 | lsof -i :端口 |
查看占用指定端口的进程(如 lsof -i :8080) |
4.
权限管理
| 功能 | 命令 | 说明 |
|---|---|---|
| 修改权限 | chmod |
如 chmod 755 file(赋予读写执行权限给所有者,读取执行给其他用户) |
| 修改所有者 | chown |
如 chown user:group file(Linux) vs chown user file(OSX 简化写法) |
二、差异命令(重点区分)
1.
包管理工具
| 系统 | 包管理工具 | 常用命令示例 |
|---|---|---|
| OSX | Homebrew(brew) |
安装:brew install 软件名 卸载: brew uninstall 软件名 |
| Linux | Debian 系(如 Ubuntu) | apt-get/apt:安装apt install 软件名,卸载apt remove 软件名 |
| RedHat 系(如 CentOS) | yum/dnf:安装dnf install 软件名(Fedora/RHEL 8 + 用 dnf) |
|
| Arch 系 | pacman:安装pacman -S 软件名,卸载pacman -R 软件名 |
2.
系统级工具
| 功能 | OSX 命令 | Linux 命令 | 说明 |
|---|---|---|---|
| 系统信息 | system_profiler |
lshw/dmidecode |
OSX 可视化系统信息工具;Linux 需通过多个命令组合(如uname -a, lscpu) |
| 服务管理 | launchctl |
systemctl(systemd) |
OSX 用launchctl start/stop 服务名;Linux 主流用systemctl enable/restart 服务 |
| 磁盘管理 | diskutil |
fdisk/parted |
OSX 格式化磁盘:diskutil eraseDisk;Linux:mkfs.ext4 /dev/sda1 |
| 截图 | screencapture |
scrot/gnome-screenshot |
OSX 命令行截图:screencapture -m 文件名.png(窗口截图加 -w) |
3.
工具实现差异(BSD vs GNU)
- 核心差异:OSX 基于 BSD 内核,默认工具为 BSD 版本;Linux 多为 GNU 版本,功能更强大。
- 例如:
grep:OSX 默认是 BSDgrep,不支持某些 GNU 扩展(如-PPerl 正则),需通过 Homebrew 安装gnu-grep(别名ggrep)。sed/awk:语法基本兼容,但 BSD 版本参数可能不同(如 OSX 的sed需加-i ''实现无备份替换)。
- 例如:
- 命令别名:Linux 常用
ll作为ls -l的别名,OSX 默认无此别名,需手动配置。
4.
路径与配置文件
- 系统目录:两者根目录结构相似,但 OSX 的系统文件(如驱动)存于
/System,Linux 无此目录。 - 用户配置:OSX 用户配置多在
~/Library/,Linux 在~/.config/或隐藏文件(如~/.bashrc)。
三、学习建议
- 通用命令优先:掌握
ls,cd,grep,sudo等基础命令,跨系统通用。 - 注意版本差异:用
man 命令查看当前系统的帮助文档(如man grep会显示 BSD 或 GNU 版本的说明)。 - 包管理文档:OSX 多看Homebrew 文档,Linux 根据发行版学习
apt/yum/pacman等工具。 - 替代方案:若遇到 OSX 缺少的 GNU 工具(如
nano),可通过 Homebrew 安装;Linux 则用系统包管理器直接安装。
通过以上对比,可快速上手两者的命令行操作,差异部分主要集中在系统级工具和包管理,基础文件 / 网络命令几乎一致。