跳转到主内容

基础知识

命令操作
/顶级目录
.当前目录
..上级目录
~主目录 (Home directory)
sudo [任何命令]以超级用户权限运行命令
nano [文件]打开终端编辑器
open [文件]打开文件
[命令] -h获取关于该命令的帮助
man [命令]显示该命令的帮助手册

组合键快捷方式

命令操作
Tab自动补全文件和文件夹名称
Ctrl + A跳转到当前输入行的开头
Ctrl + E跳转到当前输入行的末尾
Ctrl + U清除光标前的内容
Ctrl + K清除光标后的内容
Ctrl + W删除光标前的一个单词
Ctrl + T交换光标前的最后两个字符
Esc + T交换光标前的最后两个单词
Ctrl + L清屏
Ctrl + C强制终止当前正在运行的 Unix 程序
Ctrl + D退出当前的 shell 会话
Option + 右方向键光标向后移动一个单词
Option + 左方向键光标向前移动一个单词
Ctrl + F光标向前移动一个字符
Ctrl + B光标向后移动一个字符
Ctrl + Y粘贴由上一个命令剪切的内容
Ctrl + Z将当前运行的进程挂起至后台
Ctrl + _撤销上一个命令
Option + Shift + Cmd + C复制纯文本
Shift + Cmd + V粘贴所选内容
exit结束 shell 会话

更改目录

命令操作
cd返回主目录
cd [文件夹]更改目录,例如 cd Documents
cd ~返回主目录
cd/返回驱动器根目录
cd -返回上一次浏览的目录或文件夹
pwd显示当前工作目录
cd ..返回上一级目录
cd../../向上返回两级目录

列出目录内容

命令操作
ls显示目录中的文件和子目录名称
ls -C强制以多列格式输出列表
ls -a列出所有条目,包括以 . 和 .. 开头的条目
ls -1以每行一个条目的格式输出文件列表
ls -F在目录路径后显示 /,在可执行程序或脚本后显示 *,在符号链接后显示 @
ls -S按大小对文件或条目进行排序
ls -l以长格式列出。包括文件模式、所有者和组名、文件修改日期和时间、路径名等
ls -l /从根目录开始列出文件系统,包括符号链接
ls -lt按修改时间排序列表(最新修改在前)
ls -lh以长格式列表并显示 KB、MB 或 GB 为单位的可读文件大小
ls -lo列出带有大小、所有者和标志的文件名
ls -la列出详细目录内容,包括隐藏文件

文件大小和磁盘空间

命令操作
du列出每个子目录及其内容的使用情况
du -sh [文件夹]以可读格式输出目录中所有文件的占用情况
du -s为每个指定文件显示一个条目
df -h计算系统的可用磁盘空间
df -H以 1,000 的幂次计算可用磁盘空间

文件和目录管理

命令操作
mkdir <目录>创建名为 <目录> 的新文件夹
mkdir -p <目录>/<目录>创建嵌套文件夹
mkdir <目录1> <目录2> <目录3>同时创建多个文件夹
mkdir "<目录>"创建名称中带有空格的文件夹
rmdir <目录>删除文件夹(仅适用于空文件夹)
rm -R <目录>删除文件夹及其内容
touch <文件>创建一个不带扩展名的新文件
cp <文件> <目录>将文件复制到文件夹
cp <文件> <新文件>将文件复制到当前文件夹
cp <文件>~/<目录>/<新文件>将文件复制到文件夹并重命名
cp -R <目录> <"新目录">将文件夹复制到名称中带有空格的新目录
cp -i <文件><目录>在覆盖文件前提示警告消息
cp <文件1> <文件2> <文件3>/Users/<目录>将多个文件复制到文件夹
ditto -V [文件夹路径][新文件夹]将文件夹内容复制到新文件夹。“-V”会在复制每个文件时打印一行状态信息
rm <文件>删除文件(永久删除,请谨慎使用)
rm -i <文件>仅在确认后删除文件
rm -f <文件>强制删除,无需确认
rm <文件1> <文件2> <文件3>删除多个文件,无需确认
mv <文件> <新文件名>移动/重命名
mv <文件> <目录>将文件移动到文件夹,可能会覆盖现有文件
mv -i <文件> <目录>使用可选的 -i 标志在覆盖文件前发出警告
mv *.png ~/<目录>将所有 PNG 文件从当前文件夹移动到另一个文件夹

