Linux 学习的一些总结

目录结构图

Linux目录图.png

预先定义变量

$#:表示命令行上的参数个数

$?:表示上一条命令执行后端返回值( 0为执行成功,非0为执行失败 )

$$:表示当前进程进程号

$!:表示后台命令对应的进程号

$-:表示由当前shell设置的执行标志名著称的字符串

$*:表示命令行给出的实参字符串

$@:与$*类似,但是可以通过for将程序给的实参进行依次输出,$*不能单独输出每个实参,只能整块输出

Shell 常用通配符

字符 含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[^list] 匹配 除 list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9][a-z]
{string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
{c1..c2} 匹配 c1-c2 中全部字符 如{1…10}

一些概念

单引号括起来的字符都作为普通字符出现

使用rm指令删除文件后不可恢复

mv可以给程序进行改名

Linux系统的开发模型是集市模型

Linux系统中,用户文件描述符 0 表示标准输入设备文件描述符

使用不带参数的cd会跳转到当前用户的主目录

用户关键信息存放于/etc/shadow中,存放用户账号的文件passwd,外部设备文件存放于/dev

硬盘分区表示:/hda1——第一块硬盘的第一个分区、/hdb2——第二块硬盘的第二个分区

当一个目录作为一个挂载点被使用后,该目录上的文件被隐藏,待挂载设备卸载后恢复

ifconfig可以修改网卡IP分配地址和子网掩码

Linux系统进程类型:交互进程、批处理进程、守护进程

更改文件拥有者:chown

Linux第一个版本号:0.01

vim编辑器共有 3 种模式

Linux默认分区:EXT3 ———— 通过VFS来支持多种不同的文件系统

Linux进程信息存放于/proc

Linux系统通过write给其他用户发消息

Linux父子进程之间通讯可以采用:通过信号量进行通讯、通过共享内存进行通讯、通过数据库进行通讯

Linux系统内核由:内存管理器、进程管理器、设备驱动程序、虚拟文件系统(VFS)、和网络管理组成,系统一般由:内核、shell、文件系统和应用程序

前台启动的进程可以使用Ctrl + C 终止

进程运行方式:独立运行、使用父进程运行

Linux中红色文件一般是压缩文件,蓝色为文件夹,白色为普通文件

Linux文件类型:普通文件、设备文件、符号链接文件、管道文件

Linux每个进程都有4GB的虚拟空间,其中内核空间占用3GB ~ 4GB

显示已经挂载的文件系统磁盘inode使用状况df -i

一个bash脚本的第一行是#!/bin/bash

Linux基本命令存放在/bin目录

打印机、终端 ———— 字符设备(I/O设备)

字符设备(Character device):这是一个顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。他不具备缓冲区,所以对这种设备的读写是实时的,如终端、磁带机等。

硬盘 ———— 块设备(可以随机读写)

块设备是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或从设备中一次性读出放入到缓冲区,如磁盘和文件系统等

假设有文件fileA的对应符号链接(软链接)fileB,删除fileAfileB仍然存在,但是属于无效文件

简单记忆硬链接与软链接

硬链接

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能

类似于复制粘贴文件到了另一个地方,当所有文件被删除时文件才是真正被删除完毕

软连接

在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息

类似于快捷方式,当源文件不存在时,该软连接文件也失效了,但是仍然存在,属于无效文件

NFS是网络文件系统

Linux可以与其他操作系统共存于一个机器上

df:统计磁盘空间或者是文件系统使用情况

du:显示文件目录大小

tar不是压缩指令(文件归档)

在创建文件时,umask设置的值为XXX,则对应文件的权限为666 - XXX,如果创建的是文件夹,那么对应的权限为777 - XXX

运行一个脚本,用户不需要write权限

Linux系统7个运行级别

0:关机,停机模式、1:单用户模式、2:多用户模式、3:完整的多用户文本模式、4:系统未使用,保留一般不用、5:图形化模式、6:重启模式

0: 系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。
1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
2:多用户模式,没有NFS网络支持。
3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。
6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。

一些命令

shutdown-h——关机、-r——重启

kill all:终止一个用户的所有进程

mkdir:当父目录不存在时先创建父目录可以-p

${name#pattern}${name##pattern}

如果pattern(shell模式)name值的开头匹配,那么把name值去掉匹配部分后的结果就是该表达式的值,否则name的值就是该表达式的值。

其中${name#pattern}name值去掉的部分是与pattern匹配最少的部分; ${name##pattern}name值去掉的部分是与pattern匹配最多的部分

${name%pattern}${name%%pattern}

如果pattern(shell模式)name值的末尾匹配,那么把name值去掉匹配部分后的结果就是该表达式的值,否则name的值就是该表达式的值。

其中${name%pattern}name值去掉的部分是与pattern匹配最少的部分; ${name%%pattern}name值去掉的部分是与pattern匹配最多的部分

ls -all不是列出当前目录中的文件和子目录名,而是列出当前目录下所有文件的详细信息

字符界面可以使用exit或者是Ctrl + D来注销Linux

vi/vim中使用 . 重复上一次对编辑文本进行的操作

Linux下实现热启,应修改/etc/inittab下的ca::ctrlaltdel:/sbin/shutdown -t3 -r now

关闭Linux但不重新启动使用halt命令

top命令可以实时地显示进程状态信息

shell编程

read是赋值给变量,变量首字母不能为数字

不换行输出echo -n "XXX"

shell有两种环境变量:局部变量和环境变量


Linux 学习的一些总结
https://equinox-shame.github.io/2022/05/15/Linux混分笔记/
作者
梓曰
发布于
2022年5月15日
许可协议