Linux入门实践作业(一)

Linux入门实践作业(一)

一、Linux相关主流岗位招聘要求调研

  1. Linux运维工程师

基础硬性要求

  1. 熟练掌握CentOS、Ubuntu等主流Linux发行版,精通 cd/ls/mkdir/chmod 等百条常用命令;
  2. 理解Linux底层:进程、内存、磁盘、网络、用户权限、软硬链接、系统服务管理(systemd);
  3. 熟练搭建与维护服务:Nginx、MySQL、Redis、FTP、DNS、防火墙firewalld/iptables;
  4. 掌握Shell脚本基础,能编写自动化备份、日志清理、监控告警脚本,了解Python更佳。

进阶能力要求

  1. 虚拟化技术:VMware、KVM、Docker容器基础;
  2. 云平台基础:阿里云/华为云服务器购买、安全组、OSS存储操作;
  3. 故障排查:CPU爆满、磁盘100%占用、数据库慢查询、网络丢包、日志分析;
  4. 集群基础:负载均衡、主从备份、简单高可用架构。

软素质

责任心、7*24应急排障意识、文档编写能力、沟通协调能力。

  1. Linux嵌入式开发工程师

基础硬性要求

  1. 扎实C语言,少量C++,熟悉Makefile编译、GCC交叉编译工具链;
  2. 精通Linux命令,能独立操作嵌入式开发板终端;
  3. 掌握Linux文件系统、进程线程、信号、IO、串口、Socket网络编程。

核心专业要求

  1. 内核相关:Linux内核裁剪、设备驱动开发(字符/块/网络驱动);
  2. 固件开发:U-Boot移植、根文件系统制作(Yocto/Busybox);
  3. 硬件适配:I2C/SPI/UART等底层外设调试,看懂硬件原理图;
  4. 工具使用:Git版本管理、GDB调试、示波器、逻辑分析仪。

加分项

Android底层开发、RTOS实时系统、音视频编解码、PCB基础。

  1. 其他Linux相关衍生岗位(拓展)

  2. 后端开发工程师:必须熟练Linux环境部署、日志排查、服务器调优;

  3. 云计算/容器工程师:深耕Linux内核,K8s、Docker、微服务集群;

  4. 安全运维工程师:Linux入侵排查、权限加固、漏洞修复。

二、VMware虚拟机+CentOS7安装教程

前置准备

  1. 软件:VMware Workstation Pro 16/17(虚拟机软件);
  2. 镜像:CentOS-7-x86_64-Minimal.iso(极简版,企业通用);
  3. 电脑配置建议:内存≥4G,磁盘空闲≥20G,CPU支持虚拟化(BIOS开启Intel-VT/AMD-V)。

步骤1:新建虚拟机

  1. 打开VMware,点击「创建新的虚拟机」,选择典型(推荐);
  2. 安装来源选择「安装程序光盘镜像文件(ISO)」,选中下载好的CentOS7镜像;
  3. 设置虚拟机名称(自定义,例:CentOS7-Linux),选择本地存放磁盘路径(不要放C盘);
  4. 指定磁盘大小:分配20GB,勾选「将虚拟磁盘存储为单个文件」;
  5. 点击自定义硬件:内存分配2048MB(2G),CPU核心2核,网络适配器改为NAT模式,保存。

步骤2:CentOS系统安装配置

  1. 开启此虚拟机,进入安装引导界面,选择 Install CentOS 7 回车;
  2. 语言选择:中文-简体中文,继续;
  3. 核心配置项:
  • 安装位置:自动分区即可,新手无需手动分区;
  • 网络和主机名:打开网卡开关,记住IP地址;
  • 软件选择:最小安装(服务器标准);
  1. 点击「开始安装」,同时设置两项密码:
  • root管理员密码(牢记,最高权限账号);
  • 创建普通用户账号(日常操作避免root高危权限);
  1. 等待系统安装完成,点击「重启」。

步骤3:开机登录与基础初始化

  1. 重启后进入黑框终端,输入用户名 root +设置的密码登录;
  2. 基础测试命令:
    bash

pwd # 查看当前所在目录
ls # 查看目录文件
ip addr # 查看虚拟机IP,用于Xshell远程连接

  1. 可选优化:配置yum国内阿里镜像源,解决下载软件慢问题。

常见踩坑解决

  1. 虚拟机无网络:NAT模式重置,重启网卡 systemctl restart network ;
  2. 电脑卡顿:降低虚拟机分配内存至1G;
  3. 鼠标进出虚拟机:按 Ctrl+Alt 释放鼠标。

三、ls -l命令执行结果

  1. 执行操作

打开虚拟机终端,任意目录输入命令:

bash

ls -l

输出示例(截取一行):

plaintext

-rw-r–r-- 1 root root 1236 6月 30 15:20 test.txt

  1. 7大字段逐段拆解

整行结构: 权限标识 硬链接数 属主 属组 文件大小 修改时间 文件名

字段1:10位权限字符 -rw-r–r–

分段拆分: 类型(1位)+所有者权限(3位)+同组用户权限(3位)+其他用户权限(3位)

  1. 第1位:文件类型
    • :普通文件(txt、sh、压缩包等)
  • d :目录文件夹
  • l :软链接(快捷方式)
  • b/c :硬件设备文件
  1. 第2~4位:文件所有者(属主) 权限 rw-
  • r = read 读权限,数字4
  • w = write 写权限,数字2
  • x = execute 执行权限,数字1
  • 代表无对应权限
  1. 第5~7位:同用户组权限 r-- :组内成员可读,不可写、不可执行
  2. 第8~10位:其他用户权限 r-- :系统所有外人仅可读

字段2:硬链接计数 1

代表该文件有多少个硬链接,目录默认至少2(自身+ . 隐藏目录)。

字段3:文件属主 root

创建/拥有这个文件的Linux用户名。

字段4:文件属组 root

文件归属的用户用户组,同组用户共享第二段权限。

字段5:文件大小 1236

单位:字节Byte;目录不显示真实内容大小,仅元数据大小。

字段6:最后修改时间 6月 30 15:20

文件内容最近一次修改的时间戳;超过半年的文件会显示年份。

字段7:文件名 test.txt

当前文件/目录名称;若是软链接,会显示 文件名 -> 原文件路径 。

补充拓展

  1. ls -lh :增加 h 参数,文件大小自动转为KB/MB,可读性更高;
  2. ls -la :增加 a 参数,显示所有隐藏文件(以 . 开头的文件)。