Linux 基础命令
目录
文件系统导航
pwd - 显示当前目录
pwd
# 输出: /home/username
ls - 列出目录内容
ls # 列出当前目录内容
ls -l # 详细列表格式
ls -a # 显示所有文件(包括隐藏文件)
ls -la # 详细列表显示所有文件
ls /home # 列出指定目录内容
ls *.txt # 通配符匹配
cd - 切换目录
cd # 切换到用户主目录
cd /home # 切换到绝对路径
cd .. # 切换到上级目录
cd ../.. # 切换到上两级目录
cd ~ # 切换到用户主目录
cd - # 切换到上一个目录
tree - 树状显示目录结构
tree # 显示当前目录树状结构
tree -L 2 # 只显示2层深度
tree -d # 只显示目录
文件操作
cp - 复制文件或目录
cp file1 file2 # 复制文件
cp file1 dir/ # 复制文件到目录
cp -r dir1 dir2 # 递归复制目录
cp -v file1 file2 # 显示复制过程
cp -i file1 file2 # 覆盖前确认
mv - 移动或重命名文件
mv file1 file2 # 重命名文件
mv file1 dir/ # 移动到目录
mv -i file1 file2 # 覆盖前确认
mv -v file1 dir/ # 显示移动过程
rm - 删除文件或目录
rm file1 # 删除文件
rm -r dir1 # 递归删除目录
rm -f file1 # 强制删除,不提示
rm -i file1 # 删除前确认
rm -rf dir1 # 强制递归删除目录(危险!)
touch - 创建空文件或更新时间戳
touch file1 # 创建空文件
touch file1 file2 # 创建多个文件
touch -t 202312251200 file1 # 设置特定时间戳
find - 查找文件
find . -name "*.txt" # 查找所有txt文件
find /home -name "file1" # 在指定目录查找
find . -type f -size +1M # 查找大于1MB的文件
find . -mtime -7 # 查找7天内修改的文件
find . -empty # 查找空文件/目录
locate - 快速查找文件
locate filename # 快速查找文件
sudo updatedb # 更新文件数据库
目录操作
mkdir - 创建目录
mkdir dir1 # 创建目录
mkdir -p dir1/dir2/dir3 # 创建多级目录
mkdir dir1 dir2 dir3 # 创建多个目录
rmdir - 删除空目录
rmdir dir1 # 删除空目录
rmdir -p dir1/dir2 # 删除目录及其空父目录
文件查看与编辑
cat - 查看文件内容
cat file1 # 显示整个文件
cat file1 file2 # 显示多个文件
cat -n file1 # 显示行号
cat > newfile # 创建新文件(输入内容后Ctrl+D保存)
less / more - 分页查看文件
less file1 # 分页查看(推荐)
more file1 # 分页查看
# 在 less 中: 空格翻页, q退出, /搜索, n下一个匹配
head / tail - 查看文件开头/结尾
head file1 # 查看前10行
head -n 20 file1 # 查看前20行
tail file1 # 查看后10行
tail -n 20 file1 # 查看后20行
tail -f logfile # 实时查看日志文件
grep - 文本搜索
grep "pattern" file1 # 在文件中搜索文本
grep -r "pattern" dir/ # 递归搜索目录
grep -i "pattern" file1 # 忽略大小写
grep -v "pattern" file1 # 反向搜索(不匹配的行)
grep -n "pattern" file1 # 显示行号
grep -c "pattern" file1 # 统计匹配行数
nano - 简单文本编辑器
nano file1 # 编辑文件
nano -w file1 # 禁用自动换行
# 常用快捷键: Ctrl+O保存, Ctrl+X退出, Ctrl+W搜索
vim / vi - 高级文本编辑器
vim file1 # 用vim编辑文件
# 基本操作:
# i - 插入模式
# Esc - 返回命令模式
# :w - 保存
# :q - 退出
# :wq - 保存并退出
# :q! - 强制退出不保存
系统信息
uname - 系统信息
uname -a # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示系统架构
df - 磁盘空间使用情况
df -h # 人类可读格式显示磁盘空间
df -i # 显示inode使用情况
du - 文件/目录磁盘使用情况
du -sh dir1 # 显示目录总大小
du -h file1 # 显示文件大小
du -sh * # 显示当前目录所有文件/目录大小
free - 内存使用情况
free -h # 人类可读格式显示内存
free -m # 以MB为单位显示
top / htop - 进程监控
top # 实时显示进程信息
htop # 增强版top(需要安装)
# 在top中: q退出, k杀死进程, M按内存排序, P按CPU排序
who / w - 登录用户信息
who # 显示当前登录用户
w # 显示登录用户及活动
date - 日期时间
date # 显示当前日期时间
date -R # 显示RFC格式时间
date "+%Y-%m-%d" # 自定义格式显示
进程管理
ps - 显示进程状态
ps aux # 显示所有进程详细信息
ps -ef # 显示完整格式的所有进程
ps -u username # 显示指定用户的进程
kill - 终止进程
kill 1234 # 终止PID为1234的进程
kill -9 1234 # 强制终止进程
killall process_name # 终止指定名称的所有进程
bg / fg - 后台/前台进程控制
# 在命令后加 & 在后台运行
./script.sh &
# 将暂停的作业放到后台运行
bg
# 将后台作业调到前台
fg
jobs - 显示后台作业
jobs # 显示当前会话的后台作业
网络相关
ping - 测试网络连接
ping google.com # 测试到google.com的连接
ping -c 4 google.com # 发送4个包后停止
ifconfig / ip - 网络接口配置
ifconfig # 显示网络接口信息(较老)
ip addr # 显示IP地址(推荐)
ip route # 显示路由表
netstat / ss - 网络统计
netstat -tulpn # 显示监听端口和进程
ss -tulpn # 更快的网络统计工具
wget / curl - 下载工具
wget http://example.com/file.zip # 下载文件
curl -O http://example.com/file.zip # 下载文件
curl -I http://example.com # 显示HTTP头信息
ssh - 远程登录
ssh username@hostname # SSH远程登录
ssh -p 2222 user@host # 指定端口登录
权限管理
chmod - 更改文件权限
chmod 755 file1 # 设置权限为rwxr-xr-x
chmod +x script.sh # 添加执行权限
chmod -R 644 dir/ # 递归设置目录权限
chmod u=rwx,g=rx,o=r file1 # 使用符号设置权限
chown - 更改文件所有者
chown user file1 # 更改文件所有者
chown user:group file1 # 同时更改所有者和组
chown -R user:group dir/ # 递归更改目录
sudo - 以超级用户权限执行
sudo command # 以root权限执行命令
sudo -i # 切换到root用户
sudo su - # 切换到root用户
passwd - 更改密码
passwd # 更改当前用户密码
sudo passwd username # 更改指定用户密码(需要root权限)
包管理
Ubuntu/Debian (apt)
sudo apt update # 更新软件包列表
sudo apt upgrade # 升级所有软件包
sudo apt install package # 安装软件包
sudo apt remove package # 移除软件包
sudo apt search keyword # 搜索软件包
apt list --installed # 列出已安装的包
CentOS/RHEL (yum/dnf)
sudo yum update # 更新软件包(yum)
sudo dnf update # 更新软件包(dnf)
sudo yum install package # 安装软件包
sudo yum remove package # 移除软件包
其他实用命令
tar - 归档工具
tar -czf archive.tar.gz dir/ # 创建gzip压缩包
tar -xzf archive.tar.gz # 解压gzip压缩包
tar -cjf archive.tar.bz2 dir/ # 创建bzip2压缩包
tar -xjf archive.tar.bz2 # 解压bzip2压缩包
gzip / gunzip - 压缩/解压缩
gzip file1 # 压缩文件(生成file1.gz)
gunzip file1.gz # 解压缩文件
history - 命令历史
history # 显示命令历史
history 10 # 显示最近10条命令
!123 # 执行历史中第123条命令
!! # 执行上一条命令
alias - 命令别名
alias ll='ls -alF' # 创建别名
alias # 显示所有别名
unalias ll # 删除别名
which / whereis - 查找命令位置
which ls # 显示命令的完整路径
whereis ls # 显示命令的二进制、源码和手册页位置
man - 查看手册页
man ls # 查看ls命令的手册页
man 5 passwd # 查看passwd文件格式(第5节)
echo - 显示文本
echo "Hello World" # 输出文本
echo $PATH # 输出环境变量
echo ~ # 输出家目录路径
export - 设置环境变量
export PATH=$PATH:/new/path # 添加路径到PATH
export VAR=value # 设置环境变量
实用技巧和组合命令
管道和重定向
ls -l | grep ".txt" # 管道:将前一个命令的输出作为后一个命令的输入
ls > filelist.txt # 重定向:将输出写入文件
ls >> filelist.txt # 追加到文件
2>&1 # 将标准错误重定向到标准输出
常用组合示例
# 查找并删除所有.txt文件
find . -name "*.txt" -exec rm {} \;
# 统计当前目录文件数量
ls -1 | wc -l
# 查看最近修改的文件
ls -lt | head
# 查找包含特定文本的文件
grep -r "search_text" ./
# 监控日志文件变化
tail -f /var/log/syslog | grep "error"
5460

被折叠的 条评论
为什么被折叠?



