linux系统组成

linux系统组成
1、linux内核:是操作系统的核心,提供很多基本功能,linux内核的模块分为:存储管理、进程管理、文件系统、设备管理和驱动
2.shell:提供了用户与内核进行交互操作的一种接口。它接受用户输入的命令并把它送入到内核去执行
3、文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。
4、应用程序:标准的linux系统一般都有一套应用程序的程序集,它包含文本编辑器、编程语言、XWindow、 办公套件、Internet 工具和数据库等
Linux系统有7个运行级别(runlevel)
1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
5。查看运行级别用:runlevel 或 cat /etc/inittab 查看默认的运行级别
6。进入其它运行级别用:init N

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

Linux常见发行版本:
RedHat; Centos; Fedora;图形界面比较好; Ubantu; Oracle Linux;
Novell SUSE Linux; Debian GNU/Linux; Redflag-Linux; suse linux; rhel;
查看Linux内核版本:uname -r
查看Linux发行版本:cat /etc/issue
Linux优点:开源,运行起来安全、稳定、性能卓越;费用低廉;广泛的硬件支持优秀的开发环境
修改显示的语言:查看当前使用的语言 locale

修改语言
[root@centos6-8-1 ~]#  export LANG=en_US.UTF-8  //临时生效:修改语言
[root@centos6-8-1 ~]#  vim /etc/sysconfig/il8n  //永久生效

修改ip:
1.临时生效 (重启网口/重启OS,原配置IP会丢失)ifconfig 网口名 ip地址 netmask 子网掩码
首先查看Linux主机有哪些网口 ifconfig -a
真实网口有:eth0,eth1 eth3等等
虚拟的网口:lo,本地回环网口,用于测试本机的TCP/IP协议是否正常。也用于本机中 不同进程之间的通信,该网口IP一般是127.0.0.1。
检查TCP/IP协议是否正常,ping 127.0.0.1。127开头属于测试本机的TCP/IP协议是否正常
同一主机的不同网口,不要配置相同网段的IP地址,如果广播地址相同,就表示在同一网段
给网口配置IP地址的命令:ifconfig 网口名 IP地址 netmask 子网掩码
重启网口:有配置文件:ifdown eth1; ifup eth1 ;无配置文件:service network restart eth1
2.永久生效,修改配置文件
网口配置文件的目录: /etc/sysconfig/network-scripts
网口配置文件的名称: ifcfg-网口名

DEVICE=eth0         //定义网口名称
HWADDR=00:0C:29:4E:F0:11
TYPE=Ethernet
UUID=b151b8ca-6a36-42e1-9252-71f5a07c4cab
ONBOOT=yes         //OS启动时要不要激活该网口
NM_CONTROLLED=yes
BOOTPROTO=static  // 网口启动时使用什么协议,静态(static/none),动态(dhcp)
IPADDR=172.16.16.1 //静态IP   1这种数字不能写成01之类,会报错bad IPv4
NETMASK=255.255.0.0    //子网掩码if

如何重启网口
1、网口没有配置文件,通过service network restart重启,这个命令会将本机的所有网口都重启
还可以通过 ifconfig 网口名 down;ifconfig 网口名 up
2、网口有配置文件,就通过ifdown 网口名;ifup 网口名 去重启,例如 ifdown eth0;ifup eth0
ifconfig 查看所有已经激活的网口信息;ifconfig -a 查看所有网口的信息
ifconfig -eth0 查看eth0网口的信息
计划任务的作用
计划任务相对于闹钟
使用定时任务: 企业工作中经常需要将某些命令或脚本放入任务中自动执行;企业中需要定期执行服务器之间的数据同步操作
LInux中有两种使用计划任务方法:1.一次性at计划任务;2,周期性执行cron计划任务;常用的为周期性计划任务。
计划任务的使用方法:
crontab命令作用周期性执行任务
周期性计划任务创建步骤:
1.使用vim先创建一个任务文件;
文件格式:分钟 小时 日期 月份 星期几 执行命令
2.文件创建完成后,(crontab 文件名)执行编辑文件
3.查看等待执行的任务(crontab -l)查询任务
4.如不想执行(crontab -r)删除任务
磁盘分区概述
磁盘分区分为两种形式:MBR(Master boot Record)和 GPT(GUID Partition Table)
MBR分区的限制:
只支持4个主分区,总分区数不能超过15个;
只支持2TB以下的硬盘,不支持数据的扩容。
GPT分区的限制:
没有主分区的限制,支持2TB以上的硬盘;支持数据的扩容。
Linux系统下磁盘管理步骤: 分区- 格式化 - 挂载
MBR分区管理步骤:
查看新设备是否发现

