Skip to content

Linux基础学习指南

简介

Linux是一个开源的操作系统,广泛应用于服务器、嵌入式设备和个人计算机。对于计算机专业的学生来说,掌握Linux基础知识是非常重要的。

基础概念

什么是Linux?

Linux是一个基于Unix的操作系统内核,由Linus Torvalds于1991年创建。它是自由和开源的,任何人都可以查看、修改和分发其源代码。

为什么学习Linux?

  1. 广泛应用:大多数服务器运行Linux系统
  2. 开发环境:许多编程工具和环境在Linux上表现更佳
  3. 职业发展:Linux技能是IT行业的重要技能
  4. 自由开源:可以自由定制和学习

待完善内容

本页面正在完善中,后续将添加:

  • [ ] Linux发行版介绍
  • [ ] 安装和配置指南

基础命令教程

linux三剑客 grep, sed, awk;即3个功能强大且常用的文本处理工具。

  • grep主要用于文本过滤搜索,依赖正则表达式对文本进行格式化搜索过滤,基本用法grep pattern filename,即过滤并打印出filename文本文件中与pattern匹配的行
  • sed主要用于文本增删改查等操作,同样依赖正则表达式运行,基本用法sed 's/old/new/g' file.txt,即将file.txt中,匹配到old的内容替换为newg表示对所有匹配到的内容进行修改
  • awk功能更为强大,可进行文本分析,条件判断等,示例用法awk '{print $1, $3}' file.txt,输出file.txt中每行的第一和第三个字段(默认以空格为分隔符)
  • 一个示例用法:ps -eo pid,etimes,cmd | grep "python " | awk '$2 > 3600 {print $1}' | xargs -r kill;首先,命令通过管道传输文本数据,第一部分为格式化形式列出系统进程信息,分别为进程pid,已运行时间,启动时命令;第二部分为过滤出内容包含python 的行;第三部分为判断每行的第二个字段(运行时间)是否大于3600,如果是,则输出该行的第一个字段(pid);第四部分为将输出的pid作为参数传递给kill命令;整体上该命令实现的功能为:杀掉系统中已运行时间超过1h的python进程。

ssh,非对称秘钥验证,远程安全登录

ssh为一种加密网络传输协议,最常用的场景是远程安全登录linux服务器。ssh主要为telnet的替代,由于telnet是明文传输,很容易被窃听,因此ssh应运而生;ssh基于非对称秘钥加密,可实现在不安全网络环境中安全传输数据。

ssh客户端发起链接主要分为三部分,密钥生成,公钥传输,建立连接

  1. 启动sshkey-gen,程序会交互式生成一个公钥私钥对,默认会保存至~/.config/id_rsa,能查看到该文件即密钥生成成功
  2. 将公钥id_rsa.pub添加至目标机器的~/.config/authorized_keys文件,完成公钥传输
  3. 通过ssh username@ip方式登录至目标机器,程序会自动验证秘钥是否有效,验证通过便可成功登录至目标机器

ssh服务端需安装sshd程序,ssh服务端默认监听22号端口,配置文件一般位于/etc/ssh/sshd_config,可修改密码或秘钥认证登内容

另外,ssh同样支持文件传输,端口转发等功能

  • [ ] 文件系统结构
  • [ ] 权限管理
  • [ ] 进程管理
  • [ ] 网络配置
  • [ ] Shell脚本编程

由河南大学计算机学院和软件学院的学生/毕业生共同维护