####################################################
一,定向及通道
####################################################
首先来看一条指令:
find /etc -name passwd
表示在/etc目录下查找名字是passwd的文件,得到结果
find: ‘/etc/pki/CA/private’: Permission denied //无法找到,表示错误结果
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/passwd //表示找到的正确结果
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/active’: Permission denied
find: ‘/etc/selinux/final’: Permission denied
/etc/pam.d/passwd
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/redhat-access-insights’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
我们可以通过一些指令,对输出结果进行操作,改变find之类命令结果的表示方法,首先需要了解在linux系统中‘1’表示正确,‘2’表示错误。
1.重定向输出:覆盖文件之前的内容
正确输出
find /etc -name passed >file
find /etc -name passed 1>file
可以在结果中光显示错误的输出,而正确结果导入到file文件中,
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/active’: Permission denied
find: ‘/etc/selinux/final’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/redhat-access-insights’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
通过cat指令查看file内容:
[kiosk@foundation30 ~]$ cat file
/etc/passwd
/etc/pam.d/passwd
错误输出
find /etc -name passed 2>file
仅仅显示正确输出,而错误内容导入了file文件
[kiosk@foundation30 ~]$ find /etc -name passwd 2>file
/etc/passwd
/etc/pam.d/passwd
因为指令采用的是重定向,所以会将file原先的内容清空,随意这条指令下file的内容只有错误的输出,
[kiosk@foundation30 ~]$ cat file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/active’: Permission denied
find: ‘/etc/selinux/final’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/redhat-access-insights’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
所有输出
find /etc -name passed &>file
表示正确和错误的输出都导入了file文件中,在终端中没有结果显示。
2.追加输出:
不会覆盖,将后续内容添加到文件的末尾
find /etc -name passwd 1>file
find /etc -name passwd 2>>file
cat file //相当于file中同时加入所有输入
/etc/passwd
/etc/pam.d/passwd
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/active’: Permission denied
find: ‘/etc/selinux/final’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/redhat-access-insights’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
3.管道
表示前一个命令的输出作为后续命令的操作,管道命令只能通过正确的输出内容
tee file //复制输出到指定位置
#########通过通道后将内容放入correct#########
[kiosk@foundation30 ~]$ find /etc -name passwd | tee correct
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/active’: Permission denied
find: ‘/etc/selinux/final’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/redhat-access-insights’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
/etc/passwd
/etc/pam.d/passwd
[kiosk@foundation30 ~]$ cat correct //correct文件中只有只有正确的输出
/etc/passwd
/etc/pam.d/passwd
################################################
二,vim操作补充
################################################
Vim可以是类似于word一样的文件编译页面,之前介绍过vim查看的基础操作,这次在vim中通过一些设定可以使我们编辑文件更加方便。
1.设定操作工具
临时配置:
在vim模式下,
:set nu 添加行号
:set nonu 取消行号
:set mouse=a 添加光标
:set cursor 添加下划线
Eg:
1 /etc/passwd
2 /etc/pam.d/passwd
3 find: ‘/etc/pki/CA/private’: Permission denied
4 find: ‘/etc/pki/rsyslog’: Permission denied
5 find: ‘/etc/dhcp’: Permission denied
6 find: ‘/etc/lvm/archive’: Permission denied
7 find: ‘/etc/lvm/backup’: Permission denied
8 find: ‘/etc/lvm/cache’: Permission denied
9 find: ‘/etc/selinux/targeted/active’: Permission denied
10 find: ‘/etc/selinux/final’: Permission denied
11 find: ‘/etc/polkit-1/rules.d’: Permission denied
12 find: ‘/etc/polkit-1/localauthority’: Permission denied
13 find: ‘/etc/grub.d’: Permission denied
14 find: ‘/etc/redhat-access-insights’: Permission denied
15 find: ‘/etc/libvirt’: Permission denied
16 find: ‘/etc/ipsec.d’: Permission denied
17 find: ‘/etc/audisp’: Permission denied
18 find: ‘/etc/audit’: Permission denied
19 find: ‘/etc/firewalld’: Permission denied
20 find: ‘/etc/sudoers.d’: Permission denied
21 find: ‘/etc/virt-who.d’: Permission denied
~
~
:set nu ##命令:加入行号
永久修改:
在/etc/vimrc文件中是vim的配置信息,在文件的最后加入指令就能永久改变配置
set nu
set mouse=a
set cursor
vim /etc/vimrc
更改之后就能显示行号,下划线还有移动光标的功能。
2.vim模式编辑操作
关键字的匹配
:/+关键字
n 向下匹配i
N向上匹配
光标的移动
在vim命令模式下
:+数字 移动到某一行
G 移动到最后一行
gg 移动到第一行
3.vim模式下字符的管理
字符复制,
yy 复制一行
yl 复制一个字母
yw 复制一个单词
p 粘贴
u 撤销
而在复制的指令中加入数字可以选择复制个数,如
Vim passwd ##打开passwd文件
使用y3l复制最后一行3个字母放到下一行,
字符的删除
dd 删除一行
dl 删除一个单词
dw 删除一个单词
同样在字母之间加一个数字可以表示多量删除
字符的剪切
剪贴后会自动进入insert模式,需要按esc退出,才能进行粘贴。
cc剪切一行
cl
cw
批量修改
:%s/原有字符/替换后字符 只替换每一行中第一个字符
:%s/原有字符/替换后字符/g 替换所有字符
:1,5s/原有字符/替换后字符/g 替换一到五行的所有字符
Eg:
将2-25行所有的:替换为$
:2,25s/:/$/g
4.vim的可视化模式
在vim命令模式下按ctrl+v可以进入可视化模式,在这个模式下可以进行区域选择、批量添加、删除操作
注意按列区域选择
进入可是化模式后,用鼠标选择想要的列,然后ctrl+V进行选择,注意是大写的V
然后按i进入insert模式,输入要加入的字符,按两下esc就可以了。
Vim的分屏
ctrl+w 然后松手加上指令,
s 上下分屏
v 左右分屏
c 关闭光标所在屏幕
vim进入插入模式的不同命令
i //在光标所在位置进入插入模式
I //在光标所在行的行首
a //所在字符下一个位置
A //所在行行尾
o //下一行
O //上一行
s //删除光标所在字符并进入插入模式
S //删除光标所在行并进入插入模式
在退出vim模式有以下几种指令
先按下esc
:q 退出
:wq 保存退出
:q! 强制退出
:wq! 强制保存退出
####################################################
三,用户操作补充
####################################################
1.更改用户信息
usermod
-l 用户名
-u uid
-g 初始组
-G 附加组 更改或增加
-aG 增加附加组
-c ‘。。’ rsy 用户说明
-d 家目录
-s shell
-L 封号
-U 解封
其中,注意-aG表示增加一个附加组,即用户可以拥有多个附加组
首先打开一个观察窗口,
Watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’
Usermod -u 233 rsy
更改用户的uid为233
2.用户权力下放
一般非超级用户(root)不能使用一些命令,如useradd,这是超出他权限的操作,
[kiosk@foundation30 ~]$ useradd rsy
bash: /usr/sbin/useradd: Permission denied
而在系统中超级用户可以下放给普通用户不能执行的操作->普通用户
下放配置的文件:/etc/sudoers
方法
a.超级用户执行visudo进入编辑etc/sudoers模式
b.格式
rsy hostname=(root) NOPASSWD: /usr/sbin/useradd
获得权限的用户 主机名称=(获得身份) 指令地址
Hostname指令可以得到自己的主集名称
而查看命令的地址可以使用:
which useradd
c.在完成修改后,运行
su - rsy
sudo useradd dabing
就可以在普通用户使用useradd命令,建立新的用户dabing
NOPASSWD:表示调用sudo命令是不需要密码
3.认证信息的控制
在/etc/shadow文件中存放有用户的认证信息
这几项是:
用户名:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日期
修改认证信息:
Change -m 10 rsy ##最短有效期
-W ##警告期
-M ##最长有效期
-I ##非活跃天书
-E ##到期日期 格式‘2019-01-01’
chage -d 0 student
登陆系统时需要重新设定密码,必须为8位
########修改root密码##############
1.启动系统
2.在启动阶段,按e键编辑启动引导
3.在linux16这一行删除该行ro之后的内容,并改为rw,添加rd.break
4.ctrl+x启动系统设定后的引导项目
5.
chroot /sysroot ##切换到真实的系统环境
6.
passwd root ##修改超级用户的密码
7.
touch /.autolabel ##重新扫描所有文件
8.再进行两次exit