RHCSA中命令替换、VIM、排序、统计和创建用户的操作

1.命令替换

​ 把命令中某个子命令替换为其执行结果

​	$()echo "The current directory is $(pwd)."
touch ./file$(date +%H-%M-%S).txt
​	``	
​		echo "The current directory is `pwd`"
​		echo 'The current directory is `pwd`'

​ bash支持的引号

``	反引号,命令替换
​""	双引号,可以实现变量替换
​''	强引用,不完成变量替换
2.vim 文本编辑器 非常重要

​ vi 文本编辑 vim 交互式

命令模式		执行操作命令
插入模式		输入内容
末行模式		做一些操作    保存退出  导入文本   
命令模式
	删除:
		d    进入删除状态   
			d     删除当前行   
			$     删除光标所在字符到行尾,包含光所在字符
			^	  删除光标所在字符到行首,不包含光标所在字符
			gg 	  删除光标所在行到文档首部
			G     删除光标所在行到文档尾部   
			w     删除光标所在字符往后一个单词,,而是同类字符
		x         在命令行按字符进行往右删除
		s         删除光标所在处的字符并进入插入模式
		r         替换光标所在处的字符

	光标的跳转:
		$	跳转到行尾
		^   跳转到行首
		gg  跳转到文档首行行首
		G   跳转到文档末行行首
		line_num  G   跳转到  line_num 数字行号的行首
		w   按单词往右跳转

		h   光标往左移动
		j   光标往下移动
		k   光标往上移动
		l   光标往右移动


	其他指令:
		u    撤销之前的操作      1 2 3    3 2 1  
		Ctrl + r  重做          1 2 3   3 2   2 3 

		line_count yy    复制光标所在行之后的  line_count 数量的行 
		yy    表示复制当前行  
		p     表示粘贴复制的行  

		line_count  cc   剪切光标所在行之后的  line_count 数量的行 
		cc    表示剪切当前行    直接进入插入模式   
		p     表示粘贴剪切的行   

末行模式:
	:w
	:q
	:wq
	:w  filename 
	:q! 强制退出不保存
	:set nu   显示行号
	:set nonu  取消显示行号
	:r  /dir1/dir2/filename  表示读取指定文件的内容到当前文件
	:line_num    表示直接跳转到指定行行首

查找替换
	:%s/被替换内容/替换后的内容    表示查找当前文件中所有的  被替换内容  替换成  替换后的内容,但是每行匹配到的只替换第一个匹配到的
	:%s/被替换内容/替换后的内容/g  表示替换所有被匹配到的关键字  g  表示全局   
	:%s/被替换的关键字//g         表示删除匹配到的所有关键字  
查找字符串:
	/关键字    表示在文档中查找关键字  
		n      在所有匹配到的关键字之间往后循环切换
		N 	   在所有匹配到的关键字之间往前循环切换

	?关键字    表示在文档中查找关键字
	    n      在所有匹配到的关键字之间往前循环切换
        N      在所有匹配到的关键字之间往后循环切换
3.文本排序

​ sort 默认根据字符在ASCII码中的升序排序
​ -n 按数值排序
​ -r reverse,逆序排
​ -t 指定字段分隔符
​ -k key,指定字段进行排序
​ -u unique,去重
​ -f 排序时忽略字符大小写

uniq	等同于sort -u,报告重复的行,注意,重复的行必须相邻
	-d	只显示重复的行
	-D	显示所有重复的行
	-c	显示重复行重复的次数
4.文本统计

​ wc word count,显示顺序为 行-单词数-字节数
​ -w 单词
​ -c 字节
​ -l(小写字母l) 行
​ -m 字符
​ -L 最长的一行有多少宽度

date 输出和更改日期时间
更改日期的格式 月日时分年.秒 ntp 时间同步

date -s //设置当前时间,只有root权限才能设置,其他只能查看
date -s 20160813 //设置成20160813,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2016-08-13″ //这样可以设置全部时间
date -s “01:01:01 20160813″ //这样可以设置全部时间
date -s “2016-08-13 01:01:01″ //这样可以设置全部时间
date -s “20160813 01:01:01″ //这样可以设置全部时间
clock   查看时间  硬件
hwclock  查看硬件时间
	-r or hwclock --show
    -w or hwclock --systohc
    -s or hwclock --hctosys

cal 查看日历,如果只有一个参数则表示年份,如果有两个则表示月份,年份
cal [参数]

-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历	
-s 显示星期天为一个星期的第一天,默认的格式	
-m 显示星期一为一个星期的第一天
-j 显示在当前年份中的第几天
-y 显示当前年份的日历
5.用户和组 创建、删除和修改

创建用户
useradd userName 表示创建 userName 为名称的用户
id userName 表示查看 userName 名称的用户是否存在
如果存在,则默认显示用户的相关信息 ,,
uid 表示的是用户的数字编号
gid 用户组的数字编号。 g
roups 表示该用户属于哪个用户组
passwd 修改用户密码
如果是root用户执行该操作,则:
如果passwd 指令后 带参数 用户名 ,则直接修改指定用户名的密码
如果没有带参数,,则 修改root用户的密码
其他用户:则只能修改自己的密码,且不能指定用户

​ root用户在修改密码时,默认可以修改成任何密码
​ 如果是其他用户,则密码必须符合密码复杂型规则要求

​ root用户修改任何用户的密码,都不需要原密码。

su   用来切换用户     su   switch  user    
	 如果需要切换用户环境则使用su - username,如果不需要切换用户环境,则直接用su切换即可    
	 root用户切换任何用户都不需要密码,其他任何用户切换任何用户都需要切换到的用户的密码
