Linux学习笔记基础-文件管理2

文件编辑器vi/vim

vi/vim是Linux中的文本编辑工具,vim的功能比vi要强大许多。

进入文本编辑器:vim $filename

文本编辑器有4种工作模式:

image-20240425113608727

使用vim命令后首先进入的是命令模式,在此模式按i键即进入编辑模式,按esc键则从编辑模式退出到命令模式,按英文冒号:即进入尾命令模式按Enter键退出到命令模式,按ctr+v进入可视快模式,esc键则退出到命令模式。

命令行模式

gg  光标回到页首
G   光标回到页尾
yy  复制光标所在行
3yy 复制三行
yy3 光标所在行复制3次
p    粘贴到光标所在行的下一行
P   粘贴到光标所在行的上一行
D   删除光标位置到所在行行尾
dd  删除光标所在行
4dd 删除4行,包括光标所在行
dgg 删除光标所在行到页首
dG  删除光标所在行到页尾
u   撤销上一步操作
ctrl + r    恢复
r   替换字符
x   删除光标所在处的字符
/关键字
?关键字

编辑模式

i #进入编辑模式,光标位置不变
I #进入编辑模式,光标位置回到行首
a #进入编辑模式,光标位置后移一位
A #进入编辑模式,光标位置移动到行尾
o #进入编辑模式,光标位置移动到下一行(向下另起一行,相当于回车)
O #进入编辑模式,光标位置移动到上一行(向上另起一行)

尾命令模式

输入一个英文的冒号:
w           保存
q           退出
w!          强制保存
q!          强制退出
wq          保存并退出
wq!         强制保存并退出
x           保存并退出
x!          强制保存并退出
X           加密
取消密码    :set key=
​
将文件另存(另存为)
语法----> :w 存储到当前文件
:w   #另存为/tmp/aaa.txt 
:1,3 w /tmp/2.txt  #从1-3行的内容另存为/tmp/2.txt
​
关键字替换
注释:%表示替换所有行  g表示行内所有关键字
:s/old/new/     替换光标所在行匹配到的第一个关键字
:s/old/new/g    替换光标所在行匹配到的所有的关键字
:%s/old/new/    替换每一行匹配到的第一个关键字
:%s/old/new/g   替换所有的匹配到的关键字
:5,8s/old/new/g 指定范围替换
:9s/old/new/g   替换指定行的关键字
​
设置行号
:set nu
取消行号
:set nonu
制表符的长度
:set ts=4
设置行标线
:set cursorline
设置列标线
:set cuc

可视块模式

批量加注释:
    vim filename
    ctrl+v===>上下键选中所需注释内容==>Shift+i===>#====>ESC
    :wq
shift+v    #进入可视行模式

用户管理

Linux又一大特性:多用户,多任务。即在同一台Linux系统上可以有多个用户同时登录,并且每个用户都可以各自执行任务,而互不影响。

在Linux系统中用户分为三类:

超级管理员:拥有系统的最高权限,一般为用户名为root,uid 为0

系统用户:也被称为'伪用户';作用是支撑系统运行,方便管理,是无法登录系统的,uid小于1000

普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是/bin/bash。

注:每个用户在被创建时都会在系统中创建一个同名的组

用户了解

Users and groups:

系统上的每个进程(运行的程序)都是作为特定用户运行的

. Every file is owned by a particular user.

每个文件是由一个特定的用户拥有 .

. Access to files and directories are restricted by user.

访问文件和目录受到用户的限制

用户组管理

用户组添加
添加用户组:groupadd $groupname
添加用户组并指定gid:groupadd -g 1234 $groupname
用户组查看

所有的用户组信息都存放在/etc/group文件中

查看所有用户组:cat /etc/group
查看单个用户组信息/判断用户组是否存在:grep '$groupname' /etc/group
删除用户组

不能删除用户主组

删除用户组:groupdel $groupname
修改用户组

修改用户组uid

修改用户组uid:groupmod -u 1242 $groupname

/etc/group文件内容了解:

image-20240425171536108

以:分割为4个部分 ----> 组名:组密码占位符:gid:组成员

用户管理

用户添加
添加用户:useradd $username

在创建用户时,也会在系统中创建一些文件:

/etc/passwd ---->查看账户是否存在的文件 /home/ ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录 /etc/shadow --->用户的密码文件,影子文件 /var/mail/ ---->系统邮箱,会在该目录下创建同名文件 /etc/group ---->同名组

查看用户

所有的用户信息都存放在/etc/passwd文件中

查看用户:cat /etc/passwd

/etc/passwd文件了解:

image-20240425172323132

以:分割为7个部分 ---->用户名:密码占位符:uid:主组gid:文件描述:文件家目录:登陆shell

用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号

登陆shell--->是用户登陆到界面的第一个命令,开启一个shell。

判断用户是否存在:id $username
查看现在登陆的用户:whoami / who / w

w命令详解:

image-20240425173104358

第一行以空格为分隔,分别代表:

执行w命令的时间  系统是否开启 系统运行时间 当前有几个用户 cpu负载率
load average: 0.00, 0.01, 0.05
cpu负载率:一分钟内,五分钟内,十五分钟内
用户添加(带参数)
添加用户并指定uid:useradd -u 1008 $username
添加用户并指定shell:useradd -s /sbin/nologin $username
添加用户并指定附加组:useradd -G $username $groupname #会覆盖原有的附加组
添加用户并指定附加组:useradd -aG $username $groupname #不会覆盖原有的附加组
添加用户并且不创建用户家目录:useradd -M $username
删除用户
删除用户:userdel $username #此方法删除,用户的家目录以及系统邮箱的信息任会保留
删除用户并删除与用户相关的所有文件:userdel -r $username
强制删除用户,即使用户当前已登录:userdel -f $username 
修改用户密码
root用户修改普通用户密码:passwd $username #不需要提供原密码
root用户修改自己的密码:passwd
普通用户修改自己的密码:passwd #需要提供原密码
用户操作
usermod -u 1231 $username 修改用户uid
usermod -s /sbin/nologin $username 修改用户登陆shell
usermod -aG 添加用户到附属组
usermod -g 指定主组
usermod -G 指定附加组,会覆盖其他的附加组
组成员管理

只针对已存在用户

为组添加用户:gpasswd -a $username $groupname 
为组添加多个用户:gpasswd -M $username,$username1 $groupname #会覆盖组内原有成员
从组内删除用户:gpasswd -d $username $groupname 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值