初级程序员必备的十大技能之基础 Linux 命令(一)

简介: 教程来源 https://qcycj.cn/ 本文系统讲解程序员必备的Linux核心命令,涵盖文件操作、文本处理、权限管理、进程与网络工具等,结合原理、参数详解及实战案例,助你高效部署、排查与运维——无论用Windows还是macOS,Linux都是程序员不可或缺的“第二操作系统”。

为什么程序员必须懂 Linux?
你可能听说过这些场景:

部署项目到服务器:ssh 连上去,ls 看看文件,vim 改改配置,systemctl restart nginx 重启服务

线上排查问题:top 看 CPU,df -h 看磁盘,tail -f 看日志,grep 找错误

批量处理文件:find + xargs + sed 一行命令完成,而图形界面要点几百下鼠标

Linux 是程序员的“第二操作系统”。不管你平时用 Windows 还是 macOS,服务器 90% 以上跑的都是 Linux。

本文将从零开始,系统讲解初级程序员必须掌握的 Linux 命令,覆盖:

文件操作:ls、cd、cp、mv、rm、find

文本处理:cat、grep、sed、awk、vim

权限管理:chmod、chown、useradd

进程管理:ps、top、kill、systemctl

网络工具:ssh、scp、curl、netstat

系统监控:df、du、free、htop

每一部分都有详细的命令解释、参数说明和实战案例。

一、Linux 基础概念:先理解“是什么”

1.1 Linux 的哲学
image.png
1.2 文件系统结构

/                       # 根目录
├── bin/                # 基本命令(ls, cp, mv)
├── boot/               # 启动文件(内核)
├── dev/                # 设备文件(硬盘、终端)
├── etc/                # 配置文件(nginx, ssh)
├── home/               # 用户家目录
│   ├── user1/
│   └── user2/
├── lib/                # 共享库文件
├── media/              # 挂载点(U盘、光驱)
├── mnt/                # 临时挂载点
├── opt/                # 第三方软件
├── proc/               # 进程信息(虚拟文件系统)
├── root/               # root 用户家目录
├── sbin/               # 系统管理命令
├── tmp/                # 临时文件(重启会清空)
├── usr/                # 用户程序和数据
│   ├── bin/            # 用户命令
│   ├── lib/            # 用户库
│   └── local/          # 本地安装软件
└── var/                # 可变数据
    ├── log/            # 日志文件
    └── www/            # Web 服务器数据

1.3 路径规则

# 绝对路径:从根目录开始
/home/user/project/index.js

# 相对路径:从当前目录开始
./index.js          # 当前目录
../config.js        # 上一级目录
../../package.json  # 上两级目录

# 特殊目录
.   # 当前目录
..  # 上一级目录
~   # 用户家目录
-   # 上一个工作目录

二、文件与目录操作(高频命令)

2.1 ls - 列出目录内容

# 基础用法
ls                  # 列出当前目录(不含隐藏文件)
ls -a               # 列出所有文件(包括 . 开头的隐藏文件)
ls -l               # 长格式显示(权限、链接数、所有者、大小、时间)
ls -lh              # 人类可读的大小(1K、2M、3G)
ls -la              # 所有文件 + 详细信息
ls -ltr             # 按修改时间排序(最新的在最后)
ls -lS              # 按文件大小排序(最大的在前)
ls -R               # 递归列出子目录

