Linux基础知识拓扑图,呕心沥血归纳总结内容全面详尽零基础入门

#头条创作挑战赛#Linux基础知识拓扑图,呕心沥血归纳总结内容全面详尽零基础入门

温热蝙蝠日记Acoustic – 柳戈.mp32:40来自智能化弱电工程分享


Linux知识点总结

学习目录:


一、基础篇

Linux文件与目录

1.文件颜色代表的意义

绿色文件———- 可执行文件,可执行的程序

红色文件———–压缩文件或者包文件

蓝色文件———-目录

浅蓝色文件———-链接文件,主要是使用ln命令建立的文件

红色闪烁-———表示链接的文件有问题

黄色文件———-表示设备文件

灰色文件———-表示其它文件

2.Linux文件目录结构

/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。

/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

/home:系统默认的用户家目录,新增用户账 时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。

/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。

/proc:此目录的数据都在内存中,如系统核心,外部设备, 络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系统管理员root的家目录。

/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能”查看”而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的 页数据存放在 /srv/www 内。

/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

3.Linux文件基本属性

文件基本属性
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组。

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

当为 d 则是目录

当为 则是文件;

若是 l 则表示为链接文档(link file);

若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。

其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减 – 而已。

更改文件属性命令:
1、
chgrp:更改文件属组
2
、chown:更改文件属主,也可以同时更改文件属组
3、
chmod:更改文件9个属性

1 绝对路径

路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

2 相对路径

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。

二、帮助命令

三、文件与目录管理(一)

四、文件与目录管理(二)

五、权限管理

什么是 vim?

简单地来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方 站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

2. vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和末行命令模式(Last line mode)。

这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

i 切换到输入模式,以输入字符。

x 删除当前光标所在处的字符。

: 切换到底线命令模式,以在最底一行输入命令。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符

ENTER,回车键,换行

BACK SPACE,退格键,删除光标前一个字符

DEL,删除键,删除光标后一个字符

方向键,在文本中移动光标

HOME/END,移动光标到行首/行尾

Page Up/Page Down,上/下翻页

Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

ESC,退出输入模式,切换到命令模式

末行命令模式:

在命令模式下按下:(英文冒 )就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒 ):

q 退出程序

w 保存文件

按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:

七、文本与文件查找

八、系统管理

九、磁盘分区、逻辑卷和启动修复

Linux 文件系统与磁盘的关系

1.1 磁盘格式

磁盘格式主要有两种:MBR分区表和GPT分区表。

MBR分区表:第一扇区最重要,里面有:主引导记录(Master boot record, MBR)及分区表(partition table),其中MBR占446B,而分区表则占有64B。

GPT分区表:除了分区数量扩充较多之外,支持的磁盘容量也可以超过2TB。

1.2 文件系统

磁盘分区后,需要进行格式化(format),之后操作系统才可以使用这个文件系统。原因:每种操作系统所设置的文件属性/权限不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,以成为操作系统能够利用的文件系统格式(filesystem)

每个文件(不管是一般文件还是目录文件)都会占有一个inode,文件系统通常会将文件的权限与属性放置到inode中,文件实际的数据放到数据区块中。

超级区块(superblock)会记录整个文件系统的整体信息,包括inode与数据区块总量、使用量、剩余量等。一般来说,超级区块的大小为1024B,一个文件系统应该仅有一个超级区块。

1.3 磁盘与目录的容量

df(英文全称:disk full):列出文件系统的整体磁盘使用量

du(英文全称:disk used):检查磁盘空间使用量

1.4 硬链接与符 链接(软连接)

软连接:新建一个独立的文件,而这个文件会让数据的读取指向它链接的那个文件的文件名。

1.5 观察磁盘分区状态

lsblk(英文全称:list block device ):列出所有存储设备

blkid:列出设备的UUID等参数

1.6 磁盘分区

fdisk:用于磁盘分区(用于MBR分区表)

gdisk:用于磁盘分区(用于GPT分区表)

partprobe:更新Linux内核的分区表信息

1.7 磁盘格式化(创建文件系统)

mkfs(英文全称:make filesystem ):磁盘分割完毕后自然就是要进行文件系统的格式化

1.8 文件系统挂载与卸载

mount:挂载

umount:卸载

配置/etc/fstab:系统开机自动挂载该文件所有内容。因此可以把想要开机自启动的服务写入到文件中。

autofs服务是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。

1.9 磁盘/文件系统参数自定义

mknod:

十、Shell篇认识BASH

1. 什么是shell

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

2. Shell 脚本

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

3. Shell 环境

Linux 的 Shell 种类众多,常见的有:

Bourne Shell(/usr/bin/sh或/bin/sh)

Bourne Again Shell(/bin/bash)

C Shell(/usr/bin/csh)

K Shell(/usr/bin/ksh)

Shell for Root(/sbin/sh)

在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。

十一、Shell篇基础命令

Shell变量

定义变量时,变量名不加美元符 ($,PHP语言中变量需要),

如:your_name=”runoob.com”

注意,变量名和等 之间不能有空格,这可能和你熟悉的所有编程语言都不一样。

变量名的命名须遵循如下规则
1.命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
2.中间不能有空格,可以使用下划线 _。
3.不能使用标点符 。
4.不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量

使用一个定义过的变量,只要在变量名前面加美元符 即可,如:

your_name=”qinjx”

echo $your_name

echo ${your_name}

变量名外面的花括 是可选的,加不加都行,加花括 是为了帮助解释器识别变量的边界

只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

下面的例子尝试更改只读变量,结果 错:

#!/bin/bash

myUrl=”https://www.google.com”

readonly myUrl

myUrl=”https://www.runoob.com”

运行脚本,结果如下:

/bin/sh: NAME: This variable is read only.

删除变量

使用 unset 命令可以删除变量。语法:unset variable_name

变量类型

运行shell时,会同时存在三种变量:

局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

Shell 字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引 ,也可以用双引 ,也可以不用引 。

单引

str=’this is a string’

单引 字符串的限制:
1.单引 里的任何字符都会原样输出,单引 字符串中的变量是无效的;
2.单引 字串中不能出现单独一个的单引 (对单引 使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引

your_name=”runoob”

str=”Hello, I know you are “$your_name””! n””

echo -e $str

输出结果为:

Hello

greeting_1=””hello

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月2日
下一篇 2022年8月2日

相关推荐