文章目录
- 1.文件系统命令
- ls - 列出目录内容
- cp - 复制文件或目录
- mv - 移动文件或目录
- rm - 删除文件或目录
- mkdir - 创建新目录
- rmdir - 删除空目录
- touch - 创建或更新文件
- 2.系统管理命令
- top - 显示系统进程信息
- ps - 显示当前进程状态
- kill - 终止进程
- system_profiler - 获取系统信息
- diskutil - 磁盘管理工具
- networksetup - 网络配置工具
- sudo - 以超级用户权限执行命令
- 3.网络命令
- ping - 测试网络连接
- ifconfig - 配置或显示网络接口参数
- netstat - 显示网络状态
- ssh - 安全地远程登录到另一台计算机
- scp - 安全地复制文件到远程主机
- nslookup - 查询 DNS 信息
- 4.文本处理命令
- cat - 连接和显示文件内容
- grep - 搜索文本
- sed - 流编辑器
- awk - 模式扫描和处理语言
- nano - 命令行文本编辑器
- vi / vim - 可视化文本编辑器
- sort - 排序文本行
- 5.权限和用户管理命令
- chmod - 更改文件权限
- chown - 更改文件所有者
- sudo - 以超级用户身份执行命令
- su - 切换用户
- passwd - 修改用户密码
- dscl - 目录服务命令行工具
- groups - 显示用户所属的组
- 6.磁盘管理命令
- diskutil - 磁盘管理工具
- df - 显示磁盘空间使用情况
- du - 显示目录空间使用情况
- mount - 挂载文件系统
- umount - 卸载文件系统
- fsck - 文件系统一致性检查和修复
- hdiutil - 操作磁盘映像
- 7.搜索和查找命令
- find - 查找文件和目录
- grep - 在文件中搜索文本
- locate - 快速查找文件
- mdfind - 使用 Spotlight 搜索
- which - 定位可执行文件
- whereis - 查找二进制文件、源文件和手册页
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 user@example.com# 使用私钥文件登录
ssh -i /path/to/private_key user@example.com
scp - 安全地复制文件到远程主机
scp [选项] 本地文件 用户名@远程主机:远程路径
- 作用: 通过 SSH 安全地复制文件到远程主机。
- 常用选项:
-P 端口
: 指定远程主机的端口号。-r
: 递归地复制整个目录。
示例:
# 将本地文件复制到远程服务器
scp /path/to/local/file user@example.com:/path/to/remote/# 递归复制本地目录
scp -r /path/to/local/dir user@example.com:/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