一、目录和文件操作
pwd # 查看当前目录
ls # 查看目录内容
ls -l # 详细信息
ls -a # 显示隐藏文件
ls -lh # 文件大小易读
cd /home # 切换目录
cd .. # 返回上一级
cd ~ # 回家目录
cd – # 上一次目录
mkdir test # 创建目录
mkdir -p a/b/c # 递归创建多级目录
rmdir test # 删除空目录
rm -r test # 删除目录及内容
rm -rf test # 强制删除目录及内容
touch a.txt # 创建空文件
rm a.txt # 删除文件
cp a.txt b.txt # 复制文件
cp -r dir1 dir2 # 复制目录
mv a.txt b.txt # 移动或重命名文件
二、查看文件内容
cat a.txt # 查看文件内容
less a.txt # 分页查看文件
head a.txt # 查看前10行
head -n 20 a.txt # 查看前20行
tail a.txt # 查看后10行
tail -n 20 a.txt # 查看后20行
tail -f log.txt # 实时查看文件内容
三、编辑文件
nano a.c # 简单编辑器
vim a.c # vim 编辑器
vim 基本操作:
i(插入)
Esc(退出插入)
:w(保存)
:q(退出)
:wq(保存退出)
:q!(强制退出)
四、查找文件和内容
find /home -name “server.c” # 查找文件
grep “socket” server.c # 查找内容
grep -n “socket” server.c # 带行号
grep -r “socket” . # 递归查找目录
五、权限相关
ls -l # 查看权限
chmod +x server # 添加可执行权限
chmod 755 server # 常用权限设置
sudo chown user:user file # 修改文件所属用户
六、编译 C/C++ 程序
gcc server.c -o server # 编译 C
g++ server.cpp -o server -pthread # 编译 C++ 带线程
g++ main.cpp -o server -std=c++11 -pthread # C++11 + 线程
七、进程相关
ps aux # 查看所有进程
ps aux | grep server # 查找指定进程
top # 实时查看进程
kill PID # 杀死进程
kill -9 PID # 强制杀死
pkill server # 按名字杀进程
killall server # 按名字杀进程
八、网络相关
ip addr # 查看 IP
ifconfig # 老命令,不推荐
ip route # 查看路由
ping 127.0.0.1 # 测试连通性
ss -tunlp # 查看端口占用
ss -tunlp | grep 8080 # 查看指定端口
telnet 127.0.0.1 8080 # 测试 TCP 连接
nc 127.0.0.1 8080 # 测试 TCP 连接
curl http://127.0.0.1:8080 # 请求 HTTP
curl -v http://127.0.0.1:8080 # 查看 HTTP 详细过程
九、压缩和解压
tar -cvf project.tar project/ # 打包
tar -xvf project.tar # 解包
tar -czvf project.tar.gz project/ # 压缩
tar -xzvf project.tar.gz # 解压
十、下载和安装软件
sudo apt update
sudo apt install gcc g++ make cmake vim git # Ubuntu / Debian
sudo dnf install gcc gcc-c++ make vim git # 新系统
sudo wget https://github.com/libevent/libevent/releases/download/release-2.1.13-stable/libevent-2.1.13-stable.tar.gz #下载网页上的文件
十一、git 基础
git clone 地址
git status
git add .
git commit -m “说明”
git push
git pull
十二、后台运行程序
./server & # 后台运行
jobs # 查看后台任务
fg # 放回前台
nohup ./server > server.log 2>&1 & # 断开终端仍运行
十三、环境变量
echo $PATH
export PATH=$PATH:/my/path
echo $SHELL
十四、磁盘和内存
df -h # 查看磁盘空间
du -sh * # 查看目录大小
free -h # 查看内存
十五、服务和系统信息
uname -a
cat /etc/os-release
lscpu
free -h
十六、网络编程最常用命令总结
pwd, ls -lah, cd, mkdir, touch, rm, cp, mv, cat, less, tail -f, vim, gcc, g++, make
ps aux | grep server, kill -9 PID, ip addr, ss -tunlp, curl -v http://127.0.0.1:8080
nc 127.0.0.1 8080, chmod +x server