命令历史记录

命令操作
Ctrl + R在之前使用过的命令中进行搜索
history n显示之前输入的命令。添加数字以限制为最近的 n 条
![值]执行上一个以该值开头的已输入命令
!!执行上一个命令

权限

命令操作
ls -ld显示主目录的默认权限
ls -ld/<目录>显示特定文件夹的读、写和访问权限
chmod 755 <文件>将文件的权限更改为 755
chmod -R 600 <目录>将文件夹(及其内容)的权限更改为 600
chown <用户>:<组> <文件>更改文件的用户和组所有权。添加 -R 以包含文件夹内容

进程

命令操作
ps -ax输出当前运行的进程。其中 a 显示来自所有用户的进程,x 显示未连接到终端的进程
ps -aux显示所有进程的 %cpu、%mem、page in、PID 和命令
top显示当前运行进程的实时信息
top -ocpu -s 5按 CPU 使用率排序显示进程,每 5 秒更新一次
top -o rsize按内存使用率排序 top
kill PID退出 ID 为 <PID> 的进程。PID 可在“活动监视器”中的一列中找到

网络

命令操作
ping <主机>Ping 主机并显示状态
whois <域名>输出域名的 whois 信息
curl -O <url/to/file>通过 HTTP、HTTPS 或 FTP 下载文件
ssh <用户名>@<主机>以 <用户名> 身份建立到 <主机> 的 SSH 连接
scp <文件><用户名>@<主机>:/远程/路径将 <文件> 复制到远程 <主机>
arp -a查看本地网络上的所有设备列表。它会显示所有设备的 IP 地址和 MAC 地址
ifconfig en0查看设备的 IP 地址和 MAC 地址
traceroute [主机名]识别从设备到目标地址的数据包路径和跳数

Homebrew

命令操作
brew doctor检查 brew 是否存在潜在问题
brew help列出有用的 homebrew formula 和 cask 命令
brew list --formula仅列出已安装的 formula
brew list --cask仅列出已安装的 cask
brew outdated --formula搜索过时的 formula
brew outdated --cask搜索过时的 cask
brew pin [已安装的formula]固定 formula 防止其被升级
brew unpin [已安装的formula]解除固定以升级软件包
brew cleanup删除所有 formula 和 cask 的陈旧锁文件及过时软件包

环境变量或路径

命令操作
printenv显示当前设置的环境变量列表。同时显示正在使用的 shell
$echo通知终端打印内容并显示出来
echo $PATH检查 PATH 变量的值,该变量存储了包含可执行文件的目录列表
echo $PATH >path.txt将路径目录导出到文本文件
export PATH=$PATH:绝对/路径/到/程序/仅在当前会话中通过终端执行程序

搜索

命令操作
find <目录> -name <"文件">查找 <目录> 内所有名为 <文件> 的内容。使用通配符 (*) 搜索文件名的一部分
grep "<文本>" <文件>输出 <文件> 中所有出现的 <文本>(添加 -i 可忽略大小写)
grep -rl "<文本>" <目录>搜索 <目录> 内所有包含 <文本> 的文件

输出

命令操作
cat <文件>输出 <文件> 的内容
less <文件>使用 less 命令输出 <文件> 内容,支持分页等功能
head <文件>输出 <文件> 的前 10 行
<命令> > > <文件>将 <命令> 的输出追加到 <文件>
<命令> > <文件>将 <命令> 的输出重定向到 <文件>

Jacob Mehnert

于10/18/21注册

49,816 声望

创作了52篇指南

团队

iFanatics iFanatics 的会员

Community

69 名成员

创作了1,151篇指南

0条评论

添加评论

浏览统计数据:

过去 24 小时: 32

过去 7 天: 129

过去 30 天: 499

总计 15,483