最近在和我一个学长做项目。因为十分贫穷,加上校内服务器十分堵塞,压根排不到我们,最后我们决定上网租服务器(虽然发现这个决策使得我们的钱包更加不饱满)。这个时候发现学长并不熟悉 Linux 的一些常用指令,这也启发我给自己的 blog 加上一篇关于常用指令的推文。
Linux 的很多操作都可以通过命令行完成。刚开始接触时,不需要一次性记住所有命令,先掌握目录切换、文件操作、文件内容查看、权限管理和进程查看这几类常用指令,就可以完成大部分日常工作。
本文记录一些入门阶段最常用的 Linux 指令,方便之后查阅。
1. 查看当前所在位置
pwd
pwd 会显示当前终端所在的目录路径。例如:
/home/user/project
当你不知道自己现在在哪个文件夹时,可以先运行这个命令。
2. 查看目录内容
ls
常见用法:
ls # 查看当前目录下的文件
ls -l # 以详细列表形式显示
ls -a # 显示隐藏文件
ls -lh # 以更易读的大小单位显示
在 Linux 中,以 . 开头的文件或目录是隐藏文件,例如 .git、.bashrc。
3. 切换目录
cd 目录名
常见用法:
cd /home/user # 切换到指定绝对路径
cd project # 进入当前目录下的 project 文件夹
cd .. # 返回上一级目录
cd ~ # 回到当前用户的家目录
cd - # 回到上一次所在目录
绝对路径从 / 开始,相对路径从当前目录开始。
4. 创建文件和目录
创建目录:
mkdir notes
递归创建多级目录:
mkdir -p projects/linux/test
创建空文件:
touch hello.txt
touch 如果遇到不存在的文件,会创建它;如果文件已经存在,会更新它的修改时间。
5. 复制、移动和重命名
复制文件:
cp source.txt target.txt
复制目录:
cp -r old_dir new_dir
移动文件:
mv file.txt /tmp/
重命名文件:
mv old_name.txt new_name.txt
mv 既可以移动文件,也可以重命名文件,具体取决于目标路径。
6. 删除文件和目录
删除文件:
rm file.txt
删除目录:
rm -r folder
强制删除:
rm -rf folder
rm -rf 很危险,它不会进入回收站,执行前一定要确认路径是否正确。
7. 查看文件内容
一次性输出文件内容:
cat file.txt
分页查看长文件:
less file.txt
查看文件开头:
head file.txt
head -n 20 file.txt
查看文件末尾:
tail file.txt
tail -n 20 file.txt
实时查看日志:
tail -f app.log
查看程序日志时,tail -f 非常常用。
8. 搜索文件内容
grep "keyword" file.txt
常见用法:
grep "error" app.log
grep -n "error" app.log # 显示行号
grep -i "error" app.log # 忽略大小写
grep -r "TODO" . # 在当前目录递归搜索
如果只记一个搜索命令,先记住 grep -r "关键词" .。
9. 查找文件
按文件名查找:
find . -name "*.md"
查找当前目录下所有 Markdown 文件:
find . -type f -name "*.md"
查找目录:
find . -type d -name "build"
find 的第一个参数表示从哪里开始找,. 表示当前目录。
10. 查看磁盘和文件大小
查看磁盘空间:
df -h
查看当前目录下各文件和目录大小:
du -sh *
查看某个目录总大小:
du -sh folder
其中 -h 表示 human-readable,会用 KB、MB、GB 这种更容易理解的单位显示。
11. 查看和结束进程
查看当前用户的进程:
ps
查看所有进程:
ps aux
动态查看系统资源:
top
结束某个进程:
kill PID
如果进程无法正常结束,可以使用:
kill -9 PID
PID 是进程编号,可以通过 ps aux 或 top 找到。
12. 权限相关命令
查看权限:
ls -l
给脚本添加可执行权限:
chmod +x script.sh
修改文件拥有者:
sudo chown user:user file.txt
sudo 表示用管理员权限执行命令。使用 sudo 前要确认命令确实需要更高权限。
13. 压缩和解压
打包并压缩:
tar -czvf archive.tar.gz folder
解压:
tar -xzvf archive.tar.gz
常见参数含义:
c: create,创建压缩包
x: extract,解压
z: 使用 gzip
v: 显示过程
f: 指定文件名
14. 网络相关命令
测试网络连通:
ping github.com
下载文件:
curl -O https://example.com/file.zip
查看当前机器 IP:
ip addr
在 macOS 上,类似命令是:
ifconfig
15. 常用组合
进入目录并查看内容:
cd project
ls -lh
查找日志中的错误:
grep -n "error" app.log
查看某个目录大小:
du -sh .
查看最近的日志输出:
tail -f app.log
查找当前目录下所有 Python 文件:
find . -type f -name "*.py"
总结
Linux 命令入门可以先按使用场景记忆:
- 位置和目录:
pwd、ls、cd - 文件操作:
mkdir、touch、cp、mv、rm - 内容查看:
cat、less、head、tail - 搜索查找:
grep、find - 系统状态:
df、du、ps、top - 权限管理:
chmod、chown、sudo
这些命令不需要死记硬背,最好的方式是在真实项目和日常操作里反复使用。