记录常用 Linux 命令,偏"日常使用备忘"。
文件与目录操作
查看与切换目录
1
2
3
4
5
6
7
8
9
10
| pwd # 显示当前目录
ls # 列出文件
ls -l # 详细列表
ls -a # 显示隐藏文件
ls -lh # 人类可读的文件大小
cd /path/to/dir # 切换到指定目录
cd ~ # 回到家目录
cd - # 回到上一次所在目录
cd .. # 回到上级目录
|
创建与删除
1
2
3
4
5
6
7
8
9
| mkdir mydir # 创建目录
mkdir -p dir1/dir2/dir3 # 递归创建多级目录
touch file.txt # 创建空文件或更新时间戳
rm file.txt # 删除文件
rm -r mydir # 递归删除目录
rm -rf mydir # 强制递归删除(危险!)
rmdir emptydir # 删除空目录
|
复制与移动
1
2
3
4
5
6
7
| cp file1.txt file2.txt # 复制文件
cp -r dir1 dir2 # 递归复制目录
cp -v source dest # 显示复制过程
mv oldname.txt newname.txt # 重命名文件
mv file.txt /path/to/dest/ # 移动文件
mv -i file.txt dest/ # 交互式移动(覆盖前询问)
|
查看文件内容
1
2
3
4
5
6
7
| cat file.txt # 显示全部内容
less file.txt # 分页查看(q 退出)
more file.txt # 分页查看(空格翻页)
head file.txt # 显示前10行
head -n 20 file.txt # 显示前20行
tail file.txt # 显示后10行
tail -f log.txt # 实时跟踪文件更新(日志)
|
软件安装
1
2
3
4
| sudo apt update # 更新软件包列表
sudo apt install package_name # 安装软件包
sudo apt remove package_name # 卸载软件包
sudo dpkg -i package.deb # 安装 .deb 包
|
文件搜索
1
2
3
4
5
6
7
8
9
| find . -name "*.txt" # 在当前目录查找 txt 文件
find /path -type f -name "file" # 查找文件
find /path -type d -name "dir" # 查找目录
find . -mtime -7 # 查找7天内修改的文件
locate filename # 快速定位文件(需先 updatedb)
which python # 查找命令所在路径
whereis ls # 查找命令、源码、手册位置
|
文本处理
grep(搜索文本)
1
2
3
4
5
6
| grep "keyword" file.txt # 搜索关键字
grep -r "keyword" /path # 递归搜索目录
grep -i "keyword" file.txt # 忽略大小写
grep -n "keyword" file.txt # 显示行号
grep -v "keyword" file.txt # 反向匹配(排除)
grep -E "regex" file.txt # 使用正则表达式
|
权限管理
1
2
3
4
5
6
7
8
9
| chmod 755 file.sh # 修改权限(rwxr-xr-x)
chmod +x script.sh # 添加执行权限
chmod -R 755 dir # 递归修改目录权限
chown user file.txt # 修改文件所有者
chown user:group file # 同时修改所有者和组
chown -R user dir # 递归修改目录所有者
chgrp group file.txt # 修改文件所属组
|
权限数字说明
- 4 = 读(r)
- 2 = 写(w)
- 1 = 执行(x)
- 755 = rwxr-xr-x(所有者全权限,组和其他人只读执行)
- 644 = rw-r–r–(所有者读写,其他人只读)
压缩与解压
tar
1
2
3
4
5
6
7
8
| tar -cvf archive.tar dir/ # 打包目录
tar -czvf archive.tar.gz dir/ # 打包并 gzip 压缩
tar -cjvf archive.tar.bz2 dir/ # 打包并 bzip2 压缩
tar -xvf archive.tar # 解包
tar -xzvf archive.tar.gz # 解压 gzip
tar -xjvf archive.tar.bz2 # 解压 bzip2
tar -xzvf archive.tar.gz -C /path # 解压到指定目录
|
zip / unzip
1
2
3
4
5
| zip archive.zip file1 file2 # 压缩文件
zip -r archive.zip dir/ # 压缩目录
unzip archive.zip # 解压
unzip archive.zip -d /path # 解压到指定目录
|
系统信息
1
2
3
4
5
6
7
8
9
10
11
12
13
| uname -a # 显示系统信息
hostname # 显示主机名
whoami # 当前用户名
id # 显示用户和组ID
uptime # 系统运行时间
date # 显示日期时间
df -h # 磁盘使用情况(人类可读)
du -sh dir/ # 目录大小
du -h --max-depth=1 # 显示一级子目录大小
free -h # 内存使用情况
|
进程管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ps aux # 显示所有进程
ps aux | grep python # 查找特定进程
top # 实时查看进程(q 退出)
htop # 更友好的 top(需安装)
kill PID # 终止进程(PID 是进程号)
kill -9 PID # 强制终止
killall process_name # 按名称终止所有进程
bg # 将任务放到后台
fg # 将任务调到前台
jobs # 显示后台任务
nohup command & # 后台运行,不受终端关闭影响
|
网络相关
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| ping google.com # 测试网络连通性
ping -c 4 google.com # ping 4次后停止
ifconfig # 查看网络接口(旧)
ip addr # 查看网络接口(新)
ip route # 查看路由表
netstat -tuln # 查看监听端口
ss -tuln # 现代版 netstat
curl http://example.com # 获取网页内容
curl -O http://example.com/file # 下载文件
wget http://example.com/file # 下载文件
scp file.txt user@host:/path # 远程复制文件
ssh user@host # SSH 登录远程主机
|
用户管理
1
2
3
4
5
6
7
8
9
10
11
| useradd username # 创建用户
passwd username # 设置密码
userdel username # 删除用户
userdel -r username # 删除用户及其家目录
su - username # 切换用户
sudo command # 以 root 权限执行
who # 显示当前登录用户
w # 显示登录用户及活动
last # 显示登录历史
|
包管理(Ubuntu/Debian)
1
2
3
4
5
6
7
8
| sudo apt update # 更新软件包列表
sudo apt upgrade # 升级所有软件包
sudo apt install package_name # 安装软件包
sudo apt remove package_name # 卸载软件包
sudo apt autoremove # 清理不需要的依赖
apt search keyword # 搜索软件包
apt show package_name # 显示软件包信息
|
包管理(CentOS/RHEL)
1
2
3
4
5
6
| sudo yum update # 更新软件包
sudo yum install package_name # 安装软件包
sudo yum remove package_name # 卸载软件包
yum search keyword # 搜索软件包
yum info package_name # 显示软件包信息
|
环境变量
1
2
3
4
5
6
7
8
9
| echo $PATH # 显示 PATH 变量
echo $HOME # 显示家目录
export VAR="value" # 设置临时环境变量
export PATH=$PATH:/new/path # 添加到 PATH
# 永久设置:编辑 ~/.bashrc 或 ~/.zshrc
vim ~/.bashrc
source ~/.bashrc # 重新加载配置
|
其他实用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| history # 显示命令历史
history | grep keyword # 搜索命令历史
!! # 执行上一条命令
!n # 执行第 n 条历史命令
clear # 清空屏幕(或 Ctrl+L)
alias ll='ls -la' # 创建命令别名
unalias ll # 删除别名
man command # 查看命令手册
command --help # 查看命令帮助
ln -s /path/to/file link_name # 创建符号链接(软链接)
ln /path/to/file link_name # 创建硬链接
|
后续可继续补充更多高级命令(如 systemctl、cron、iptables 等)。