广告
返回顶部
首页 > 资讯 > 操作系统 >Linux 学习笔记 二
  • 277
分享到

Linux 学习笔记 二

2024-04-02 19:04:59 277人浏览 安东尼
摘要

压缩解压缩压缩格式:gz bz2 xz zip z 压缩算法,算法不同,压缩比也不同compress: filename.Zuncompress: 不能压缩文件夹,会将文件夹内的文件单个

压缩解压缩

压缩格式:gz bz2 xz zip z 

压缩算法,算法不同,压缩比也不同


compress: filename.Z

uncompress: 

不能压缩文件夹,会将文件夹内的文件单个压缩

gzip: .gz

gzip filename 压缩完成后删除源文件

gzip -d 等于 gunzip 

-#: 1-9 指定压缩比 默认为6

gunzip:

gunzip filename


zcat 临时查看压缩的文本文件不解压

bzip2: .bz2 

比gzip 有更大的压缩比

使用格式相同

bzip2 filename

-d -# 都有

-k 可以保留源文件


bunzip2 :同理解压

bzcat :


xz: .xz  同上


unxz 解压

xzcat

xzdec 解压


zip: zip 压缩后的文件名 压缩的路径 

可以压缩文件夹,压缩后不删除源文件


arcHive:归档 归档本身不意味着压缩 


unzip :解压


tar:归档工具 

-c:创建归档

-f file.tar :操作的归档文件

-x :展开归档

--xattrs 归档同时保留其扩展属性信息

-t: 不展开归档查看内部文件

-zxf:解压归档 调用gzip

-zcf:压缩归档 调用gzip

-jcf 调用bzip2

-jxf

-Jcf 调用xz

-Jxf

-z -j -J 在解压时可以省略,压缩时不可以

cpio:归档工具


read: 

-p 给出提示

-t 超时时间

while 循环:

适用于循环的次数未知的场景,要有退出条件


语法:

while 条件 ;do

运行命令

done

使用颜色控制字体


