Linux 学习笔记

0 阅读5分钟

介绍

只要遵循GNU通用许可证,任何人和机构都可以自由地使用llinux的所有底层代码,也可以自由地修改和再发布

很多公司都会基于linux来开发自己的操作系统,也就是linux发行版

  1. 系统架构和组成

内核

  • 设备驱动程序

  • 进程管理

  • 内存管理

  • 文件系统

  • 网络协议栈

系统库

  • C标准库

  • 数学库

  • 动态链接库

  • 线程库

  • 第三方库

Shell:命令行解释器,是用户使用linux系统的接口,接收用户的各种命令,然后传递给操作系统来执行

应用程序:我们平时使用的各种软件(浏览器,编辑器,办公软件,服务器上:NGINX,MYSQL

  1. linux的发行版

发行版:是linux内核与软件包,系统工具,库文件等等组成的一个完整的操作系统,它提供了一个预先配置好的linux环境,使我们能够方便的安装,配置和使用linux系统

乌班图适合个人桌面用户

  1. 安装和配置系统环境

三种方式

  • 虚拟机软件(multipass)

  • 容器安装

  • 云服务器

Multipass 常用命令

1.安装虚拟机镜像实例
Multipass launch --name[实例名] -cpus[cpu核数] -m[内存大小] -d[磁盘大小]

2.查看已经安装的虚拟机实例
multipass list

3.进入虚拟机实例
multipass shell vm-name

4.启动虚拟机实例
multipass start vm-name

5.停止虚拟机实例
multipass stop vm-name

在multipass官网下载

下载完后运行命令

1.
multipass launch --name ubuntu --cpus 4 --memory 8G

2.查看当前的虚拟机列表
multipass list

3.进入虚拟机
multipass shell ubuntu

Vi编辑器

  1. 模式

进入到vim后,默认进入的是命令模式

i:在光标的前面插入;a在光标的后面插入;o在当前行的下一行插入内容
cat:命令查看文件的内容
ls:用来查看当前目录下的文件和文件夹

在命令模式下:

^:行首(可以跳转到行首)
$:行尾(可以跳转到行尾)
yy:复制一行内容
p:粘贴内容,到光标的下一行
dd: 删除一行内容
在前面添加数字表示可以执行的次数

ctlr+f(forward) 向前
ctrl+b(backward) 向后
ctrl+uup) 向上翻半页
ctrl+ddown) 向下翻半页
/要查找的内容 向下查找内容
按下n可以继续查找下一个目标

在尾行模式下

:set number 可以显示每一行的行号
:set no number 关闭显示行号
:行号 跳转到对应的行号

常用命令

命令可以接受一个或者多个参数,用来指定命令的具体操作

1.ls 显示目录的内容 -l可以显示详细的参数 -a可以显示隐藏的文件 -h以人类可读的方式显示文件的大小 -t可以按照修改时间排序 -r逆序显示

2.lnlink)创建链接文件 -s表示软连接
  1. 链接

区分文件和目录,使用ls -l,看最左边的第一个

  • -:文件
  • d:目录
  • l:软链接

软连接:

  • 本身并不是文件,只是链接,所以很小
  • 可以指向文件或者目录

硬链接:

  • 本质是一个指向文件系统中另一个文件的指针,与原始文件共享相同的i节点

  • i节点是文件系统中一个非常重要的概念,在linux系统中,每个文件或者目录都有一个唯一的i节点,存储了文件的元数据信息

    • 文件类型:普通文件,目录还是链接
    • 权限:文件的访问权限,如读,写和执行权限
    • 所有者:文件的拥有者和组信息
    • 文件大小:文件的大小(字节数)
    • 时间戳:文件的创建时间,最后的访问时间和最后的修改时间
    • 数据块指针:指向实际存储文件数据文件的磁盘块的指针
  • 源文件和硬连接实际是文件系统中同一个文件的两个不同名字

举例理解

1.使用echo 命令修改原文件的内容
echo "hello" > hello.txt

2.创建一个硬连接
ln hello.txt hardlink.txt

3查看文件的详细内容和i节点
ls -ltri

4.删除硬链接文件,源文件还是可以访问
rm hardlink.txt
  • 硬链接只能指向文件
  1. 权限
  • 分为三组

    • 前三个字母表示:文件所有者的权限
    • 中间三个字母表示:同组用户的权限
    • 后面三个字母表示:其他用户的权限
  • 字母表示的意思

    • r:可读
    • w:可写
    • x:可执行
    • -:没有相应的权限
  • Chmod 修改权限

    • u:所有者

    • g:同组

    • o:其他用户

    • 添加权限:Chmod +对应的字母

    • 删除权限: chmod-对应的字母

  1. 目录

在linux系统中:所有的文件和目录都是从根目录开始的

根目录的符号:/

1.显示当前所在的目录
pwd

2.切换目录
cd

3.复制文件 -rf递归复制目录,并且强制覆盖目标文件
cp 源目录 目标目录

4.移动/重命名文件
mv

5.删除文件
rm

6.创建目录,使用-p参数来创建多级目录
mkdir

7.显示目录的tree命令,可以以树状图的形式显示目录的结构
不是linux自带的命令,使用包管理器安装一下
sudo apt install tree

8.删除目录的命令,-r表示递归删除一个目录,以及下面的所有文件
rmdir

根目录下的文件:

  • Bin :存放的是系统的基本命令,和二进制的可执行文件

  • etc:存放的是系统和一些软件的配置文件(安装nginx等的配置都是在这个目录下)

  • home:用户的家目录,进入系统后的默认目录

Shell

  1. Shell script自动化脚本

可以用来编写一些自动化的任务,比如安装软件,系统的运维巡检等等

编写一个shell脚本文件

1.创建一个shell脚本文件
vim hello.sh

2.在第一行写,使用bash解释器
#!/bin/bash

3.要执行的命令

4.执行脚本文件
./hello.sh