exit  切换到某个用户之后,用完以后,退出该用户  

创建用户组
groupadd groupname 创建 groupname用户组

	创建用户时,如果没有指定让用户所属哪个组,那么会自动创建一个与用户名相同的组。
	如果指定让用户所属哪个组,则使用 -g 选项 ,选项后 跟上 组名,而且组名必须存在
etc下的几个主要文件
[root@localhost ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2632 Jan 16 15:15 /etc/passwd
[root@localhost ~]# ll /etc/group
-rw-r--r--. 1 root root 1012 Jan 16 15:11 /etc/group
[root@localhost ~]# ll /etc/shadow
----------. 1 root root 1395 Jan 16 15:15 /etc/shadow
[root@localhost ~]# ll /etc/gshadow
----------. 1 root root 814 Jan 16 15:11 /etc/gshadow

/etc/passwd

haha:x :1001:1001::/home/lala:/bin/bash

lala:  用户名
x:		密码占位符
1001:   该用户的uid
1001:  该用户所属组的gid
    :   昵称或描述 
/home/haha:  用户的家目录
/bin/bash:   用户的shell   


什么是shell?    中间  shell   多个shell 
系统默认是/bin/bash    
/sbin/nologin   不允许登录  

/etc/group

weijianglong:x :1002:

weijianglong:   组名称  
x:          密码占位符
1002:       组的gid
:          该组作为附加组的用户
附加组:  用户除了基本组之外的其他的所属组。
基本组:  当用户在创建时自动创建的和用户名一样的组,当创建用户时指定-g 的组为 基本组
/etc/shadow

redhat: 用户名
$6 加密算法
$NQb.pJ6PUCD0Bo90
$IIMJUCKuizRT4RPBbZBv66hIUaeE2ZDfZ/u0ixu14xKmX19WUk1EBdyx8/8oPBchfxHaJ8LE/qU7BQ9LBG0Lj0: 密文
19008: 自动1970年1月1日开始到上一次修改密码的时间所经历的天数
0: 密码最短使用期限 为0表示不限制
99999: 密码最长使用期限 密码使用多长时间之后必须要改密码,99999表示可不更改 100*365=36500
7: 密码过期警告时间 密码过期前多少天进行警告,提示用户改密码,但是不锁定用户
:密码过期宽限期限 密码过期后必须改密码的时间,如果还没改,锁定用户,就只能找网管了
: 账号过期精确时间 如果为99999,意味着永不过期
: 保留字段

/etc/gshadow

zhangsan: 组名称
6 6 6fXxkaFG/e$wFrtezmR.cPVQ3mnWBwnErUQNSotaeeldDbcYiX0uhzsvzGtouhDCB2xUHa3vOueS1011KGmDm6z7.wvX2qiI/ 密文
:
:
/etc/login.defs 创建用户时使用的一些配置信息。

/etc/skel 有默认四个隐藏文件,该隐藏文件会在创建用户时,自动复制到用户所在的家目录

当创建一个用户时,做了些什么:

	1、/etc/passwd
	2、/etc/shadow
	3、/etc/group
	4、/etc/gshadow
	5、/home/
	6、/var/spool/mail   
6.实验:创建用户(weijianglong)的步骤:

[root@localhost ~]# vim /etc/passwd
在这里插入图片描述
[root@localhost ~]# id weijianglong
在这里插入图片描述
[root@localhost ~]# vim /etc/group
在这里插入图片描述
[root@localhost ~]# id weijianglong
在这里插入图片描述
[root@localhost ~]# cd /home
[root@localhost home]# mkdir weijianglong
在这里插入图片描述
[root@localhost home]# chown 1002:1002 weijianglong
在这里插入图片描述
[root@localhost spool]# cd mail/
[root@localhost mail]# touch weijianglong
在这里插入图片描述
[root@localhost mail]# chown weijianglong:mail weijianglong
在这里插入图片描述
[root@localhost mail]# cd
[root@localhost ~]# cd /home/weijianglong/
[root@localhost weijianglong]# cp /etc/skel/.bash* .
在这里插入图片描述
[root@localhost weijianglong]# cp -r /etc/skel/.mozilla/ .
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBhJezhA-1642858252737)(C:/Users/魏江龙/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg)]
已经好了,查看一下
[root@localhost weijianglong]# cd
[root@localhost ~]# su - weijianglong
[weijianglong@localhost ~]$ id
在这里插入图片描述
[weijianglong@localhost ~]$ id weijianglong
在这里插入图片描述
Exit
[root@localhost ~]# history 查看所有敲的命令
1 vim /etc/passwd
2 id weijianglong
3 vim /etc/group
4 id weijianglong
5 cd /home
6 ll
7 mkdir weijianglong
8 ll
9 chown 1002:1002 weijianglong
10 ll
11 cd /var/spool/
12 ll
13 cd mail/
14 ll
15 mkdir weijianglong
16 ll
17 rm -rf weijianglong/
18 touch weijiannglong
19 ll
20 chown weijianglong:mail weijianglong
21 rm -rf weijiannglong
22 touch weijianglong
23 chown weijianglong:mail weijianglong
24 ll
25 cd
26 cd /home/weijianglong/
27 cp /etc/skel/.bash* .
28 ls -A
29 cp -r /etc/skel/.mozilla/ .
30 ls -A
31 ls -lA
32 cd
33 su - weijianglong
34 history
中间的命令仅供参考!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值