送你一篇 MacOS 命令手册

文章目录

1.文件系统命令

ls - 列出目录内容

ls [选项] [文件或目录]
  • 作用: 显示指定目录中的文件和目录列表。
  • 常用选项
    • -a: 显示所有文件,包括隐藏文件。
    • -l: 以长格式显示详细信息。
    • -h: 与 -l 一起使用时,以易读的格式显示文件大小(例如 KB、MB)。

示例:

# 列出当前目录所有文件
ls -a

# 显示当前目录详细信息
ls -lh

cp - 复制文件或目录

cp [选项] 源文件 目标文件
  • 作用: 将文件或目录复制到另一个位置。
  • 常用选项
    • -r: 递归复制目录及其内容。
    • -i: 在覆盖文件前提示。
    • -v: 显示详细的复制信息。

示例:

# 将文件复制到另一个目录
cp source.txt /path/to/destination/

# 递归复制整个目录
cp -r source_directory /path/to/destination/

mv - 移动文件或目录

mv [选项] 源文件 目标文件
  • 作用: 将文件或目录移动到新位置,或重命名文件或目录。
  • 常用选项
    • -i: 在覆盖文件前提示。
    • -v: 显示详细的移动信息。

示例:

# 将文件移动到新位置
mv source.txt /path/to/destination/

# 重命名文件
mv oldname.txt newname.txt

rm - 删除文件或目录

rm [选项] 文件或目录
  • 作用: 删除文件或目录。
  • 常用选项
    • -r: 递归删除目录及其内容。
    • -f: 强制删除,忽略不存在的文件,不提示。
    • -i: 删除前提示。

示例:

# 删除单个文件
rm file.txt

# 递归删除目录
rm -r directory_name

mkdir - 创建新目录

mkdir [选项] 目录名
  • 作用: 创建新的空目录。
  • 常用选项
    • -p: 创建目录时,如果必要,创建父目录。
    • -v: 创建目录时显示信息。

示例:

# 创建单个目录
mkdir new_directory

# 创建目录及其父目录
mkdir -p path/to/new_directory

rmdir - 删除空目录

rmdir [选项] 目录
  • 作用: 删除空目录。
  • 常用选项
    • -p: 当子目录被删除后,尝试删除父目录。

示例:

# 删除空目录
rmdir empty_directory

touch - 创建或更新文件

touch [选项] 文件名
  • 作用: 如果文件不存在,创建空文件;如果文件存在,更新文件的访问和修改时间。

示例:

# 创建一个新文件(存在则更新现有文件的时间)
touch newfile.txt

2.系统管理命令

top - 显示系统进程信息

top [选项]
  • 作用: 显示实时系统进程和资源使用情况。
  • 常用选项
    • -o: 按指定列排序(如 cpu, mem)。
    • -u: 只显示特定用户的进程。
    • -s: 设置刷新间隔。

示例:

# 显示所有进程,按 CPU 使用率排序
top -o cpu

# 每 5 秒刷新一次
top -s 5

ps - 显示当前进程状态

ps [选项]
  • 作用: 显示当前系统中的进程信息。
  • 常用选项
    • -e: 显示所有进程。
    • -f: 显示完整格式。
    • -u 用户名: 显示特定用户的进程。

示例:

# 显示所有进程
ps -e

# 显示特定用户的进程
ps -u username

kill - 终止进程

kill [选项] 进程ID
  • 作用: 发送信号到特定进程,通常用于终止进程。
  • 常用选项
    • -9: 强制终止进程。
    • -15: 优雅地终止进程(默认)。

示例:

# 优雅地终止进程
kill 1234

# 强制终止进程
kill -9 1234

system_profiler - 获取系统信息

system_profiler [选项]
  • 作用: 显示关于 Mac 系统硬件和软件配置的详细信息。
  • 常用选项
    • -detailLevel [级别]: 设置信息详细程度(mini, basic, full)。

示例:

# 显示所有硬件和软件信息
system_profiler

# 显示基本信息
system_profiler -detailLevel basic

diskutil - 磁盘管理工具

diskutil [命令] [选项]
  • 作用: 管理磁盘和存储设备。
  • 常用命令
    • list: 显示所有磁盘。
    • info 磁盘: 获取磁盘信息。
    • eraseDisk 格式 名称 磁盘: 格式化磁盘。

