Linux结构梳理

Type:查看命令的所属分类

man:查看命令的帮助

help:获取帮助

 

ls命令

ls -l:显示文章的详细信息

ls -a:显示文章的隐藏文件

ls -r:逆顺序显示文件

ls -R:递归显示

ls -t:按照时间显示

 

head:显示文件前几行

tail:显示文件后几行

cat:查看文件信息  cat f 查看文件更新信息

wc:统计文件行数

 

tar:打包命令,配合gzip和bzip可以使用打包和压缩命令

gzip:压缩和解压缩命令,拓展名.gz

bzip2:压缩与解压缩命令,扩展名.bz2

 

 

useradd:添加用户

userdel:删除命令

Passwd: 设置用户密码

usermod:修改用户信息

groupadd:添加组用户

groupdel:删除组用户

chmod:修改权限

chown:更改主,属组

chgrp:可以单独更改属组,不常用

 

正则表达式

  对字符串操作的一组逻辑公式

  用于对符合规则的字符串进行查找和替换

文本与文件的查找

grep

grep -i 忽略大小写

grep -v 反转

grep -a 处理二进制文件

grep -R 递归方式

 

find

find -name 按照文件名搜索

find -perm 按照权限查找

find -user 按照属主搜索

find -type 按照文件类型搜索

 

软件安装与更新

rpm -i 安装

rpm -q 查询

rpm -U 升级

rpm -e 卸载

./comfigure  make  make install 源码编译

yum install 安装

yum remove 卸载

yum update 升级

 

网络配置

ifconfig 查看和配置网络接口

ip addr 查看和配置接口漏油

netstat 查看进程监听端口状态

network与NetworkManager 网络管理脚本

相关配置文件

ifcfg-eth0 eh0网卡配置文件

networking 主机名配置文件

resolv.conf 域名配置文件

 

常用系统日志

/var/log 系统日志默认目录

message 系统日志

dmesg 内核启动日志

secure 安全日志

 

mount挂载命令

mount -t 指定文件系统类型

mount -ro 只读挂载

mount -rw 读写挂载

remount 重挂载

 

文件系统

fdisk -l 查看分区信息

fdisk /dev/sdx 分区某存储

df 查看分区使用空间大小

du 查看文件使用空间大小

mkfs.ext4 格式化为ext4文件系统

mkfs.xfs 格式化为XFS文件系统

 

逻辑卷与lvm

lvm分三层:PV物理卷 VG卷组 LV逻辑卷

pvcreate 建立PV    pvs 查看PV

vgcreate 建立VG    vgs 查看VG

lvcreate  建立LV    lvs 查看lv

lvextend 扩展LV

 

防火墙

SELinux访问控制分类:DAC自主访问控制  MAC强制访问控制

getenforce 查看SELinux状态

setenforce 修改访问状态

selinux配置文件/etc/selinux/config

enforcing 强制控制

permissive 通知但不强制控制

disable 禁止访问控制

iptables

表:filter 用于过滤    nat 用于地址转换

链:INPUT 进入本主机方向

OUTPUT 本主机发出方向

FORWARD 转发方向

PREROUTING 路由前转换

POSTROUTING 路由后抓换

选项:-i -o 接口

      -s -d ip地址/子网掩码

      -p tcp/udp协议

         --sport 源端口

 --dport 目的端口

      -j 动作

 ACCEPT 允许此规则匹配的数据包通过

DROP 丢弃此规则匹配的数据包

REJECT 拒绝此规则匹配的数据包并返回rst包

SNAT 源地址转换

DNAT 目的地址转换

MASQUERADE 动态源地址转换

 

tcpdump -r filename 从文件读取已抓取的数据包

tcpdump -w filename 将抓取的数据包保存至文件

tcpdump -v 显示详细信息

tcpdump -n 不将ip地址解析为主机名

tcpdump -i 接口

tcpdump host 主机

tcpdump port 端口

 

 

系统启动过程与故障修复

系统启动过程简述

BISO 选择启动设备

MBR 硬盘可引导扇区

GRUB Linux 系统可引导工具

内核

init或者systemd

service服务或者systemd服务

启动tty等待用户登陆

更新内核版本

rpm方式更新

   安装速度快,没有最新版本

源码编译方式更新

   可以使用最新版本,编译时间长

 

shell部分

shell是命令解释器,翻译用户的命令给内核执行,并将结果返回给对方

