操作系统

管理计算机硬件与软件资源的核心系统软件,是用户与计算机硬件之间的 “桥梁”。即用户无需直接操作硬件(如CPU、内存、硬盘),通过操作系统即可运行应用程序、管理文件、使用外设等。
核心功能

  • 进程与线程管理(CPU调度):合理分配CPU时间,让多个程序 “同时” 运行。
  • 内存管理:高效利用有限的内存空间,为多个程序分配内存,避免冲突。
  • 存储管理(文件系统):管理硬盘、U盘等外存设备,实现文件的创建、读取、修改、删除。
  • 设备管理(I/O 管理):管理打印机、键盘、鼠标、网卡等外部设备,协调设备与 CPU、内存的通信。
  • 用户接口:提供用户与操作系统交互的方式,包括图形用户界面(GUI)和命令行接口(CLI)。
    分类:桌面操作系统(面向个人电脑PC、笔记本)——Window、macOS、LInux。移动操作系统(面向手机、平板的移动设备)——Android、iOS、HarmonyOS。

Linux

Linux 系统是一个分层架构的模块化系统,核心由内核、Shell、文件系统、软件包管理器、系统库、应用程序等组件构成,各部分协同工作,形成完整的操作系统。
Linux内核:操作系统最底层的核心组件,直接与硬件交互。

Linux目录结构

树型结构,只有一个根目录/,所有文件都在根目录下。
——Linux系统中,路径之间的层级关系,使用:/来表示。例如:(/usr/local/hello.txt)(开头的/表示根目录,后面的/表示层级关系)
——Windows系统中,路径之间的层级关系,使用:\来表示。例如:(D:\data\work\hello.txt)

Linux命令

基础格式:command [-options] [parameter]
command:命令本身
-options:可选,命令的一些选项,可通过选项控制命令的行为细节
parameter:可选,命令的参数,多数用于命令的指向目标等
例如:ls -l /home/work:ls是命令本身,-l是选项,/home/work是参数。
命令名 --help:快速查看命令的常用用法、参数简介;
man 命令名:查看命令的完整官方手册,包含:命令说明、所有参数、例子、注意事项等。

  1. ls命令 → 作用:列出目录下的内容
    ls [-a -l -h] [Linux路径]
  • 当不使用选项和参数,直接使用ls命令主体,表示以平铺形式,列出当前工作目录下的内容。(当前工作目录默认为Home目录)
  • 使用参数时,列出当前路径下的内容
参数 含义
-a 表示列出全部文件(ls -a相比于ls列出的内容更多,以.开头的是Linux系统的隐藏文件)
-l 以列表(竖向排列)的形式展示内容
-h 以更加清楚的方式展现每个内容的大小(K、M、G)

——都可以组合使用,例如:ls -l -a /或者ls -la /或者ls -al /

目录切换相关

  1. cd命令 → 切换工作目录 change directory
    cd [Linux路径]:无需选项,只有参数,表示要切换到哪个目录下;
    cd命令直接执行,不写参数,表示要回到用户的Home目录。
  2. pwd命令 → 展示当前所在的工作目录 print work directory(无选项和参数,直接输入即可)
  3. mkdir命令 → 创建新的目录(文件夹)make directory
    mkdir [-p] Linux路径
    参数必填,表示Linux路径(要创建的文件夹的路径,相对路径和绝对路径均可);
    -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。
    注意:创建文件夹需要修改权限,请确保操作均在Home目录内,不要在Home外操作,涉及权限问题,Home外无法成功。

文件操作命令

  1. touch命令 → 创建空白文件(.txt)
    touch Linux路径
    无选项,参数必填,表示要创建的文件路径(相对绝对特殊路径符均可使用)。
  2. cat命令 → 查看文件内容,直接将内容全部显示出来。
    例如cat work.txt
  3. more命令 → 支持翻页拆看文件内容
    more Linux路径:回车向下按行查看,空格翻页查看,按q退出。
  4. cp命令 → 复制文件,文件夹 copy
    cp [-R] 参数1 参数2
    -R:可选,用于复制文件夹使用,表示递归(即复制文件夹时需使用)
    参数1:Linux路径,表示被复制的文件或文件夹;
    参数2:Linux路径,表示要复制去的地方。
    例如:cp 1.txt 2.txt:会自动创建2.txt文件;cp 1.txt Desktop/:不改变文件名,放在Desktop文件夹中
  5. mv命令 → 移动文件,文件夹 move
    mv 参数1 参数2
    参数1:Linux路径,表示被移动的文件或文件夹;
    参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
    例如:mv 1.txt 3.txt:目标不存在,则改名移动即3.txt不存在,则把1.txt改成3.txt;mv 1.txt Desktop/:目标存在则移动,把1.txt移动到Desktop文件夹下
  6. rm命令 → 删除文件,文件夹 remove
    rm [-r -f] 参数1 参数2 … 参数N
    -r:用于删除文件夹
    -f:force,强制删除
    参数1-参数N,表示要删除的文件或文件夹路径,按照空格隔开

