Linux 常用命令可以按“文件目录、文件内容、查找过滤、权限、系统监控、进程、网络、打包压缩、软件安装、远程传输”来记。
1. 目录与文件操作
| 命令 | 作用 | 常用示例 |
|---|---|---|
pwd | 显示当前路径 | pwd |
ls | 列出目录内容 | ls -lha |
cd | 切换目录 | cd /home、cd ..、cd ~ |
mkdir | 创建目录 | mkdir -p a/b/c |
touch | 创建空文件 | touch test.cpp |
cp | 复制 | cp -r src dst |
mv | 移动/重命名 | mv old.cpp new.cpp |
rm | 删除 | rm file、rm -rf dir |
rm -rf很危险,删之前最好先用ls确认路径。
2. 查看文件内容
| 命令 | 作用 | 示例 |
|---|---|---|
cat | 查看文件全部内容 | cat CMakeLists.txt |
less | 分页查看大文件 | less log.txt |
head | 看文件前几行 | head -n 20 file |
tail | 看文件后几行 | tail -n 20 file |
tail -f | 实时跟踪日志 | tail -f build.log |
wc | 统计行数/字数 | wc -l file |
tail -f很适合看编译日志或者程序输出。
3. 查找与过滤
| 命令 | 作用 | 示例 |
|---|---|---|
grep | 在文本里搜索关键词 | grep "error" build.log |
find | 按名字、大小、时间找文件 | find . -name "*.cpp" |
which | 查看命令在哪里 | which g++ |
| ` | ` | 管道,把前一个命令输出传给后一个 |
比如找当前目录下所有 C++ 文件:
find.-name"*.cpp"在日志里找报错:
grep-rn"error"build.log4. 权限与所有者
| 命令 | 作用 | 示例 |
|---|---|---|
chmod | 修改权限 | chmod +x run.sh |
chown | 修改所有者 | chown user:group file |
ls -l | 查看权限 | ls -l file |
常见权限数字:
r= 4w= 2x= 1
所以755表示:
- 所有者:读写执行
- 组和其他用户:读和执行
5. 系统与进程
| 命令 | 作用 | 示例 |
|---|---|---|
top | 实时看 CPU/内存 | top |
ps | 查看进程 | ps aux |
kill | 结束进程 | kill PID |
df -h | 看磁盘空间 | df -h |
free -m | 看内存 | free -m |
uname -a | 看系统信息 | uname -a |
如果程序卡住了,可以先:
psaux|grep程序名找到 PID 后再:
killPID6. 网络相关
| 命令 | 作用 | 示例 |
|---|---|---|
ping | 测试网络是否通 | ping baidu.com |
ip a | 查看 IP 地址 | ip a |
ss | 查看端口连接 | ss -tulnp |
curl | 请求网络接口 | curl https://example.com |
wget | 下载文件 | wget https://example.com/file |
ssh | 远程登录 | ssh user@host |
7. 打包压缩
| 命令 | 作用 | 示例 |
|---|---|---|
tar | 打包/解压 | tar -czvf a.tar.gz dir |
tar | 解压 | tar -xzvf a.tar.gz |
zip | 压缩 zip | zip -r a.zip dir |
unzip | 解压 zip | unzip a.zip |
常见 tar 参数:
c:创建压缩包x:解压z:用 gzipv:显示过程f:指定文件名
8. 软件安装
如果是 Ubuntu/Debian:
sudoaptupdatesudoaptinstall包名如果是 CentOS/RHEL:
sudoyuminstall包名更推荐优先用包管理器安装,不要随便手动删系统目录。
写 C++ / CMake 时最常用这几条
cdprojectmkdirbuildcdbuild cmake..make-j4./main或者用 Ninja:
cmake-GNinja..ninja