命令行与工具速查
一、系统信息
内核与 CPU
cat /proc/version # 查看 Linux 内核版本
lscpu # CPU 概览
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l # 物理 CPU 个数
cat /proc/cpuinfo | grep "cpu cores" | uniq # 每颗 CPU 核数
cat /proc/cpuinfo | grep "processor" | wc -l # 逻辑 CPU 个数(含超线程)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # CPU 型号
top # 实时查看负载
内存与磁盘
cat /proc/meminfo # 内存详细信息
free # 内存使用概览
fdisk -l # 磁盘信息
iostat -x 10 # IO 性能(每 10 秒刷新)
二、Shell 环境
cat /etc/shells # 查看系统中的 shell
Zsh + Oh My Zsh
Zsh 是 Mac 自带的终极 shell,配合 Oh My Zsh 使用体验更好:
brew install zsh # 安装/升级 zsh
brew install wget # 安装 wget(Oh My Zsh 安装依赖)
# 安装 Oh My Zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
三、常用命令
文件与目录
| 命令 | 用途 |
|---|
cd / ls / mkdir | 切换目录 / 列出内容 / 创建目录 |
rmdir | 删除空目录(非空会失败) |
rm -rf 目录名 | 递归强制删除(-r 递归,-f 强制) |
cp -r 源 目标 | 递归复制目录 |
mv f1 f2 | 移动或重命名 |
pwd | 显示当前路径 |
man 命令 | 查看命令手册 |
查找文件
sudo find / -name nginx # 全盘查找文件
which nginx # 查找可执行文件的安装位置
mdfind -name "xxxx.png" # Mac 专用,利用 Spotlight 索引快速查找
权限
chmod 777 /var/lib/mysql # 修改目录权限(所有人可读写执行)
sudo chmod 666 xxx # 修改文件权限(所有人可读写)
包管理
rpm -qa wget # 检查是否安装过某个包(RPM 系)
brew install wget # Mac 用 Homebrew 安装
监控文件
tail -f filename # 实时监视文件最后 10 行(查看日志常用)
文件合并
copy /b file1+file2 output # Windows 下合并二进制文件(如视频)
四、网络与进程
网络
ping 192.168.2.3 -t # 长 ping(Windows,持续 ping)
ping 192.168.2.3 # Mac/Linux 默认就是长 ping,Ctrl+C 停止
端口占用查询
# Linux/Windows
netstat -ano | findstr "8080" # 查端口对应的进程号
tasklist | findstr "2448" # 用进程号查进程名
# Mac
lsof -nP -iTCP:8081 # 查看指定端口
lsof -i :8090 # 简写
sudo lsof -i -P | grep -i "listen" # 查看所有进程监听的端口
进程管理
ps # 列出进程
ps -ef | grep nginx # 查看 nginx 启动状态
kill -9 397 # 强杀指定 PID 的进程
killall java # 杀掉所有 java 进程
五、远程操作
SFTP
get /var/www/fuyatao/index.php /home/fuyatao/ # 下载远程文件到本地
put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/ # 上传本地文件到远程
pwd # 查看远程路径
lpwd # 查看本机路径
lcd /local/path # 改变本机路径
SCP
scp /path/to/local/file username@remote_host:/path/to/remote/directory
六、Vim 速查
模式切换
| 按键 | 操作 |
|---|
i | 在光标前插入 |
a | 在光标后插入(行尾:A) |
o / O | 在光标下方 / 上方开始新行 |
Esc | 回到普通模式 |
移动
| 按键 | 操作 |
|---|
w / b | 按词向后 / 向前移动 |
$ / ^ | 行尾 / 行首 |
gg / G | 文件首 / 文件尾(1G 同 gg) |
9k | 上移 9 行 |
H / M / L | 屏幕顶部 / 中部 / 底部 |
滚屏
| 按键 | 操作 |
|---|
Ctrl+e / Ctrl+y | 向下 / 向上滚一行 |
Ctrl+u / Ctrl+d | 向上 / 向下滚半屏 |
Ctrl+f / Ctrl+b | 向下 / 向上滚整屏 |
zt / zb | 当前行移到屏首 / 屏末 |
编辑
| 按键 | 操作 |
|---|
x | 删除(剪切)字符 |
dd | 删除(剪切)一行 |
dw / 3dw | 删除一个词 / 三个词 |
J | 合并下一行到当前行 |
y / yy | 复制 / 复制整行 |
p | 粘贴 |
u | 撤销 |
Ctrl+r | 重做 |
. | 重复上一个操作命令(除 u、Ctrl+r、: 命令) |
设置与退出
| 命令 | 操作 |
|---|
:set showmode | 显示当前模式 |
:set nu / :set nonu | 显示 / 隐藏行号 |
:set hlsearch | 高亮搜索结果 |
Ctrl+g | 获取光标处信息 |
ZZ | 保存并退出 |
:q! | 强制不保存退出 |
F1 / :help | 查看帮助 |
七、Git 常用操作
远程仓库
git remote -v # 查看远程仓库地址
git remote set-url origin https://gitee.com/xxx/xxx.git # 重定向远程仓库
撤销 commit
git log # 查看提交记录,找到目标 commit_id
git reset --hard commit_id # 回退到指定 commit
.gitignore 不起作用
原因:文件已被 Git 追踪。需要清除缓存后重新添加:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
八、Nginx
# 目录:/usr/local/nginx(主要是 conf、sbin)
./nginx -t # 检查配置文件语法
./nginx # 启动
./nginx -s reload # 重启(重新加载配置)
./nginx -s stop # 停止
ps -ef | grep nginx # 查看启动状态
编译时带上 SSL 模块:
./configure --with-http_ssl_module
九、MongoDB
which mongod # 查找安装位置
sudo mongod --dbpath data --logpath log/mongod.log --logappend # 指定路径启动
sudo mongod --config /usr/local/etc/mongod.conf # 用配置文件启动
十、FFmpeg
# 合并视频和音频(不重新编码,直接复制流)
ffmpeg -i 1.mp4 -i 1.mp3 -vcodec copy -acodec copy output.mp4