shell脚本好处:组合系统命令实现自动化功能,组成脚本的基本元素是命令,不用深入掌握系统函数库

内建命令与外部命令:内建命令不会创建子进程,但是对子shell无效,外部命令会创建子进程。

 

管道与重定向

管道符:|

重定向符号:< 输入重定向

> 输出重定向

>>输出重定向,追加方式

join 连接两个字符串

 

转义和引用:特殊符号,转义符 / ,引用符号’’ ”” 

函数:对重复利用的代码进行封装,函数的定义方法是 函数名(){}

函数的使用:直接使用函数名

 

运算符

运算符 +-*/ % 加减乘除取余

shell运算的弊端:支持整数运算,但和编译语言比起来效率较低,对浮点运算支持不好

 

 

循环

while循环:while循环根据while判断结果是否继续执行

判断结果为命令的返回值,如果为0则循环会继续执行

如果判断结果一直为真0,无法到达循环称死循环

for循环:shell的for循环使用遍历方式,for...in...格式

for循环支持c语言写法,需要使用(())格式

支持使用break,continue对循环进行控制

for循环支持嵌套使用

 

 

进程与内存查看

ps/ top 对当前系统的进程信息查看

内存查看命令

   free 查看内存系统使用率

   sar 显示更详细的系统运行状态,用于故障排除

常用第三方系统命令查看

   lftop 查看某一进程的网络流量

 

变量与环境变量

变量:shell变量无声明,销毁变量unset变量

变量的赋值:变量名=变量值

环境变量:PATH命令解释路径

环境变量的配置文件

  /etc/profile 系统环境变量的默认保存文件

  /etc/bashrc login shell执行初始化的配置文件

 

计划任务

一次性计划任务at

周期性计划任务cron

  查看周期性计划任务crontab -l

  编辑周期性任务 contab -e

 

 

测量与判断

test测试:可以书写为[]

可以使用[[]]扩展格式

文件测试

数字比较

if判断:基本原理:根据命令的返回值是否为0进行分支判断

        支持if...else...写法

        支持if嵌套写法

case分支:case分支一般作为if判断的补充

          case分支的结束符号是”;;”,它是”;”的转义形式

 

正则表达式与文本搜索

元字符大全

. 单个字符

* 一个(包括零个)它前面的字符

[...] 匹配方括号中的任意字符

^  匹配行开始

$  匹配行结尾

\  转义特殊字符

{…}  匹配出现次数

+ 匹配前面的正则表达式出现一次或多次

?  匹配前面的正则表达式出现零次或一次

|  并列匹配

()  分组

POSIX  字符类

 

sed基础

基本语法:sed ‘cmd’ filename

  sed -e ‘cmd’ -e ‘cmd’ filename

sed的工作方式:模式空间

sed命令:s 替换

d 删除

a 追加

i 插入

c 更改

n 下一步

r 读文件

w 写文件

q 退出

y 替换

p 打印

 

sed高级命令

多行命令

N:将多行追加到模式空间进行处理

D:删除对行模式空间的第一个字符至第一个换行符,并返回到脚本的开头执行

P:输出模式空间中的第一个字符至第一个换行符

保持空间模式

h:将模式空间中的内存存储至保存空间,并覆保持空间的内容

H:将模式空间中内容存储至保存空间,并追加到保持空间的内容

g:将保持空间的内容存储至模式空间,并覆盖模式空间的内容

G:将保持空间的内容存储至模式空间,并追加至模式空间

x:交换模式空间和保持空间的内容

条件与分支

:标签

b branch命令用于在脚本中将控制权转移到另一行,如果没有指定标签就转移脚本的结尾

t 测试命令,如果当前匹配地址的行进行了成功替换,test命令就转移到标签处,如果没有指定标签就转移到脚本的结尾

 

AWK

工作方式

BEGIN{} 模式用于处理文件前的预处理

{} 模式用于对文件每行进行处理

BED{}模式用于处理完文件之后的操作

运算符

算数运算符   关系运算符   布尔运算符

循环

支持while循环

支持for循环

支持break循环,continue循环

系统变量

FS字段分隔符

OFS输出字段分隔符

RS记录分隔符

ORS输出记录分隔符

条件

和c语言用法相似

语法格式为:if(判断)

支持if……else……用法

支持if嵌套

函数

算数函数

随机函数

字符串函数

你可能感兴趣的:(Linux结构梳理)