linux基本命令

linux基础
命令的组成
命令字 选项 参数
cd / //切换目录,到根目录下
/:根
cd ~ //快速回到当前用户的家目录下
cd - //返回上一次所访问的目录
cd .. //返回上一级目录
pwd //打印当前目录路径
ls //列出当前目录下的信息
-a 全部包括隐藏
-l 显示出详细信息
-h 人性化显示大小
-t 以时间进行排序
路径:
相对路径:只对当前目录下的目录或文件生效
绝对路径:必须以根作为起始
vim编辑器
命命令令模模式式,,编编辑辑模模式式((插插入入模模式式)),,结结束束模模式式
命令模式------->编辑模式 在命令模式下i I o O a A 都可以进入编辑模式
编辑模式------->命令模式 ESC,从编辑模式下返回命令模式
命令模式------->结束模式 : (冒号),从命令模式进入结束模式
结束模式
:w //保存
:q //退出
:q! //不保存并强制退出
:wq //保存并退出
:wq! //强制保存退出
注:vim 拥有创建文件的功能(需要对该文件进行保存)
修改IP地址的方法
1.ifconfig eth0 IP地址 //修改eth0这块网卡的IP地址(立即生效但不永久生效)
重启网络服务或机器会还原
2.修改配置文件,网卡的配置文件存放位置:/etc/sysconfig/network-scripts/
(永久生效但不立即生效)需要重启网络服务或机器让其生效
3.setup 使用setup工具进行修改(使用此工具相当于修改配置文件)
4.使用图形化界面(使用的网络服务为NetworkManager)
查查看看文文件件内内容容
11..查查看看小小文文件件
cat //查看文件内容,正序查看
tac //查看文件内容,倒序查看
22..查查看看大大文文件件
more
less //支持查找功能的
head //查看文件头部默认查看10行
tail //查看文件尾部默认查看10行
-f //实时查看
-n3 //指定查看3行
例:
head -n5 /var/log/messages //查看文件messages的前5行
行过滤
grep 内容 文件 //过滤出该文件包含内容的行
grep ^内容 文件 //过滤出该文以该内容开头的行
grep 内容$ 文件 //过滤出该文以该内容结尾的行
例:grep root /etc/passwd //查看/etc/passwd这个文件中包含root的行
grep ^root /etc/passwd //查看/etc/passwd这个文件中以root开头的行
grep student$ /etc/passwd 查看/etc/passwd这个文件中包含以student结尾的行
列截取
cut -d分隔符 -f列数 文件
例:
cut -d: -f2 /etc/passwd //截取出/etc/passwd这个文件中以:为分割的第2列数据
||::管管道道符符
用于命令之间的链接 前一个命令的输出是后一个命令输入
统计
wc //统计 行数,单词数,字节数(大小)
选项
-l //只统计行数
-w //只统计单词数
排序
sort -r 文件名 //文件倒序
sort //按首字母排序
-u //剔除重复行
输输出出显显示示字字符符
echo //输出字符串
> 重定向
>> 追加重定向 //重定向和追加重定向拥有创建文件的功能
2> 错误输出重对象
&> 所有输出重对象
创建文件
touch //创建文件
1创建文件
2修改文件时间戳
stat 文件名 //查看文件属性和时间
------------------------------------------------------------------------------
删除文件/目录
rm //删除文件
-r//删除目录
-i //交互式删除
-f //不提示强制删除
-rf //慎用!!!
------------------------------------------------------------------------------
创建目录
mkdir //创建目录
-p //递归创建目录
例:
mkdir -p a/b/c/d //递归删除目录
rmdir //删除空目录
复制
cp 源文件 目的地 //复制一个文件
-r //复制目录
-p //保持源文件的属性权限
scp 源文件 目的地 //远远程程复复制制文文件件
scp 用户名@IP地址:/路径 目的地 //远程的文件复制到本地
--------------------------------------------------------------------------------
远程链接
ssh 用户名@IP地址或主机名 //远程链接
sshd服务
service sshd start //打开sshd服务
端口号:22
--------------------------------------------------------------------------------
mv 移动文件/重命名
mv 源文件 目的地
mv 旧名称 新名称
--------------------------------------------------------------------------------
通配符
* 所有
? 匹配一个字符
--------------------------------------------------------------------------------
ssttaatt 查查看看文文件件属属性性
Access: 2016-09-12 11:27:38.316999675 +0800
//最近一次的访问时间
Modify: 2016-09-12 11:27:38.316999675 +0800
//最近一次的修改时间
Change: 2016-09-12 11:27:38.316999675 +0800
//最近一次属性修改时间
练习:
1.在tmp目录下创建file1到100的文件
2.删除file1开始的所有文件及file3后面匹配一个字符的文件
3.在tmp目录下创建一个testdir目录,在该目录下创建a/b/c/d/e/f/目录
4.把file22复制到/tmp/testdir/a/b/c/d/e/f目录下
5.将file22改名成file1000
6.将file99保留源属性复制到testdir目录下
7.将f目录复制到testdir目录下
8.将tmp目录下的所有以file开始的文件全部强制删除
9.将testdir目录及目录下的所有文件以交互的方式删除
10.进入tmp目录下,复制上一级目录的srv目录到当前目录下
-------------------------------------------------------------------------------------
命令帮助
应用范围 用法
help 内部命令 help 命令字
--help 外部命令 外部命令 命令字 --help
man 命令,配置文件 man 命令字
info 同man info 命令字
查看命令类型
type 命令字
注:
shell 都是内部命令
aliased 命令别名
命令路径
查看文件内容类型
file 文件名 //查看文件类型
-------------------------------------------------------------------------------------
strings 文件名 //查看二进制文件
-------------------------------------------------------------------------------------
时间
date //查看时间
date +%H:%M //只查看当前的小时和分钟
date +%D //查看当前的日期
date "+%D %H:%M"//查看月日年及时间
修改时间
date -s "2016-8-1 23:00" //修修改改当当前前时时间间
注:
rhel7
timedatectl //查看当前时区
timedatectl list-timezones //查看当前所支持的时区
timedatectlset-timezone Asia/Shanghai //修改时区
hwclock //查查看看当当前前的的硬硬件件时时间间
hwclock --systohc //将将硬硬件件时时间间与与系系统统时时间间同同步步,,以以系系统统为为基基准准
hwclock --hctosys //将将硬硬件件时时间间与与系系统统时时间间同同步步,,以以硬硬件件为为基基准准
日历
cal //查看日历
cal 年份 //查看XXX年的日历
cal 月份 年份 //查看XXX年XX月的日历
注:
1752年9月少11天
-------------------------------------------------------------------------------------
用户和组
目录 详细信息
vim /etc/passwd //用户信息
vim /etc/shadow //用户密码策略
vim /etc/gshadow //组密码策略
vim /etc/default/useradd //创建用户时的一些默认参数
vim /etc/group //组的信息
vim /etc/shells //当前支持的bash(命令解释器)
/etc/skel //家目录的默认参考文件
vim /etc/login.defs //创建用户时密码策略,权限等默认参数
vim /etc/passwd //用户信息
1.用户名
2.X:密码占位符
3.UID(用户唯一标识符)
4.GID(组的唯一标识符)
5.用户说明信息
6.用户家目录
7.该用户所使用shell /sbin/nologin:代表不可以登陆系统
例:
x:root:0:0:root:/root:/bin/bash
UID类型及范围
rhel6 rhel7
超级用户 0 0
系统用户 1-499 201-999
普通用户 500-60000 1000-60000
最大支持的数 65535
vim /etc/shadow //用户密码策略
1.用户名
2.密码(加密后的)
3.最后一次修改密码的时间(从1970-1-1)
4.密码最短期限(密码最短有效期)
5.密码最长期限(密码最长有效期)
6.密码过期前几天的提醒
7.宽限时间,密码失效的日期(从1970-1-1) 天数
8.账户失效的日期(从1970-1-1)
9.保留子段
vim /etc/default/useradd //创建用户时的一些默认参数
GROUP=100 //默认组!!
HOME=/home //默认家目录
INACTIVE=-1 // /etc/shadow 第7个字段 -1代表不启用
EXPIRE= // /etc/shadow 第8个字段 日期
SHELL=/bin/bash //默认使用的shell
SKEL=/etc/skel //存放家目录默认的参考文件(磁盘配额时需要)
CREATE_MAIL_SPOOL=yes //是否默认为该用户创建mail(邮件)
vim /etc/group //组的信息
1.组名
2.组的密码占位符
3.GID(组的唯一标识符)
4.当前组所包含的成员
vim /etc/login.defs //创建用户时密码策略,权限等默认参数
MAIL_DIR /var/spool/mail //默认邮件的存放位置
PASS_MAX_DAYS 99999 //默认密码最长有效期,相当于/etc/shadow 第5字段
PASS_MIN_DAYS 0 //默认密码最短有效期,相当于/etc/shadow 第4字段
PASS_MIN_LEN 5 //密码最小长度
PASS_WARN_AGE 7 //密码警告天数,相当于/etc/shadow 第6字段
rhel6 rhel7
UID_MIN 500 UID_MIN 1000 //普通用户UID最小设定值
UID_MAX 60000 UID_MAX 60000 //普通用户UID最大设定值
SYS_UID_MIN 201 //系统用户UID最小设定值
SYS_UID_MAX 999 //系统用户UID最大设定值
GID_MIN 500 GID_MIN 1000 //普通用户GID最小设定值
GID_MAX 60000 GID_MAX 60000 //普通用户GID最大设定值
SYS_GID_MIN 201 //系统用户GID最小设定值
SYS_GID_MAX 999 //系统用户GID最大设定值
CREATE_HOME yes //如果创建用户是没有创建家目录那么是否自动创建
UMASK 077 //umask值代表默认权限,最大权限减去umask值 最大权限是777
用用户户和和组组配配置置
useradd 名字 选项 //创建用户的格式
-u //指定UID
-g //指定GID或组名(默认组)
-G //指定附属组
-d //指定家目录
-s //指定shell
id 用户名 //显显示示用用户户的的基基本本信信息息((包包含含了了UID,GID,groups(附属组))
修改密码
passwd 用户名 //设置该用户的密码
注:普通用户可以修改自己的密码,但必须符合密码策略的复杂性要求
root用户可以设置任意人的任意密码,密码策略对root用户无效
新创建的用户第一个可用的密码必须时由root赋予
echo uplooking | passwd --stdin tom //把用户tom的密码设定成uplooking(快速设定密码)
groupadd 组名
-g //指定GID
-r //创建系统组
groups 用户名 //显示该用户
usermod 参数 用户名 //修修改改用用户户信信息息
rhel6格式
usermod 选项 用户名
-u //修改UID
-g //修改默认组
-G //指定附属组,如果有多个那么以逗号进行分割
-d //修改家目录
-s //修改shell
-aG //添加附属组,(这里不是指定,不会修改原有的)
rhel7格式
usermod 选项参数的位置可以调换
groupmod 选项 组名 //修改现有组
-g //修改GID
-n 新名 //修改组的名字
userdel 用户名
-r //一般删除用户时都会加上这个选项,包括和当前用户相关配置文件(家目录,mail)一起删除
groupdel 组名 //删除空组
chage 用户名 //更更改改该该用用户户的的密密码码策策略略
chsh 用户名 //更更改改该该用用户户的的登登陆陆shell
chsh -s /bin/sh -s student //非交互式更改用户shell
-l //列出目录系统可以使用的shell
练习
添加carol用户
添加tom和kevin组,指定GID为1010,1020
添加ivy用户,指定默认组为tom,附属组为carol组
添加mary用户,指定UID为1002
变更carol用户默认组为ivy组,附属组为tom组和mary组
给carol用户添加附属组kevin
将carol用密码修改为password
删除ivy用户和carol用户
删除tom组和kevin组
权限
UGO,,特特殊殊权权限限,,ACL权限((访访问问控控制制列列表表))
UGO
U:user(拥有者)owner
G:group(所属组)
o:others(其他人)
d rwx r-x r-x
1.文件类型
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
2.拥拥有有者者的的权权限限((2-4)
r-- 读权限
-w- 写权限
--r执行权限
3.所所属属组组的的权权限限((5-7)
4.其其他他人人的的权权限限((8-10)
数数字字方方式式表表示示
r--=100=4
-w-=010=2
--x=001=1
rwx=111=7
赋予权限
1.chmod a,u,g,o + - = 文件名 //更改权限的命令
例:chmod a-x 123
chmod g+w 123
chmod u=rwx 123
a:全部
u:拥有者
g:所属组
o:其他
+:添加
-:删除
=:赋予
2.chmod 653 file //数数字字方方式式赋赋予予权权限限
6代表拥有者的权限
5代表所属组的权限
3代表其他人的权限
特殊权限
suid sgid sticky
4 2 1
suid:
范围:可执行的文件
执行该文件时临时拥有该文件的拥有者身份
例:
chmod u+s
chmod u-s
sgid:
范围:可执行的文件或目录
文件:执行时临时拥有文件所属组的权限
目录:继承父目录的所属组
例:
chmod g+s
chmod g+s
sticky(sbit)
范围:目录
设置此权限该目录下的文件或子目录只有root和文件的拥有者才可以删除
例:chmod +t
chmod -t
chown 拥有者.所属组 文文件件名名或或目目录录名名 //更更改改该该文文件件或或目目录录的的拥拥有有者者或或所所属属组组
例:chown root.student /tmp/test //更改该文件的拥有者为root所属组为student
chown root /tmp/test //更改该文件的拥有者为root
chown root. /tmp/test //更改该文件的拥有者为root 所属组为root的默认组
chown .student /tmp/test //更改该文加年的所属组为student
umask 管管理理默默认认权权限限
最大权限 - umask值 = 默认权限
家目录:777 - 077 = 700
/etc/profile
普通用户:umask=002
超超级级和和系系统统用用户户:umask=022
文件最大权限 666
目录最大权限 777
注:
普通用户创建文件默认权限:666-002=664
普通用户创建目录默认权限:777-002=775
超级用户创建文件默认权限:666-022=644
超级用户创建目录默认权限:777-022=755
隐藏权限 (ATTR权限)
查查看看隐隐藏藏权权限限
lsattr 文件名 //查看attr权限(隐藏权限)
lsattr-d 目录名 //查看该目录的attr权限
设设置置隐隐藏藏权权限限
chattr + - 权限编号 文件名 //设置权限
A:访问该文件时不修改访问时间,用于网页,对于计算机有优化的作用
a:可以添加数据(echo >> ),不能删除和修改数据 (对root生效)
i:不能删除,改名,移动,修改,新增,建立链接,(对root生效)
S:同步写入磁盘
s:彻底删除,无法挽回
u:删除可挽回
ACL((访访问问控控制制列列表表))
多种不同权限,可以细分到某一个用户或组的权限
查看acl权限
getfacl 文件名 //查看acl权限
setfacl
-m //设定acl权限
-x //删除某条ACL权限
-b //清空所有的ACL权限
-R //对目录做递归处理(目录下所有的文件及子目录都会生效)
设置acl权限
sseettffaaccll --mm 类类型型::组组名名或或用用户户名名::权权限限 文文件件名名
例1:
setfacl-mu:tom:rwfile//添加file文件的acl权限tom用户的权限为读和写(u代表用户 g代表组)
setfacl-mg:student:rwfile//添加file文件的acl权限student组的权限为读和写(u代表用户 g代表组)
setfacl-mm::rwfile //设定mask值(默认最大支持的权限)为读和写
例2:
getfacl student
user::rwuser:tom:r--
user:frank:rwx #effective:rw- 实际权限
group::r--
mask::rw- 默认支持的最大权限
other::r--
练习:
1.让普通用户不能修改自己的密码,利用suid权限
2.使用id命令来测试suid和sgid
3.创建目录该目录下的所属组自动成为父目录的所属组
4.设置一个目录当前目录拥有最大权限但目录中的文件及子目录只有拥有者和root才有权力删除
vviissuuddoo
vviissuuddoo 修修改改ssuuddoo的的配配置置
谁 在哪=(以谁的身份) 执行什么命令
tom ALL=(root) /usr/sbin/useradd
frank ALL=(tom) /bin/touch
//为fank赋予以tom身份使用touch命令
sudo -u tomtouch /tmp/tom1
sudo -k //清除密码缓存
文文件件系系统统结结构构
superblock:正个磁盘或分区或者某个组,的全部空间,占用空间,剩余空间数量,inode数量,block数量统计
inode:文件的属性(拥有者,大小,时间,权限等)
block:存放文件的真实数据
windows系统FAT16,FAT32,NTFS(簇)
linux系统ext2,ext3,ext4。rhel7系统xfs
文文件件系系统统的的组组成成
索引(inods)
块(block)
超级块(superblock)
索引:存放文件的属性
块:保存真实数据
超级块:记录整个文件系统的信息,包含了索引和block的总量,使用量,剩余量等
startx //在字符登录时使用此命令会进入图形化界面(装了x图形)
软硬链接
硬连接
ln 源文件 硬连接文件 //创建硬连接文件
硬硬连连接接文文件件的的特特点点:
1.无法区分源文件和链接文件,他们使用的是相同的inode和相同block
2.创建一个硬连接,硬连接计数会加1
3.修改其中任意一个文件,所有的硬连接文件都会被修改
4.不能针对目录做操作
5.不能跨越文件系统
6.删除其中一个文件,对本文件没有任何影响,把所有的文件全部删除那么才导致文件的彻底删除
软链接(符号连接)
ln -s 源文件 链接文件 //创建软链接(建建议议写写绝绝对对路路径径)
软软链链接接文文件件的的特特点点::
1.可以区分源文件和链接文件,他们使用的是不同的inode和block
2.创建一个软链接,查看ls -l链接文件时会显示源文件的文件
3.无法对链接文件修改属性,生效的是源文件
4.可以针对目录进行操作
5.可以跨越文件系统
6.删除源文件,其他所有的软链接文件全部失效,删除软链接文件对其他链接文件没有影响
用途:
1.缩短路径
2.可可以以跨跨越越文文件件系系统统
查找
1.ls -R //递归列出所有的文件及目录
2.whereis //指定的目录中去寻找,范围较小
3.which //根据PATH变量进行寻找,匹配到第一个,就不在进行查找
echo $PATH //查看PATH变量
4.locate //查找
特点:
1)速度快
2)模糊查找
3)非实时
原理: locate命令是根据一个数据库文件进行查找/var/lib/mlocate/mlocate.db
该数据的自动更新时间由该文件/etc/cron.daily/mlocate.cron
手动更新使用updatedb命令来更新数据库文件
/etc/updatedb.conf该文件updatedb命令的配置文件
vim/etc/updatedb.conf
PRUNEPATHS = "/afs /media/net /sfs /tmp /udev /var/cache/ccache/var/spool/cups /var/spool/squid /var/tmp"
执行updatedb命令时不扫描的目录
5.find
find 路径 查找条件 找到后的动作 //find命令格式
查查找找条条件件::名名字字,,权权限限,,时时间间,,用用户户和和组组,,类类型型,,大大小小
名字:-name
权限:-perm
时间:-mtime -atime -ctime
用户和组:-uid -gid -user -group
类型:-type f(普通文件) l(链接文件)
大小:-size
-size +12k //大于12k
-size -12k //小于12k
-size 12k //等于12k
找找到到后后的的动动作作
-print: 将结果输出屏幕上, 预设动作
-exec: 找到后直接执行之后的命令
-ok:找到后交互式执行之后的命令
命令字 {} \;
"{}"代表找到后文件的位置
例:
find /etc -name c*.conf -print //找出/etc目录下名字以c开头.conf结尾的文件输出到屏幕上
find /etc -name c*.conf //找出/etc目录下名字以c开头.conf结尾的文件输出到屏幕上
find /etc -name c*.conf -exec ls -l {} \; //找出/etc目录下名字以c开头.conf结尾的文件找到后执行ls -l命令
find /etc -name c*.conf -exec cp {} /tmp \; //找出/etc目录下名字以c开头.conf结尾的文件找到后复制到/tmp目录下
find /etc -name c*.conf -ok cp {} /tmp/test \; //找出/etc目录下名字以c开头.conf结尾的文件找到后以交互的方式复制到/tmp目录下
bash(命令解释器)
1.支持命令历史
2.命令别名
3.命令补全
4.快捷键
命令历史
history //命令历史的查询
echo $HISTSIZE //查看命令历史保存的数量
vim /etc/profile //变量的保存位置
HISTSIZE=1000
!! //调用上一条命令
!8 //调用第8条命令
!字符串 //调用最近一次以该字符串开头的命令
!$ //调用最近一次命令的参数
Ctrl+r //搜索包含该字符串的命令
CTRL+l //清空屏幕
CTRL+c //强制中断取消
CTRL+A //跳转到行首
CTRL+e //跳转到行尾
CTRL+d //关闭该终端,logout
命令别名
alias //查看命令别名
alias 新的名字=‘想要代替的命令’ //设置命令别名
注意:
在终端中输入该命令属于临时生效
想永久生效写在配置文件中
/etc/profile
/etc/bashrc
上面两个属于全局生效
~/.bash_profile
~/.bashrc
属于个人用户生效
例:alias 11='ssh root@172.25.0.11' //设置11成为ssh root@172.25.0.11的别名
命令补全
“tab”键单击补全命令,如果没办法补全,双击可以显示以该字符串开始的文件名都有哪些。(或者命令都有哪些)
快捷键
终端中使用
Ctrl +a 跳行首
Ctrl +l 清屏
Ctrl +e 跳行尾
Ctrl +c 中断
Ctrl +r 搜索
ctrl +d logout
用用户户登登录录流流程程
/etc/profile
/etc/profile.d/*
~/.bash_profile
~/.bashrc
/etc/bashrc
顺序必须了解
1./etc/profile
2./etc/profile.d/*
3.~/.bash_profile (里面会去读取~/.bashrc,当前文件没有读取完)
4.~/.bashrc(里面会去读取/etc/bashrc,当前文件没有读取完)
5./etc/bashrc (读取完整)
6.~/.bashrc (读取后面完整)
7.~/.bash_profile(读取后面完整)
PATH变量
作用:简化命令的写法
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/root/bin
执行passwd的时候显示hello字段
?
压缩和打包\
压缩
windows:
.rar .zip .7z
linux:
zip gzip bzip2 xz
创建大文件
dd if=/dev/zero of=/tmp/bigfile bs=1M count=50 //创建50M的大文件到tmp目录下名为bigfile
1.zip
zip 名字 需需要要压压缩缩的的文文件件
zip -r 压缩文件 文件 //将该文件追加到相应的压缩文件

unzip -l 压缩文件 //查看压缩文件里的内容
unzip 压缩文件 //解压缩该文件
zip -d //从压缩文件里面删除指
定的文件
zip -F //尝试修复以损坏的压缩
文件
zip -r 压缩文件 文件 //将该文件追加到相应的压缩文件

例:
zip bigfile.zip bigfile //压缩该文件
unzip -l bigfile.zip //查看压缩文件的内容
zip -r bigfile.zip tom //将tom文件追加到bigfile.zip压缩文件中,也可以做递归处理
zip -d bigfile.zip tom //将bigfile.zip压缩文件中的tom文件从压缩文件中删除
unzip bigfile.zip //解压该文件
unzip bigfile.zip -d /root //把压缩文件中的内容解压到/root下
2.gzip
gzip 需需要要压压缩缩的的文文件件
-a //使用ASCII文字模式
-d //解开压缩文件
-l //查看压缩文件的内容信息
-v //显示指令执行的过程
-1
-9
例:
gzip bigfile //压缩该文件,删除源文件
gzip -l bigfile.gz //查看压缩文件中的内容
gzip -d bigfile.gz //解压该文件
gunzip bigfile.gz //解压该文件和 gzip -d 没有区别
3.bzip2
bzip2 需需要要压压缩缩的的文文件件
-d //解开压缩文件
-k //使用此选项不会删除源文件
-V //显示指令执行的过程
-s //执行时降低内存的使用量
例:
bzip2 bigfile //压缩该文件,删除源文件
bzip2 -k bigfile //压缩该文件,并保留源文件
bzip2 -d bigfile.bz2 //解压该文件
bunzip2 bigfile.bz2 //解压该文件和 bunzip2 -d 没有区别
4.xz
xz 需需要要压压缩缩的的文文件件
-d //解压文件
-k //保留源文件
-f //强制压缩,如果遇到同名的文件直接覆盖
-0到-9 //设置压缩率
例:
xz bigfile //压缩该文件,删除源文件
xz -k bigfile //压缩该文件,并保留源文件
xz -d bigfile.xz //解压该文件
unxz bigfile.xz //解压该文件和 xz -d 没有区别
打包
tar-cvf 包的名称 需需要要打打包包的的文文件件或或目目录录
-c //代表创建打包
-v //显示过程
-f //包名称,注意f后后面面必必须须跟跟上上包包的的名名称称
-z//gzip压缩
-j //bzip2压缩
-J //xz压缩
-x //解包
-t //查询
-r //添加某个文件到包里
--delete //删除包里的某个文件
打打包包需需要要注注意意的的:tar打包路径是什么,解包的路径也时什么
例:
tar -cvf root.tar /root //将/root打包
tar -rinstall.log -f root.tar //将install.log文件追加到root.tar包里
tar --delete install.log -f root.tar //将install.log文件从root.tar包里删除
tar -tf root.tar //查看包里有哪些内容
tar -xvf root.tar //解开包
tar -zcf root.tar.gz/root //将/root打包并压缩成gzip格式
tar -jcf root.tar.bz2 /root //将/root打包并压缩成bzip2格式
tar -Jcf root.tar.xz/root //将/root打包并压缩成xz格式
tar -zxf root.tar.gz //将root.tar解压并解包
tar -jxf root.tar.bz2 //将root.tar解压并解包
tar -Jxf root.tar.xz //将root.tar解压并解包
标准输出
> //标标准准输输出出重重定定向向
>> //标标准准输输出出追追加加重重定定向向
2> //错错误误输输出出重重定定向向
2>> //错错误误输输出出追追加加重重定定向向
&> //全全部部输输出出重重定定向向
&>> //全全部部输输出出追追加加重重定定向向
例:
ll /etc > /tmp/shadow 2> /tmp/out //正确的和错误的使用两个文件保存
ll /etc &> /tmp/out
ll /etc > /tmp/out 2>&1 //两种写法结果一样
标准输入
< //标准输入
例:
cat < /etc/hosts //查看/etc/hosts文件
cat > /tmp/file < /etc/hosts //将/etc/hosts文件输入到cat并输出到/tmp/file文件中去
cat /etc/hosts > /tmp/file//此命令的效果同上
<< //后后面面跟跟上上结结束束符符((结结束束符符任任意意)),,结结束束符符之之前前的的所所有有数数据据成成为为输输入入
例:
cat << END
> lkasdfuiouqwe
> zc,mvnlasdkjf
> qweoriu,mcnva
> end
> END
lkasdfuiouqwe
zc,mvnlasdkjf
qweoriu,mcnva
end
cat > /tmp/file << OUT
> echo hello
> OUT
软件安装
1.源码包安装
2.二进制安装
3.RPM
4.YUM
源码包
优点:可制定
缺点:操作复杂,编译时间长,非常容易出现问题或报错
安装:
1.下载并解压源码包
2.进入解压后的目录,执行“./configure”命令,为编译前做本地环境的配置。
3.配置成功后,执行“make”命令,来进行软件的编译。
4.编译成功后,执行“make install”命令来完成安装。
5.最后,执行“make clean”命令来删除安装时所产生的临时文件
卸载:
进入安装的目录,执行卸载命令“make uninstall”来进行卸载
注意:并不是所有的软件包都提供uninstall的功能,如果没有提供只能手工删除。
“./configure --prefix=/usr/local/dir” 将该软件安装到指定的目录下,一般默认安装在/usr/local里面
二进制安装
直接解压缩即可使用
RPM
RPM:redhat package management
命令语法
rpm 选项 参数
需要rpm包,一般都是以.rpm结尾
rpm包包命命名名的的结结构构:
ntfsprogs-2.0.0-13.el6.x86_64.rpm
软件名-版本号-操操作作系系统统平平台台.rpm
使用rpm命令,可以对该软件进行安装,查询,卸载,升级,显示所需依赖关系的软件
依依赖赖关关系系::某某软软件件依依赖赖与与其其他他软软件件。。
rpm安安装装软软件件的的步步骤骤:
1.下载rpm包
2.使用rpm命令来进行安装“rpm -ivh 软件包的全名”
rpm
-i //安装
-v //显示过程
-h //显示安装时列出标记
查询
-a //查询所有软件包
-q //询问模式
-f //文件名,查看该文件是由哪个软件产生的
-l //显示软件包列表
-i //软件包的详细信息
升级
-U //升级,若该文件没有安装则安装
-F //升级,若该为件没有安装则放弃(不安装)
卸载
-e //卸载该软件
--nodeps -e //不不卸卸载载依依赖赖关关系系
yum
yum特点
1.自动解决依赖性问题
2.组包,可以对RPM包进行分组,以组包的形式来进行安装
3.yum引入仓库的概念,yum源。支持多个仓库。
4.配置简单
仓库
/etc/yum.repos.d/ //该目录为yum仓库的配置文件存放目录,注意:配置文件必须以.repo结尾
vim /etc/yum.repos.d/server.repo
仓库
[server] //仓库名称
name = rhel6.5 repos //仓库的说明信息
baseurl = http://classroom.example.com/content/rhel6.5/x86_64/dvd/ //仓库的位置
enable=1 //仓库是否启用(0代表不启用,1代表启用)
gpgcheck=0 //是否启用检测(0代表不启用,1代表启用)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //如果检测是1,那么必须要有相应的钥匙参数。
仓仓库库的的位位置置::
本地:file:///mnt/ //本地使用格式file后的前两个斜杠代表格式第三个斜杠代表“根"
远程: ftp://
nfs://
http:// //看使用的是什么协议
配配置置完完成成之之后后,,需需要要清清除除yum缓缓存存,,清清除除完完成成后后建建立立缓缓存存
yum clean all //清除缓存
yum makecache //建立缓存
创建本地yum仓库
1.下下载载系系统统镜镜像像文文件件
wget http://classroom.example.com/content/rhel6.5/x86_64/isos/rhel-server-6.5-x86_64-dvd.iso
2.挂挂载载镜镜像像到到本本地地目目录录
mount -o loop /root/rhel-server-6.5-x86_64-dvd.iso /mnt
3.创创建建仓仓库库配配置置文文件件((必须以.repo结尾)
vim /etc/yum.repos.d/iso.repo
4.修修改改该该配配置置文文件件
[iso]
name = file repos
baseurl = file:///mnt
enable=1
gpgcheck=0
5.清清除除缓缓存存,,建建立立缓缓存存
yum clean all
yum makecache
6.安装验证
-------------------------------------------
vim进阶使用
正常模式 插入模式(编辑模式) 结束模式
正常模式
yy 复制一行(光标所在位置)
p 粘贴
3yy 复制三行
dd 删除一行或移动一行使用p来移动
G 跳转到文档的最后一行
gg 跳转到文档的第一行
5gg 跳转到第5行
u 撤销
ctrl+r 反反撤撤销销((恢恢复复))
0 移动到行首
$ 移动到行尾
/关键字 搜索光标之下
?关键字 搜索光标之上
ZZ 保存并退出
i 光标当前位置插入
I 光标的行首位置插入
o 在光标所在位置行下方新开一行进行插入
O 在光标所在位置行上方新开一行进行插入
a 光标的下一个字符位置插入
A 光标的行尾插入
h左
j 上
k 下
l 右
ctrl-b 上翻页
ctrl-f 下翻页
:set nu //显示行号
:set nonu //关关闭闭行行号号显显示示:nohl //关关闭闭高高亮亮显显示示
:!命令 //临时切换到bash使使用用命命令令((不不识识别别命命令令别别名名)),,任任意意键键返返回回该该文文档档
.!命令 //将将命命令令的的执执行行的的结结果果插插入入到到所所编编辑辑的的文文件件中中
:3 //跳转到第3行
:s/w/o //光光标标所所在在行行第第一一个个出出现现的的“w”替换成“o”
:s/w/o/g //光光标标所所在在行行出出现现的的所所有有“w”替换成“o”,g代代表表整整行行替替换换
:%s/w/o/g //忽忽视视光光标标所所在在位位置置进进行行全全文文替替换换,,所所有有“w”替换成“o”
:% //代代表表将将后后面面的的替替换换作作用用到到所所有有的的行行
:w 绝对路径 //另另存存为为该该文文件件
:r 文件名 //在在该该文文档档读读取取另另一一个个文文档档,,显显示示位位置置为为光光标标所所在在位位
:e! //放放弃弃修修改改并并重重新新加加载载原原始始文文件件
例:
10j“表示向下移动10行;”10l“表示向右移动10列
------------------------------------------------------
进程
pstree //查看进程树
父进程 PPID
子进程 PID
rhel6:所所有有的的进进程程之之父父init
rhel7:所所有有的的进进程程之之父父systemd
ps aux //静态查看,a代表全部,u代表用户,x代表没有控制终端的进程
进程的状态
S:休眠状态
R:等待运行
I:空闲状态
Z:僵尸状态
<:进程的优先级较高
N:进程的优先级较低
s:进程的领导者
l:多线程
+:在前台进程组
守护进程
ps -ef //静态查看,-e代代表表全全部部进进程程 ,-f代代表表全全格格式式罗罗列列
ps -le //查看进程的优先级,重点看NI这一列表示优先级
pgrep init //只显示init进程的进程ID(PID)
-l //显示进程名
-U 用户名 //显示该用户所产生的进程ID
-t ttyID //显示由该终端所产生的进程ID
pidof 进程名 //只显示进程ID
动动态态查查看看进进程程
top //动动态态查查看看进进程程
默认3秒刷新一次,空格可以立即刷新,输入“d”在输入秒数可以更改默认刷新的时间
“d”在输入秒数可以更改默认刷新的时间
"P"根据CPU的占用率来进行排序
“M”根据内存的占用率来进行排序
“N”根据启动时间来进行排序
“n”输入想一页显示进程的数量
"<"">" 左右翻页
"c"命令名的切换,详细的路径,命令名。详细的还包括参数
"k"结束进程,默认使用15信号
ctrl+c 终止查看动态进程
结束进程
kill 信号 进程ID(PID)
-1 重置信号,一般用于让服务重新加载自己的配置文件,让进程重新加载新的配置信息包括配置文件
-9 强制关闭某个进程
-15 等待进程正常退出信号,和9信号的区别在于数据流的回写。
killall 进程名 //结束同名的所有进程
pkill //根据条件来结束相应的进程
-t 终端号
-U 用户名
xkill //点谁谁死,哪里不动点哪里
进进程程的的优优先先级级
ps -le //查看优先级 NI
优优先先级级的的数数字字越越小小优优先先级级越越高高
优先级数字的范围:-20-19
1.创建进程时指定优先级
2.修改一个现有进程的优先级
创创建建进进程程时时指指定定优优先先级级
nice -n 0 PID
例:
nice -n 20 ping 127.0.0.1 //创建进程时指定优先级
修修改改一一个个现现有有进进程程的的优优先先级级
renice -n 0 PID
例:
renice -n 0 26715 //修改一个现有进程的优先级
注意:root用户可以在优先级的范围内随意修改,
普通用户只能把优先级调低,普通用户不能指定小于0的优先级
后台作业
创建时命令后跟上“&”,创建后台作业
jobs //查查看看后后台台作作业业
fg 后后台台作作业业编编号号 //将后台作业调到前台
ctrl+z//将已经触发的前台作业调到后台,后台作业暂停
bg //让后台作业继续运行
例:
ping 127.0.0.1 > /dev/null& //创建
jobs //查看
fg 3 //将3号作业调到前台
ctrl+z //将已经3号前台作业调到后台并暂停作业
jobs //查看运行的状态
bg //让后台作业继续运行
jobs //查看运行状态
日志
日志的作用:
1.解决系统方面的问题
2.解决网络服务的问题
3.记录过往事件
/var/log/ //日日志志文文件件保保存存位位置置
cron //记记录录周周期期性性任任务务计计划划
dmesg //开开机机核核心心侦侦测测信信息息
lastlog //系系统统所所有有行行好好最最近近一一次次的的登登陆陆信信息息
maillog //邮件往来
messages //系系统统错错误误信信息息
secure //设设计计输输入入系系统统帐帐号号密密码码的的程程序序
wtmp //正正确确登登陆陆系系统统的的账账户户信信息息
btmp //错错误误登登陆陆系系统统的的账账户户信信息息
/var/log/httpd/* //不同的网络服务会保存在自己的日志目录中
/var/log/samba/*
日志类型
1..AASSCCIIII类型
2.data类型
last //查看wtmp日志文件
lastb //查看btmp日志文件
日日志志需需要要的的服服务务
rsyslogd //主要负责记录系统运作时的信息和内核信息写入日志,日日志志的的主主服服务务
logrotate //主要负责日志轮询
rhel5版版本本之之前前日日志志的的服服务务syslogd服务,rhel6之后rsyslogd服务
rsyslog
什么服务 什么等级 记录在哪个文件
配置文件:/etc/rsyslog.conf
/etc/rsyslog.d/*
/etc/rsyslog.conf
#### RULES ####
选项 动作 (选项和动作以制表符“Tab”分割)
选项:设施和级别(设施和级别以“.”进行分割)(不同的选项以“;”分割)
*.info;mail.none;authpriv.none;cron.none /var/log/messages
设施
authpriv //认证系统,询问用户和口令
cron //周期性计划任务
daemon //守护进程程序
kern //内核的信息
mail //邮件系统
lpr //打印机
news //新闻系统
user //本地用户应用程序的信息
uucp //uucp子系统的信息,
local0-7 //本地类型信息
man syslog //查看帮助,里面有级别的说明
级别
0-7
0 emerg //基本要死机
1 alert //这个问题相当严重,比临界点更严重
2 crit //临界点,这个错误已经很严重了
3 err //重大错误信息
4 waining //警告
5 notice //注意:非错误的状态报告,但应特别处理;比info级别更需要注意
6 info //通报信息
7 debug //调试错误
none //带带有有该该级级别别的的类类型型长长生生的的信信息息无无需需送送出出
.xxx:表表示示大大于于该该级级别别的的信信息息
.=xxx:表表示示等等于于该该级级别别的的信信息息
.!xxx:表表示示在在该该等等级级之之外外的的等等级级信信息息
动作
/filename 日志文件,绝对路径指出文件名,将选项的日志信息保存在该文件。此文件必须事先建立
@host 远程主机;@符号后面可以是IP地址,也可以是域名或主机名
username,username 发送给指定的用户,该用户必须处于登陆状态。
* 所有用户,用户必须处于登陆状态。
例:
1.保保存存在在普普通通的的文文件件或或设设备备文文件件中中
*.* /var/log/file.log //记录到普通文件
*.* /dev/pts/0 //记录到设备文件
2.转转发发给给远远程程主主机机
*.* @192.168.0.1 //使用UDP协议转发到192.168.0.1的514(默认)端口
*.* @@192.168.1.1:10514 //使用TCP协议转发到192.168.1.1的10514(默认)端口
3.发发送送给给用用户户((必必须须在在线线才才能能收收到到))
*.* root //发送给用户root
*.* root,student,redhat //发送给指定的多个用户
*.* * //发送给所有用户
4.忽略,丢弃
local3.* ~ //忽略所有local3类型的所有级别的日志
5.执行脚本
local3.* ^/tmp/shell.sh //“^”后面跟上可执行的脚本或程序的绝对路径
服务
rhel6
service rsyslog restart //重启服务
rhel7
systemctl restart rsyslog //重启服务
注意:如果日志配置文件进行了修改需要重启服务使其生效
logrotate//日志的轮询
/etc/logrotate.conf //轮询主配置文件
/etc/logrotate.d/*
vim /etc/logrotate.conf
日志文件{
规则
}
参数和选项
daily 每天轮询
weekly 每周轮询
monthly 每月轮询
rotate 保留几个带时间戳的文件
create 创建新文件(可以规定权限,拥有者,所属组)
dateext 旧文件以时间为结尾
size 指定大小
logrotate -vf /etc/logrotate.conf
日志的作用
日志的主配置文件
日志的位置
日志的类型
日志的轮询作用
日志轮询的主配置文件
计划任务
一次性的计划任务
周期性的计划任务
一一次次性性的的计计划划任任务务
atd //一次性计划任务的服务
命令
at 时间 日期 //创建一次性计划任务
at>指令 //执行什么命令
at><EOT> //ctrl+d来提交该计划任务
at -l //查查询询一一次次性性计计划划任任务务
at -d ID //删删除除某某个个一一次次性性计计划划任任务务
at -c ID //查查询询某某个个计计划划任任务务的的详详细细信信息息
生成计划任务后会生成一个文件
保存在/var/spool/at/目录下,删除里面的文件相当于删除计划任务
一一次次性性计计划划任任务务的的黑黑名名单单
vim /etc/at.deny
注意:一行一个用户名
周周期期性性计计划划任任务务
vim /etc/crontab //周期性计划任务的配置文件
SHELL=/bin/bash //命令使用bash命令解释器
PATH=/sbin:/bin:/usr/sbin:/usr/bin //如果没有使用绝对路径命令从这几个目录中去搜索
MAILTO=root //如果周期性计划任务出现问题会发送mail给root
连连续续的的时时间间使使用用 “-”
间间断断的的时时间间使使用用 “,”
*/5 如如果果在在分分钟钟段段位位那那么么代代表表每每隔隔5分钟
缓存目录/var/spool/cron/ 拥有和创建者同名的文件
root有权利给任何人创建周期性计划任务
crontab -e //编编辑辑周周期期性性计计划划任任务务
-l //查看
-u username //使使用用其其他他用用户户操操作作(root)
-r //清清除除所所有有的的周周期期性性计计划划任任务务
crontab -u student -e //为student用户编辑周期性计划任务
/etc/cron.deny //周周期期性性计计划划任任务务的的黑黑名名单单
练习:
每周一到周五早晨9点和下午13点,统计一下当前系统里有多少用户登陆着并将结果追加到/tmp/wc.txt
每隔两小时查看当前进程有几个,结果追加到/tmp/ps.txt
内核
内核的模块化
uname -a //查查看看当当前前所所有有的的内内核核版版本本
内核模块
/lib/modules/2.6.32-431.el6.x86_64/kernel/ //模块的存放位置
模块文件一般是以“.ko”结尾
/lib/modules/2.6.32-431.el6.x86_64/modules.dep //记记录录了了模模块块之之间间的的依依赖赖关关系系
depmod //更更新新模模块块依依赖赖关关系系的的命命令令
查看
lsmod //查看当前所加载的所有模块
modinfo //查看某个模块的详细信息
加载
insmod 模块的位置 //加载一个模块(无法解决依赖关系)
rmmod 模块名称 //卸载一个模块
-f //强制卸载,不管该模块是否正在被使用
modprobe //可以加载模块,自动解决依赖关系
-r //卸载模块,但和yum一样会把相应的依赖关系全部卸载,慎用!!!
-f //强制加载
-c //查看
内核参数
管管理理系系统统功功能能的的开开关关
cat /proc/sys/net/ipv4/icmp_echo_ignore_all //该该内内核核参参数数管管理理忽忽略略所所有有的的ping包
vim /etc/sysctl.conf //永久生效某个内核参数写在该配置文件中
sysctl -p //让让内内核核参参数数立立即即生生效效
挂载
mount //查看看挂挂载载信信息息挂挂载载
df -h //查看挂载信息
1.标准格式
mount -t 文件系统类型 挂载源 挂载点
-o //带选项的挂载
ro //只读
rw //读写
remount //重新挂载
loop //本地
2.非标准格式
mount 挂载源 挂载点
注意:挂载点最好为空目录
1.如如果果挂挂载载点点是是非非空空目目录录,,挂挂载载完完成成后后;;目目录录原原来来的的数数据据会会消消失失((暂暂时时不不可可用用));;当当卸卸载载时时目目录录的的原原始始数数据据才才会会恢恢复复。。
2.卸卸载载时时不不要要在在卸卸载载目目录录中中
卸载挂载
umount 挂载点 //卸载该挂载点
mount的应用
1.挂载大文件,变变相相的的可可以以控控制制目目录录所所使使用用的的空空间间(磁盘配额)
1)创建大文件
2)格式化大文件 mkfs.ext4 文件名 //格式化某个文件
3)挂载
2.挂挂载载镜镜像像文文件件
3.挂挂载载远远程程目目录录
mount IP地址:/content 挂载点
4.多多级级目目录录快快速速访访问问
mount --bind 旧的目录 新的目录
永久生效
vim /etc/fstab //想永久生效挂载在该配置文件中写入信息
6个字段
1.挂载源
2.挂载点
3.文件系统类型
4.选项(如果是空选项使用“defaults”)
5.是否需要备份(0代表否 1代表是)
6.是否需要检测(0代表否 非0代表是并且有优先级,数字越小优先级越高)
mount -a //修修改改完完成成后后使使用用此此命命令令立立即即生生效效或或者者重重启启计计算算机机
开开机机启启动动流流程程
1.硬件启动
MBR:主引导记录
bootloader引导程序:win ntblr ;rhel6 grub ;rhel7 grub2
DTP:分区表
55AA:校验
2.软件启动
runlevel 0 //是让init关闭所有的进程并终止系统(关机)
runlevel 1 //用来将系统转到单用户模式,用于对系统的紧急救援,单用户模式只有管理员(root)能进
runlevel 2 //允许使用多用户模式(不完整),不支持文件的共享等功能,一般很少用
runlevel 3 //真正的多用用户户模模式式((完完整整),是多数服务器的默认模式
runlevel 4 //一般不被系统使用,用户可以自己设计及自的系统状态并将其应用(自定义)
runlevel 5 //图形化界面,使用X windows终端
runlevel 6 //是让init关闭所有的进程并重启系统(重启)
更改密码
-------------------------------------------------------
rhel6
使用单用户模式更改root密码
grub---->"e"进行编辑----->选中kernel这项再按“e”来进行编辑----->在最后输入“ 1”(空格和1)
----“Enter”(回车)-----按“b”来来进进入入单单用用户户模模式式------输入“passwd”来修改密码-----exit
vim /boot/grub/grub.conf
default=0 //默认的grub菜单
timeout=30 //默认时间30后自动进入系统
splashimage=(hd0,0)/grub/splash.xpm.gz //grub菜单的背景图片
hiddenmenu //默认不显示grub菜单
password --md5 $1$UwQm4/$8h/VGdOXDLf3NuvoOAOS40 //在在说说明明信信息息上上方方的的password,对grub菜菜单单进进行行加加密密
title windows 7 //说明信息
password --md5 $1$ogRm4/$5dQmC.gvXAzmvKhiGsgwl/ //在在说说明明信信息息下下方方的的password,,进进入入系系统统时时需需要要密密码码
root (hd0,0) //将boot成为根(/)
kernel /vmlinuz-2.6.32-431.el6.x86_64 //加载kernel,驱动,硬盘分区,语言格式编码等
initrd /initramfs-2.6.32-431.el6.x86_64.img //启用虚拟文件系统
grub-md5-crypt //用用于于生生成成加加密密密密码码的的命命令令
rhel6
chkconfig 服务名 on/off //设设定定服服务务是是否否开开机机启启动动
chkconfig --list //查查看看服服务务是是否否开开机机启启动动的的状状态态
chkconfig --level 35 sshd off //在启动等级3和5的的时时候候不不启启动动sshd
---------------------------------------------------------------------------
rhel7
rhel6和rhel7的区别:
1.stage1和stage2文文件件名名称称有有所所变变化化
stage1变成/boot/grub2/i386-pc/boot.img
stage2变成/boot/grub2/i386-pc/core.img
2.grub2版本的grub.cfg配配置置文文件件中中的的分分区区命命名名方方式式有有所所改改变变
(hd0,0)改成'hd0,msdos1'
3.改改变变了了引引导导菜菜单单外外观观主主配配置置文文件件的的位位置置
/etc/default/grub
4.可可以以通通过过命命令令 grub2-mkconfig -o /boot/grub2/grub.cfg 来来重重新新生生成成配配置置文文件件或或更更新新配配置置文文件件
5. init变成systemd
6./etc/inittab变变成成的的说说明明文文件件
启动级别
systemctl get-default //查看默认的启动级别
systemctlset-default 启动级别的名字 //设置启动级别
例:
systemctlset-default multi-user.target //设置启动级别为3等级
启启动动等等级级相相应应的的配配置置文文件件/lib/systemd/system/<target name>.target
vim /usr/lib/systemd/system/multi-user.target //查看3级别的配置文件
AllowIsolate=yes //该级别是否可以被临时切换,修改完成后重启生效
启动服务
该服务是否开机启动,分到了各个服务中
systemctlstatus sshd //查看sshd服务的状态
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled) //代表是否开机启动disabled代表关闭enable代表开启
Active:active (running) since Wed 2016-12-07 21:24:35 EST; 5h 3min ago //当前服务的运行状态
设设置置开开机机启启动动的的服服务务
systemctl enable 服务名 //设设置置开开机机启启动动
systemctl disabled 服务名 //设设置置开开机机不不启启动动
systemctl isolate rescue.target //临时切换到救援模式,rescue.target救援模式的名称
rhel7修改密码
第一种方式
1.找到linux16开始的那一行,从后面开始删除,删除到第一个root,在最后追加rd.break,然后按Ctrl-x重启即可进入单人模

