Linux入门基础与常用命令详解

发布时间:2026/9/13 7:26:52
Linux入门基础与常用命令详解 1. Linux入门基础概念Linux是一种开源的类Unix操作系统内核由林纳斯·托瓦兹于1991年首次发布。作为服务器领域的霸主Linux占据了全球90%以上的云计算基础设施和75%的智能手机市场(通过Android系统)。与Windows不同Linux采用模块化设计其核心只有几十MB大小却能通过软件包管理机制扩展出数万种功能。提示Linux严格区分大小写命令和文件名中的大小写字母会被视为不同对象。这是许多初学者常犯的错误。Linux系统主要由以下组件构成内核(Kernel)负责进程管理、内存管理、文件系统等核心功能Shell用户与内核交互的命令行接口应用程序包括文本编辑器、编译器、网络工具等文件系统采用树状目录结构所有设备都以文件形式存在2. 终端操作基础2.1 Shell基本命令打开终端(快捷键CtrlAltT)你会看到提示符通常格式为usernamehostname:current_directory$。基础命令结构是命令 [选项] [参数]例如ls -l /home # 列出/home目录的详细信息常用基础命令速查表命令功能描述示例pwd显示当前工作目录pwdcd切换目录cd /var/logls列出目录内容ls -alhmkdir创建目录mkdir projecttouch创建空文件touch test.txtcp复制文件cp file1 file2mv移动/重命名文件mv old.txt new.txtrm删除文件rm -r folder/cat查看文件内容cat /etc/passwdgrep文本搜索grep error system.logchmod修改文件权限chmod 755 script.sh2.2 文件权限管理Linux采用三位八进制数表示文件权限通过ls -l可以看到类似-rwxr-xr--的权限字符串。第一位表示文件类型(-普通文件d目录)后九位每三位一组分别表示所有者、所属组和其他用户的权限。权限修改示例chmod ux script.sh # 给所有者添加执行权限 chmod 644 file.txt # 设置权限为rw-r--r-- chown user:group file # 修改文件所有者和所属组3. 系统管理基础3.1 进程管理Linux是多任务系统可以通过以下命令管理进程ps aux | grep nginx # 查看nginx进程 top # 动态查看系统资源占用 kill -9 1234 # 强制终止PID为1234的进程 systemctl start apache2 # 启动apache服务3.2 软件包管理不同Linux发行版使用不同的包管理工具Debian/Ubuntu系sudo apt update # 更新软件源 sudo apt install nginx # 安装nginx sudo apt remove vim # 卸载vimRHEL/CentOS系sudo yum install httpd # 安装Apache sudo dnf remove mysql # 卸载MySQL4. 文本处理三剑客4.1 grep文本搜索grep -i error /var/log/syslog # 忽略大小写搜索error grep -r main() ./src/ # 递归搜索源代码 grep -v debug log.txt # 反向匹配(不包含debug的行)4.2 sed流编辑器sed s/foo/bar/g file.txt # 替换所有foo为bar sed -i.bak 10d data.csv # 删除第10行(保留备份) sed -n 5,10p access.log # 只打印5-10行4.3 awk文本分析awk {print $1} access.log # 打印每行第一个字段 awk -F: {print $1} /etc/passwd # 以冒号分隔打印用户名 awk $3 100 {print $0} data.txt # 打印第三列大于100的行5. Shell脚本入门创建第一个脚本hello.sh#!/bin/bash # 这是一个注释 echo Hello, World! date执行脚本前需要添加执行权限chmod x hello.sh ./hello.sh基础脚本要素#!/bin/bash指定解释器变量定义namevalue等号两边不能有空格条件判断if [ $age -gt 18 ]; then echo Adult else echo Minor fi循环结构for i in {1..5}; do echo Count: $i done while [ $counter -lt 10 ]; do echo $counter ((counter)) done6. 网络配置与管理6.1 网络状态检查ifconfig # 查看网络接口(旧版) ip addr # 新版网络配置查看 ping google.com # 测试网络连通性 netstat -tulnp # 查看监听端口 ss -plnt # 更现代的端口查看工具 traceroute example.com # 跟踪网络路径6.2 SSH远程连接ssh usernamehostname # 基本连接 ssh -p 2222 userremotehost # 指定端口 scp file.txt userhost:/path/ # 安全拷贝文件注意首次连接SSH服务器时会提示确认主机密钥指纹这是防止中间人攻击的重要安全机制。7. 实用技巧与排错7.1 日志查看tail -f /var/log/syslog # 实时查看系统日志 journalctl -xe # 查看systemd日志 dmesg | grep -i error # 查看内核错误7.2 性能监控free -h # 查看内存使用 df -h # 查看磁盘空间 iostat -x 1 # 磁盘I/O统计 vmstat 1 # 系统资源概览7.3 环境变量echo $PATH # 查看PATH变量 export MY_VARvalue # 设置临时环境变量 vim ~/.bashrc # 永久环境变量配置 source ~/.bashrc # 重新加载配置8. 进阶学习路径建议掌握基础后建议按以下方向深入学习系统服务管理systemd/service防火墙配置iptables/nftables/ufw自动化运维Ansible/Puppet容器技术Docker/Podman云原生Kubernetes/OpenShift性能调优perf/sysctl安全加固SELinux/AppArmorLinux学习的关键是多实践建议在虚拟机或云服务器上搭建实验环境通过实际项目巩固知识。遇到问题时善用man命令查看手册(如man ls)和在线资源如Arch Wiki、Stack Overflow等。