linux日常笔记-01

1.Openstack

   监控工具:zabbix

   大数据处理:Hadoop ,Spark ,Storm,elk 

Docker
Python

  1. RHCSA, RHCE, RHCA(认证)
    Linux发行版:
    Slackware:
    Suse, Opensuse

    Debian:
    Ubuntu, mint

    Redhat:
    Rhel, fedora, centos

    Archlinux

    Gentoo

    LFS:linux from scratch

3.程序包管理器:
rpm:
RHEL, Fedora, Suse, CnetOS

dpt:
Debian, Ubuntu

区别内外部命令:
#:type command
/usr: (universal shared read-only data)

4.set -C 禁止将内容覆盖输出至已有文件中

 tr 转换或删除字符

5.Linux文本处理三剑客:
grep:文本过滤工具(grep,egrep,fgrep)

  sed:stream editor,文本编辑工具

  awk:linux上实现gawk,文本报告生成器

 grep:global search regular expression and print out the line
 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查:打印匹配到的行
 模式:由正则表达式字符及文本字符所编写的过滤条件

6.只读变量:
readonly name , declare –r name

7.自定义退出码:
exit [n]

8.Vim编辑
(行号)
set nu
set nonu
(括号匹配)
set sm
set nosm
(自动缩进)
set ai
set noai
(高亮搜索)
set hlsearch set nohlsearch
(语法高亮)
syntax on syntax off
(忽略字符的大小写)
set ic set noic

9.bash 条件测试

[ expression ] [[ expression ]]
组合条件测试:
第一种方式;
command1 && command2
command1 || command2
! command
[ -e file ] && [ -r file ]
第二种方式:
expression1 –a Expression2
expression1 –o Expression2
! expression
必须使用测试命令进行:
eg: [ -f /bin/cat –a –x /bin/cat ] && cat /etc/fatab

10.文件查找:
locate,find
locate:查找速度快,模糊查找,非实时查找
locate keyword
find:查找速度略慢,精确查找,实时查找
find [option] … [查找路径] [查找条件][处理动作]
组合条件:
与: -a
或: -o
非: -not,!
!A –a !B = !(A –o B)
!A –o !B= !(A –a B)
eg:find /tmp ( -not –user root –a –not –name ‘fstab’ ) –ls
find /tmp -not ( -user root -o -name ‘fstab’ ) –ls
根据文件大小查找:
-size [+|-] #UNIT
常用单位:k,M,G
根据时间戳:
以天为单位:
-atime, -mtime, -ctime
以分钟为单位:
-amin, -mmin, -cmin
根据权限查找:
-perm [+|-]MODE
处理动作:
-print:默认的处理动作,显示至屏幕
-ls:类似于对查找到的文件执行“ls -l”命令
-delete:删除查找到的文件
-ok COMMAND {}\; 对查找到的每个文件执行由COMMAND指定的命令:对于每个文件执行前都会进行交互;
-exec COMMAND {}\; 对查找到的每个文件执行由COMMAND指定的命令;
注意:有些命令不能接受过多参数,此时命令执行时可能会出错,下面方法可规避此问题:
find |xargs COOMAND
eg:find /etc -size +1M -type -f
find / -nouser –a -nogroup -a -atime -7
find /etc -not -perm +222

11.Linux磁盘管理:
磁盘管理,文件系统管理
RAID基础原理、LVM2
网络管理:TCP/IP协议、linux网络属性配置
程序包管理:rpm、yum
进程管理:htop、glance、tsar
Sed和awk
I/O Ports: I/O设备地址;
一切皆文件;

12.硬盘接口类型:
并行:
IDE:133MB/s
SCSI:640MB/s
串口:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
/dev/DEV_FILE 磁盘设备的设备文件命名:
IDE:/dev/hd…
SCSI,SATA,SAS,USB:/dev/sd…

  1. 查看内核是否已经识别新的分区:
    cat /proc/partitions
    通知内核重新读取硬盘分区表:
    partx -a /dev/DEVICE
    -n M:N
    kpartx -a /dev/DEVICE
    -f force
    centos 5:使用partprobe
    Partprobe [/dev/DEVICE]

