Linux 新手实用命令指南
基本文件操作命令
ls - 列出目录内容
ls -l以长格式显示文件和目录详细信息ls -a显示所有文件(包括隐藏文件)ls -lh以人类可读格式显示文件大小- 示例:
ls -lah /home查看/home目录下所有文件的详细信息
cd - 切换目录
cd ~返回用户主目录cd ..返回上一级目录cd -返回上一次所在的目录- 示例:
cd /var/log进入系统日志目录
mkdir - 创建目录
mkdir new_folder创建单个目录mkdir -p dir1/dir2/dir3创建多级目录- 示例:
mkdir -p ~/projects/python/webapp创建项目目录结构
cp - 复制文件/目录
cp file1 file2复制文件cp -r dir1 dir2递归复制目录- 示例:
cp -r /tmp/backup ~/documents备份文件到文档目录
mv - 移动/重命名文件
mv oldname newname重命名文件mv file1 /target/dir移动文件到目标目录- 示例:
mv ~/downloads/file.txt ~/documents/移动下载的文件到文档目录
文件查看与编辑
cat - 查看文件内容
cat file.txt显示文件全部内容cat file1.txt file2.txt > combined.txt合并文件- 示例:
cat /etc/passwd查看系统用户信息
less/more - 分页查看文件
less large_file.log可上下翻页查看大文件/keyword在less中搜索关键字- 示例:
less /var/log/syslog查看系统日志
head/tail - 查看文件开头/结尾
head -n 10 file.txt查看文件前10行tail -f /var/log/app.log实时跟踪日志文件变化- 示例:
tail -n 20 /var/log/auth.log查看最近的20条认证日志
nano - 简单文本编辑器
nano file.txt编辑文件- 快捷键:Ctrl+O保存,Ctrl+X退出
- 示例:
nano ~/.bashrc编辑用户bash配置文件
系统信息与进程管理
top/htop - 系统监控
top显示系统进程和资源使用情况htop(需安装)更友好的交互式进程查看器- 示例:在top中按”M”按内存使用排序,按”P”按CPU使用排序
ps - 查看进程
ps aux查看所有运行中的进程ps -ef | grep nginx查找特定进程- 示例:
ps aux --sort=-%cpu | head查看CPU占用最高的进程
kill - 终止进程
kill -9 PID强制终止指定PID的进程pkill process_name通过进程名终止- 示例:
pkill -f "python script.py"终止运行的Python脚本
df/du - 磁盘空间检查
df -h查看磁盘使用情况(人类可读格式)du -sh *查看当前目录各文件/目录大小- 示例:
du -sh /var/* | sort -h查看/var下各目录大小并排序
网络相关命令
ping - 测试网络连接
ping google.com测试与Google的连接ping -c 4 8.8.8.8发送4个ping包到Google DNS- 示例:
ping -i 5 example.com每5秒发送一次ping测试
ifconfig/ip - 网络接口配置
ifconfig查看网络接口信息(旧版)ip a新版查看IP地址和网络接口- 示例:
ip route show查看路由表
netstat/ss - 网络连接查看
netstat -tulnp查看监听端口和连接(旧版)ss -tulnp新版查看网络连接信息- 示例:
ss -tulnp | grep 80检查80端口是否被监听
wget/curl - 下载工具
wget http://example.com/file.zip下载文件curl -O http://example.com/file.zip另一种下载方式- 示例:
curl -I http://example.com仅获取HTTP头信息
权限管理
chmod - 修改文件权限
chmod 755 script.sh设置可执行权限chmod +x file.sh添加执行权限- 示例:
chmod -R 644 /var/www/html递归设置目录权限
chown - 修改文件所有者
chown user:group file.txt修改所有者和组chown -R www-data:www-data /var/www递归修改网站目录所有者- 示例:
chown bob:developers project/将项目目录所有者改为bob,组改为developers
sudo - 以超级用户权限执行
sudo command以root权限执行命令sudo -i切换到root用户- 示例:
sudo apt update更新软件包列表(需要root权限)
软件包管理
apt (Debian/Ubuntu)
sudo apt update更新软件包列表sudo apt install package安装软件包sudo apt remove package移除软件包- 示例:
sudo apt install nginx安装Nginx web服务器
yum/dnf (RHEL/CentOS/Fedora)
sudo yum install package安装软件包sudo dnf remove package移除软件包(新版)- 示例:
sudo yum install httpd安装Apache web服务器
snap (跨发行版)
sudo snap install package安装snap软件包snap list查看已安装的snap包- 示例:
sudo snap install code --classic安装VS Code
搜索与查找
find - 查找文件
find / -name "*.log"在全系统查找.log文件find ~ -type f -size +10M在主目录查找大于10MB的文件- 示例:
find /etc -name "*conf*"在/etc下查找包含”conf”的文件
grep - 文本搜索
grep "error" /var/log/syslog在日志中搜索”error”grep -r "function_name" /path/to/code递归搜索代码中的函数- 示例:
grep -i "warning" *.log在当前目录.log文件中不区分大小写搜索”warning”
locate - 快速文件查找
locate filename快速查找文件位置sudo updatedb更新locate数据库- 示例:
locate .bashrc查找所有.bashrc文件位置
压缩与归档
tar - 打包和解包
tar -cvzf archive.tar.gz dir/创建gzip压缩包tar -xvzf archive.tar.gz解压gzip包- 示例:
tar -cvjf backup.tar.bz2 /home/user/documents创建bzip2压缩包
zip/unzip
zip archive.zip file1 file2创建zip压缩包unzip archive.zip解压zip文件- 示例:
zip -r website.zip public_html/递归压缩网站目录
gzip/gunzip
gzip file.txt压缩文件(生成file.txt.gz)gunzip file.txt.gz解压文件- 示例:
gzip -9 large_file.log使用最高压缩率压缩日志文件
实用技巧
命令历史
history查看命令历史!number执行历史记录中编号为number的命令Ctrl+R反向搜索命令历史
管道和重定向
command1 | command2将一个命令的输出作为另一个命令的输入command > file.txt将输出重定向到文件command >> file.txt将输出追加到文件- 示例:
ls -l /etc | grep network > network_files.txt查找/etc下的网络相关文件并保存
别名
alias ll='ls -lah'创建别名unalias ll删除别名- 示例:
alias update='sudo apt update && sudo apt upgrade -y'创建一键更新别名
帮助手册
man command查看命令手册command --help快速查看命令帮助- 示例:
man grep查看grep的完整用法