示例:

# 显示所有磁盘
diskutil list

# 格式化磁盘
diskutil eraseDisk JHFS+ NewDisk disk2

networksetup - 网络配置工具

networksetup [选项] [参数]
  • 作用: 配置网络设置。
  • 常用命令
    • -listallnetworkservices: 列出所有网络服务。
    • -setairportpower 服务 状态: 开启或关闭无线网络。

示例:

# 列出所有网络服务
networksetup -listallnetworkservices

# 关闭 Wi-Fi
networksetup -setairportpower Wi-Fi off

sudo - 以超级用户权限执行命令

sudo [命令]
  • 作用: 以 root 用户的权限执行命令。

示例:

# 以 root 权限运行命令
sudo command_name

3.网络命令

ping - 测试网络连接

ping [选项] 主机名或IP地址
  • 作用: 发送 ICMP ECHO_REQUEST 包以测试与远程主机的网络连接。
  • 常用选项
    • -c 数量: 发送特定数量的 ping 请求。
    • -t 存活时间: 设置 IP 包的生存时间。

示例:

# ping一个地址,发送 5 个请求
ping -c 5 www.example.com

# 设置生存时间为 10
ping -t 10 www.example.com

ifconfig - 配置或显示网络接口参数

ifconfig [接口]
  • 作用: 用于配置或显示系统网络接口的参数。
  • 常用选项
    • 接口名 up/down: 启用/禁用指定接口。
    • 接口名 inet 地址: 设置指定接口的 IPv4 地址。

示例:

# 显示所有接口的信息
ifconfig -a

# 启用一个接口
sudo ifconfig en0 up

netstat - 显示网络状态

netstat [选项]
  • 作用: 显示网络接口、路由表、网络连接等信息。
  • 常用选项
    • -r: 显示路由表。
    • -s: 显示网络统计数据。

示例:

# 显示路由表
netstat -r

# 显示所有端口的统计信息
netstat -s

ssh - 安全地远程登录到另一台计算机

ssh [选项] 用户名@远程主机
  • 作用: 安全地通过网络远程登录到另一台计算机。
  • 常用选项
    • -p 端口: 指定远程主机的端口号。
    • -i 密钥文件: 指定用于认证的私钥文件。

示例:

# 使用特定端口登录
ssh -p 2222 [email protected]

# 使用私钥文件登录
ssh -i /path/to/private_key [email protected]

scp - 安全地复制文件到远程主机

scp [选项] 本地文件 用户名@远程主机:远程路径
  • 作用: 通过 SSH 安全地复制文件到远程主机。
  • 常用选项
    • -P 端口: 指定远程主机的端口号。
    • -r: 递归地复制整个目录。

示例:

# 将本地文件复制到远程服务器
scp /path/to/local/file [email protected]:/path/to/remote/

# 递归复制本地目录
scp -r /path/to/local/dir [email protected]:/path/to/remote/

nslookup - 查询 DNS 信息

nslookup [域名]
  • 作用: 查询域名的 DNS 信息。
  • 常用选项
    • -type=类型: 指定查询的 DNS 记录类型,如 A, MX, TXT 等。

示例:

# 查询域名的默认 DNS 信息
nslookup example.com

# 查询域名的 MX 记录
nslookup -type=MX example.com

4.文本处理命令

cat - 连接和显示文件内容

cat [选项] [文件...]
  • 作用: 显示文件内容,或将多个文件的内容连接起来显示。
  • 常用选项
    • -n: 显示行号。
    • -b: 只为非空输出行编号。

示例:

# 显示文件内容
cat file.txt

# 显示多个文件内容
cat file1.txt file2.txt

# 显示内容并编号所有行
cat -n file.txt

grep - 搜索文本

grep [选项] 模式 [文件...]
  • 作用: 在文件中搜索与指定模式匹配的行。
  • 常用选项
    • -i: 忽略大小写。
    • -v: 反转匹配,显示不匹配的行。
    • -r: 递归地搜索目录。

示例:

# 在文件中搜索词汇
grep 'word' filename

# 递归搜索包含词汇的文件
grep -r 'word' /path/to/dir/

# 显示不包含指定词汇的行
grep -v 'word' filename