echo -e \033[x;y;zm显示文字\033[

x 字体

y 前景色

z 背景色


64,32

/lib

/lib32


IDE 133Mbps 并行

SATA 300M 600M 6G 串行

USB 3 480M 串行

SCSI SMALL COMPUTER SYSTEM INTERFACE  320M 并行总结

SAS 2.5英寸 串行


RaiD:

级别,仅代表磁盘组织方式不同,没有上下之分


条带:0 

性能提升,读写

冗余能力没有

空间利用 n

至少2块

镜像:1

写性能下降,读性能上升

有冗余能力

空间利用 n/2

至少2块

效验码:4   盘1,盘2,盘3   盘6,坏一块(1-3)都可以用盘6来-去好的

轮流校验码 :5 轮流校验码存储位置

读写都提升

有冗余能力

空间利用 (n-1)/n

至少3块

1+0:先条带再镜像

    至少4块

0+1:先镜像再条带

至少4块

JOBD:简单增加多块硬盘

无性能提升

无冗余能力

空间利用n

至少2块

MD multi dsiks 模拟一个RAID

逻辑RAID

/dev/md# 

mdadm:任何块设备做成RAID

模式化命令

创建模式 

-C

专用选项:

-l:级别

-n:设备个数

-a:yes/no 自动创建设备文件

-c:指定数据块chunk大小 默认64KB

-x:指定空间盘个数

管理模式

--add,--remove,--fail

监控模式

-F

增长模式

-G

装配模式

-A


-D --detail 查看RAID 的详细信息

停止整列

-S --stop

将当前RAID 信息保存至配置文件

mdadm -D --scan > /etc/mdadm.conf

以后装配就用 mdadm -A /dev/md#


watch 周期性地执行指定命令,并以全屏方式显示结果

-n 指定周期长度,默认单位为秒,默认2秒

watch -n '命令'

lsmod 列出内核模块


mdadm 用户空间工具


MD:MULTI DEVICE 多设备


DM:device mapper 设备映射

逻辑设备

lvm2

快照

多路径

vGCreate vgname 设备

-s : pe 的大小,默认为4mb

lvcreate -n lv name -L 空间大小 vg name 


扩展逻辑卷

lvextend

-L 大小 逻辑卷

resize2fs

resize2fs2fs 逻辑卷 扩展到大小

-p 与物理边界一样大小

缩减逻辑卷

resize2fs 逻辑卷 缩减到大小

不能在线缩减,先要卸载

确保缩减后的空间大小依然能存储原有数据

在缩减之前应先强直检查文件,以确保文件系统一致性状态

lvreduce -L 大小 逻辑卷

再挂载

快照卷

生命周期为整个数据时长,这段时间内,数据的增长不能超出快照卷大小

快照卷只读

跟原卷在同一卷组内

lvcreate 

-s 快照卷

-p r|w  权限

lvcreate -s -L 大小 -n 逻辑卷名 -p r /路径

until = !while

until who | grep "hadoop" >> /dev/null ;do

sleep 5

done

echo "hadoop is logged in"


for ((变量赋值;变量范围;变量变化)); do

循环操作

done


ping

-c 次数

-w 超时时间

awk 条件 {动作}


df -h | awk '{print $1}'  awk -F 分隔符 '{print $字段序号}'

$NF是最后一个字段  ,NF是字段个数

-F 后跟分隔符匹配


CSMA/CD  carrier sense multi access colision detection

载波侦听多路访问冲突检测

Socket 套接字 ip与port 绑定


三次握手 四次断开 tcp 有限状态集


    A      三次握手建立TCP连接              B

1.发送 SYN=1,SN=100 

2.接受 SYN=1,ACK=1,AN=101,SN=300

3.发送 ACK=1,SN=101,AN=301


    A      四次断开TCP连接              B

1.发送 FIN=1,

2.

3.

4.CLOSED


主机接入网络

ip

mask

gateway

hostname

dns

route

dhcp:dynamie host configuration protocol

169.254.x.x 自动地址

linux 网络属于内核功能

lo:本地回环

eth{0-9}:以太网卡

ppp{0-9}:点对点

5.8  /etc/modprobe.conf

alias


6.0 /etc/udev/rules.d/70-persistent-net.rules


ifconfig 

-a 显示所有接口的配置信息

ifconfig eth{0-9} ip/mask up|down

配置立即生效,但重启后失效

网络服务:

5.8 /etc/init.d/network start|stop|restart|status

6 /etc/init.d/networkmanager 同上


网关

route 

add 添加

-host 主机

-net 网络

-net 0.0.0.0 默认路由

route add -net 网络 gw 下一跳地址

route add -net default gw 下一条地址

del 删除

同上

route del -net 0.0.0.0 

route -n 以数字方式显示主机信息


网络配置文件

/etc/sysconfig/network


网卡配置文件

/etc/sysconfig/network-scripts/icfg-eth{0-9}

DEVICE=关联的设备名称,要与文件名的后半部保持一致

BOOTPROTO={static|none|dchp|bootp}:引导协议,

静态   动态

IPADDR IP地址

NETMASK 子网掩码

GATEWAY 网关

ONBOOT 自动启用

HWADDR Mac地址与硬件一致

USERCTL {YES|NO} 是否允许普通用户控制接口

PEERDNS {YES|NO} 是否接受DHCP中DNS的配置信息

不会立即生效,保证永久有效

路由配置文件

/etc/sysconfig/network-scripts/route-eth{0-9}

添加格式

格式,1 

DEST     via       NEXTHOP

格式,2

ADDRESS0=

NETMASK0=

GATEWAY0=

ADDRESS1=

NETMASK1=

GATEWAY1=

DNS服务器指定 最多3个

/etc/resolv.conf

nameserver ip

本地地址解析

/etc/hosts

主机IP 主机名称 主机别名


配置主机名

hostname 名字

立即生效,重启失效

/etc/sysconfig/network

HOSTNAME=

永久有效

使用setup 设置效果一样,需要重启


ifconfig 老旧命令 

iproute2 

ip 

link:配置网卡属性

ip -s link show 限时统计信息

ip link set 设备 状态

addr:协议地址

ip addr add 地址 dev 设备

ip addr del 地址 dev 设备

ip addr show

route:路由

tc 流量控制

一个网卡多个地址

网络设备可以别名

别名不能使用DHCP

ifconfig eth0:0

/etc/sysconfig/network-scripts/icfg-eth{0-9}:{0-9}

DEVICE=eth{0-9}{0-9}



程序组成

二进制文件  /bin,/sbin

库 /lib

配置文件 /etc

帮助文件 /usr/share/man

/etc,/bin,/sbin,/lib

都是系统启动需要用到的目录程序,不能单独挂载额外分区

必须在根分区上 

/usr/

/bin

/sbin

/lib

操作系统的核心功能

可以单独分区

/usr/local

/bin

/sbin

/lib

/etc

/man

用户使用的第三方软件

/opt

早期第三方软件安装位置

/proc

/sys  

不能单独分区,内核自我管理

/dev 

设备,也不能单独分区

udev 

  

/home 用户数据目录

 推荐单独分区


/root 管理员家目录,么必要单独分区


/var 有了他系统管理更加规范

日志信息,和运行信息,推荐单独分区,日积月累越来越大

/boot :内核 initrd {initramfs} 只要能被找到就行,推荐单独分区


POST ---BiOS ----MBR (BOOTLOADER)--- 找到磁盘上的内核 ---- 找根的位置 


软件包安装器

打包成一个文件:二进制文件,库文件,配置文件,帮助文件

生成数据库:追踪所安装的每一个软件


1,制作软件包

2,安装卸载升级查询校验


redhat suse :rpm

redhat package manager

rpm is package manager

redhat和suse 不能混用

debian :dpt


依赖关系:

前端工具:yum,apt-get

后端工具:rpm,dpt


yum:yellowdog  update modifier


rpm 命令:

rpm:

/var/lib/rpm

rpmbulid:

安装,卸载,升级,查询,校验,数据库重建,验证数据包,


rpm命名:

包组成:

主包:

bind-版本 

子包:

bind-libs

bind-utils

包名

包名格式:

名称-版本-发行号.架构.平台.rpm

bind-major.minor.release-release.arch.rpm 

第一个release是发行号,第二个release是rpm包制作者修订用

主版本号:重大改进

次版本号:某个子功能发生重大变化

发行号:修改了部分bug,调整了一些功能

noarch 没有针对版本

umame -a 查看内核版本


rpm包:

二进制格式:直接使用,多数使用

源码格式:需要编译

rpm :

1,安装:

rpm -i 路径/文件名

-h 已#显示安装进读,50个#,每个2%

-v 详细过程

-vv 更详细

rpm -ivh 常用

--nodeps:忽略依赖关系,可以安装但是无法正常使用

--replacepkgs:重新安装,替换原有安装

--force:重装,覆盖,降级 强行安装

--test 测试安装

2,查询:

rpm -q 包名 : 查询指定包

  -qa: 查询所有已经安装的包

-qi: 查询指定包的说明信息

-ql:查询指定包安装后生成的文件列表

-qc:查询指定包的配置文件

-qd:查询指定包的安装帮助文件

-qf 查询指定文件是由那个rpm包安装生成的

-q --scripts 查询指定包中的脚本

如果某RPM未安装,希望查询

-qpi

-qpa

同上

3,升级:

rpm -Uvh 如果有老版本的则升级,否则安装

-Fvh 如果有老版本的则升级,否则退出

rpm -Uvh --oldpackage 包名  降级安装包

4,卸载

rpm -e 包名

--nodeps

5,校验

rpm -V 包名

6,重建数据库

rpm 

--rebuliddb 重建数据库,一定会重建

--initdb 初始化数据库,没有才建立,有就不建建立

7,校验来源合法性,及软件完整性

ls /etc/pki/rpm-gpg/

RPM-GPG-KEY-redhat-release

rpm -K 包名

dsa,gpg 验证来源合法性

sha1,md5 验证软件包的完整性

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

导入redhat的秘钥

html HYPERTEXT MARK LANGUAGGE

XML EXTENDED MARK LANGUAGGE


XML,JSON 半结构化数据


yum仓库中的元数据文件

primary.xml.gz

所有rpm包的列表:

依赖关系

每个rpm生成的文件列表

filelist.xml.gz

当前仓库RPM包的所有文件列表

other.xml.gz

额外信息,rpm修改日志

repomd.xml

记录以上上个文件的时间戳和校验和

comps 开头的.xml

rpm包的分组信息

为yum定义repo /etc/yum.repos.d/ 以.repo结尾的文件

[标示ID]

name=       名称

baseurl= 仓库路径 

ftp://

Http://

file:/// 

enable= 是否可用

gpgcheck= 检查签名完整性

gpgkey= 检查的秘钥位置

yum 

list:列表

all 全部

available 可用

installed 已装

updates 可用更新

clean:清理缓存

repolist:显示repoe列表

install:

-y 自动回复yes

--nogpgcheck 无检查完整性

update:

升级到最新版本

update to:

升级到指定版本

remove|erase:

卸载

info :信息

provides:

查看指定文件或特性是那个yum安装的

groupinstall:

grouplist

groupinfo

createrepo 手动建立yum仓库时需要使用

在指定目录中建立repodata

   还需要复制 XML文件


rpm 安装

二进制格式

源程序---编译----二进制格式

有些特性是编译选定的,如果编译未选定此特性,将无法使用

rpm包的版本落后于源码包,甚至落后很多

定制:手动编译安装

编译环境,开发环境

开发库,开发工具


linux :c

gun :c

C环境,c++

gcc:编译器

g++:

make:项目管理工具

makefile:定义了make (gcc,g++) 按何种次序去编译源文件的程序

automake,创建---makefile.in

autoconf,创建---configure

以上两者结合成makefile

make install 

perl+java,python

编译安装三步骤

前提:准备开发环境{编译环境}

安装 Development Tools 和 development libraries

先用tar 解压二进制程序包

cd

./configure (让用户选择编译特性,检查编译环境)

使用 configure --help 查看选项

使用 configure --prefix 指定安装目录 

--sysconfdir 指定安装的配置目录

在安装目录中用 make 确认安装

再输入 make install

1,修改PATH环境变量,以能够识别次程序的二进制文件路径

1.修改/etc/profile

2.或者在/etc/profile.d 目录中 建立以.SH为名称后缀的文件

在里面定义export PATH=$PATH:/路径

2,默认情况下,系统搜索库文件的路径/lib,/usr/lib,要额外添加搜索路径

在/etc/ld.so.conf.d/中创建以.conf为后缀命名的文件,而后把要增添的路径直接写入次文件

ldconfig:重新搜索库文件

-v:显示重新搜索的过程

3,头文件(库调用的参数标准相关信息):输出给系统,

默认:/usr/include

添加头文件搜索路径,使用链接进行

/usr/local/tengine/include/  /usr/include/

第一种 ln -s  /usr/local/tengine/include}  从左向右最后一次匹配 / 删除

acpid

echo ${file#*.}  从左向右第一次匹配 . 删除

d/acpid

echo ${file##*3 * * * *    每3分钟一次

每2小时执行一次

0 */2 * * *

每2天执行一次

0 0 */2 * *

执行结果将以邮件形式发送给管理员

*/3 * * * * cat /etc/fstab &> /dev/null 

cron的环境变量:执行的所有命令都去PATH环境变量指定的路径下找

PATH /bin /sbin /usr/bin /usrsbin

管理用户任务

crontab 

-l:查看

-e:编辑

-r:移除所有任务

-u:用户名 -e 管理其他用户的cron任务

移除一个任务,打开编辑删除即可

anacron:

/etc/anacrontab

第一项 第二项       第三项         第四项

多少天么运行 开机后多少时间运行     注释 命令

使用时需确保 crond service 开启

make acrh/

arch/x86/boot/bzImage  编译好的内核文件存放位置

硬件驱动:initrd

initrd:仅需提供访问真正根文件系统所在设备的驱动

存储设备和文件系统相关的模块

系统初始化rc.sysinit:提供其他硬件的驱动:

ROOTFS:busybox 的INIT 不支持运行级别

/etc/inittab 格式也不尽相同


--结束END--

本文标题: Linux 学习笔记 二

本文链接: https://www.lsjlt.com/news/41148.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux 学习笔记 二
    压缩解压缩压缩格式:gz bz2 xz zip z 压缩算法,算法不同,压缩比也不同compress: filename.Zuncompress: 不能压缩文件夹,会将文件夹内的文件单个...
    99+
    2022-10-18
  • Python学习笔记(二)
    学完了基础中的基础后,我们准备深入基础中的函数、类和对象。 function函数: 正如英文单词描述的,函数就是“功能”的意思,把完成一个功能所需要的代码打包起来放在一个函数下可以方便以后程序的重复调用,也能使整体代码条理清晰。正如前...
    99+
    2023-01-30
    学习笔记 Python
  • mysql学习笔记二 DQL
    -- 查询编号为1004的学生的姓名和生日 select name,birthday from student where id=1004; -- 查询年龄大于18的学生信息 select...
    99+
    2018-07-25
    mysql学习笔记二 DQL
  • python scrapy学习笔记(二)
    使用scrapy批量抓取,参考http://python.jobbole.com/87155一、创建项目# scrapy startproject comics创建完成后的目录结构. ├── comics │   ├── __init__....
    99+
    2023-01-31
    学习笔记 python scrapy
  • Redis学习笔记(二) 链表
    链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。 redis中链表应用广泛,如list中就使用了链表。 每一个链表节点使用listNode结构标识(双向链表): typedef...
    99+
    2017-01-27
    Redis学习笔记(二) 链表
  • Python学习笔记(二)Python基
    [root@kaibin ~]# ipython In [1]: import platform In [2]: print platform.uname() ('Linux', 'kaibin.test1', '2.6.32-431.el...
    99+
    2023-01-31
    学习笔记 Python
  • Python第二周 学习笔记(3)
    1.运用数组实现求10万以内质数: prime = [2] for i in range(3,100000,2): flag = False up = int(i**0.5)+1 for j in prime: ...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记(二):使用Pyth
    1.目的: 2.安装XlsxWriter 3.xlsxwriter常用功能: 4.在Excel中写数据: 4.1 一维表格生成 1.目的: 用xlwt来生成excel的,生成的后缀名为xls,在x...
    99+
    2023-01-31
    学习笔记 Python Pyth
  • Android学习笔记——Menu介绍(二)
    知识点: 这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)。 上下文菜单 上下文菜单提供对UI界面上的特定...
    99+
    2022-06-06
    android学习 Android
  • Python学习笔记整理(二)pytho
    一、Python的数字类型 1、数字常量 python数字类型在程序中如何显示(换句话说,作为常量) 数字            常量 1234,-23,0        一般整数 9999...
    99+
    2023-01-31
    学习笔记 Python pytho
  • python学习笔记字符串(二)
    字符串类型(string)字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就...
    99+
    2023-01-31
    字符串 学习笔记 python
  • Python学习笔记—第二章—IPyth
    书目:Python(Unix和Linux系统管理指南)学习日期:20130807知识点总结:安装IPython:源码安装:tar zxvf ipython-0.13.2.tar.gz python setup.py install...
    99+
    2023-01-31
    第二章 学习笔记 Python
  • 学习笔记-小甲鱼Python3学习第二十
    斐波那契数列:斐波那契数列的迭代实现月数123456789101112兔子总对数1123581321345589144用数学函数定义:             1,当n = 1F(n)       1,当n = 2             ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十二
    列表的一些常用操作符:比较操作符、逻辑操作符、连接操作符、重复操作符、成员关系操作符比较操作符:>>> list1 = [123,456]>>> list2 = [234,123]>>>...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第二讲
    测试题: 什么是BIF?built-in function,是python内置函数的意思,python内置了非常多的函数,方便程序员直接调用,快速编写脚本程序 用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?使用...
    99+
    2023-01-31
    甲鱼 学习笔记
  • Linux学习笔记 Day 2~3
    继续整理周末课程的Linux学习笔记。 vim编辑器 最受欢迎的是emacs,vim是vi的增强版本,特点是编辑内容时有颜色变化。命令:vim /etc/passwd 三种模式: 1. 普通模式-->可视模式 2....
    99+
    2023-01-31
    学习笔记 Linux Day
  • 2018-3-14 Linux学习笔记
    Nginx访问日志的格式是在主配置文件中定义的. vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日志字段含义:$remote_addr 客户端IP(公网IP...
    99+
    2023-01-31
    学习笔记 Linux
  • 2018-3-15 Linux学习笔记
    编辑虚拟主机配置文件vim /usr/local/nginx/conf/vhost/test.com.conf 配置如下:location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|...
    99+
    2023-01-31
    学习笔记 Linux
  • 2018-3-29 Linux学习笔记
    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...
    99+
    2023-01-31
    学习笔记 Linux
  • Redis学习笔记(二十一) 事务
    文章开始啰嗦两句,写到这里共21篇关于redis的琐碎知识,没有过多的写编程过程中redis的应用,着重写的是redis命令、客户端、服务器以及生产环境搭建用到的主从、哨兵、集群实现原理,如果你真的能看的进去,相信对你在以后用到r...
    99+
    2017-07-23
    Redis学习笔记(二十一) 事务
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作