鸟哥的linux私房菜一书

第0章 计算机概论

  1. 计算机的容量单位
    容量单位
  2. 速度单位
    CPU的指令周期使用MHz或者GHz为单位,Hz就是秒分之一。网络传输使用的bit为单位,Mbps-Mbits per second-就是每秒多少Mbit
    cpu是中央处理器,有控制器和运算器组成。整个计算机系统中的重要组成部分。
    主频:cpu运算时的工作频率(1秒内发生的同步脉冲数),单位Hz
    外频:系统总线的工作频率,cpu与外部(主板芯片组)交换数据、指令的工作时钟频率
    倍频:是cpu外频与主频相差的倍数。
    关系:主频=外频x倍频
    高速缓存:高速交换的存储器。一级缓存(L1)、二级、三级缓存

第一章linux

  1. linux是什么
    linux是开源的具有可移植性的操作系统。
    支持多用户、多任务、多线程、多cpu的操作系统、支持多种硬件平台
  2. 基本思想
    第一:linux系统里面一切都是文件(包括命令,硬件,软件设备,操作系统,进程等),第二:每个文件都有确定的用途
    Linux下一切皆文件的解释以及利弊在这里插入图片描述

第二章 主机规划与磁盘分区

  1. 目录树结构

整个目录树架构最重要的就是根目录 / 表示
在这里插入图片描述
2. 文件系统与目录树的关系(挂载)

含义:挂载就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下。进入该目录就可以读取该分区槽的数据。 这个进入点目录称为挂载点。
linux的根目录必须要挂载在某个分区槽下。其他目录根据用户需求挂载到不同的分区槽下。

第五章 Linux文件权限与目录配置在这里插入图片描述

在这里插入图片描述

  1. List item

第一个字符表示这个东西是文件、目录还是链接文件等
d 就是目录
- 就是文件
l 就是连接文档(类似windows下面的快捷方式)
b 表示文件里面是可供存储的接口设备(区块设备文档,就是一些存储数据)
c 表示为装置文件里面的串行端口设备 ,键盘 鼠标等

  1. linux文件权限的重要性
    a、系统保护功能(无论文件权限如何,root都可以进行操作)
    b、团队开发软件或者数据共享的功能

  2. 改变文件属性和权限
    命令:
    chgrp :改变文件所属群组 格式:chgrp [-r] filename/dirname
    chown:改变文件拥有者 格式:chown[-r] user filename
    chown [-r] user:group filename
    chmod :改变文件的权限
    r:4 w:2 x:1
    格式:chmod 数字 filename
    格式: chmod u[g],[o],[a] +、-、= r[w],[x]
    在这里插入图片描述a就是all 所有人,比如牛知道test这个文件的权限 ,但是想让所有人都可以执行该文件,命令为:chmod a+x test
    =的用法:test文件的所有者可读写执行 所有群组只可以读 其他人没有任何权限,命令为:chmod u=rwx, g=r test

总结

useradd增加用户:eg:useradd test
userdel删除用户 :eg:userdel test
usermod修改用户信息 最常用的是修改用户的用户组 usermod -G groupname username
groupdel删除群组 groupdel groupname
groumod修改群组信息 最常用的是修改群组名称 groupmod -n newgroupname oldgroupname
  1. 文件权限对于文件和目录的不同意义
    在这里插入图片描述一句话概括就是:文件的rwx是针对文件内容来的,目录的rwx是针对目录里面的文件而言,比如:目录的r 表示可以读取该目录下面的文件名,w表示可以修改该目录下面的文件名,x 表示可以进入该目录

  2. linux的FHS(Filesysytem Hierarchy Standard)标准(简单概括)