14.创建文件系统:
mkfs命令:
(1)Mkfs.FS_type /dev/DEVICE
(ext4,xfs,btrfs,vfat)
(2)mkfs -t FS_TYPE /dev/DEVICE
-L ‘LABEL’:卷标
mke2fs : ext系列文件系统专用管理工具
-t {ext2|ext3|ext4}
-b{1024|2048|4096}
-L ‘LABEL’
-j :相当于 –t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #:为数据空间每多少个字节创建一个inode,此大小不应该小于block的大小
-N #:为数据空间创建了多少个inode
-m #:为管理人员预留的空间占据的百分比
mkswap:创建交换分区
mkswap [options] device
-L ‘LABEL’
前提:调整其分区的ID为82
其他常用工具:
Blkid:块设备属性信息查看
Blkid [OPTION] …[DEVICE]
-U UUID:根据指定的UUIDl来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
e2label:管理ext系列文件系统的LABEL
#e2label DEVICE [LABEL]
tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统的超级块信息:super block
-L ‘LABEL’:修改卷标
-m #:修改预留给管理员的空间百分比
-j:将ext2升级为ext3
-O:文件系统属性启用或禁用
-o:调整文件系统的默认挂载选项
-U UUID:修改UUID号
dumpe2fs:
-h:查看超级块信息

  1. 文件系统检测:
    fsck:file system check
    fsck.FS_TYPE
    fsck –t FS_TYPE
    -a:自动修复错误
    -r:交互式修复错误
    note:FS_TYPE一定要与分区上已有的文件类型相同
    e2fsck:ext系列文件专用的检测修复工具
    -y :自动回答为yes
    -f :强制修复

16.文件系统挂载:
mount DEVICE MOUNT_POINT
mount:显示当前系统已挂载的所有设备
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备:
(1) 设备文件:例如/dev/sda4
(2) 卷标: -L LABEL
(3) UUID,-U UUID
(4) 伪文件系统名称
dir:挂载点
事先存在,建议使用空目录
常用选项:
-t vsftype:指定要挂载的设备上的文件系统的类型:
-r readonly
-w read and write
-n 不更新/etc/mtab
-a 自动挂载所有支持自动挂载的设备(定义在/etc/fstab文件中)
-L LABEL 以卷标指定挂载设备
-U UUID 以UUID指定要挂载的设备
注意:查看内核追踪到的自己挂载的所有设备:cat /proc/mounts
-o options (挂载文件系统的选项)
async:异步模式
sync: 同步模式
atime/noatime:包含目录和文件
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上的应用程序运行为进程
dev/nodev:是否支持在此文件系统上使用设备文件
remount;重新挂载
卸载命令:
umount
查看正在访问指定文件系统的进程:
fuser -v mount_point
终止所有在访问指定文件系统的进程:
fuser -km mount_point
挂载交换分区:
启用:swapon [OPTION] …[DEVICE]
-a:激活所有的交换分区
-p PRIORITY:指定优先级
禁用:swapoff [OPTION]…[DEVICE]
内存空间使用状态:
free [OPTION]
-m | -g

17.bash脚本编程之用户交互:
read [option] … [name …]
-p PROMPT
-t TIMEOUT
bash -n /path/to/some_script
检测脚本中的语法错误
bash -x /path/to/some_script
调试执行

18.RAID:
Redundant Arrays of Inexpensive Disks
提高IO能力:
磁盘并行读写
提高耐用性:
磁盘冗余
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
Software RAID:
级别:level
RAID—0:
RAID—1:
RAID—2:

RAID—5:
RAID—6:
RAID—10:
RAID—01:
RAID—0:
读、写性能提升:
可用空间:Nmin(S1,S2…)
无容错能力
最少磁盘数:2,2+
RAID—1:
读性能提升写性能略有下降:
可用空间:1
min(S1,S2…)
有冗余能力
最少磁盘数:2,2+
RAID—5:
读、写性能提升:
可用空间:(N-1)min(S1,S2…)
有容错能力:一块磁盘
最少磁盘数:3,3+
RAID—6:
读、写性能提升:
可用空间:(N-2)
min(S1,S2…)
有容错能力:2块磁盘
最少磁盘数:4,4+
混合类型:
RAID—10:
读、写性能提升:
可用空间:N*min(S1,S2…) /2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4,4+
RAID—01:
RAID—50:
JBOD:
将多块磁盘的空间合并成一个大的连续空间使用
实现方式:
硬件实现方式、软件实现方式
Centos 6上的软件RAID的实现:
结合内核中的md(multi devices)
Mdadm:模式化工具
格式:mdadm [mode] <raiddevice> <component-device>
支持的RAID级别:
LINEAR, RAID0,RAID1,RAID4,RAID5,RAID6,RAID10等
模式:
创建:-C
装配:-A
监控:-F
管理:-f,-r,-a
<raiddevice>:/dev/md#
<component-devices>:任意块设备
-C:创建模式
-n # :使用n个块设备来创建此RAID
-l #:指明要创建的RAID级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE:指明块大小
-x #:指明空间盘的个数
-D:显示RAID的详细信息
mdadm –D /dev/md#
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r:移除磁盘
观察md的状态:
cat /proc/mdstat
停止md设备:
mdadm -S /dev/md#
watch命令:
-n #:刷新间隔,单位是秒:
Watch -n# ‘COMMAND’

