Linux常用命令

Linux常用命令

Linux命令是系统管理的核心工具,掌握它们能高效执行日常任务。本教程基于真实运维场景编写,结构清晰,逐步讲解命令的语法、选项和示例。

1. 文件系统导航与操作

这些命令用于浏览和管理文件和目录。

  • pwd:显示当前工作目录的绝对路径。
    pwd  # 输出:/home/user
    
  • cd:切换目录。
    cd /var/log  # 进入/var/log目录
    cd ..        # 返回上一级目录
    
  • ls:列出目录内容。常用选项:
    • -l:详细列表(显示权限、所有者等)。
    • -a:显示隐藏文件(以.开头)。
    ls -l /etc  # 列出/etc目录的详细信息
    
  • mkdir:创建目录。
    mkdir new_folder  # 创建名为new_folder的目录
    mkdir -p dir1/dir2  # 递归创建多级目录
    
  • rm:删除文件或目录。谨慎使用!
    • -r:递归删除(用于目录)。
    • -f:强制删除(不提示确认)。
    rm file.txt      # 删除文件
    rm -rf old_dir   # 强制递归删除目录
    
  • cp:复制文件或目录。
    • -r:递归复制目录。
    cp source.txt dest.txt  # 复制文件
    cp -r src_dir dest_dir  # 复制目录
    
  • mv:移动或重命名文件/目录。
    mv old.txt new.txt  # 重命名文件
    mv file.txt /tmp    # 移动文件到/tmp
    
2. 文件内容查看与处理

处理文本文件和数据。

  • cat:显示文件内容。
    cat /etc/passwd  # 查看用户配置文件
    
  • lessmore:分页查看文件(支持滚动)。
    less large_file.log  # 按空格键翻页
    
  • grep:搜索文本模式。
    • -i:忽略大小写。
    • -r:递归搜索目录。
    grep "error" /var/log/syslog  # 查找包含"error"的行
    grep -ri "warning" /etc        # 递归搜索/etc目录
    
  • find:查找文件。
    • -name:按名称搜索。
    • -type:按类型搜索(如f为文件,d为目录)。
    find /home -name "*.txt"      # 查找所有.txt文件
    find /var/log -type f -mtime -7  # 查找7天内修改过的文件
    
  • headtail:显示文件开头或结尾部分。
    head -n 10 file.log  # 显示前10行
    tail -f /var/log/nginx/access.log  # 实时跟踪日志更新(-f选项)
    
3. 系统信息与监控

获取系统状态和资源使用情况。

  • tophtop:动态显示进程和资源占用(按q退出)。
    top  # 查看CPU、内存使用率
    
  • ps:查看进程状态。
    • aux:显示所有进程详细信息。
    ps aux | grep nginx  # 查找nginx相关进程
    
  • df:显示磁盘空间使用。
    • -h:人类可读格式(如GB、MB)。
    df -h  # 查看所有挂载点的磁盘使用
    
  • du:估算文件或目录大小。
    du -sh /var  # 查看/var目录的总大小(-s汇总,-h可读格式)
    
  • free:显示内存使用。
    free -m  # 以MB为单位显示内存(-m选项)
    
  • uname:显示系统信息。
    uname -a  # 输出内核版本和系统架构
    
4. 网络管理

配置和诊断网络连接。

  • ping:测试网络连通性。
    ping google.com  # 检查与Google的连接(按Ctrl+C停止)
    
  • ifconfigip addr:查看网络接口信息(ifconfig需安装net-tools)。
    ifconfig eth0  # 显示eth0接口的IP和状态
    ip addr show   # 现代替代命令
    
  • netstat:显示网络连接和端口。
    • -tuln:列出所有监听端口。
    netstat -tuln  # 查看TCP/UDP监听端口
    
  • ssh:远程登录服务器。
    ssh user@192.168.1.100  # 连接到远程主机
    
  • scp:安全复制文件(基于SSH)。
    scp local.txt user@remote:/path/  # 复制文件到远程
    scp user@remote:/file.txt ./      # 从远程复制到本地
    
5. 权限与用户管理

控制文件访问和用户账户。

  • chmod:更改文件权限。权限用八进制表示(如755755755),其中:
    • r=4r=4r=4(读),w=2w=2w=2(写),x=1x=1x=1(执行)。
    • 所有者、组、其他用户各占三位(如7=4+2+17=4+2+17=4+2+1表示rwx)。
    chmod 755 script.sh  # 设置权限为rwxr-xr-x
    chmod +x file        # 添加执行权限
    
  • chown:更改文件所有者。
    chown user:group file.txt  # 修改所有者和组
    
  • useraddpasswd:管理用户账户。
    useradd new_user     # 创建新用户
    passwd new_user      # 设置密码
    
  • sudo:以超级用户权限执行命令。
    sudo apt update  # 更新软件包列表(需管理员权限)
    
6. 压缩与归档

处理文件打包和压缩。

  • tar:归档文件。
    • -c:创建归档。
    • -x:解压归档。
    • -z:使用gzip压缩。
    • -v:显示过程。
    tar -czvf archive.tar.gz /folder  # 压缩文件夹
    tar -xzvf archive.tar.gz         # 解压到当前目录
    
  • gzipgunzip:压缩和解压单个文件。
    gzip file.txt    # 压缩为file.txt.gz
    gunzip file.txt.gz  # 解压
    
7. 文本处理高级工具

用于日志分析和数据处理。

  • awk:强大的文本分析工具。
    awk '{print $1}' access.log  # 打印日志每行的第一列
    
  • sed:流编辑器(批量替换文本)。
    sed 's/old/new/g' file.txt  # 全局替换"old"为"new"
    
  • sortuniq:排序和去重。
    sort file.txt | uniq -c  # 排序并统计重复行次数
    
8. 进程控制

管理运行中的程序。

  • kill:终止进程。
    • -9:强制终止。
    kill 1234       # 终止PID为1234的进程
    kill -9 1234    # 强制终止
    
  • bgfg:控制后台和前台进程。
    sleep 60 &  # 后台运行
    bg %1       # 将作业1放到后台
    fg %1       # 带回前台
    
总结

本教程涵盖了Linux运维中最常用的命令,适合日常系统管理。关键建议:

  • 使用man命令查看手册(如man ls获取详细帮助)。
  • 在关键操作前备份数据(如用cptar)。
  • 结合管道(|)和重定向(>>>)提升效率,例如:
    grep "error" /var/log/*.log > errors.txt  # 将错误日志保存到文件
    

通过实践这些命令,您将能高效处理Linux服务器运维任务。如果您有特定场景需求,欢迎进一步提问!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值