作用:规范每个目录下应该放置什么样的数据。
主要有四种交互形态:
在这里插入图片描述
FHS:主要定义出了一下三层目录架构
/(root,根目录):与开机系统有关
/usr:与软件安装/执行有关
/var:与系统运作过程有关

  1. 根目录的意义和内容
    所有的目录由根目录衍生出来,又是开机/还原/系统修复等动作有关
    因此:根目录所在的分区槽,应该越小越好,程序安装的软件路径也不能在根目录的分区槽内
    通常有以下目录:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第六章 linux文件与目录管理

  1. cp命令详解
    cp -s 建立连接
    cp -u 比较两个文件是否有差异,(也可以比较两个文件 的新旧)
    cp -u test2 ./test/test3 如果test2比test3里面的文件内容多就覆盖test3 -------这个命令常用来备份
    复制连接文档,直接cp 是复制的源文件, cp -d filename 才是复制 的连接文档
    复制多个文件的命令: cp filename1 filename2 ./dirname

  2. 查看文件内容
    在这里插入图片描述
    cat -b(-n) filename 也可以查看文件内容加行号

查看help可以知道,-b 空白行不标行号 -n 显示全部行号

  1. more less命令
    在这里插入图片描述

在这里插入图片描述

  1. 文档截取内容 head tail
    head就是显示前面几行 默认十行,格式:head -n number
    filename (n就是行数)
    eg:head -n 20 filename 就是显示前面20行

如果只留最后几行不打印,前面的都打印,格式:head -n -number filename
eg:留最后100行不打印,前面的都打印, head -n -100 filename

tail命令就是相反的 比如:tail -n 20 filename 就是打印这个文件的最后20行
那一个文件有200行,只打印最后100行,格式:tail -n +100 filename

  1. umask 文件预设权限
    umask 查看文件预设权限,默认是0022,数字的含义是拿掉数字对应的权限,022的意思就是拿掉组和其他所有者的w权限。在此文件预设权限下,创建文件所有者和组是没有执行权限的,因为文件是记录数据,创建目录的权限就是,drwxr-xr-x
  2. linux下的三种时间
    而在Linux下,一个文件也有三种时间,分别是:访问时间(Access time)、修改时间(Modify time)、状态时间(Change time)

那么可以知道,在linux中是文件是没有创建时间的,只是如果刚刚创建一个文件,毋庸置疑它的三个时间是都等于创建时间的,就像刚才创建的test文件,我们看到它的三个时间是相等的。那么在linux上这三个时间分别代表着什么,随着什么而改变:

修改时间:文件的内容被最后一次修改的时间,我们经常用的ls -l命令显示出来的文件时间就是这个时间,当用vim对文件进行编辑之后保存,它的mtime就会相应的改变;

访问时间:对文件进行一次读操作,它的访问时间就会改变。例如像:cat、more等操作,但是像之前的state还有ls命令对atime是不会有影响的;

状态时间:当文件的状态被改变的时候,状态时间就会随之改变,例如当使用chmod、chown等改变文件属性的操作是会改变文件的ctime的。
查看一个文件或者目录三种时间的当前时间命令 stat filename

  1. find 与时间相关的命令
    在这里插入图片描述数字0 表示一天之内更改时间的文件
    在这里插入图片描述
  2. 文件特殊权限 SUID SGID SBIT
    SUID:
    在这里插入图片描述

在这里插入图片描述
其实就是其他所有者会暂时获取该文件所有的权限,仅仅是在执行程序的过程中
SUID对目录无效
GID:
在这里插入图片描述
在这里插入图片描述
SBIT
在这里插入图片描述

在这里插入图片描述
就是说在这里插入图片描述
如果该目录有t这个权限,即便你用root把该目录下的文件设置为777的权限,其他人也不能够删除该目录下的任何文件,只能目录所有者或者root才能删
SBIT不能用在文件上
不管是SUID SGID SBIT都必须具备X权限,只不过SBIT多了w权限

  1. 如何设置SUID SGID SBIT 权限
    在这里插入图片描述

