程序员必须掌握的Linux命令(超详细)

程序员必须掌握的Linux命令(超详细)

引言
无论你是开发者、测试人员还是运维工程师,Linux命令行都是你的必备工具。掌握常用的Linux命令,不仅能让你在日常工作中事半功倍,更能在面试中脱颖而出。本文将系统讲解常用Linux命令,从基础导航、文件管理到网络、进程、权限等各方面进行详细说明,并附上具体示例。赶快收藏,升级你的Linux技能吧!


目录

  1. 基础操作命令
    1.1 目录导航:ls, cd, pwd
    1.2 创建、删除和复制文件/目录:mkdir, rm, cp, mv
  2. 文件查看与编辑
    2.1 cat, more, less
    2.2 grep 与正则表达式搜索
    2.3 vim/nano 编辑器使用
  3. 文件权限与所有者管理
    3.1 chmod, chown, chgrp
  4. 系统信息与监控
    4.1 top, htop, ps
    4.2 free, df, du
    4.3 uname, lsb_release
  5. 网络管理命令
    5.1 ping, ifconfig/ip, netstat
    5.2 ssh, scp, wget, curl
  6. 进程管理与任务调度
    6.1 kill, pkill, nohup, &
    6.2 cron 定时任务
  7. 其他常用命令与技巧
    7.1 find, locate, xargs
    7.2 tar, gzip, zip/unzip
  8. 总结与提升

1. 基础操作命令

1.1 目录导航:ls, cd, pwd

  • pwd:显示当前工作目录

    $ pwd
    /home/user/projects
    
  • ls:列出目录内容

    • 列出详细信息:
      $ ls -l
      total 12
      drwxr-xr-x 2 user user 4096 May 10 10:20 src
      -rw-r--r-- 1 user user  234 May 10 09:30 README.md
      
    • 显示隐藏文件(以 . 开头):
      $ ls -a
      .  ..  .bashrc  .git  README.md  src
      
  • cd:切换目录

    • 进入目录:
      $ cd src
      
    • 返回上级目录:
      $ cd ..
      

1.2 创建、删除和复制文件/目录:mkdir, rm, cp, mv

  • mkdir:创建目录

    $ mkdir new_folder
    
  • rm:删除文件/目录

    • 删除文件:
      $ rm file.txt
      
    • 递归删除目录及其内容:
      $ rm -rf folder_name
      
  • cp:复制文件或目录

    • 复制文件:
      $ cp source.txt destination.txt
      
    • 复制目录(-r 递归):
      $ cp -r folder1 folder2
      
  • mv:移动或重命名文件/目录

    $ mv old_name new_name
    $ mv file.txt /home/user/backup/
    

2. 文件查看与编辑

2.1 cat, more, less

  • cat:查看文件内容
    $ cat README.md
    
  • moreless:分页显示长文件
    $ more largefile.txt
    $ less largefile.txt
    

2.2 grep 与正则表达式搜索

  • grep:搜索文件中的匹配字符串
    $ grep "error" log.txt
    
  • 搜索并显示行号:
    $ grep -n "warning" log.txt
    
  • 结合正则表达式:
    $ grep -E "^[A-Z][a-z]+:" data.txt
    

2.3 vim/nano 编辑器使用

  • vim:强大且功能丰富

    • 打开文件:
      $ vim file.txt
      
    • 进入插入模式:按 i
    • 保存并退出:按 ESC 后输入 :wq
  • nano:简单易用

    $ nano file.txt
    
    • 保存:按 Ctrl + O,退出:按 Ctrl + X

3. 文件权限与所有者管理

3.1 chmod, chown, chgrp

  • chmod:修改文件权限

    • 设置文件为可读、可写、可执行(所有人):
      $ chmod 777 script.sh
      
    • 仅让所有者可读写:
      $ chmod 600 secret.txt
      
  • chown:更改文件所有者

    $ chown user:group file.txt
    
  • chgrp:更改文件所属组

    $ chgrp developers file.txt
    

4. 系统信息与监控

4.1 top, htop, ps

  • top:实时查看系统资源占用

    $ top
    
  • htop:更友好的交互界面(需安装)

    $ htop
    
  • ps:查看当前运行的进程

    $ ps aux
    

4.2 free, df, du

  • free:查看内存使用情况

    $ free -h
    
  • df:查看磁盘使用情况

    $ df -h
    
  • du:统计文件/目录大小

    $ du -sh folder_name
    

4.3 uname, lsb_release

  • uname:查看系统内核信息

    $ uname -a
    
  • lsb_release:查看发行版信息(需安装)

    $ lsb_release -a
    

5. 网络管理命令

5.1 ping, ifconfig/ip, netstat

  • ping:测试网络连通性

    $ ping www.google.com
    
  • ifconfig/ip:查看或配置网络接口

    $ ifconfig
    $ ip addr show
    
  • netstat:显示网络连接、路由表、接口统计

    $ netstat -tulnp
    

5.2 ssh, scp, wget, curl

  • ssh:远程登录

    $ ssh user@hostname
    
  • scp:文件安全复制

    $ scp localfile.txt user@hostname:/path/to/destination
    
  • wget:下载文件

    $ wget https://example.com/file.zip
    
  • curl:网络请求与文件下载

    $ curl -O https://example.com/file.zip
    

6. 进程管理与任务调度

6.1 kill, pkill, nohup, &

  • kill:发送信号终止进程

    $ kill 1234
    
  • pkill:按进程名终止进程

    $ pkill -f process_name
    
  • nohup:在后台运行任务,即使退出终端也不终止

    $ nohup ./long_running_script.sh &
    
  • 使用 &:将命令放入后台运行

    $ ./script.sh &
    

6.2 cron 定时任务

  • cron:配置定时任务
    编辑 crontab:
    $ crontab -e
    

7. 其他常用命令与技巧

7.1 find, locate, xargs

  • find:查找文件
    $ find /home/user -name "*.c"
    
  • locate:快速查找(需更新数据库)
    $ locate keyword
    
  • xargs:将标准输入转换为命令参数
    $ find . -name "*.log" | xargs rm -f
    

7.2 tar, gzip, zip/unzip

  • tar:打包压缩
    $ tar -czvf archive.tar.gz folder/
    
  • gzip:压缩文件
    $ gzip file.txt
    
  • unzip:解压 zip 文件
    $ unzip archive.zip
    

总结与提升

本文详细介绍了程序员必须掌握的Linux命令,从基础操作、文件编辑、权限管理、系统监控,到网络管理、进程调度及高级查找、打包等,涵盖了日常工作中可能遇到的各类场景。

  • 实战技巧:每个命令后均附有示例,直观展示用法。
  • 高效运用:多组合使用(如 find + xargs)能显著提升工作效率。
  • 持续学习:Linux命令种类繁多,掌握基本命令后,可根据工作需要逐步深入学习脚本编写和系统自动化管理。

温馨提示
每个命令都可以配合 man 命令查看更多帮助,例如:

$ man ls

如果你觉得这篇文章对你有帮助,请点赞、收藏和分享,让更多程序员受益!
欢迎在评论区交流你最常用或最喜欢的Linux命令,共同进步,持续探索技术的无限可能!


关注我:在这里,我们一起分享最实用的编程技巧和经验,助你成为更高效、更专业的程序员!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值