30分钟入门Linux学习

来源链接:https://www.bilibili.com/video/BV1cq421w72c/

Linux 入门教程笔记

1. Linux 简介

  • Linux 是一种开源的、免费使用的类 UNIX 操作系统。
  • 它的内核由 Linus Torvalds 在 1991 年首次发布。
  • Linux 的名称来源于他的名字。
  • 他不仅是 Linux 内核的作者,也是 Git 分布式版本控制系统的作者。
  • Linux 是开源软件发展历史上最著名的例子。
  • 只要遵循 GNU 通用公共许可证 (General Public License, GPL),任何人都和机构都可以自由使用、修改和再发布 Linux 的源代码。

2. Linux 系统架构与组成

  • Linux 系统是一个多层次结构,包含:
    • 内核 (Kernel):Linux 系统的核心,负责管理硬件和提供基础服务,包括设备驱动、进程管理、内存管理、文件系统、网络协议栈等。

    • 系统库 (System Libraries):支持应用程序开发的软件库,例如 C 语言标准库。

    • Shell:命令行解释器,是用户与操作系统之间的接口。它接受用户输入的命令并传递给操作系统执行。

    • 应用程序 (Applications):如浏览器、办公软件等。在服务器上通常是一些专业服务软件,如 NGINXMySQL


3. Linux 发行版

  • Linux 发行版是 Linux 内核与软件包系统、工具库等组成的完整操作系统。
  • 每个发行版都有自己的包管理器、桌面环境和特定工具。
  • 常见的发行版包括:
    • Ubuntu:适用于个人桌面。
    • Kali Linux:适用于网络安全和渗透测试。
    • Alpine Linux:体积小巧,适用于容器化应用。
  • 不论选择哪个发行版,它们都基于 Linux 内核,基础命令和操作相同。
  • 本课程主要使用 Ubuntu,因为它流行且易于上手。

4. 安装和配置 Linux 系统环境

4.1 本地安装方式

  • 使用虚拟机软件(如 VMware、VirtualBox):
    • 优点:不影响当前系统,可随时打开/关闭。
    • 适合 Windows 用户。
  • 使用 WSL(Windows Subsystem for Linux):
    • 方便在 Windows 上安装和使用 Linux。
  • Mac 用户推荐使用:
    • Multipass:快速创建 Ubuntu 系统,支持命令行操作,适合集成脚本。

    • Parallels Desktop (PD):Mac 下常用的虚拟机工具,适合需要运行 Windows 系统的场景。

    • UTM:基于 QEMU 的虚拟机工具,支持多种 CPU 架构模拟,适合网络安全方向的 CTF 比赛。

4.2 Docker 安装

  • 只需执行 docker run 命令即可安装 Linux。
  • 有关 Docker 的安装和使用,可参考之前的视频。

4.3 直接安装或双系统

  • 安装配置麻烦,每次切换需重启电脑,不推荐。

4.4 云服务器

  • 云服务商提供的线上云服务器,系统预先装好,无需自行安装配置。
  • 优点:方便访问。
  • 缺点:需要支付费用。

5. Multipass 安装 Ubuntu 示例

  • Windows下也可以使用Multipass安装Ubuntu系统;

  • 打开浏览器,进入 Multipass 官网

  • 下载对应系统的安装包并安装。

  • 安装完成后,使用命令行执行:

    multipass launch --name <vm-name> --cpus <core-count> --memory <memory-size> --disk <disk-size>
    
  • 查看虚拟机列表:

    multipass list
    
  • 进入虚拟机:

    multipass shell <vm-name>
    

6. Linux 基础命令

目录结构

6.1 ls 命令

  • 列出目录内容。
  • 参数:
    • -l:显示详细信息(权限、所有者、大小、修改时间等)。
    • -a:显示隐藏文件。
    • -h:以人性化方式显示文件大小。
    • -t: 修改时间排序。
    • -r:逆序显示。
  • 示例:
    ls -la
    
  1. -表示普通文件;
  2. d表示目录;
  3. l表示链接文件,分为硬链接和软链接,软链接类似于Windows中的快捷方式;
  4. ln 源文件名称 创建链接文件:创建链接,添加参数-s表示软链接;
  5. 软链接可以指向文件或目录,硬链接只能指向文件;

6.2 cat 命令

  • 查看文件内容。
  • 示例:
    cat filename.txt
    

6.3 touch 命令

  • 创建空文件或更新文件的修改时间,文件不存在则创建文件。

  • 示例:

    touch newfile.txt
    
  • 方向键上箭头找到刚刚输入的命令;