2.mount -o remount,rw/sysroot //重新挂载
3.chroot /sysroot //提权
4.passwd
5.touch /.autorelabel
6.exit
7.exit
第二种方式
1.找到linux16开始的那一行,在这一行中找到ro 并将ro更改为 “rw init=/sysroot/bin/sh",然后按Ctrl-x重启即可进入单人模式
2.chroot /sysroot
3.passwd
4.touch /.autorelabel
5.Ctrl+Alt+del
rhel7给grub2菜菜单单进进行行加加密密
vim /etc/grub.d/40_custom
set superusers='root'
password root 123
配置完成后
明文加密
grub2-mkconfig -o /boot/grub2/grub.cfg //更更新新一一下下主主配配置置文文件件
以以上上就就是是明明文文加加密密,,用用户户名名可可以以是是任任意意的的((可可以以是是系系统统没没有有的的用用户户))
密文加密
grub2-mkpasswd-pbkdf2 //生成加密密码,注意取加密密码是取is后面的
vim /etc/grub.d/40_custom
set superusers='root'
password_pbkdf2 root grub.pbkdf2.sha512.10000.0862D41B5F0BBF76090C2BDB710
配置完成后
grub2-mkconfig -o /boot/grub2/grub.cfg //更新一下主配置文件
sseelliinnuuxx
selinux属于一种权限
/etc/selinux/config
getenforce //查看selinux的状态
setenforce 1或0 //设置selinux的状态
selinux限限制制两两个个方方面面
1.布尔值
2.安全上下文
1.布尔值
getsebool -a //查看当前所有限制方面的布尔值
setsebool -P 布尔值名 on或off //调整布尔值
例:
setsebool -P samba_share_nfs on //调整布尔值
2.安全上下文
主体(进程)和目标的安全上下文必须一致才能够顺利访问
查查看看安安全全上上下下文文
ls -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
system_u:object_r:admin_home_t //安全上下文
身份标示 : 角色: 类型
ps -efZ | grep httpd //查查看看主主题题安安全全上上下下文文
unconfined_u:system_r:httpd_t:s0 apache 1951 1944 0 10:35 ? 00:00:00 /usr/sbin/httpd
修修改改安安全全上上下下文文
1.chcon -t 安安全全上上下下文文的的类类型型 文件
例:
chcon -t httpd_t /var/www/html/index.html
2.restorecon 文件或目录 //同同步步安安全全上上下下文文
-R //递归修改
-v //显示过程
selinux日日志志分分析析工工具具
yum install -y setroubleshoot-server//如如果果没没有有下下面面的的命命令令,,安安全全此此软软件件包包
sealert -a /var/log/audit/audit.log //使用selinux日志分析工具来分析日志,会把解决方案分析出来
硬硬盘盘管管理理((分分区区,,swap,LVM)
DPT:分区表(64)
分区方式:MBR,GPT
MSDOS:硬盘总大小小于2T(15个分区)
1个分区占用16个字节,msdos最多可以分为4个分区。主主分分区区,,扩扩展展分分区区,,逻逻辑辑分分区区
hd sd vd
hd hd(IED)
sda1 sd表示硬盘的接口类型(SATA,SAS,SCSI);a代表第一块硬盘 ;1代表第一个分区
sdb2 b代表第二块硬盘,2代表第二个分区
sda5 第5个分区(逻辑分区)
关于大小:B-KB-MB-GB-TB-PB-EB-ZB-YB
单位:1024
磁盘分区
明令格式
fdisk -l //查查询询所所有有的的存存储储设设备备状状态态((包包括括分分区区表表))
df -h //查看挂载情况
fdisk 设备文件 //使用fdisk磁盘管理工具来管理磁盘
m 查看帮助
n 添加新的分区
p 显示分区表
d 删除分区
q 不保存并退出
w 保存并退出
t 更改分区的类型编号(type_ID),注意此功能没有实际作用只是区分分区的作用
例:
fdisk /dev/vdb
Command (m for help): n //创建新分区
Command action //创建新分区的类型
e extended //“e”代表扩展分区
p primary partition (1-4) //“p”代表主分区 范围(1-4)
p //创建主分区
Partition number (1-4): 1 //分区编号为“1”
First cylinder (1-20805, default 1): //起始柱面,默认是“1”
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20805, default 20805): +500M
//结束柱面或具体的大小,具体大小需要加上“+”和单位,只有数字代表柱面编号
Command (m for help): p //查看分区表
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x42e92285
Device Boot Start End Blocks Id System
/dev/vdb1 1 1017 512536+ 83 Linux
Command (m for help): n //新建分区
Command action
e extended
p primary partition (1-4)
e //类型为扩展分区
Partition number (1-4): 4
First cylinder (1018-20805, default 1018):
Using default value 1018
Last cylinder, +cylinders or +size{K,M,G} (1018-20805, default 20805): +5G
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l //类型为逻辑分区,只有创建完扩展分区才会出现此选项
First cylinder (1018-11421, default 1018):
Using default value 1018
Last cylinder, +cylinders or +size{K,M,G} (1018-11421, default 11421): +1G
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
没有出现警告提示,就会出现相应的配置文件
[root@rhel6 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 252, 16 Dec 9 13:45 /dev/vdb
brw-rw----. 1 root disk 252, 17 Dec 9 13:45 /dev/vdb1
brw-rw----. 1 root disk 252, 20 Dec 9 13:45 /dev/vdb4
brw-rw----. 1 root disk 252, 21 Dec 9 13:45 /dev/vdb5
brw-rw----. 1 root disk 252, 22 Dec 9 13:45 /dev/vdb6
如果出现警告提示,没有产生相应的配置文件,需要重启或输入命令来重新生成
partx -a /dev/vdb
使用分区
1.分分区区,,产产生生分分区区文文件件后后
2.格式化 mkfs.ext4 /dev/vdb1
3.挂载 mount
卸载分区
1.卸载 umount
2.去去分分区区表表里里删删除除
注意:使用命令是临时生效,想永永久久生生效效配配置置文文件件/etc/fstab
UUID //设设备备唯唯一一标标示示符符
blkid //查查看看所所有有设设备备的的UUID
挂载时可以使用UUID
GPT分区表分区
GPT分分区区表表分分区区((支支持持2TB以以上上的的硬硬盘盘分分区区,,最最多多可可分分区区128个)
使使用用分分区区工工具具parted步骤:
[root@rhel7 ~]# parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help //查看帮助
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table,available devices,
free space,all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright
information of GNU Parted
(parted) mklabel gpt //将该硬盘分区表改变成gpt
(parted) mkpart primary 0 -1 //将将整整块块磁磁盘盘分分成成一一个个分分区区
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ignore
(parted) print //查看分区表
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 10.7GB 10.7GB primary
(parted)quit //退出
[root@rhel7 ~]# mkfs.xfs /dev/vdb1 //格格式式化化该该分分区区
meta-data=/dev/vdb1 isize=256 agcount=4,agsize=655298 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=2621191, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@rhel7 ~]# mount /dev/vdb1 /mnt //挂载使用
[root@rhel7 ~]# df -h //查看
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg--rhel7-root 18G 3.0G 15G 18% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 498M 84K 497M 1% /dev/shm
tmpfs 498M 6.8M 491M 2% /run
tmpfs 498M 0 498M 0% /sys/fs/cgroup
/dev/mapper/vg--rhel7-home 497M 26M 472M 6% /home
/dev/vda1 497M 119M 379M 24% /boot
/dev/vdb1 10G 33M 10G 1% /mnt
swap分区 //虚虚拟拟内内存存分分区区
1.使使用用分分区区的的方方式式
1)创建分区
2)格式化分区 mkswap /dev/vdb1
3)激活swap swapon /dev/vdb1
4)查看swap swapon -s
5)查看内存所有的信息 free -m
2.使使用用大大文文件件方方式式
1)创建大文件 dd if=/dev/zero of=/tmp/swap bs=1M count=500
2)格式化大文件 mkswap /tmp/swap
3)激活 swapon /tmp/swap
4)查看swap swapon -s
5)查看内存所有的信息 free -m
磁盘配额
作用:可以限制用户对硬盘的可以空间或最大创建文件的数量,并且还有软/硬限制
软限制:当达到软限制时会提示用户,但允许用户在规定的期限内继续使用
硬限制:当达到硬限制时会提示用户,强制终止用户操作
quotacheck //检检测测获获取取磁磁盘盘的的磁磁盘盘配配额额使使用用情情况况((创创建建,,检检查查和和修修复复磁磁盘盘配配额额))
如果没有文件会产生quota.user和quota.group两个文件
quota 参数 //用用于于显显示示用用户户或或组组的的磁磁盘盘配配额额信信息息
参数 用用户户名名或或组组名名
-g 列出组的配盘空间显示
quotaon //用于激活linux内核中指定文件系统的配盘配额功能
repquota//以报表的格式输出指定分区,或文件系统的磁盘配额信息
edquota //用于超级用户编辑其他用户的quota配额限制
-u编辑用户的配额限制
-g编辑用户组的配额限制
创创建建磁磁盘盘配配额额
1.创建分区
2.格式化
3.挂载 带选项 -o usrquota,grpquota
4./etc/skel目录下相应的文件复制到家目录中
5.更改家目录的权限,拥有者和所属组
6.关闭selinux setenforce 0
7.检测 quotacheck -cugm/home/student //会在家目录创建两个文件
8.激活磁盘配额 quotaon /home/student !!!想取消磁盘配额时quotaoff//取消激活
9.查看报告 repquota /home/student
10.编辑配额情况 edquotastudent
11.查看用户的磁盘配额信息 quotastudent
12.验证
LVM ((逻逻辑辑卷卷管管理理))
PV VG LV
PV:物理卷 整个磁盘或者磁盘分区
VG:卷组 由一个或多个PV组成
LV:逻辑卷 从卷组中取出一部分空间来使用
分区
PV-----VG-----LV
创建的步骤
1.分区
2.创建PV pvcreate /dev/vdb1 /dev/vdb5 /dev/vdb6
3.创建VG vgcreate vgtest /dev/vdb1 /dev/vdb5 /dev/vdb6
4.创建LV lvcreate -n lvfile -L 1G vgtest
5.格式化LV mkfs.ext4 /dev/vgtest/lvfile
6.挂载
查看
pvs //查看pv
pvdisplay //详细查看pv
vgs //查看vg
vgdisplay //详细查看vg
lvs //查看lv
lvdisplay //详细查看lv
LV存储目录/dev/vgtest/lvfile
/dev/mapper/vgtest-lvfile
扩展LV
首先确定vg够不够
1.vg足够的情况
lvextend /dev/vgtest/lvfile-L +1G//扩展LV
resize2fs /dev/vgtest/lvfile //扩展文件系统
如果时xfs文件系统需要使用xfs_growfs /dev/vgtest/lvfile 来扩展文件系统
2.vg不足的情况
1)添加硬盘
2)创建PV
3)扩展VGvgextend vgtest /dev/vdb3
4)扩展LVlvextend /dev/vgtest/lvfile-L +1G//扩展LV
5)扩展文件系统 resize2fs /dev/vgtest/lvfile //扩展文件系统
缩小LV
注意:rhel7 xfs文件系统不能缩小;挂载的情况下不可缩小
缩小的步骤
1.umount /media
2.检测:e2fsck -f/dev/123/lv123 //检测,总空间,可用空间
3.缩小文件系统:resize2fs /dev/123/lv123 1G//将该LV的文件系统缩小到1G
4.缩小LV:lvresize/dev/123/lv123 -L -2G //将LV空间减少2G
VG的缩小
vgreduce VG的名字 PV的位置 //从VG中取走某个PV
服务?无
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值