sed - 流编辑器

sed [选项] '命令' [文件...]
  • 作用: 对文本流(文件或输入)执行基本的文本转换。
  • 常用选项
    • -e: 允许多个命令。
    • -i: 直接编辑文件(非标准 sed 用法,需谨慎使用)。

示例:

# 替换文本
sed 's/old/new/g' file.txt

# 删除行
sed '3d' file.txt

awk - 模式扫描和处理语言

awk [选项] '程序' [文件...]
  • 作用: 强大的文本处理语言,适合复杂的文本分析和报告。
  • 常用选项
    • -F: 指定字段分隔符。

示例:

# 打印文件的第一列
awk '{print $1}' file.txt

# 按逗号分隔并打印第二列
awk -F, '{print $2}' file.csv

nano - 命令行文本编辑器

nano [文件]
  • 作用: 一个简单易用的文本编辑器。

示例:

# 编辑文件
nano file.txt

vi / vim - 可视化文本编辑器

vi [选项] [文件...]
  • 作用: 功能强大的文本编辑器,支持多种编辑模式和扩展。

示例:

# 打开或创建文件进行编辑
vi file.txt

sort - 排序文本行

sort [选项] [文件...]
  • 作用: 对文本文件的行进行排序。
  • 常用选项
    • -n: 按数字值排序。
    • -r: 反向排序。

示例:

# 对文件内容排序
sort file.txt

# 数字排序
sort -n file.txt

5.权限和用户管理命令

chmod - 更改文件权限

chmod [选项] 权限 文件或目录
  • 作用: 更改文件或目录的访问权限。
  • 常用选项
    • -R: 递归地更改目录及其内容的权限。
  • 权限:权限可以是数字(如 755)或符号(如 u+r)。

示例:

# 给文件设置读写执行权限
chmod 755 file.txt

# 递归地给目录设置权限
chmod -R 755 directory/

chown - 更改文件所有者

chown [选项] 用户[:组] 文件或目录
  • 作用: 更改文件或目录的所有者和所属组。
  • 常用选项
    • -R: 递归地更改目录及其内容的所有者。

示例:

# 更改文件的所有者
chown username file.txt

# 递归地更改目录所有者
chown -R username directory/

sudo - 以超级用户身份执行命令

sudo [命令]
  • 作用: 允许普通用户以超级用户(管理员)身份执行命令。

示例:

# 以超级用户身份运行命令
sudo command_name

su - 切换用户

su [选项] [用户名]
  • 作用: 切换当前用户身份到另一个用户。

示例:

# 切换到 root 用户
su root

# 切换到特定用户
su username

passwd - 修改用户密码

passwd [选项] [用户]
  • 作用: 更改用户的密码。

示例:

# 更改当前用户的密码
passwd

# 更改指定用户的密码(需要管理员权限)
sudo passwd username

dscl - 目录服务命令行工具

dscl [选项] [命令]
  • 作用: 用于管理用户账户和组。
  • 常用命令
    • . -list /Users: 列出所有用户。
    • . -create /Users/用户名: 创建新用户。

示例:

# 列出所有用户
dscl . -list /Users

# 创建新用户
sudo dscl . -create /Users/newuser

groups - 显示用户所属的组

groups [用户名]
  • 作用: 显示用户所属的所有组。

示例:

# 显示当前用户的组
groups

# 显示指定用户的组
groups username

6.磁盘管理命令

diskutil - 磁盘管理工具

diskutil [命令] [选项]
  • 作用: 磁盘工具命令行界面,用于管理磁盘和存储设备。
  • 常用命令
    • list: 列出所有磁盘和分区。
    • info 磁盘: 显示磁盘或分区的详细信息。
    • eraseDisk 格式 名称 磁盘: 格式化整个磁盘。
    • eraseVolume 格式 名称 分区: 格式化特定分区。
    • mountDisk 磁盘: 挂载磁盘上的所有分区。
    • unmountDisk 磁盘: 卸载磁盘上的所有分区。

示例:

# 列出所有磁盘:
diskutil list

# 格式化磁盘:
diskutil eraseDisk JHFS+ NewDisk disk2

# 卸载磁盘:
diskutil unmountDisk /dev/disk2

df - 显示磁盘空间使用情况