支持通配符,即匹配任意内容(包括空),来做模糊匹配

格式 含义
test* 表示匹配任何以test开头的内容;
*test 表示匹配任何以test结尾的内容;
*test* 表示匹配任何包含test的内容;

(rm -r test*:删除所有以test开头的文件夹)

查找命令

  1. which命令 → 查找所使用的一系列命令的程序文件的位置
    which 要查找的命令
    例如:which mkdir:命令本体(相当于一个程序.exe)的位置
  2. find命令 → 按文件名查找指定文件
    find 起始路径 -name “被查找文件名”
    例如:find ./ -name “work.txt”:从当前目录查找work.txt文件
    支持通配符;一般全盘搜索需要权限很高,可以先切换root使用
    find 起始路径 -size +|-n[kMG]: (+|-:加或者减)
    +、-:表示大于和小于
    n:表示大小数字
    kMG:表示大小单位,k(小写)表示kb,M表示MB,G表示GB
    (查找小于10KB的文件:find / -size -10k)
    (查找大于100MB的文件:find / -size +100M)
    (查找大于1GB的文件:find / -size +1G)

过滤、统计、管道符

  1. grep命令 → 从文件中通过关键字过滤文件行
    grep [-n] 关键字 文件路径
    选项-n,可选,表示在结果中显示匹配的行的行号
    参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用“”将关键字包围起来
    参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
    例如:grep -n “print” a.pygrep -n “code” work.txt
  2. wc命令 → 统计文件的行数、单词数量等,数量统计word count
    wc [-c -m -l -w] 文件路径
    选项-c:统计bytes数量(字节数)
    选项-m:统计字符数量
    选项-l:统计行数
    选项-w:统计单词数量
    参数,文件路径,被统计的文件,可作为内容输入端口
    例如:wc -c a.py

管道符“|”:将管道符左边命令的结果,作为右边命令的输入
例如:cat work.txt | grep “code”cat work.txt | wc -l
cat work.txt | grep “code” | wc -l:cat work.txt的结果作为grep “code”命令的输入,前面整体命令的结果作为wc -l命令的输入;
cat a.py | grep “print” | grep “ATM” | wc -l:过滤a.py中的print关键字,再过滤结果中的ATM关键字,再统计多少行。

  1. echo命令 → 在命令行内输出指定内容
    echo 输出的内容
    无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“”(英文双引号)包围
    例如:echo “Hello world!”

反引号`:被`包围的内容,被作为命令执行,而非普通字符
例如:echo “我当前的工作目录:`pwd`”)
重定向符>和>>
>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>:将左侧命令的结果,追加写入到符号右侧指定的文件中
例如:echo “Hello world!” > work.txt:如果右侧指定的文件不存在,则创建该文件
echo “Hello alloy!” > work.txt:再次执行,覆盖新内容
echo “Hello tong!” >> work.txt:再次执行,追加新内容
pwd >> work.txt。

  1. head命令 → 可查看文件开头内容
    head [-num] Linux路径
    参数,Linux路径,表示被跟踪的文件路径
    选项,-num,表示查看开头多少行,不填默认10行
    例如:head -20 a.py
  2. tail命令 → 可查看文件尾部内容,跟踪文件的最新更改
    tail [-f -num] Linux路径
    参数,Linux路径,表示被跟踪的文件路径
    选项,-f,表示持续跟踪
    选项,-num,表示查看尾部多少行,不填默认10行
    例如:tail -20 a.py
  3. apt命令 → 通过此命令可联网安装软件,必须联网
    apt install | remove 程序名 [-y]
    install:安装程序
    remove:删除程序
    -y:可选,表示不要提示直接执行
    (类比python中的pip install 包)

此命令需要root权限,普通用户无法执行,解决方式:

  • 通过sudo su – 切换到root用户执行
  • 通过sudo apt install … 以root权限执行这个命令,sudo表示不切换用户,但此命令以root身份执行

相对路径与绝对路径
当前工作目录为Home目录(即/home/mtt)
若要转移到Home目录下一个名为work的文件夹
相对路径:cd work 以当前目录为起点
绝对路径:cd /home/mtt/work 以根目录为起点

特殊路径符

  • . :表示当前目录,比如cd ./work表示切换到当前目录下的work目录内,和cd work效果一致。
  • ..:表示上一级目录,比如cd …即可切换到上一级目录,cd …/…切换到上二级目录。
  • ~ :表示Home目录,比如cd ~即可切换到Home目录或者cd ~/work表示切换到Home内的work目录。
  • - :表示回退到刚刚(上一次)所属目录。

其他

  1. 命令1 && 命令2 → 命令1执行成功,命令2才能执行;
  2. 命令1 || 命令2 → 命令1执行失败,命令2才能执行;
Logo

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

更多推荐