# 通配符
ls *.js             # 所有 .js 文件
ls file?.txt        # file1.txt、file2.txt(? 匹配单个字符)
ls file[0-9].txt    # file0.txt 到 file9.txt
ls {src,test}/*.js  # src/ 和 test/ 下的 .js 文件

# 实际案例
ls -la | grep "^d"  # 只显示目录
ls -la | grep "^-"  # 只显示文件

2.2 cd - 切换目录

cd /var/log         # 切换到绝对路径
cd ./src            # 切换到相对路径
cd ..               # 上一级目录
cd ../..            # 上两级目录
cd ~                # 回到家目录
cd -                # 回到上一个目录

# 设置别名(添加到 ~/.bashrc 或 ~/.zshrc)
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

2.3 pwd - 显示当前路径

pwd                 # /home/user/project
pwd -P              # 显示真实路径(不解析符号链接)

2.4 mkdir - 创建目录

mkdir myfolder                  # 创建单个目录
mkdir folder1 folder2 folder3   # 创建多个目录
mkdir -p parent/child/grandchild # 创建多级目录(父目录不存在时自动创建)
mkdir -m 755 secure_folder      # 创建时指定权限

# 批量创建目录
mkdir {2024..2026}/{01..12}     # 创建 3年×12月 的目录结构

2.5 touch - 创建文件/更新时间戳

touch file.txt                  # 创建空文件(如果不存在)
touch -t 202401011200 file.txt  # 修改时间戳为 2024-01-01 12:00

# 批量创建文件
touch {1..10}.txt               # 创建 1.txt 到 10.txt

2.6 cp - 复制文件/目录

cp source.txt dest.txt          # 复制文件
cp -i source.txt dest.txt       # 覆盖前提示确认
cp -r source_dir/ dest_dir/     # 递归复制目录
cp -u source.txt dest.txt       # 只复制更新的文件(源文件更新才复制)
cp -p source.txt dest.txt       # 保留文件属性(权限、时间戳)
cp -a source_dir/ dest_dir/     # 归档模式(保留所有属性 + 递归)

# 复制多个文件到目录
cp file1.txt file2.txt file3.txt target_dir/

2.7 mv - 移动/重命名

mv old.txt new.txt              # 重命名
mv file.txt ../                 # 移动到上一级目录
mv *.js ./src/                  # 移动所有 .js 文件到 src
mv -i source.txt dest.txt       # 覆盖前提示
mv -u source.txt dest.txt       # 只在源文件更新时移动

2.8 rm - 删除文件/目录

rm file.txt                     # 删除文件
rm -i file.txt                  # 删除前确认
rm -f file.txt                  # 强制删除(不提示)
rm -rf folder/                  # 强制删除目录及其内容(危险!)
rm -- -file.txt                 # 删除以 - 开头的文件

# 安全删除(使用 trash-cli 替代 rm)
trash file.txt                  # 移动到回收站
trash-empty                     # 清空回收站

2.9 find - 查找文件

# 按名称查找
find . -name "*.js"             # 查找所有 .js 文件
find /home -name "config.json"  # 在 /home 下查找
find . -iname "README"          # 忽略大小写

# 按类型查找
find . -type f                  # 只查文件
find . -type d                  # 只查目录
find . -type l                  # 只查符号链接

# 按大小查找
find . -size +100M              # 大于 100MB
find . -size -1M                # 小于 1MB
find . -size 0                  # 空文件

# 按时间查找
find . -mtime -7                # 7天内修改的文件
find . -mtime +30               # 30天前修改的文件
find . -mmin -60                # 60分钟内修改
find . -newer reference.txt     # 比 reference.txt 更新的文件

# 按权限查找
find . -perm 755                # 权限正好是 755
find . -perm -u=w               # 用户有写权限

# 执行操作
find . -name "*.tmp" -delete                    # 删除找到的文件
find . -name "*.js" -exec wc -l {} \;           # 统计行数
find . -name "*.log" -exec rm {} \;             # 删除日志文件
find . -name "*.jpg" -exec mv {} images/ \;     # 移动图片

# 批量重命名(结合 xargs)
find . -name "*.txt" | xargs -I {} mv {} {}.backup

来源:
https://fndvx.cn/

相关文章
|
1天前
|
人工智能 API 开发工具
阿里云百炼Coding Plan订阅套餐说明:购买方式、售罄解决方法、token额度及使用规则指南
阿里云百炼Coding Plan是面向开发者的AI编程订阅服务,现仅开放Pro版(200元/月,9万次请求),每日9:30限量抢购。支持Qwen3.5-Plus、Kimi-k2.5、GLM-5等多模型,兼容Cursor、Qwen Code等工具。额度用尽即停,不转按量计费。阿里云百炼官网:https://t.aliyun.com/U/fPVHqY
|
8天前
|
前端开发 数据库
前端组件库—— FullCalendar 知识点大全(四)
本节介绍FullCalendar动态数据集成与交互功能:支持URL/函数加载事件、`refetchEvents`实时刷新、资源视图加载;并详解拖拽(`eventDrop`)、缩放及后端同步机制,兼顾灵活性与实用性。(239字)
|
1天前
|
人工智能 安全 关系型数据库
阿里云RDS云数据库AI应用:RDSClaw + RDSHermes 自进化Agent遇上数据库原生AI Agent
阿里云RDSClaw是原生集成于RDS的AI Agent服务,基于OpenClaw打造,具备持久化记忆、专业技能库、全链路可观测性与金融级安全管控四大能力,助力企业安全高效落地AI智能体。现开放1个月免费试用!阿里云数据库官方活动:https://t.aliyun.com/U/FzmsXA
|
1天前
|
开发框架 安全 Java
Java 长期支持版 JDK17 下载安装+详细配置步骤
JDK 17 是 Oracle 官方推出的长期支持(LTS)版本,具备高性能、高安全性、强兼容性与丰富新特性(如密封类、模式匹配等),广泛用于后端开发、微服务、大数据及教学实训,是企业级 Java 开发的主流稳定选择。(239字)
96 0
|
2月前
|
缓存 Java 数据库
【Spring Boot】Spring Boot 全体系知识结构化拆解(附 Spring Boot 高频面试八股文精简版)
Spring Boot 是 Pivotal 基于 Spring 的“约定大于配置”快速开发框架,简化初始搭建与开发,无缝整合 Spring 全生态,内嵌容器、自动配置、起步依赖开箱即用,是 Java 企业级应用与微服务架构的核心基石。
1140 8
|
1天前
|
前端开发 JavaScript 程序员
初级程序员必备的十大技能之开发工具熟练使用(三)
教程来源 https://bncne.cn/ 浏览器开发者工具是前端调试核心利器,涵盖Elements(实时编辑DOM/CSS)、Console(日志、断点、DOM操作)、Sources(多类型断点与作用域调试)、Network(请求分析与模拟)、Performance(性能指标与火焰图)及Application(存储管理)六大面板,全面提升开发效率。
|
1天前
|
程序员 Shell 持续交付
初级程序员必备的十大技能之开发工具熟练使用(二)
教程来源 https://zlpow.cn/ 命令行是程序员高效开发的“第二语言”:涵盖文件操作、进程管理、网络诊断、管道重定向、Shell脚本及终端增强工具,助你快速定位问题、批量处理任务、自动化部署,全面提升系统操控力与生产力。
|
1天前
|
前端开发 程序员 开发工具
初级程序员必备的十大技能之开发工具熟练使用(四)
教程来源 https://tmywi.cn/ VS Code深度集成Git:快捷键操作、冲突可视化解决;GitLens增强代码溯源与历史追踪;配合高效命令行别名与撤销技巧;辅以Node/前端多维调试方案,全面提升开发效能。
|
5天前
|
JSON NoSQL API
开源项目观察|ds4:本地 Agent 推理,不只是把模型跑起来
Redis作者antirez新开源项目ds4(DwarfStar 4),是专为DeepSeek V4 Flash设计的轻量级本地推理引擎。聚焦Agent场景,支持OpenAI/Anthropic API、Disk KV Cache复用、工具调用精准映射与长上下文优化,在MacBook等高端个人设备上实现高效端到端推理。
189 3
开源项目观察|ds4:本地 Agent 推理,不只是把模型跑起来
|
1天前
|
前端开发 程序员 API
初级程序员必备的十大技能之 API 接口与前后端联调(五)
教程来源 https://xgmoi.cn/ 本文系统梳理API联调核心知识:涵盖CORS跨域、404/401/403错误排查、数据格式转换、重复请求防控等高频问题及代码级解决方案;详解接口文档规范与Swagger自动化实践,并总结HTTP协议、RESTful设计、前端封装、调试工具等完整知识体系。

热门文章

最新文章