df [选项] [文件...]
  • 作用: 显示磁盘分区的可用空间和已用空间。
  • 常用选项
    • -h: 显示易于阅读的格式(例如 GB 和 MB)。
    • -i: 显示 inode 信息而非块使用情况。

示例:

# 显示所有磁盘使用情况:
df -h

# 显示指定文件所在磁盘的使用情况:
df -h /path/to/file

du - 显示目录空间使用情况

du [选项] [文件或目录...]
  • 作用: 显示目录或文件占用的磁盘空间。
  • 常用选项:
    • -h: 显示易于阅读的格式。
    • -s: 仅显示总计。

示例:

# 显示当前目录的磁盘使用情况:
du -h

# 显示指定目录的总磁盘使用量:
du -sh /path/to/directory

mount - 挂载文件系统

mount [选项] [设备] [目录]
  • 作用: 挂载文件系统到指定的挂载点。

示例:

# 显示所有挂载的文件系统:
mount

# 挂载一个设备
mount /dev/disk2s1 /mnt/disk2

umount - 卸载文件系统

umount [选项] [目录或设备]
  • 作用: 从其挂载点卸载文件系统。

示例:

# 卸载一个挂载点
umount /mnt/disk2

fsck - 文件系统一致性检查和修复

fsck [选项]
  • 作用: 检查和修复文件系统的一致性。
  • 常用选项
    • -y: 在检查过程中自动修复问题。
    • -f: 强制检查即使文件系统似乎是干净的。

示例:

# 修复特定的文件系统
fsck /dev/disk2s1

hdiutil - 操作磁盘映像

hdiutil [操作] [选项]
  • 作用: 用于创建、检查、挂载和操作磁盘映像文件。
  • 常用操作
    • create: 创建新的磁盘映像。
    • attach: 挂载磁盘映像。
    • detach: 卸载磁盘映像。

示例:

# 创建磁盘映像
hdiutil create -size 500m -volname "MyVolume" -fs "HFS+" myimage.dmg

# 挂载磁盘映像
hdiutil attach myimage.dmg

7.搜索和查找命令

find - 查找文件和目录

find [路径...] [表达式]
  • 作用: 在目录树中查找文件和目录,支持多种搜索条件。
  • 常用表达式
    • -name 模式: 按文件名搜索。
    • -type 类型: 按类型搜索(f 代表普通文件,d 代表目录)。
    • -exec 命令 {} \;: 对匹配的文件执行命令。

示例:

# 在当前目录及子目录中查找所有 .txt 文件
find . -name "*.txt"

# 查找并删除特定文件
find . -name "temp.txt" -exec rm {
    
    } \;

grep - 在文件中搜索文本

grep [选项] 模式 [文件...]
  • 作用: 在文件中搜索与指定模式匹配的文本行。
  • 常用选项
    • -i: 忽略大小写。
    • -r: 递归搜索目录。
    • -l: 只列出包含匹配行的文件名。

示例:

# 在文件中搜索特定文本
grep "search term" file.txt

# 递归地在目录中搜索文本
grep -r "search term" /path/to/dir

locate - 快速查找文件

locate [选项] 模式
  • 作用: 使用预先构建的数据库快速查找文件的位置。
  • 常用选项:
    • -i: 忽略大小写差异。
    • -n 限制: 限制显示的结果数量。

示例:

# 查找名为 example.txt 的文件
locate example.txt

# 忽略大小写查找文件
locate -i Example.txt

mdfind - 使用 Spotlight 搜索

mdfind [选项] 查询
  • 作用: 使用 Spotlight 的索引进行文件搜索。

示例:

# 搜索与查询匹配的文件
mdfind "search term"

# 查找特定种类的文件(例如 PDF)
mdfind "kMDItemContentType == 'com.adobe.pdf'"

which - 定位可执行文件

which [程序名]
  • 作用: 显示将执行的可执行文件的完整路径。

示例:

# 查找特定程序的位置
which python

whereis - 查找二进制文件、源文件和手册页

whereis [程序名]
  • 作用: 快速定位程序的二进制文件、源文件和手册页的位置。

示例:

# 查找程序的相关文件
whereis python

猜你喜欢

转载自blog.csdn.net/ly1347889755/article/details/134626592