设置SUID:chmod 4766 test
在这里插入图片描述设置SGID:
文件:chmod 2676 test
在这里插入图片描述目录:chmod 2676 dirname
在这里插入图片描述
设置SBIT权限:
chmod 1766 dirname
在这里插入图片描述
还有一种就是u+s g+s o+t 也可以设置权限

PATH环境变量的意义
指定执行文件的时候,指令搜寻的指令路径

umask的用处和优点
在这里插入图片描述

第七章linxu磁盘与文件系统管理

在这里插入图片描述在这里插入图片描述

  1. 文件系统的运作
    与操作系统的文件数据有关,操作系统除了文件的实际内容还有文件的属性等。文件系统就将这两部分的数据放在不同的区块中,权限和属性放在inode,文件的实际数据放在data block 区块中,还有一个超级区块记录文件系统的整体信息,包括inode block 的总量 使用量 剩余量等
    在这里插入图片描述

  2. 索引式文件系统
    因为一个文件占用一个inode,一个inode里面会记录该文件的block号码,所以找到该文件的inode就可以找到该文件的实际数据
    这种文件存储方法就叫索引式文件系统

  3. linux的Ext2文件系统
    Ext2一开始就将所有的inode和block规划好了,除非格式化 否则就保持不变
    为方便管理有多个区块群组,每个区块群组有各自的inode/block/superblock系统

在这里插入图片描述

  1. data block(资料区块)
    用来放文件内容的地方。
    Ext2 只支持三种类型的block ,1K 2K 4K,每个类型支持的最大磁盘容量和最大单一文件容量如下
    在这里插入图片描述这里的block 大小为1k 最大单一文件限制为16GB 不是说一个block里面支持最大单一文件限制为16GB 而是说使用1k block的EXT2文件系统支持的最大单一文件为16G,该文件系统里面的每个Block可以存放的最大文件是1k
    在这里插入图片描述
    在这里插入图片描述
    5.inode table(inode表格)
    在这里插入图片描述
    6.挂载点的意义
    在这里插入图片描述
    7.目录与磁盘的容量
    df:列出文件系统整体磁盘使用量
    du:评估文件系统的磁盘使用量(也就是目录所占容量)

第七章没有认真看 以后回过头来看

第八章 文件与文件系统的打包 压缩备份

这一章也需要后面来阅读

第九章vim程序编辑器

vim三种模式的关系:
在这里插入图片描述
在这里插入图片描述
菜鸟教程中的:
在这里插入图片描述

  1. vim中的区块选择
    在这里插入图片描述
  2. vim多文件编辑
    在这里插入图片描述
    可以使用一个vim 命令打开多个文件,eg:vim test.txt test_vim.txt

使用files查看开启的所有文件
在这里插入图片描述

  1. 多窗口功能

同一个文件(不同文件)在不同窗口打开
在这里插入图片描述
使用ctrl+w+箭头进行窗口切换
在这里插入图片描述

第十章 shell

在这里插入图片描述

  1. 为什么Linux使用bash
    a、命令编修能力
    指令记忆能力
    在这里插入图片描述

b、命令与文件补全功能(tab键)
c、命令别名设置功能
eg:ailas lm=“ls -al”;
d、程序化脚本
在这里插入图片描述

  1. shell的变量功能
    在这里插入图片描述

在这里插入图片描述

  1. 取用变量
    echo取用变量,eg:echo $PATH 或者 echo ${PATH}
  2. 设定变量
    在这里插入图片描述

在bash中,没有设定变量的内容,直接echo $myname 显示为空,在其他shel中会显示错误信息

  1. 变量的设定规则
    以=号连接变量与变量内容
    =号两边不能有空格 eg; myname= tom; 或者myname= to m ;都是错的
    变量名以英文字母和数字组成,不能以数字开头;
    在这里插入图片描述

就是同时显示多个名字用\分割就是同时显示多个名字用\分割多个名字也可以用\分割
在这里插入图片描述
在这里插入图片描述

  1. bash的键盘输入指令 read

