Linux 命令速查
Linux 常用命令速查表,支持搜索和一键复制
文件操作(5)
复制文件 cp
复制文件或目录,-r 递归复制目录
# 复制文件
cp file.txt backup.txt
# 递归复制目录
cp -r dir1 dir2
# 保留属性
cp -a source dest移动/重命名 mv
移动文件或目录,也可用于重命名
# 移动文件
mv file.txt /path/to/dest/
# 重命名
mv oldname.txt newname.txt
# 强制覆盖(不提示)
mv -f source dest删除文件 rm
删除文件或目录,-r 递归删除,-f 强制
# 删除文件
rm file.txt
# 递归删除目录
rm -r dir/
# 强制删除(不提示)
rm -rf dir/
# 交互式删除
rm -i file.txt创建空文件 touch
创建空文件或更新文件时间戳
# 创建空文件
touch newfile.txt
# 更新多个文件的时间戳
touch file1.txt file2.txt创建链接 ln
创建硬链接或软链接(符号链接)
# 创建硬链接
ln file.txt hardlink.txt
# 创建软链接(符号链接)
ln -s /path/to/file link_name目录操作(5)
列出目录 ls
列出目录内容,-l 详细信息,-a 显示隐藏文件
# 简单列出
ls
# 详细信息(含权限、大小)
ls -l
# 显示隐藏文件
ls -la
# 按大小排序
ls -lhS
# 递归列出子目录
ls -R创建目录 mkdir
创建新目录,-p 递归创建多级目录
# 创建单个目录
mkdir mydir
# 递归创建多级目录
mkdir -p parent/child/grandchild
# 创建时设置权限
mkdir -m 755 mydir切换目录 cd
切换当前工作目录
# 进入目录
cd /path/to/dir
# 进入家目录
cd ~
# 返回上级目录
cd ..
# 返回上上次目录
cd -当前目录 pwd
显示当前工作目录的绝对路径
pwd目录大小 du
显示目录或文件的磁盘使用量
# 当前目录大小
du -sh .
# 显示子目录大小
du -h --max-depth=1
# 人类可读格式
du -sh *文件查看(5)
查看文件 cat
连接并显示文件内容
# 查看文件
cat file.txt
# 显示行号
cat -n file.txt
# 合并多个文件
cat file1.txt file2.txt > combined.txt分页查看 less
分页查看大文件,支持上下翻页和搜索
# 分页查看
less file.txt
# 常用操作:空格翻页,b 回翻,/ 搜索,q 退出查看头部 head
显示文件开头若干行
# 默认显示前 10 行
head file.txt
# 显示前 20 行
head -n 20 file.txt
# 或
head -20 file.txt查看尾部 tail
显示文件末尾若干行,-f 实时跟踪
# 默认显示后 10 行
tail file.txt
# 显示后 50 行
tail -n 50 file.txt
# 实时跟踪日志
tail -f /var/log/app.log统计字数 wc
统计文件行数、字数、字节数
# 显示行数、字数、字节数
wc file.txt
# 只显示行数
wc -l file.txt
# 只显示字数
wc -w file.txt搜索查找(5)
文本搜索 grep
在文件中搜索匹配的文本行
# 基本搜索
grep "pattern" file.txt
# 忽略大小写
grep -i "pattern" file.txt
# 递归搜索目录
grep -r "pattern" ./dir
# 显示行号
grep -n "pattern" file.txt查找文件 find
在目录树中查找文件
# 按名称查找
find . -name "*.txt"
# 按类型查找
find . -type f -name "*.log"
# 按时间查找(7天内修改)
find . -mtime -7
# 执行命令
find . -name "*.tmp" -exec rm {} \;快速查找 locate
通过数据库快速查找文件(需先 updatedb)
# 查找文件
locate filename
# 忽略大小写
locate -i pattern
# 限制结果数量
locate -n 20 pattern查找命令 which
显示命令的完整路径
which python
which git
which node查找命令 whereis
查找命令、源码和手册页位置
whereis python
whereis ls权限管理(5)
修改权限 chmod
修改文件或目录的访问权限
# 数字模式:755 = rwxr-xr-x
chmod 755 script.sh
# 符号模式:给所有用户加执行权限
chmod +x file.sh
# 递归修改目录
chmod -R 755 mydir修改所有者 chown
修改文件或目录的所有者和所属组
# 修改所有者
chown user file.txt
# 修改所有者和组
chown user:group file.txt
# 递归修改
chown -R user:group dir/修改所属组 chgrp
修改文件或目录的所属组
chgrp developers file.txt
chgrp -R www-data /var/www/默认权限 umask
设置新建文件的默认权限掩码
# 查看当前 umask
umask
# 设置 umask(如 022)
umask 022查看权限 stat
显示文件或文件系统的详细状态信息
stat file.txt
# 简洁格式
stat -c '%a %n' file.txt进程管理(5)
查看进程 ps
显示当前进程状态
# 显示所有进程
ps aux
# 树形显示
ps auxf
# 显示指定用户进程
ps -u username实时监控 top
实时显示系统进程和资源使用情况
# 启动 top
top
# 按 P 按 CPU 排序,M 按内存排序,q 退出终止进程 kill
向进程发送信号,默认 SIGTERM
# 优雅终止(默认)
kill 12345
# 强制终止
kill -9 12345
# 按名称终止
killall process_name后台运行 nohup
忽略挂断信号,使进程在退出终端后继续运行
# 后台运行,输出到 nohup.out
nohup command &
# 指定输出文件
nohup python app.py > output.log 2>&1 &进程树 pstree
以树形结构显示进程关系
pstree
pstree -p # 显示 PID
pstree -u # 显示用户名网络(6)
测试连通性 ping
测试与目标主机的网络连通性
# 持续 ping
ping example.com
# 指定次数
ping -c 4 example.com
# 指定间隔(秒)
ping -i 2 192.168.1.1下载文件 wget
从网络下载文件
# 下载文件
wget https://example.com/file.zip
# 断点续传
wget -c url
# 后台下载
wget -b urlHTTP 请求 curl
发送 HTTP 请求,支持多种协议
# GET 请求
curl https://api.example.com
# POST 请求
curl -X POST -d 'data' url
# 显示响应头
curl -i url
# 保存到文件
curl -o file.txt url网络状态 netstat
显示网络连接、路由表、接口统计
# 显示所有连接
netstat -a
# 显示监听端口
netstat -tuln
# 显示进程
netstat -tulnpSSH 远程连接
安全连接到远程主机
# 基本连接
ssh user@host
# 指定端口
ssh -p 2222 user@host
# 使用密钥
ssh -i ~/.ssh/id_rsa user@hostSCP 文件传输
通过 SSH 安全复制文件
# 上传到远程
scp file.txt user@host:/path/
# 从远程下载
scp user@host:/path/file.txt .
# 递归复制目录
scp -r dir/ user@host:/path/磁盘与系统(5)
磁盘空间 df
显示文件系统磁盘空间使用情况
# 人类可读格式
df -h
# 显示 inode 使用
df -i
# 指定文件系统类型
df -t ext4内存使用 free
显示系统内存使用情况
# 人类可读格式
free -h
# 持续监控
free -h -s 2系统信息 uname
显示系统信息
# 内核名称
uname
# 详细信息
uname -a
# 内核版本
uname -r
# 机器架构
uname -m系统负载 uptime
显示系统运行时间和负载
uptime环境变量 env
显示或设置环境变量
# 显示所有环境变量
env
# 在指定环境下执行命令
env VAR=value command压缩解压(5)
tar 打包压缩
打包和压缩文件,常用 .tar.gz 格式
# 打包(不压缩)
tar -cvf archive.tar dir/
# 打包并 gzip 压缩
tar -czvf archive.tar.gz dir/
# 解压 .tar.gz
tar -xzvf archive.tar.gz
# 解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/dest/zip 压缩
创建和解压 zip 格式压缩包
# 压缩文件
zip archive.zip file1 file2
# 递归压缩目录
zip -r archive.zip dir/
# 解压
unzip archive.zip
# 解压到指定目录
unzip archive.zip -d /path/to/dest/gzip 压缩
压缩单个文件,生成 .gz 文件
# 压缩(会删除原文件)
gzip file.txt
# 保留原文件
gzip -k file.txt
# 解压
gunzip file.txt.gzxz 高压缩
高压缩比格式,适合大文件
# 压缩
xz file.txt
# 解压
xz -d file.txt.xz
# 或
unxz file.txt.xz7z 多格式
支持多种压缩格式
# 压缩
7z a archive.7z dir/
# 解压
7z x archive.7z用户管理(5)
当前用户 whoami
显示当前登录用户名
whoami切换用户 su
切换到其他用户,默认切换到 root
# 切换到 root
su
# 切换到指定用户
su username
# 切换用户并加载环境
su - username添加用户 useradd
创建新用户账户
# 创建用户
useradd -m username
# 指定家目录和 shell
useradd -m -s /bin/bash username
# 指定 UID
useradd -u 1001 username修改密码 passwd
修改用户密码
# 修改当前用户密码
passwd
# 修改指定用户密码(需 root)
passwd username用户信息 id
显示用户和组的 ID 信息
# 当前用户
id
# 指定用户
id username