ll /dev/sd*   //查看Kernel识别到的硬件设备
fdisk       -l      //查看现有磁盘分区列表

分区工具fdisk用法介绍,命令参数如下:
p 、打印分区表
n 、新建一个新分区。
d 、 删除一个分区。
q 、 退出不保存。
w 、把分区写进分区表,保存并退出

fdisk  /dev/sd*      //要分区的磁盘

磁盘管理

Linux下常用文件系统: Ext4,XFS
格式化:mkfs.文件系统   具体的磁盘
例如: #  mkfs.ext4  /dev/sdc1
挂载与卸载磁盘
#mount  查看挂载信息
#umount /dev/sdc1     //卸载
查看磁盘使用情况
df  -h   //以1024进制计算并以最合适的单位显示磁盘容量
df -H  //以1000进制计算并以最合适的单位显示磁盘容量
df -a  显示所有文件系统的磁盘使用情况
df -t  显示指定类型文件系统的磁盘分区
df -x  不显示指定类型文件系统的磁盘分区
查看某个目录的大小: du -hs /home
查看目录下所有目录的大小并按大小降序排列: du  -sm  /etc/* | sort -nr  |less
备注:sort命令是帮我们依据不同的数据类型进行排序
-n :依照数值的大小排序
-r: 以相反的顺序来排序

性能检测

检测CPU:
cat/proc/cpuinfo 显示出主机CPU详细参数,如内核、频率、型号等
检测内存:
cat/proc/meminfo 查看主机内存信息,如内存大小、交换空间、高速缓存等。
dd功能说明:读取,转换并输出数据。
带宽测试步骤:
下载speedtest -cli
https://github.com/sivel/speedtest-cli //解压*.zip文件 unzip *.zip
cd speedtest-cli
./speedtest.py
附加:
把下载的软件上传到电脑里: #yum install lrzsz -y
sz 命令发送文件到本地: sz filename
rz命令本地上传文件到服务器: rz filename
/内核模块:
uname内核信息获取
-a:显示内核所有信息
-v:内核的编译版本号
-r:内核的release发行号
-n;主机名
lsmod 列出内核模块

Linux结构

/shell是一个命令行解释器,在shell中可以直接调用linux系统命令。用户可以用shell来启动、挂起、停止甚至是编写一个程序
shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令
shell(壳)用户和内核打交道的接口(分为文本shell和图形shell)
shell是命令解析器 操作系统是人和硬件打交道的接口

Linux文件系统层次结构

整个Linux由根 “ / ”目录起始

绝对路径:/开头,不考虑当前位置,从/到达目标文件需要经过的文件系统目录的多有分支
例如: /home/hello/docs/share

相对路径:不以/开头,参考当前位置 ./当前目录 …/上层目录
常用文件

Linux文件系统采用分层的树形目录结构.即在一个根目录(通常用"/"表示),含有多个子目录或文件;子目录下又含有更下级的子目录或文件信息,一层一层地延伸.构成一棵倒置的树.
下面就简单来看看Linux根目录的子目录都用来存放什么属性的目录或文件吧!
bin   //存入普通用户可以使用的命令文件.目录/usr/bin 也可用来贮存用户命令。
sbin  // 一般存放非普通用户使用的命令(有时隔不久普通用户也可能会用到).目录/usr/sbin中也包括了许多系统命令。
etc   //系统的配置文件。
root  //系统管理员(root或超级用户)的主目录。
usr   //包括与系统用户直接相关的文件和目录,一些主要的应用程序了保存在该目录下。
home   //用户主目录的位置,保存了用户文件(用户自己的配置文件,文档.数据等)。
dev   //设备文件.在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。
mnt: //文件系统挂载点.一般用于安装移动介质,其它文件系统的分区、网络共享文件系统或任何可安装文件系统。
lib  //包含许多由/bin和/sbin中的程序使用的共享库文件。目录/usr/lib中含有更多用于用户程序的库文件。
boot  //包括内核和其它系统启动时使用的文件。
var   //包含一些经常改变的文件。例如假脱机(spool)目录、文件日志目录、锁文件、临时文件等等。
proc  //操作系统的内存映象文件系统,是一个虚拟的文件系统。当您查看它们时,看到的是内存里的信息,这些文件夹有助于了解系统内部信息。
initrd  //在计算机启动时挂载initrd.img映像文件的目录以及载入阻挡层需设备模块的目录。
opt    //存放可选择安装的文件和程序。主要由第三方开发者用于安装和卸装他们的软件包。
tmp    //用户和程序的临时目录,该目录中的文件被系统自动清空。
boot   //这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
dev    //dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
lost+found //这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
root   //该目录为系统管理员,也称作超级权限者的用户主目录。
我们要用到的很多应用程序和文件几乎都存放在usr目录下。具体来说:
/usr/X11R6 //存放X-Windows的目录;
/usr/games //存放着XteamLinux自带的小游戏;
/usr/bin //存放着许多应用程序;
/usr/sbin  //存放root超级用户使用的管理程序;
/usr/doc   //Linux技术文档;
/usr/include  //用来存放Linux下开发和编译应用程序所需要的头文件;
/usr/lib      //存放一些常用的动态链接共享库和静态档案库;
/usr/local   //这是提供给一般用户的/usr目录,在这里安装一般的应用软件;
/usr/man     //帮助文档所在的目录;
/usr/src     //Linux开放的源代码,就存在这个目录,爱好者们别放过哦;
/var      //这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。如果你想做一个网站,你也会用到/var/www这个目录。

文件类型与文件属性

linux文件属性
查看文件的所有属性: ls -hil 或 ll -hi
-i:显示文件索引点号(inode).一个索引节点代表一个文件;
-h:人类友好显示(human)
此处借用一张图片说明!

linux文件类型与扩展名:
常见文件扩展名: 代表的意义
.rpm:系统二进制软件包文件
.tar.gz : 压缩包文件(.tgz.tar.gz.也是压缩包文件)
.sh :Shell脚本文件,通过shell语言开发的程序
.conf ;系统服务的配置文件。
普通文件 : 以“-”符号开头; 包含纯文本、二进制文件等 使用echo\touch\cat创建的都是普通文件
d: 代表目录 使用mkdir创建目录 查看: ll -a 或 ls -la 或 ls -F
linux中常见的文件类型;
c:代表字符设备
b: 代表块设备文件,例如硬盘、光驱 创建一个块设备:mknod agan b 6 1 查看:ll -a 或ls -la
s: 代表套接文件,进程之间通信会用到。 查看 :ll /dev/log
p:代表管道文件;创建: mkfifo filename 查看:ll -a 或 ls -la
硬链接与软链接的作用
硬链接:(hard link),是通过索引节点进行的链接,在同一个分区/文件系统中,inode号码相同的文件一定是硬链接文件;硬链接文件就是文件的另一个入口;可以通过给文件设置硬链接文件,防止重要文件被误删;只针对文件,不针对目录。作用:为重要文件做一个快照
软链接:符号链接文件 , 类似windows的快捷方式,它本身没有内容,指向实体文件;软链接可以针对文件也可以针对目录
软链接读取数据的原理步骤
1.通过自身的inode,读到软链接信息,通过指向读到原始文件名,然后读到原始文件的inode
2.通过原始文件的inode,读到原始文件的内容(Block)
创建硬链接语法:ln 原始文件 目标文件
创建软链接语法:ln -s 原始文件 目标文件(目标文件不能事先存在,软链接文件的类型为 l “L”)。

awk
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。
awk的处理方式
awk一次处理一行内容;对每行可以切片处理

sed:
sed是一个流处理编辑器,是操作、过滤和转换文本内容的强大工具 (一次只处理一行内容)
命令行格式:
sed [选项] [sed内置命令字符] [输入文件]
选项说明:
-n:取消默认的sed的输出
-i:直接修改文件内容,而不是输出到终端
sed常见内置命令字符
p:打印相关的行,配合-n选项使用
a:在行后面另起一行新增行
i;在行的前面另起一行插入行
c:替换指定的行
d:删除指定的行
s:替换匹配的字符串
sed的高级命令;
{}:支持多个sed命令({command1;command2},多个sed命令用“;”分开)
n:读取下一个输入行
&:与符号,替换固定的字符串
():替换某种字符串
r/w:复制指定文件插入到匹配行/复制匹配行拷贝到指定文件里
q:退出sed

组的特点

1.管理员用户:默认是root用户,它的UID和GID均为0,系统安装完成后自动生成的,默认通过它就可以登录系统,拥有最高的管理权限。
2.普通用户: 由系统管理员root创建的,创建完成后可以登录系统,但默认无法创建、修改和删除任何管理员下的文件;只能在自己的家创建、删除、修改文件。UID从1000-65535
3.系统用户(或虚拟用户):安装系统后默认生成的用户,大多数不能登录系统,但它们是系统正常运行不可缺少的,他们的存在主要是为了方便系统管理,满足相应的系统进程对文件所属用户的要求;UID从1-999
用户的配置文件:
/etc/passwd:存储用户信息,每一行表示一个用户信息,有多少行就表示多少个用户信息
root :x :0 :0 :root :/root : /bin/bash
此文件由7个字段的数据组成,字段之间用“ :”分隔,格式如下:
1.用户名:2.密码 :3.用户标识号UID: 4.组标识号GID: 5.个人资料 :6.主目录 :7.命令解释器
/etc/shadow:存储用户密码信息文件
agan : !! : 17749 : 0 :99999 : 7: : :
格式如下:
1.用户名 : 2.密码:3.最近改动密码的日期 :4.密码不可被更动的天数 :5.密码需要重新变更的天数:6.密码需要变更期限前的警告期限 :7.密码过期的恕限时间 :8.账号失效日期:9.保留
与创建用户相关的目录:
/etc/skel 次目录用来存放新用户需要的所有基础环境变量文件的目录

Vim文本编辑器

作用:创建或修改文本文件,维护Linux系统中的各种配置文件,不要用Vim查看文件
Vim会先将整个文件搬到内存中再显示
Vim是Linux中最常用的文本编辑器
vi:类UNIX系统中默认的文本编辑器;Vim:vi编辑器增强版
Vim常用工作模式
命令模式:Vim启动后的默认模式,可以光标移动、字符串查找、以及删除文件内容等相关操作
可视模式:主要用来选择复制区块文本,按v(可视模式)或V(行可视模式)进入
替换模式:一种特殊的输入模式,每个输入的字符都会覆盖文本中已经存在的字符,按R进入

退出Vim的方法
:q 如果未对文件做改动则退出; :q! 放弃保存并退出
:wq x保存退出; :wq! 强制保存当前文件并退出
光标移动
w 按字(单词)移动光标;
^ 跳到行首
$ 跳到行尾 ;
gg 跳转到文件首行
G 跳转到文件末行尾
nG 跳转到第n行
剪贴就是先删除再粘贴,删除的内容会存到剪贴板

u撤销一步操作
U撤销对本行的操作 保存未退出可以撤销,保存退出不可撤销
“.” 重复上一个命令

查找时:1,10 s/old/new/g 查找1到10行所有的old替换为new
$ 表示最后一行
末行模式 d 删除 %d 删除所有
y 复制 1,5y 复制1到5行

:e                打开新的文件进行编辑
:r               在当前文件中读入其他文件内容
:e!              撤销对文件的所有操作
:w /tmp/123      另存为/tmp目录下重命名为123
:set nu          显示行号
:set nonu            取消显示行号

管理用户和组账户

用户和组的关系
每个账户有一个唯一的UID;每个组也有一个唯一的GID
多个账户可以属于同一个组,一个用户也可以属于多个组,但要有一个主要组
和账户相关文件:/etc/passwd、/etc/shadow
和组相关文件:/etc/group、/etc/gshadow
账户宿主(家)目录中 文件来源:新建用户账号时,从/etc/skel目录中复制而来
默认定义账户的属性文件:/etc/login.defs
/etc/passwd用于保存用户的账号基本信息
每一行对应一个用户的账号记录

用:来分字段
字段1表示用户名
字段2表示密码占位符x表示有密码
字段3表示用户账号的UID号
字段4表示所属基本组的GID号
字段5表示用户全名
字段6表示宿主目录(家目录) root家目录/root
字段7表示登陆shell信息
如果需要某个用户不能登录,可以设置它的登陆shell为/sbin/nologin或者/bin/false
以某个用户的身份启动程序,那么这个用户必须存在,但是与这个用户能不能登陆os,是没有任何关系的。这种用户是程序用户。这样可以提高系统安全性。
用户的分类:超级用户(管理员):root ;程序用户; 普通用户
UID:超级用户root的UID为0,非管理员的UID不是0;程序用户和普通用户的UID号范围是可以改的
/etc/shadow用于保存密码字串、密码有效期等信息每一行对应一个用户的密码记录

用:来分字段
字段1表示用户账号的名称
字段2表示加密的密码字串信息 !表示锁定了,不能登录
: 6 6 6j1qF5W7eZICdrB.D$vr3HTF0oHTuJ/g4BXgYii6WmnNpKoRt2seljJMxELBMcjH3ijfCvM8Zv5Qz2JN3TtrcUiGOK9C1hyM1wcMs5Q/:
第一部分的数字 6 6 6表示是用了什么加密算法
1 MD5
2a Blowfish
5 SHA-256
6 SHA-512
通过openssl可以生成密文密码 openssl passwd -1 密码
第二部分表示盐值,salt,提高密码安全性的,是随机生成的
第三部分是算法按照密码生成的,同一算法相同的密码是一样的
字段3表示上次修改密码的时间(从1970年到改密码时间相隔的天数)
字段4表示密码的最短有效天数,默认值是0(至少要用多少天才能改密码)
字段5表示密码的最长有效天数,默认值是99999
字段6表示提前多少天警告用户口令将过期,默认值7
字段7表示在密码过期多少天之后禁用此用户(宽松多少天)
字段8表示账号失效时间,默认值为空
字段9表示保留字段(未使用)
/etc/group保存组账号文件
一行对应一个组
第一部分表示组账号名
第二部分表示密码(不用设置)
第三部分表示GID
第四部分表示组中的用户(不一定完全显示)
/etc/gshadow保存组密码信息(无用)
主要组 用户至少属于一个组(主要组)默认情况下创建用户会自动创建一个同名的组,是其主要组
与用户相关的默认组,在/etc/passwd中的第四部分表示
次要组用户可以同时属于其他的组,在/etc/group文件的第四个字段定义
mail 可以查看当前用户的邮件
/etc/skel/*文件 :新建用户账号时,这里面的(隐藏)文件会自动复制到家目录

/etc/login.defs文件:对账户初始的属性设置,设置普通用户的UID和GID范围等
查看文件/目录权限及归属
访问权限
可读(read):允许查看文件内容,显示目录列表
可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或目录
可执行(execute):允许运行程序、切换目录
归属(所有权)
文件拥有者(owner):拥有该文件或目录的用户账号
属组(group):拥有该文件或目录的组账号
其他人(others):除了属主和属组之外的其他人 (文件的owner和group可以没有任何关系)
目录的内容是目录下的文件名或者目录文件名,有没有权限删除文件,或者修改文件名,移动文件,需要查看该文件所在的目录是否有写权限

文件目录高级操作

输入输出重定向
标准输入(stdin)和标准输出(stdout)
指令:基本的计算机操作,加减法等
程序:指令的集,一般有执行属性
进程:程序的实例,是执行程序的过程
查看进程:ps -ef
cat的工作原理:接受输入,然后输出。输入什么内容就会输出什么内容
交互式硬件设备
标注输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
文件描述符:是一个整数,用来描述一个进程打开文件。每个进程都有文件描述符

ulimit -a    //进程级别  每个进程最多可以打开多少个文件
open files            (-n) 1024     //这是Linux默认的值
ulimit -n //数值  就可以修改.例如   ulimit -n 2048
open files        (-n) 2048    //系统级别,最多可以打开多少文件
sysctl -a | grep "fs.file-max"  //这个值可以修改
sysctl fs.file-max=数值

">"会覆盖原来的内容
">> "不覆盖原来的内容
/dev/null 过滤标准错误信息 黑洞文件(任何东西给它都会消失) 用来屏蔽输出
/dev/zero 用来创建指定大小的文件
echo 在屏幕上显示一段文字或指定内容
echo 【-n】 字符串
常用命令选项
-n 输出之后不换行,echo默认换行
-e 设置颜色
\ \ 的作用,命令的续行或转义,将特殊符号的特殊功能去掉,只表示特殊符号本身
\a 警告
\n 换行
\t 加一个水平Tab
\v 加一个垂直Tab

进程的后台管理

一、当在前台运行某个作业时,终端会被该作业占据,从而需要再开一个终端来进行其他的操作,为了避免这种不方便我们可以将作业放到后台执行,主要有两种方式
1、&命令
sh test.sh &
该命令将脚本放到后台执行,但是标准输出还是会显示到当前终端,影响用户操作,所以最好是将输出重定向到其他文件 sh test.sh &>/dev/null
如果需要查看输出结果,也可以定向到一个固定的文件中。
2、通过ctrl+z;bg等一系列的命令,将已经在前台运行的作业放到后台执行
如果一个作业已经在前台执行,可以通过ctrl+z将该作业放到后台并挂起。然后通过jobs命令查看在后台执行的作业并找到对应的作业ID,执行bg %n(n为通过jobs查到的作业ID)唤醒该作业继续执行。
该方式也存在结果会输出到终端上的情况,同样可以用重定向的方法解决
相关命令:
jobs------------查看在后台执行的进程
fg %n----------后台执行进程n调到前台执行,n表示jobnumber(通过jobs查看的进程编号,而非pid)
ctrl+z----------将在前台执行的进程,放到后台并挂起
bg %n---------将在后台挂起的进程,继续执行
ctrl+c----------前台进程终止
kill %n---------杀掉后台运行的进程,n表示jobnumber(通过jobs查看的进程编号,而非pid)

二、当用户注销或者网络中断时,终端后收到SIGHUP信号,从而关闭其所有子进程,以上两种方式会随着终端的关闭而退出,如果我们需要作业在后台执行并不受终端退出的影响,可以用下面两种方式。
1、nohup命令
nohup sh test.sh &>/dev/null &
nohup命令会忽略SIGHUP信号,从而终端退出时不会影响到后台作业
2、将作业挂到新的会话下面
(sh test.sh &>/dev/null &)或者将sh test.sh &>/dev/null &放到另一个脚本中运行都可以实现
将&也放入()后,我们会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的,通过ps查看发现新的作业的PPID是1而不是终端的PID,所以终端退出后不会影响我们的作业
shell脚本语言是实现linux/UNIX系统管理及自动化运维所必备的重要工具,系统底层及基础应用软件的核心大都涉及shell脚本内容;提升工作效率,适应日益复杂的工作环境,减少不必要的重复工作。

shell分类

Bourne shell :这是最早的shell,比较简单,功能比当前的shell要弱的多sh, ksh,Bsah, psh,zsh
C shell :C shell只要是在BSD版的Unix系统中使用,其语法和C语言相类似csh,tcsh
shell的第一个脚本:
#!/bin/bash
#1st program
echo “hellow word”
脚本执行方式:
chmod +x test.sh 赋予执行权限
./test.sh 执行脚本
bash test.sh 通过bash调用执行脚本

快捷键列表:
ctrl+c  //强制终止当前命令
ctrl+l  //清屏
ctrl+a   //光标移动到命令行首
ctrl+e   //光标移动到命令行尾
ctrl+u   //从光标所在位置删除到行首
ctrl+z   //把命令放入后台
ctrl+r  //在历史命令中搜索
Tab    //命令补全/文件名补全

Bash变量
变量: 是计算机内存的单元,其中存放的值可以改变–可变的量。
变量让你能够把程序中准备使用的每一段数据都赋值给一个简短、易于记忆的名字,因此他们十分有用。
变量命名规则:
变量名必须以字母或下划线开头,且只能由字母、数字和下划线组成。
变量名的长度不得超过255个字符。
变量名在有效的范围内必须是唯一。
在bash中,变量的默认类型都是字符串型。
变量分类
用户自定义变量:
变量定义:变量名= 变量值
变量调用: echo 变量名
变量查看: set (显示所有变量)
set| grep 变量=变量名
变量删除: unset 变量名
环境变量:
设置环境变量: export 变量名=变量值
查看环境变量: set (显示全部变量)
env (只能看到环境变量)
目录与文件相关命令

cd    //显示当前目录的名称或将其更改,可以使用\切换到当前磁盘根目录
pushd   //保存当前目录,然后对其进行更改
dir     //显示一个目录中额文件或子目录
tree    //以图形模式显示驱动器或路径的目录结构
mkdir   //创建目录
rmdir   //删除目录
rename/ren   //重命名文件、文件夹
move:将文件从一个目录移动到另一个目录
type:显示文本文件的内容
copy:复制文件
del: 删除文件

其他常用命令
ping:测试ip或域名的连通性
ipconfig:查看本地网卡信息
net user:查看有哪些用户
net start:查看开启了那些端口
tasklist:显示当前运行在本地和远程主机上的进行、服务、服务各进程的进程标
echo:显示echo信息
quser: 查看当前登录的用户

网络架构特点

windows的网络架构分为两大类:
1.工作组架构:适用于小型企业的网络,系统默认的架构,组内的PC操作系统可相同、可不同,使用共享或分件分布的方式进行管理;组用户只能在本机登录组架构只能管理本机用户。
**2.域架构:**适用于大型的网络,C/S(客户端/服务端)的管理方式,只有服务器版本才可以安装域服务器,例如Windows Server2003、Windows Server2008、Windows Server2012、Windows Server2016等。但Windows Server2003、Windows Server2008除WEB版本外,不可以安装域控。
组策略与域策略特点
组策略是一个能够让系统管理员控制管理用户工作环境的技术。通过它可确保用户拥有该有的工作环境,也可限制用户。组策略内包含着计算机配置和用户配置,计算机配置只对计算机环境有影响,用户配置只对用户工作环境有影响。
可以通过两个途径设置组策略:
1、本地安全策略,这个策略内的计算机配置只会被应用到这台计算机,用户配置会被应用到此计算机登录的所有用户。
2、域安全策略:这个策略会被应用到域内的所有计算机与用户,而组织单元的组策略会被应用到该组织单元内的所有计算机与用户。
注:对加入域的计算机来说,如果其本地计算机策略的设置与域或组织单元的组策略设置有冲突的话,则以域或组织单元组策略的设置优先,也就是此时本地计算机策略的设置无效;域控制器安全策略,针对林下的域控生效。
域控制器搭建:
安装域控制器的前提条件:
1.必须是服务器版的操作系统,但WEB版本除外
2.必须具备静态IP地址;至少具备一个NTFS文件系统
3.没搭建DNS服务器时,首选DNS项必须指向自己
安装域控制器的命令:dcpromo
安装时的注意事项:
1.选择“新林中的域”
2.域名必须为xxx.xxx例如; 360college.com
3.企业中规定数据库文件与日志文件,建议不能再同一盘符下
4.安装完成后,一定要立即重启。重启后域控才能生效。
域客户端设置
客户端配置:
1、IP地址要与服务器的IP地址在相同网段,可以ping同服务器
2.首选DNS项要指向服务器的IP地址
3.计算机右键属性–更改–域--输入域名—确定–弹出窗口—输入用户名和密码(此用户名和密码是域给创建的)
备注: 如果不能加入域,请关闭服务器的防火墙。
/综合服务器实战项目

日志分析

1、安全日志 /var/log/secure
作用:安全日志secure包含验证和授权方面信息
分析:是否有IP爆破成功
2、用户信息 /etc/passwd
内容含义:注册名、口令、用户标识号、组标识号、用户名、用户主目录、命令解释程序
分析:是否存在攻击者创建的恶意用户
3、命令执行记录 ~/.bash_history
作用:命令执行记录 ~/.bash_history
分析:是否有账户执行过恶意操作系统命令
4、root邮箱 /var/spool/mail/root
作用:root邮箱 /var/spool/mail/root
分析:root邮箱的一个文件,在该文件中包含大量信息,当日志被删除可查询本文件
5、中间件日志(Web日志access_log)
nginx、apache、tomcat、jboss、weblogic、websphere
作用:记录访问信息
分析:请求次数过大,访问敏感路径的IP
位置:/var/log下 access.log文件(apache默认位置)
位置:/var/log/nginx下 access名称日志(nginx日志位置)
位置:tomcat、weblogic等日志均存放在安装路径下logs文件下
访问日志结构:访问IP—时间—请求方式—请求路径—请求协议----请求状态—字节数
6.登陆日志(可直接使用命令调取该信息,对应命令last/lastb)
位置:/var/log/wtmp #成功连接的IP信息
位置:/var/log/btmp #连接失败的IP信息
7.cron(定制任务日志)日志
位置:/var/log/cron
作用:查看历史计划任务(对该文件进行分析调取恶意病毒执行的计划任务,获取准确时间)
8、history日志
位置:~/.bash_history
作用:操作命令记录,可筛查攻击者执行命令信息
9、其他日志
redis、sql server、mysql、oracle等
作用:记录访问信息
分析:敏感操作
典型应用程序的目录结构

/usr/bin    //普通执行程序文件
/usr/sbin   //服务器执行程序文件和管理程序文件
/etc        //应用程序配置文件
/var/log    //日志文件
/usr/share/doc  //应用程序文档文件
/usr/share/man  //应用程序手册页文件

Linux原理及应用相关推荐

  1. linux原理与应用期末考试,武汉大学计算机学院2009-2010学年第一学期期末考试《Linux原理与应用》期末考试试卷(共8套,有答案)...

    内容简介: Linux 期末考试试题(共8套,有答案) Linux 期末考试试题(一) 一.选择题 (每小题2分,共50分) 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/N ...

  2. linux应用程序原理,LINUX原理及应用:第15章 XWindow及Genie应用程序

    <LINUX原理及应用:第15章 XWindow及Genie应用程序>由会员分享,可在线阅读,更多相关<LINUX原理及应用:第15章 XWindow及Genie应用程序(12页珍藏 ...

  3. linux原理与应用 武汉大学,Linux原理与应用 郑鹏 武汉大学出版社 9787307060876

    商品描述: [图书描述]: 本书共分为两个部分,第一部分包括第1-6章,介绍了Linux原理:第二部分包括第7-14章,介绍了Linux应用技术. [编辑推荐]: 由于Linux属于自由软件,可免费获 ...

  4. linux原理与应用 武汉大学,Linux原理与应用(计算机科学与技术系列教材)

    导语 Linux系统高效灵活,可在多种硬件平台上运行,是当今最流行的操作系统之一.由于Linux属于自由软件,可免费获得源码,又具有Unix的全部功能,所以Linux是我们学习操作系统的首选. 本书详 ...

  5. Linux原理与应用郑鹏,计算机科学与技术系列教材:Linux原理与应用

    本教材共分两个部分,第一部分包括第1章至第6章,系统介绍了Linux原理:第二部分包括第7章至第14章,全面介绍了Linux应用技术.第1章简单介绍了Linux的发展历史,特征和开发过程:第2章详细分 ...

  6. 认真学习系列:Linux原理——《趣谈linux》学习笔记

    1.电脑一通电,先运行主板上ROM(只读存储器)里写死的程序BIOS,BIOS去找要运行什么操作系统,运行操作系统的第一段代码,创建0号进程,它是这次开机所有进程的爹, 2.然后操作系统代码里先初始化 ...

  7. 推荐一本经典的操作系统和Linux原理书

    总是有童鞋问我看Linux内核和OS原理哪本书好,我的推荐是: operating systems 3 easy pieces. 这本书的网站是: http://pages.cs.wisc.edu/~ ...

  8. 【Linux原理】Linux中硬链接和软链接的区别和联系

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的 ...

  9. linux原理 培训,Linux容器技术原理和使用

    1.1 隔离和共享 在一个多员共用的开发环境或者一台服务器运行多个逻辑隔离的服务器进程.谁的运行环境也不希望影响到另一个谁.也就是一个物理机器需要虚拟化出多个环境或者容器.通过提供一种创建和进入容器的 ...

最新文章

  1. 将深度学习低延迟推理性能提高一倍
  2. Nature:承磊/李猛等发现产甲烷古菌的碳代谢新途径
  3. 第 13 章 编码风格
  4. Apache Kafka-消费端_顺序消费的实现
  5. maven项目中如何直接访问某一个页面_整一个自己的docker镜像
  6. 神策智能推荐 | 运营后台,你的智能分发“万能助手”
  7. mailcore -- POP
  8. springboot 单测加入参数_Spring Boot集成Elasticsearch实战分享
  9. webpack-dev-server 搭建本地服务以及浏览器实时刷新
  10. 论文浅尝 | 主题驱动的分子图表示对比学习
  11. JavaScript——面向对象之继承(原型对象)与多态(重载、重写)
  12. Arturia V Collection 8 for mac - Arturia系列合成器插件大合集
  13. Jquery读取.Net WebService Json数据
  14. mysql 表单记录主键重新从1开始排序
  15. windows系统安全基础
  16. 如何获取天猫/淘宝商品历史价格信息
  17. 【codeforces 417D】Cunning Gena
  18. pandas学习-变形-task15
  19. Chtholly Nota Seniorious
  20. 飞浆领航团AI达人创造营第01课|让人拍案叫绝的创意都是如何诞生的?

热门文章

  1. mysql 添加外键 完整_详解mysql添加外键的方法
  2. 3步!PDF Converter Master for Mac6.2中文激活版满足您一切pdf转换需求!
  3. python爬取同花顺_python 爬虫--同花顺-使用代理
  4. 论文中的对比柱状图的绘制
  5. Unity中的UGUI源码解析之事件系统(3)-EventData
  6. PHPCMS_V9模板制作模板列表
  7. jieba分词和文件读写
  8. 不断进阶:从“学渣”到P10,一位阿里工程师的逆袭故事
  9. 21天好习惯第一期-20
  10. 优质的亲子免抠元素素材推荐,不容错过