在这里插入图片描述
read -p 输入提示符 -t 输入等待时间
2. declare 宣告变量的类型
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 数组
    定义:var[index]=content; var[1]=“tom”,var[2]=“jack” 显示:echo ${var[1]}
    在这里插入图片描述

  2. ulimit 限制用户使用某些资源
    在这里插入图片描述

  3. 变量内容的取代,删除、替换
    从最前面开始 删除:echo ${variable#/variable}
    在这里插入图片描述
    echo ${variable##/variable} 删除文字中最长的一个,比如路径
    在这里插入图片描述
    也就是从该路径前面的依次删除

从最后面开始删除:
echo ${variable%/variable} 删除文字中最短的一个,比如路径
echo ${variable%%/variable} 删除文字中最长的一个,比如路径
在这里插入图片描述总结
在这里插入图片描述

在这里插入图片描述
6.变量的替换
如果该字符串不存在就是
在这里插入图片描述
如果为空字符串上面就不能替换,要替换就是
在这里插入图片描述
7.指令的执行顺序
在这里插入图片描述
8.覆盖字符> 追加字符>> 和< <<
个人理解< 就是cp
<< 可以指定在某个字符时结束输入
在这里插入图片描述
在end输入时,就结束该次用户输入
cat > catfile 是覆盖catfile中的内容,>>是将输入的字符追加到文件末尾
在这里插入图片描述
eg:对文件追加内容,输入end时结束输入
在这里插入图片描述
输入end时,end是不会记录在文件中的
9.指令回传值( ? = 0 表示指令执行正确, ?=0表示指令执行正确, ?=0表示指令执行正确,?!=0表示指令执行错误) 与&& 或||
cmd1 && cmd2 若cmd1运行完毕且正确运行($?=0),则开始运行cmd2;

                               若cmd1运行完毕且为错误($?!=0),则cmd2不运行;

 cmd1 ||  cmd2     若cmd1进行完毕且正确运行($?=0),则cmd2不运行;               

                                若cmd1运行完毕且为错误($?!=0),则开始运行cmd2;
                             ****与JAVA不同的是,或,为或条件时,如果前一个命令正确后一个命令就不执行,前一个命令错误后一个命令就执行****
**与还是一样的两者为真就为真,或不一样了,或就是前者为真后者就不执行,前者为假则执行后者**

在这里插入图片描述还有分号 ; 在两个命令之间输入; 不考虑命令1的错误与否直接执行命令2
10.管线命令(|)
经过多个命令才能得到想要的内容就需要使用管线命令
用途:管在这里插入图片描述

在这里插入图片描述11.cut
截取:
在这里插入图片描述

12.wc
查看一个文件有多少行,多少字数。多少字符数
在这里插入图片描述
表示该文件有3行,共8个字,38个字符

十一章正规表示法和文件格式化处理

  1. grep命令
    grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据

grep解释
在某个文件中查找某个内容:grep test filename
在某个文件夹中查找某个内容: grep -r ‘test’ /目录名
在这里插入图片描述
grep中的[] 搜寻集合字符
在这里插入图片描述

任意一个字符和通配符
任意一个字符是. 通配符是*(通配符表示从一到无穷)
eg:在文件中查找good:grep -n ‘g…d’ filename
大概看了一下正则,后面有时间再回来看

第十二章Shell scripts(程序化脚本)

在这里插入图片描述

  1. 加减乘除取余数 + - * / %
    第一种:echo(var*var)
    第二种:declar -i total=(var+var) echo$total
  2. bc
    bash仅支持整数的运算。小数的运算要加bc
    echo “1.2*1.3” | bc
  3. 条件判断式if then fi
    if[];then fi
    在这里插入图片描述
    在这里插入图片描述
    多重条件判断式

if[判断式];then elif[判断式];then else fi;
在这里插入图片描述

十六章进程管理和SElinux

在这里插入图片描述

  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值