6.4 echo 命令

  • 输出文本内容。
  • 重定向输出到文件:
    echo "Hello, World!" > output.txt
    

6.5 pwd 命令

  • 显示当前工作目录。
  • 示例:
    pwd
    

6.6 cd 命令

  • 切换目录change directory
  • 示例:
    cd /path/to/directory
    cd /
    
  • 使用相对路径:
    cd ../parent-directory
    
    
  • ~波浪线表示当前用户的家目录;
  • -表示上一次的目录;

6.7 mkdir 命令

  • 创建目录。
  • 示例:
    mkdir new_directory
    
  • 创建多级目录:
    mkdir -p folder1/folder2/folder3
    

6.8 cp 命令

  • 复制文件或目录。
  • 示例:
    cp source_file destination_file
    
  • 递归复制目录:
    cp -r directory_name destination_directory
    

6.9 mv 命令

  • 移动文件或重命名文件。
  • 示例:
    mv old_name new_name
    

6.10 rm 命令

  • 删除文件或目录。
  • 示例:
    rm file.txt
    
  • 递归删除目录及内容:
    rm -r directory_name
    
  • 删除目录:
    rmdir 
    

6.11 du 命令

  • 查看文件或目录的大小。
  • 顺便也可以查看目录结构,列出当前目录下的所有文件和大小。
  • 示例:
    du -h
    

6.12 tree命令

  1. 需要使用包管理器安装;

7. 文件权限管理

  • 文件权限由九个字符表示,分为三组:
    • 第一组:文件所有者的权限(User)。
    • 第二组:所属组的权限(Group)。
    • 第三组:其他用户的权限(Other)。
  • 每组中的三个字符分别表示读(r)、写(w)、执行(x)权限。
  • 修改权限使用 chmod change mode命令:
    • 示例:
      chmod +x script.sh  # 添加可执行权限
      chmod -x file.txt
      chmod u+x file.txt
      chmod ug+x file.txt
      chmod 755 script.sh # 设置权限为 rwxr-xr-x
      

8. 链接文件

  • 软链接(Symbolic Link):类似 Windows 快捷方式,指向目标文件。
    • 创建命令:
      ln -s target_file link_name
      
  • 硬链接(Hard Link):指向文件系统中同一文件的指针,共享相同的 inode。
    • 创建命令:
      ln target_file link_name
      

9. vi 编辑器

  • vi 是 Linux 系统中最常用的文本编辑器。

  • vim 是 vi 的增强版,功能更强大。

  • 命令行输入vi或者vim启动。

  • vi 有三种常用模式:

    • 命令模式:默认模式,用于执行命令。
    • 插入模式:用于编辑文件内容。
    • 尾行模式:用于执行保存、退出等操作。
  • 常用快捷键:

    • i:进入插入模式。
    • a:在光标后插入内容。
    • o:在当前行下一行插入内容。
    • Esc:退出插入模式,回到命令模式。
    • :wq:保存并退出。
    • :q!:强制退出不保存。
    • dd:删除当前行。
    • yy:复制当前行,前面输入数字表示复制多少行。
    • p:粘贴复制的内容,每按下一次,粘贴一次。
    • :set number:显示行号,set nu
    • :set nonumber:隐藏行号。
    • :s/pattern/replacement/g:全局替换。
    • G:跳转到文件的最后一行。
    • gg:跳转到文件的第一行。
    • 100G:跳转到文件的第100行。
    • :50:跳转到文件的第50行。

控制光标的移动

  1. 第一种方式
  1. 第二种方式, 使用方向键

翻页

查找

  1. /或者?/Hello,光标所在位置向下查找,区分大小写;
  2. ?Hello:向上查找;
  3. n:查找下一个,N表示和小写的n查找方向相反;
  4. 在查找内容添加/c不区分大小写;
  5. 尾行模式下,输入set ic忽略大小写,ignore case

替换

  1. :n1, n2s/old/new/g,表示从第n1行到n2行,s表示替换,g表示全局;
  2. u撤销,undo

.vimrc文件

  1. 保存vi的配置信息;

10. Shell 脚本简介

  • Shell 脚本是使用 shell 命令编写的程序,用于自动化任务。
  • 本课程后续将学习如何在 Shell 脚本中使用这些命令完成自动化任务。

本节内容涵盖了 Linux 的基本概念、系统架构、发行版、安装方法、常用命令以及 vi 编辑器的使用。通过本课的学习,可以掌握 Linux 的基础操作和常见命令的使用。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