19.LVM2
LVM:Logical Volume Manager Version 2
dm:device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
pv管理工具:
pvs:简要pv信息显示
pvdisplay;显示pv的详细信息
pvcreate /dev/DEVICE:创建pv
vg管理工具:
vgs
vgdisplay
vgcreate
vgextend
vgremove
lv管理工具:
lvs
lvdisplay
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvremove /dev/VG_NAME/LV_NAME
扩展逻辑卷:
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
缩减逻辑卷:
umount /dev/VG_NAME/LV_NAME
e2fsck –f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
mount
快照:snapshot
lvcreate –L #[mMgGtT] –p r -s –n snapshot_lv_name original_lv_name

  1. dd命令: convert and copy a file
    dd if =/PAATH/FROM/SRC of=/PATH/TO/DEST
    bs -#:block size,复制单元大小
    count-#:复制多少个bs
    磁盘拷贝:
    dd if=/dev/sda of=/dev/sdb
    备份MBR:
    dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
    破坏MBR中的bootloader
    dd if=/dev/zero of=/dev/sda bs=512 count=1
    两个特殊设备:
    /dev/null:数据黑洞
    /dev/zero:吐零机

21.btrfs文件系统:
文件系统的创建:
mkfs.btrfs
-L ‘LABEL’
-d <type>: raid 0 等
-m <profile> : raid 0 raid 1 等
-O<feature>
-O list-all:列出支持的所有feature
属性查看:
btrfs filesystem show
挂载文件系统:
mount -t btrfs /dev/sdb MOUNT_POINT

     列表生成方式:
     (1)    直接给出列表
     (2)    整数列表
           (a){start…end}
           (b)$(seq [start [step]  end])
     (3)返回列表命令:
               $(COMMAND)

22.Linux程序包管理:
API:Application Programming Interface
POSIX: Portable OS
程序源代码?预处理?编译?汇编?链接
静态编译
共享编译
ABI:Application Binary Interface
Windows与Linux不兼容
库级别的虚拟化:
Linux:WINE
Windows:Cywin
系统级开发:c,c++
应用级开发:java,Python,php,perl,ruby
二进制应用程序的组成部分:
二进制文件,库文件,配置文件,帮助文件
程序包管理器:
Debian:deb,dpt
Redhat:rpm

