admin管理员组文章数量:1651573
第一章、linux系统的安装
1.3lunix的内核
1)任何版本的Linux都使用相同的内核----http://WWW.kernel/
2) 4.13.5------主版本.次版本 修改版本
3) 主,次版本中有一个数字为基数:发展中版本
4) 主,次版本两个数字为偶数:稳定版本
linux的完整系统包括:
1、linux kernel -------redhat 红帽 centos免费 ubuntu 乌班图
2、free software
3、documment
遇到问题
1、谷歌、百度搜索
2、查找参考资料
3、查找linux的内部文档
4、看报错命令
1.5虚拟机的安装
1)创建一个虚拟硬盘---虚拟硬盘文件类型
VDI(virtualbox 磁盘映像)
VHD(虚拟硬盘) ------------widow的文件
VMDK(虚拟机磁盘)--------VMware的文件类型
2)存在在物理硬盘上
动态分配----
固定大小
linux版本推荐使用centos7,下载地址为Download
虚拟机推荐vm pro16(比较稳定)
1.6 centos7的安装
热键
主机组合键:ctrl+alt
第二章、linux基础之权限操作
2.1用户的基本操作
1)添加一个用户:
用法:useradd 用户名
2)设置用户的登入密码:passwd(管理员)
--用法:passwd 用户名
3)查看当前登录的用户:whoami
4)切换用户:su
--用法1:su 用户名 用法2: su (直接切换管理员)
---特点:管理员切换普通用户不需要密码,
管理员登入(#),普通用户登入($)
2.2shell快捷键
Ctrl+a:调到命令行的开头
Ctrl+e:调到命令行的末尾
Ctrl+u:将光标处到命令行开头的内容清除
Ctrl+k:将光标处到命令行结尾的内容清除
Ctrl+r:在历史记录列表中搜索某一个命令
Ctrl+l:清屏
history:显示历史命令
!{number} //直接执行曾执行的命令
2.3lunix系统中的目录结构
/boot linux启动时,需要的文件 /srv 压缩过的文件
/dev 设备文件 /sys 系统文件
/etc 配置文件 /usr 安装的软件,共享库
/home 用户家目录 /var 可变数据,日志文件
/media 媒体文件 /tmd 临时文件
/mnt 挂载文件 /usr/bin 普通用户可以使用的
/opt 第三方软件 /usr/sbin 超级用户可以使用的
/proc 虚拟化文件 /usr/bin 32库文件
/root 管理员的家目录 /usr/lib64 64库文件
/run 进程文件
命令行:供用户输入命令得界面,其本身只是接受输入,然后传递给命令解释器
shell:程序,用户和操作系统之间提供了一个面向行的可交互接口
1.使用通配符和补全指令(lunix下大小写字母是区分滴)
“*”用于匹配文件名中任意长度得字符串,ls *.cpp
“?”只匹配一个字符,ls text?
“【】”用于匹配出现在括号内所有得字符 ,ls 【a1】
2.4查看目录和文件
1)显示当前目录路径:pwd
2)列出目录内容:ls
ls 列出当前目录中的所有文件和子目录
ls -a 显示所有文件,包含隐藏得文件
ls -l查看文件得各种属性
ls -h:显示文件大小
2.5改变目录:cd
---: /usr/bin 进入usr子目录
---: ..返回上一级目录
-----: - 返回到之前的目录
---: cd or cd ~ 到用户所在的家目录
绝对路劲(详细的目录写全)和相对路劲(文件下的路径0000000000000000000000000000000000000000000000000000000)
创建一个文件:touch
2.6文件or目录(创建、复制、移动、删除)
d:表示目录
-:表示文件
l:连接文件
b:设备文件,提供存储的接口设备
c:设备文件,提供单行的接口设备---键盘鼠标
活动 | 单来源 | 多来源 |
复制文件 | cp file1 file2 | cp file1 file2 file3 dir (5) |
移动文件 | mv file1 file2 (1) | mv file1 file2 file3 dir (4) |
删除文件 | rm file1 | rm -f file1 file2 file3 (5) |
创建目录 | mkdir dir | mkdie -p par1/par2/dir (6) |
复制目录 | cp -r dir1 dir2 (2) | cp -r dir1 dir2 dir3 dir4 (4) |
移动目录 | mv dir1 dir2 (3) | mv dir1 dir2 dir3 dir4 (4) |
删除目录 | rm -r dir1 (2) | rm -f dir1 dir2 dir3 (5) |
注: | (1)结果为重命名 (2)需要使用“递归”选项来处理来源目录 mkdir -p dir (3)如果dir2存在,则处理结果为移动,否则,则结果为重命名 (4)最后一个参数必须是目录 (5)请谨慎使用“force”选项,系统将不会提示你确认操作 (6)使用创建文件选项应小心,无法捕获键入错误 |
2.7查看文件
查看文本文件:cat 、more、less
cat显示文件得所有内容
tac //从最后一行开始显示
-A //整合命令-vET
-b //列出行号,但是空白行不标志行号
-E //将结尾得断航字符($)显示出来
-n //列出行号,空白行也会标志行号
-T //将tab按键以~i显示
-v //列出一些看不出得特殊字符
more会一页一页显示文件内容
nl //显示得时候,顺便出现行号
- ba //无论是否空行,都列出行号
-bt //如果有空行,则布列出行号
-nln //行号在屏幕最左方
-nrn //行号在屏幕最右方,行号前面加0
-nrz // 行号在屏幕得最右方
-w // 缩进缩少位
更好得文本阅读工具:less
阅读文件得开头:head
Head -n 文件名,显示文件开头得前n行
Tail -n 文件名,显示文件末尾得后n行
常用在/var/log/massages
wc //显示文件的行数,数字,字节
-c :只显示字节
-w :只显示字数,一个字被定义为由空白、跳格或换行字符分隔得字符串
-l :只显示行
查找文件内容:grep
grep 关键词 文件名
2.8VIM编辑器
i键插入
esc退出
u撤销
x删除
v选择文本
y复制
yy复制当前行
dd删除光标所在行
p粘贴
:w保存
: wq保存退出
: q!强退
gedit来进行编辑---需要x-widows的支持
2.10文件处理----软连接
软连接==windows下的快捷方式
特点:
1、可以对不存在文件创建软连接
2、可以对文件或者目录创建软连接
3、删除了软连接,不会影响他的指向文件
4、删除了指向文件,该软链接就会变成死链接
ln -s oldfile newfile
2.10.1文件处理-----硬链接
lnode编号
文件名:给人看的
lnode编号:给机器看的
硬链接:多个文件对应一个lnode编号
对多个文件中的某一个文件进行修改时,其他文件也会同事发生更改,多用户协同一致工作
特点:
1、不能对目录进行硬链接的创建
2、只能对已经存在的文件进行硬链接的创建
3、删除一个硬链接文件,不影响其他相同的lnode编号的文件
创建硬链接
link oldfile newfile
ln oldfile newfile
2.11关机
要注意的事项:
-观察系统的使用状态
-通知在线使用者关机的时间
-正确的关机指令使用
关机的指令
-数据同步写入磁盘-sync
-常用的关机指令:shutdown
- t 添加秒数,几秒后关机
- k 不是真关机,而是发出告警信息
- r 在系统服务都停止后,重启
- h 在系统服务都停止后,关机
- f 关闭并开机以后,强制略过磁盘检查
- F 重启后,强制进行磁盘检查
-c 取消已经在进行的shutdown指令内容
shutdown -h now
shutdown -h 12:00
shutdown -h +10
Shutdown -r +30 ‘the system will reboot’
Shutdown -k +30 ‘the system will reboot’
-重启,关机:reboot,halt,poweroff
服务等级
-init0 //关机
-init6 //重启
-init3 //纯文本模式
-init5 //含有图像接口
2.12帮助文件--man
章节 | 内容类型 |
1 | 用户命令(可执行命令和shell程序) |
2 | 系统调用(从用户空间调用的内核例程) |
3 | 库函数(由程序库提供) |
4 | 特殊文件(如设备文件) |
5 | 文件格式(用于许多配置文件和结构) |
6 | 游戏(过去的有趣程序章节) |
7 | 惯例、标准和其他(协议、文件系统) |
8 | 系统管理和特权命令(维护任务) |
9 | lunix内核API(内核调用) |
其余的帮助文档
pinfo
/usr/share/doc
第三章、linux基础权限操作
3.1权限
-rw-r--r--. 1 root root 2380 3月 11 11:29 /etc/passwd
权限/ 连接/所有者/所属组容量-默认单位B/修改的日期/文件名
1)文件的权限属性(左数第一个):
d:表示目录
-:表示文件
l:连接文件
b:设备文件,提供存储的接口设备
c:设备文件,提供串行的接口设备---键盘,鼠标
Rwx,读、写、执行,没有权限就是-
第一组rwx:文件所有者的权限
第二组rwx:文件所属组的权限
第三组rwx:文件其他人的权限
例子:假设text1,text2,text3同属于textgroup这个群组,如果又以下面的两个文件,请说明两个文件的拥有者与相关的权限为何
-rwxr-xr-- 1 text1 textgroup 5238jun 19 10:25 lewis。Txt
lewis。txt的拥有者为text1,而所属群组为textgroup
1、text1可以对次文件可读可写可执行
2、同组的text2、text3两个人与text1同样是textgroup的群组账号,则仅可读可执行,但是不能写(不能修改)
3、至于非textgroup这一个群组的人则仅可以读,不能写也不能执行
2)目录的权限:
r:具有读取目录结构列表的权限,可以查看目录下由那些文件
w:该权限对于目录来说是很大的
1、可以在该目录下新建新的文件和目录
2、可以删除已经存在的文件和目录
3、将已经存在的文件和目录重命名
4、移动该命令内的文件和目录的位置
x:是否可以进入该目录
如果我的目录如下
drwxr-xr-- 1 text1 textgroup 5326 un19 10:25 groups/
1、文件拥有者text1可以在本目录中进行任何工作
2、而textgroup这个群组的账号,例如text2,text3亦可以进入本目录进行工作,但是不能在该目录进行写入
3、other的权限虽然有r,但是没有x的权限,因此others的使用者并不能进入此目录
chown:
修改文件的拥有者,前提的是要有该拥有者
chown 拥有者 文件/目录
-R 递归修改
chgrp:
修改文件所属组前提是要有该组
-R 递归修改
chmod:
修改拥有者和所属组的权限
加减法:u/g/o +/-/= r/w/x
数字发:r=4,w=2,x=1 三位两位 一位
证明文件的rwx权限的特点
文件的拥有者,及时没有w权限,也可以强制写入,所属组和其他人不行
证明目录的rwx的权限的特点
如果一个用户对一个目录没有w的权限,是否可以编辑改目录中拥有着是自己的文件
3)默认权限--umask
umask:查看当前用户的umask权限: -S选项
0022 --- 拿走的权限
第一个数字表示特殊权限
022=rwxr-xr-x
默认创建文件和目录的权限,文件会拿走x权限
临时的修改:umask 0000
永久修改:/etc/bashrc
何时使用umask,当你和你的同事在编辑同一个文件时,需要将编辑权限从022改为002
4)linux中的特殊权限
当s出现在拥有者的x权限位置时候,表示拥有者有SUID的权限(SetUID)
当s出现在所属组的x权限位置时候,表示拥有者有SGID的权限(SetGID)
当s出现在其他人的x权限位置时候,表示拥有者有SBIT的权限(Sticky Bit)
SUID,临时获取文件拥有者的权限---只能诊断文件
SGID,既可以作用于目录,也可以作用于文件
作用于文件:SUID一样
作用于目录:继承父亲目录---目录会不停的继承
SBIT指的是,只有文件的拥有者,才能删除、修改该目录下的文件---只能针对目录(只能在其他人上修改)
S和T都有大学和小写之分
大写说明:没有x权限
小写说明:有x权限
SUID=4 SGID=2 SBIT=1
3.2linux中的用户账户管理
账号和组名:人看的
UID和GID:lunix看的
id:查看当前登入用户的UID和GID
当我们使用ls -l的时候,系统会根据/etc/passwd 和 etc/group文件的内容,找到UID和GID对应的名称,进行显示
如果随意修改了/etc/passwd下的用户和UID会发生什么情况
1)/etc/passwd:记录了linux上的所有的账号
sp:x:1000:1000:sp:/home/sp:/bin/bash
sp:用户名
x:早期这个部分放置的是用户的登入密码,现在密码放到/etc/shadow中
UID:0表示系统管理员,1--999保留给系统使用的ID,1000以上给一般使用者
GID:0表示系统管理员,1--999保留给系统使用的ID,1000以上给一般使用者
sp:使用者信息说明
/home/sp:用户家目录,用登入时,所在的目录
/bin/bash:用户在登入的时候,是否可以使用shell,如果不能使用shell,则会显示/sbin/nologin
1)/etc/shadow:记录了账户对应的密码
root:$6$gD5M.5G05C0qbjne$z5UItmegldht.5pU/2mqvVl1PoaZuF7QEG7IBraky0eF/WKEde1PUZ8EMrtCZ8U2ZBbpn6BDUT6E9RzmKIpTs1::0:99999:7: : :
1、Root:用户名
2、一串红色的字:经过加密的密码
3、最近更改过密码的日期:lunix中的日期,是通过1970年1月1号开始累加的日期
4、密码不能修改的天数:0表示随时可以修改,1表示1天内不能修改
5、密码需要重新被修改的天数:通过修改该值,可以强制用户修改密码
7、密码需要变更的告警天数:7天内系统会想用户发出告警
8、密码到期后,账号还可以使用的时间
9、账号失效日期:通过1970年1月1号开始累加的日期,到了时间后,无论密码是否过期,该账号就不能使用了
10、保留
2)/etc/group:记录了所有的组
root:x:0:
1、root:组名
2、x:组密码一般不需要
3、1000:GID
4、附属组
这些文件不建议直接进行修改,建议使用命令修改
3)创建一个组-groupadd
组的默认信息:/etc/login.defs
-g:指定gid
groupdel
groupmod -n newname oldname
gpasswd
-a为组添加用户 gpasswd -a 用户 组
-d 为组删除用户
4)linux用户创建--useradd
Useradd
-u:设置UID
-g:设置主要组
-G:设置附属组
-c:设置用户说明
-d:指定用户家目录
-s:指定用户shell
-e:账号失效日期,格式为:YYY-MM-DD
-f:指定密码是否失效,0表示立刻失效,1表示永远不失效
使用useradd后,会默认做以下几个操作
1、在/etc/passwd下建立相关的资料
2、在/etc/shadow写下密码的相关的参数
3、在/etc/group中写入和账号名一样的组
4、在/home下创建用户的家目录
5)Linux用户修改--usermod
usermod
-c:账号说明
-d:修改家目录
-g:修改主要组
-G:修改附属组
-a:与-G一起用,增加附属组
-l:修改用户名
-u:修改UID
-L:冻结账号
-U:解冻
6)linux用户密码--passwd
passwd用户名//所有人都可以通过改命令来修改自己的密码
-l:锁住该账号,在/etc/shadow中放密码的位置加个!
-u:解锁
-S:显示账号的密码参数
-n:接天数,设置多久可以不修改密码
-x:接天数,设置多久内必须修改密码
-w:接天数,设置密码过期前警告天数
-i:接天数,设置密码失效天数
6)chage可以修改和密码有关的时间参数
-L:查看一个账户和秘密有关的时间参数
-d:YYYY-MM-DD,修改最近一次更改密码的时间
-E:YYYY-MM-DD,修改账号的失效时间
-l:天数,设置密码几天后失效
-m:天数,设置密码至少保留几天
-M:天数。设置密码多久后,需要更新
-W:天数,设置密码过期前警告时间
删除一个用户--userdel
要彻底删除一个账号,比较麻烦
1、删除/etc/passwd;/etc/shadow文件中的内容
2、删除/etc/group;/etc/gshadow
3、删除/home/username;/var/spool/mail/username
4、删除该用户曾经来该linux中创建的文件
find进行搜索,先搜索,在使用userdel
-r 连同家目录和邮箱一起删除
3.3文件权限-getfacl和setfacl
Acl(Access Control List):针对单一使用者,设置单一文件或目录来进行rwx的权限修改
应用场景:当除root,group,other外新增加用户时需要使用acl
getacl:获取单一使用者,针对单一使用者或目录的权限
setacl:配置单一使用者,针对单一使用者或目录的权限
-m:配置acl参数
-x:删除单个文件的acl
-b:删除acl的配置
-R:递归配置acl参数
setfacl用法
Setfacl -m u:用户名:rwx 文件或目录
setfacl -m g:组名:rwx 文件或目录
setacl -m m:rwx 修改mask值
getacl文件名
mask的定义--权限上限
1、权限的集合(特点用户,特定组,所属组的并集)
2、如果mask中没有的权限,即使getfacl设定了,也不会有
第四章、linux基础操作
4.1Linux中的进程和服务
进程:已经启动的可执行的程序的运行实力
1、PID:进程的ID(每一个新进程都有一个唯一的PID)
2、PPID:父进程的ID
3、任何一个进程都可以创建一个子进程
4、在redhat 7以上,所有的进程父进程:systemd
在redhat 5.6以上,所有的进程父进程:init
ps用于显示当前进程状态
常用的选项:
-A :所有的进程均显示出来,与 -e 具有同样的效用;
-a :显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
x :通常与 a 这个参数一起使用,可列出较完整信息
-aux:列出所有进程
-ef:列出所有进程
-l:列出和当前用户有关的进程
-j 显示当前作业进程信息
PGID:线程组ID号
SID:会话ID号
PID:运行着的命令的进程编号
TTY:命令所运行的位置
TIME:运行着的该命令所占用的CPU处理时间
CMD:该进程所运行的命令
top可以查看实时的进程状态
运行中:
R:该进程正在运行或等待运行
睡眠:
S:正在休眠但是可以唤醒
D:正在休眠,而且不可以被唤醒,该进程被中断,可能会导致设备的异常状态
K:正在休眠,而且不可以被唤醒,该进程可以被中断
已停止:
T:进程被停止,但是可以通过其他进程进行恢复
T:正在被调试的进程
僵停:
Z:子进程在退出时向父进程发出信号,除PID外,所有资源全部释放
X:父进程获取子进程的机构,子进程可以完全释放,该状态进程中是看不到的
进程优先级
1、<高优先级
2、n低优先级
3、s包含子进程
4、+位于后台的进程组
ps -aux参数解释
[root@localhost tmp]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 193904 4592 ? Ss 20:11 0:01 /usr/lib/system
root 2 0.0 0.0 0 0 ? S 20:11 0:00 [kthreadd]
1、%CPU:占用的cpu使用率
2、%MEM:占用的记忆体使用率
3、VSZ:占用的虚拟记忆体大小
4、 RSS:占用的记忆体大小
5、TTY:中断的次要装置号码(minor device number of tty)
6、 STAT:该进程的状态
7、START:进程开始时间
8、 TIME:执行的时间
9、 COMMAND:所执行的命令
4.2linux中的会话和作业
进程:linux自身运行的独立的程序
交互进程:由一个shell启动的进程,可以在前台运行,也可以在后台运行
批处理进程:是一个进程序列,和终端没有联系
监控进程(守护进程):Linux系统启动时,启动的进程,并且在后台运行
作业:一个正在执行的进程,而且作业可以包含一个或者多个进程
作业控制:控制正在运行的进程的行为:如:挂起一个进程,等一会执行,这样用户就在可以再多个作业之间切换
&:在命令后面使用该符号,可以让命令在后台执行
jobs:可以查看正在后台运行的作业
-l:除了列出作业外同时列出PID
-r:列出仅仅在后台运行的作业
-s:列出仅仅在后台暂停的作业
Sleep 10000 延迟几秒
例子:date ;sleep 10000; date
ctrl+c:中断
ctrl+z:挂起
fg:将后台的命令调到前台来继续执行,不能放回后台了
%作业编号
bg:将后台暂停的命令继续执行
%作业编号
ps -j 显示当前作业进程信息
PGID:线程组ID号
SID:会话ID号
信号:传递给linux进程的操作
Kill -l显示可以传递给linux进程的所有的信号
常用:
kill -9 PID 杀死一个进程---强制
kill -15 PID 正常的方式终止一个进程
kill -2 可以control+c的操作是一样的
4.3Linux中的控制服务和守护进程
systemd:是所有进程的父进程(linux内核3.0以上的版本)
systemctl:用户管理各种类型的systemd对象,这些对象称为:单元
常用的单元:.service(服务单元).socket(套接字).path(路劲单元)
ssh:是一个协议 sshd:是一个进程
systemctl status sshd.service显示中有几个关键字------红帽7
loaded:单元配置文件以处理 active(running):正在运行 active(exited):配置成功
disable:开机不自启 static:无法启动,但可以通过某一个已经启动的单元来启动
红帽5.6
service sshd status
Chkconfig ssh on/off 开机自动启动
4.4分析和存储日志
日志:用于系统审核和故障排查------linux中的黑匣子
日志文件都是保存在/var/log目录中的(默认保存30天)
再red hat7中,系统日志消息由两个服务负责处理,他们是systemd-journald和rsyslogd
/var/log/massages ---大多数系统日志消息的日志
/var/log/secure ---安全和身份验证的消息和错误日志
/var/log/maillog ---与邮件服务器相关的日志
/var/log/cron ---与定期执行任务相关的日志
/var/log/boot/log ---记录和系统启动有关的日志
许多程序使用syslog协议将事件记录到系统,每一个日志都会根据消息类型和严重性分类
系统日志优先级概述 | ||
编码 | 优先级 | 严重性 |
0 | emerg | 系统不可用 |
1 | alert | 必须立即采取措施 |
2 | crit | 严重状况 |
3 | err | 非严重错误状况 |
4 | warning | 警告状况 |
5 | notice | 正常但重要的时间 |
6 | info | 信息性事件 |
7 | debug | 调试级别的消息 |
大多数日志由四个部分组成
1、记录日志的时间
2、发送该日志的主机
3、发送该日志信息的程序或进程
4、发送的实际消息
日志监控
tail -f /var/log/secure//显示最后10行,如果由新的内容加入,那么会继续输出
4.5打包和压缩
打包程序:tar
c:创建文档
t:列出存档内容
x:提取文档
f:filename:要操作的存档的文件名
v:详细信息
例子:
1)tar cf a.tar 路径 //创建一个压缩文件
注:如果路径是绝对路径就会产生报错tar: Removing leading `/' from member names
Tar –cfP //P可解决掉这个问题
2)tar xf a.tar //解压提取a.tar中的文件
3)tar tf a.tar //列出a.tar中的文件
注意:
1、选项前不用-;
2、创建之前请检查有没有重名文件
3、要使tar可以打包选定的文件,执行tar命令的用户必须要能够读取这些文件
tar支持三种不通的压缩方式:
gzip:压缩速度最快,历史最久,应用最广泛
bzip2:压缩成的存储文档小,可用性不如gzip
xz:最新的打包方式,提供最佳的压缩率
实际环境中3中情况都可能遇到,所以创建不一样格式的归档文件就有自己的选项
z用于gzip压缩:filename.tar.gz
j用于bzip2压缩:filename.tar.bz2
J用于xz压缩:filename.tar.xz
例子
tar zcf a.tar.gz a.tar //gz格式压缩
tar jcf a.tar.bz2 a.tar
tar Jcf a.tar.xz a.tar
4.6周期性计划作业---cron
cron:是一个进程,可以让linux周期性的执行某一个命令
crontab是一个命令,可以设置linux周期性的执行某一个命令
-u:设置某一个用户的周期性工作---root权限
-e:编辑crontab的工作内容
-l:擦活跃crontab的工作内容
-r:移除所有的crontab的工作内容,若仅要移除一项,请用-e去编辑
crontab的格式
minute hour day month week commd
minute:表示分钟,可以从0---59之间的任何整数
hour:表示小时,可以从0---23之间的任何整数
day:表示日期,可以从0---31之间的任何整数
month:表示月份,可以从0---12之间的任何整数
week:表示星期几,可以从0---7之间的任何整数,这里的0和7都代表星期日
commd:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
特殊字符 | 代表含义 |
*(星号) | 代表任何时刻都接受的意思*代表的是任何时刻 |
,(逗号) | 代表分隔字段的意思 例如:15,30,45 * * * * command代表的是每月每日每小时的15分 ,30分,45分的时候执行命令 |
-(减号) | 例如:10 7-10 * * * command代表的是每月每日的7点到10点 的10分整时执行命令 |
/n | 那个n代表数字,也就是每隔n单位间隔的意思 例如*/5 * * * * command代表的是每月每日每时每个5分钟执行一次 |
实例
第一行SHELL变量指定了系统要使用那个shell,这里是bash
第二行PATH变量指定了系统的执行命令的路径
第三行MAILTO变量指定了crond的任务执行信息将会通过电子邮件送给root用户,如果MAILTO变量的值为空,
则表示不发送任务执行信息给用户
4.6.1crontab配置原理
当使用者使用crontab这个命令来创建工作安排之后,该项工作就会被记录到/var/spool/cron/里面去了
而且是以账号来作为判别的
如:sp用户使用crontab后,他的工作会被记录到/var/spool/cron/sp中,另外,cron运行的每一项工作
都会被记录到/var/log/cron这个日志文件中
crond服务每分钟检测一次,所以cron会每分钟去读取一次/etc/crontab与/var/spool/cron里面的数据内容,
因此只要你编辑完/etc/crontab这个文件,并且将他存储之后,那么cron的配置就自动的来回运行了
如果你修改完的crontab或添加的crontab没有马上执行起来,那么你可以用
systemctl restart crond.service重启
4.7输入输出重定向
>file //标准输出重定向到文件---覆盖
>>file //标准输出重定向到文件---追加
2> //标准错误重定向到文件---覆盖
2>> //标准错误重定向到文件---追加
2>/dev/null //标准错误重定向到回收站
&>file //标准输出和标准错误重定向到文件---覆盖
>>file 2>&1 //标准输出和标准错误重定向到文件---追加
4.8管道符
字符:|这就是管道符
作用有两个:
1、承上启下:将上一个指令的输出作为下一个指令的输入来执行
2、搭配grep字符实现过滤功能
[root@localhost tmp]# ls -l /etc/ | more
4.9正则表达式和通配符
在linux中,有通配符和正则表达式,这是两个不同的概念
通配符:他是由shell解析,并且一般用于匹配文件名
正则表达式:是一个字符匹配标准,一些命令工具按此标准实现字符匹配,常用于支持正则表达式的工具,如grep,sed等,一般用于匹配文件中
内容
1.通配符
“*”用于匹配文件名中任意长度得字符串,ls *.cpp
“?”只匹配一个字符,ls text?
“【……】”用于匹配出现在括号内所有得字符 ,ls 【a1】
“【!….】”用于不匹配出现在括号内所有得字符 ,ls 【a1】
2.正则表达式
字符匹配
. :匹配单个字符
*:匹配其 前面一个字符出现任意次
?:匹配其前面的字符1和0
+:匹配其前面一个字符出现至少一次(在扩展正则表达式)
位置匹配
^;锚定行首
$:锚定行尾
\<或\b:锚定词首,其后面的任何字符必须作为单词首部出现
\>或\b:锚定词尾:其前面的任何字符必须作为单词尾部出现
\B:非单词的开头或结尾
^$:空白行
\:通常用于打开或关闭后续字符的特事故含义
3.分组():
(ab)*:匹配ab这个分组出现的任意次数
\1:引用一个左括号以及对应的右括号所包含的所有内容,同理还有\2,\3
4.grep只能用于查找文件中的内容
sed可以查找,然后替换或者插入想要的内容
----以下操作都不会对文件内容进行修改,,,sed -i会对文件的内容进行修改
a:新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
c:取代,c的后面可以接字串,这些字串可以取代n1,n2之间的行
d:删除,因为删除所以d后面不跟任何东西
i:插入i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p:列印,亦即将某个选择的资料印出,通常p会与参数sed
s:取代,可以直接进行取代的工作!通常这个s的动作可以
sed '2,5d' 123 删除文件123中2--5行
5.查找语句find
需求:查出所有用户sp拥有的所有文件,并且他们呢拷贝到/tmp/spfile目录中
用法:find 【路劲】【命令参数】【表达式】
参数
-name“文件名”:查找指定名称文件
-user用户名:查找指定用户的拥有的文件
-group组名:查找指定组拥有的文件
-mtime n:查找在n天前被修改的文件
-attime n:查找在n天前被访问过的文件
-type d/f/b/l/p:查找指定类型的文件
-empty:查找为空的文件
-size:按容量大小查找
-perm mode:查找指定属性的文件
-exec command{}\;:查找指定的文件并执行指定的命令
-newer 文件名:查找比指定文件新的文件
find /var/ -size +5M -exec {} \;
find /var/ -size +5M -exec cp -ar {} /tmp/spfile/ \;
第五章:Linux中的磁盘
5.1linux中的磁盘
磁盘分区:将硬盘划分成多个逻辑存储单元
逻辑存储单元:分区
分区的益处:
1、限制应用或用户的可用空间
2、允许同一块磁盘安装不通的操作系统
3、可以给虚拟内存一个单独的分区
4、提高硬盘的使用性能
MBR-Main Boot Record(主引导记录):
告诉硬盘如何进行分区,写在磁盘的第一个扇区中是卸载
特点:
1、支持4个主分区
2、使用扩展分区和逻辑分区可以支持15个分区
3、允许最大分区和磁盘大小为2T
主分区---扩展分区---逻辑分区
fdisk来进行分区--------------------------------------------- df -h(查看磁盘信息)
IDE接口硬盘:/dev/dh[a-z] SCSI接口硬盘:/dev/sd[a-z]
n (新建)> p(创建主分区) > 分区编号>起始分区>设置分区大小>p(查看)>w(保存)
d:删除
分区步骤
1、先分区
2、内核重新读取新的分区表
【root@localhost~】#partprobe /dev/sdb
3、创建文件系统,linux支持很多文件系统,ext4和xfs;widow下的文件系统NTSF FAT32
mkfs.ext4 /dev/sdb1 -----格式化
4、挂载,将文件系统连接到目录结构中-----将目录和一个硬盘进行挂钩
挂载
手动挂载:重启后会失效,用于检测已经格式化的设备,是否可以和预期一样的进行工作
mount 文件系统 挂载点 (目录)
永久挂载:就要将设备添加到/etc/fstab中去
该文件由六个部分组成
第一部分:要使用的设备---可以使用UUID,也可以使用设备文件blkid //查看设备的UUID号
blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询
,要使用这个命令必须安装e2fsprogs软件包
第二部分:写挂载点,已经存在直接写,不存在使用mkdir来创建
第三部分:文件系统类型
第四部分:挂载时,应用于设备的自定义选项,defauts时必须的
第五和第六部分:转存标志和fsck顺序
转存标志:用于生成设备内容的备份
0:表示不需要备份
1:表示需要备份
fsck:当有多个文件系统需要检测时,检查的顺序
0表示不需要检查,开机直接挂载
1表示检查后第一个挂载
2表示检查后第二个挂载
使用mount -a命令 检查书写格式是否有误
附发生的问题:
- Linux中格式化分区scsi磁盘,显示文件系统不可读,超级块无效
mkfs -n可以查看到备份超级块的位置
1)mkfs.ext4 -n /dev/sdc1 // 备份超级块去fsck修复分区
2) mkfs.ext4 -y /dev/sdc // 修复分区
3) mkfs.ext4 -S /dev/sdc // mke2fs -S重新生成超级块
5.2交换空间
交换空间---虚拟内存
1、存放内存中不活动的信息
2、内存写满时,使用虚拟内存
3、如果虚拟内存写满,操作系统会非常卡,甚至奔溃
创建步骤
1、创建分区
2、将分区类型设为swap--fdiskt(修改分区类型)
3、格式化---mkswap分区
4、挂载:临时和永久(fstable)
临时:
free命令:查看可用的内存和虚拟内存空间
swapon命令:激活内存空间
5.3逻辑卷-LV
逻辑卷和逻辑分区不是同一个概念
逻辑卷的作用:
正常的分区如果写满了,我们就可以要数据导入到更大的磁盘中,工作量非常大,而且十分危险
逻辑卷管理器(lvm)可以更加轻松的管理磁盘空间,来轻松的解决一个问题
1)lvm比传统硬盘存储的优点
1、灵活性容量---允许多个磁盘或分区做成一个逻辑卷
2、可伸缩的存储池---可以用命令来修改逻辑卷,而不是格式化
3、在线数据在分配---可以在线移动数据,可以在更换热插拔磁盘
4、设备命名方便
5、镜像卷---很方便的做数据镜像
6、卷快照---快照会把逻辑卷中的内容全部内容保存
2)逻辑卷--lv
物理卷(pv):用于注册基础的物理设备,映射到物理设备
卷组(vg):存储池,由一个或多个物理卷组成
逻辑卷(lv):根据卷租中空闲的物理空间进行分配
3)创建逻辑卷步骤:
1、使用fdisk创建一个硬盘,t设置分区类型为:linuxLVM
2、使用partprobe向内核注册新的分区
3、创建物理卷pvcreate /dev/sdb1
4、创建卷组vgcreate sp(卷组名字) /dev/sdb1
5、创建逻辑卷lvcreate -n sp_lv(逻辑卷名字) -L 10m sp(卷组name)
6、创建文件系统mkfs.ext4 /dev/sp/abc
7、创建挂载点----永久
查看物理卷信息-pvdisplay /dev/sdc1
查看卷组信息-vgdisplay sp
查看逻辑卷信息-lvdisplay /dev/sp/sp_lv
5.4扩展和减少逻辑卷大小--EXT4文件系统
如果卷组还有空间,直接给逻辑卷增加大小
1、lvextend -L +20M /dev/sp/lv_sp //增加20M
2、resize2fs /dev/sp/lv_sp //使增加的生效
如果卷组不够,需要先增加卷组的空间,再增加逻辑卷的大小
1、如果物理-fdisk,partprobe ,mkfs.ext4
2、创建物理卷
3、给原来的卷组增加物理卷-vgextend sp /dev/sdc2,然后vgdisplay
5.5扩展和减少逻辑卷大小-xfs文件系统
如果卷组还有空间,直接给逻辑卷增加大小
1、lvextend -L +20M /dev/sp/lv_sp //增加20M
2、xfs_growfs /dev/sp/lv_sp //使增加的生效
如果卷组不够,需要先增加卷组的空间,再增加逻辑卷的大小
1、如果物理-fdisk,partprobe ,mkfs.ext4
2、创建物理卷
3、给原来的卷组增加物理卷-vgextend sp /dev/sdc2,然后vgdisplay
物理卷(PV):用于注册基础物理设备,映射到物理设备
卷组(VG):存储池,由一个或多个物理卷组成
逻辑卷(LV):根据卷组中空闲的物理空间进行分配
5.6删除逻辑卷步骤:
1、取消挂载,umount/mnt/sp_m 同时删除 /etc/fstable 文件中的内容
2、删除逻辑卷 lvremove /dev/sp/abc
3、删除卷组 vgremove sp
4、删除物理卷 pvremove /dev/sdc1
5.7开机过程(centos7为例)
1、加载BIOS
系统固件加载BIOS(基本输入输出系统)然后进行开机自检(POST),并开始初始化部分硬件
BIOS:basic input output system,他是一套程序,写死到主板上的一个内存芯片中,这个内存芯片在没有通电的情况下也能将数据记录下来(ROM,非挥发性)
2、读取MBR
系统固件搜索磁盘上的主启动记录(MBR)
由于我们的系统软件大多配置在硬盘中,所有BIOS会指定启动的设备,好让我们可以读取磁盘中的操作系统内核文件,这时候就需要一个引导装载程序来处理内核文件加载(LOAD)的问题,这个引导装载程序就被称为BootLoader
哪这个BootLoader放在那里呢
放在我们系统的一个硬盘上的第一个扇区里面,也就是我们说的MBR:master boot record
3、启动加载器(gurb2)
系统固件从磁盘中读取启动(Boot Loader),然后将系统控制权交给启动加载器,在7中,我们的BootLoader是通过一个gurb程序来实现的
现在是gurb2.0,前一个版本是gurb0.97
Gurb2的主要功能:
1、提供菜单:选在不同的启动选项
2、加载内核文件:直接指向可启动的程序区段来开始OS
3、转交其他Loader(多系统时09)
4、显示菜单
启动加载器从我们的磁盘中加载其配置,然后向用户显示用于启动的可能配置的菜单,这就是我们在开机的时候会看到的让你上下选择什么什么版本
,什么什么东西的那个界面
我们可通过以下方式进行配置:
/etc/grub.d/
/etc/default/gurb
/boot/gurb2/gurb.cfg(非手动)
5、加载内核
在用户做出选择(超时)后,启动加载器会从磁盘中加载配置的内核及initramfs,并将其置于内存中
initeamfs是一个归档文件,里面包含了启动时所需要的必要的硬件的内核模块、初始化脚本等等,在7中,initramfs得到了加强,包含自身可用的整个系统
6、系统内部传递信息
这时候我们在启动加载器又将系统控制权交给内核,从而传递启动加载器的内核命令行中指定的任何选项,以及initramfs在内核中的位置
7、初始化
内核这时候会在initramfs中找到驱动程序的所有硬件,并且初始化它,然后作为PID1从initramfs中执行/sbin/init
PID1就是systemd,代表的是系统启动的第一个用户级进程,是所有其他进程的父进程
8、执行单元
初始化完成后,我们的systemd会执行initrd.target目标的所有文件,这些所以的东西都被包括在/sysroot上挂载实际的root文件系统中
9、系统回归
接下来内核root文件系统会回到之前挂载于/sysroot上的系统root文件系统,然后就是我们systemd的时间了,他会使用系统中安装的systemd副本来自定重新执行
10、开机界面
我们熟悉的输入账号密码的界面
5.8root密码破解-----基于红帽7
1、开机按e进入编辑模式
2、选择linux16哪一行,然后光标移动这一行未尾,添加一个参数\rd.break
3、然后按ctrl+x执行,执行之后会进入一个shell界面
4、设置root密码,设置密码一共5步:
1、重新挂载根目录为读写模式mount-o remount,rw /sysroot
2、切换到系统真正的根chroot/sysroot
3、修改密码passwd root
4、SElinux给所有文件夹标签,必须要有.autrelabel文件,touch /.autorelabel
5、退出编辑模式(两次),系统会自动重启exit两次
版权声明:本文标题:linux学习笔记第一部分 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729564564a1206438.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论