23.查看二进制程序所依赖的库文件:
Idd /PATH/TO/BINARY_FILE
管理及查看本机装载的库文件:
Idconfig
/sbin/Idconfig -p :显示本机已经缓存的所有可用库文件名及文件路径映射关系
配置文件为: /etc/Id.so.conf,/etc/Id.so.conf.d/*.conf
缓存文件:/etc/Id.so.cache
程序包管理:
功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现
程序包的安装、卸载、查询、升级和校验等管理操作
管理程序包的方式:
使用包管理器:rpm
使用前端工具:yum、dnf
man rpm
包来源性验证及合法性验证:
完整性验证:
公钥加密:
对称加密:加密、解密使用同一密钥
非对称加密:密钥成对(公钥、私钥)
导入所需要公钥:
rpm --import /PATH/FROM/GPG_PUBKEY_FILE

24.数据库重建:
rpm {--initdb|--rebuilddb}
Initdb:初始化
如果事先不存在数据库,则新建之;否则,不执行任何操作
rebuilddb:重建
无论当前存在与否,直接重新创建数据库

25.编译C源代码:
第一步:configure脚本
--help
选项分类:
安装路径设定:
--prefix=/PATH/TO/SOMEWHERE :指定默认安装位置
--sysconfdir=/PATH/To/SOMEWHERE:配置文件安装位置
第二步:make
第三步:make install
安装后的配置:
(1) 导出二进制程序目录至PATH环境变量中:
编辑文件 /etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN
(2) 导出库文件路径
编辑 /etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录至此文件中
让系统重新生成缓存:
Idconfig [-v]
(3) 导出头文件:
基于链接的方式实现:
In -sv
(4) 导出帮助手册
(5) 编辑/etc/man.conf文件
(6) 添加一个MANPATH

原文地址:http://blog.51cto.com/13592158/2068201

时间: 2024-12-20 08:08:24

linux日常笔记-01的相关文章

Linux学习笔记01

1.Linux不靠扩展名区分文件类型2.存储设备必须先挂载才能使用3.Windows下的程序不能直接在Linux中安装和运行 一.服务器的管理预配置Linux的目录的作用:/bin/存放系统命令的目录,普通用户和超级用户都可以执行/sbin//user/bin//user/sbin//boot/启动文件目录/dev/硬件设备/etc/配置文件保存位置服务器注意事项:1.远程服务器不允许关机,只能重启2.重启时应该关闭服务 二.常用命令命令常见格式:命令 [-选项][参数]1.目录处理命令ls -

linux日常笔记1

Linux核心秘籍 1. Linux系统严格区分大小写 2. Linux一切皆文件 3. Linux命令之间需要空格 网络运维课程大纲 Windows 网络技术(思科.华为) Linux 1.计算机由硬件和软件组成 硬件:看得见,摸得着(显示器/键盘/鼠标/机箱/主板/cpu/内存/硬盘...) 软件: 系统软件 windows/Linux/unix 应用软件 qq/360/office/... 2.计算机分类 个人计算机 几乎99%以上安装的是Windows,目前首选Windows 10 服务

linux日常笔记2

DAY01 Linux系统的初次体验 Linux介绍 Linux系统安装(CentOS 7.4) Linux系统的操作界面 1)图形桌面 2)命令行操作环境 配置网络 DAY02 玩转Linux命令行 管理目录和文件 使用vim编辑器去创建及修改文件 管理用户和组账号 一.命令行基础 1. 命令格式 基本用法 命令字   [选项]  -   [参数1] [参数2]- [ ] 表示里面的内容可有可无 在执行一个命令的时候,命令字必须存在,选项和参数可有可无 命令字 选项 参数之间必须有空格 各组件

linux日常笔记4

一.配置软件仓库 1.yum简介 基于rpm软件包的安装部署机制 自动解决软件包的依赖关系 需要先配置软件仓库 2.配置本地的软件仓库 a.放入centos7.iso镜像文件到光驱中,确保电源开启 b.命令操作 # umount /dev/cdrom # ls /mnt # mount /dev/cdrom /mnt # ls /mnt # mkdir -p /repo/cos7dvd # cp -rf /mnt/* /repo/cos7dvd # du -sh /repo/cos7dvd  /

linux日常笔记3

一.管理权限和归属 1.权限概述 文档归属 所有者(u):拥有此文件/目录的用户-user 所属组(g):拥有此文件/目录的组-group 其他用户(o):除所有者.所属组以外的用户-other 访问权限 读取(r):允许查看内容-read 写入(w):允许修改内容-write 可执行(x):允许运行和切换-excute 2.查看权限  ls -l # ls -l /etc/passwd -|rw-|r--|r--. 1 root root 2481 2月  23 09:37 /etc/pass

linux 学习笔记01 top

输入TOP 按M 显示内存消耗顺序排序 按P 显示CPU消耗顺序排列 l  切换显示平均负载和启动时间信息.m  切换显示内存信息.t  切换显示进程和CPU状态信息.c  切换显示命令名称和完整命令行.M  根据驻留内存大小进行排序.P  根据CPU使用百分比大小进行排序.T  根据时间/累计时间进行排序.W  将当前设置写入~/.toprc文件中.ip addr show ip route show cat /etc/resolv.conf DEVICE=eth0 BOOTPROTO=non

linux学习笔记--01

命令总结mkdir 创建目录的命令 make directorysls -l(long)d(directory)显示目录或者文件 全称listcd 切换目录层次change directorytouch "摸" touch [文件名] 就是“摸”一下文件,如果文件不存在,就建立新文件,如果存在就改变文件的访问时间atime等时间戳信息echo 打印输出内容 echo 123 > test.txt 将123想覆盖到test.txt中,之前的内容被覆盖掉 vi/vim 记事本编辑器

Linux学习笔记01:Linux下的drwxr-xr-x

1. drwxr-xr-x 第1字母:表示文件类型     d   ------- 表示文件目录(directory)     -    ------- 表示二进制文件     l    ------- 表示软链接文件(link) 第2-4字母: 表示这个文件的所有者(user,owner)拥有的权限        r   ------- 表示读权限,read      w  ------- 表示写权限,write      x   ------- 表示执行权限,execute 第5-7字母:文

Linux日常笔记-2

一.命令行基础 1. 命令格式 基本用法 命令字 [选项] - [参数1] [参数2]- [ ] 表示里面的内容可有可无 在执行一个命令的时候,命令字必须存在,选项和参数可有可无 命令字 选项 参数之间必须有空格 各组件解析 选项:用来调控执行方式 单个字符一般用- 单词一般用-- eg: # ls -l # ls --help 参数:命令的操作对象,如文档的存放路径.用户名等 2.命令行编辑技巧 tab键 功能:命令或者路径的补齐,如果输入的内容唯一标识某一个命令或者路径,tab一次会自动补齐