前言在上一篇文章中我们完成了 openEuler 的安装、网络配置以及pwd、ls、cd、cat等基础命令的学习。作为续集本文将带你进一步掌握 Linux 系统的核心操作文件的创建、复制、移动、删除Vim 编辑器的基本使用以及用户与用户组的管理。这些技能是日常服务器维护和权限控制的必备能力。一、文件与目录操作复习与深化1. 创建目录mkdirmkdirmake directory用于创建目录。[rootsvr223 ~]# mkdir ikun # 在当前目录下创建 ikun 目录[rootsvr223 ~]# mkdir -p /root/ikun/kunkun # 递归创建多级目录父目录不存在时自动创建-p参数非常有用可以一次性创建多层目录避免“No such file or directory”错误。这里我们尝试在root文件夹下创建一个ikun目录ikun文件夹下有一个kunkun目录。从上图可以看到这里我并没有加上-p参数但是我尝试在一个不存在目录下创建一个目录这就造成了上图中的报错。这次我加上了-p 参数这样就成功创建了kunkun目录同时也创建了kunkun的上级目录ikun。通过我下面执行的ls命令和cd命令可以看到我成功创建出了目录值得注意的是这个mkdir命令在创建目录的时候如果没有指定路径那么他就默认创建在当前目录。2. 创建空文件touchtouch用于创建空文件或更新已有文件的时间戳。[rootsvr223 ~]# touch chicken.txt # 创建一个空文件[rootsvr223 ~]# touch sing.txt jump.txt rap.txt # 同时创建多个文件如果文件已存在touch会更新它的修改时间内容不变。这里我们尝试在刚刚创建的ikun目录下的kunkun目录中创建一个文件 chicken.txt执行完touch命令后执行ls命令来查看kunkun目录可以看到已经成功创建出了chicken.txt文件。这个touch命令可以同时创建多个文件写法也很简单就是在后面跟上要创建的文件名就行了接下来我们尝试创建同时创建三个文件 sing.txtjump.txtrap.txt执行完命令后可以看到成功创建出了三个文件这里要注意如果同时创建多个文件的话要写清楚每个文件的路径就算多个文件都在一个路径的话也要写清楚路径但是如果就在当前文件夹创建的话就可以不写路径直接写文件名了这里我就是为了方便我就通过cd命令跳转到了目标目录中所以直接就创建出了这三个文件。在linux中和windows不太一样windows中我们在创建文件的时候如果文件已经存在的话他就会出现文件已存在的提示但是在linux中如果创建的文件已存在了他不会提示也不会报错他会更新他的修改时间。下面我们来尝试使用touch命令来再次创建一个chicken.txt文件。这里我们已经尝试了再次创建chicken.txt文件可以看到他的时间变成了14:24 而原本是14:08由此可知创建已存在的文件的时候会改变修改时间。3. 复制文件或目录cpcopy用于复制文件或目录。[rootsvr223 ~]# cp /root/ikun/kunkun/chicken.txt /root # 复制文件[rootsvr223 ~]# cp -r /ikun / # 复制目录必须加 -rcp命令可以用于复制文件下面我们来尝试将chicken.txt文件复制到/root目录下可以看到成功通过cd命令将chicken.txt文件给复制到了/root目录内。我们再次执行一遍复制命令由于刚刚已经复制过了一遍/root目录中已经存在了该文件所以再次复制过来就是覆盖了这个时候输入y表示确定输入n表示不覆盖。同时这个cp复制命令也可以复制目录这里就不作展示了但是一定一定要注意复制目录的话必须要加-r参数否则会报错。4. 移动或重命名mvmvmove用于移动文件/目录或在同一目录下重命名。[rootsvr223 ~]# mv /root/ikun/kunkun/chicken.txt /root/hkun # 将文件移动到 docs 目录[rootsvr223 ~]# mv rap.txt basketball.txt # 重命名同一目录下移动[rootsvr223 ~]# mv -r project/ /tmp/ # 移动目录也需要 -rmv命令可以对文件进行移动下面我们尝试使用mkdir命令创建一个hkun目录然后将chicken.txt文件移动到hkun目录中从以上截图可以看出我们成功使用mkdir命令创建出了hkun目录然后我们使用mv命令移动chicken.txt到 hkun 目录然后可以看到使用ls命令成功在hkun目录中找到了chicken.txt文件那么原来的kunkun目录中还有chicken.txt文件吗再次使用ls命令查看可以看到kunkun目录中的chicken.txt文件消失了。移动目录也是一样的这里就不展示了但是还是那句话要对目录进行操作一定要带上-r参数。其实mv命令还可以用来实现文件的重命名在linux中并没有单独的重命名命令但是可以在移动的过程中更改名字这就实现了重命名如果仅仅想进行重命名操作不想更改文件位置就可以把源地址和目的地址都设为相同的再把文件名字设为想改的名字就完成了。下面我们来试试将kunkun目录下的rap.txt重命名为basketball.txt。从截图中可以看到我们执行完命令后用ls命令查看发现rap.txt文件不见了出现了一个basketball.txt这就完成了重命名了。5. 删除文件或目录rmrmremove用于删除文件或目录。[rootsvr223 ~]# rm /root/ikun/kunkun/sing.txt # 删除文件[rootsvr223 ~]# rm -r /root/ikun/kunkun# 递归删除目录必须加 -r[rootsvr223 ~]# rm -f /root/ikun/kunkun/jump.txt # 强制删除不提示确认-r递归删除目录及其内容。-f强制删除忽略不存在的文件不显示提示。危险操作rm -rf /会删除整个系统务必确认路径正确。rm命令用于文件的或者目录的删除操作后面直接跟上要删除的文件或者目录就行接下来我们来尝试删除kunkun目录下的sing.txt。执行完命令后出现了一个提示会让你确认是否要删除文件用ls命令查看可以看到sing.txt文件没有了已经成功被删除了。同样如果要删除目录也是这么操作的也一定要记住加-r。rm命令还可以加-f参数加上这个参数后就不会向你确认是否删除而是会直接删除在删除目录的时候如果目录中有很多文件就要一个一个确认很麻烦所以这个-f在删除目录的时候还是很重要但是加上-f参数的时候一定要注意检查路径千万不要删错了。下面我们来尝试加上-f参数来删除kunkun目录。从截图中可以看出执行完命令后没有让我们确认然后用ls命令来查看ikun目录发现ikun目录中啥也没有了。6. 通配符**可以匹配任意长度的任意字符用于批量操作。[rootsvr223 ~]# rm *.log # 删除所有 .log 文件[rootsvr223 ~]# cp *.txt backup/ # 复制所有 .txt 文件到 backup 目录[rootsvr223 ~]# ls a* # 列出所有以 a 开头的文件通配符就是一个 * 这个表示任意的意思在现实生活中我们也经常用到的比如 马*梅马冬*在linux操作中可以用来批量删除某些符合条件的目录或者文件、查找符合条件的文件等等。下面我们来试试使用ls命令来列出所有.txt为后缀的文件​​​​​​​执行完命令后就列出了所有的.txt为后缀的文件这里被我们之前删得只有一个了。一个特殊的命令rm -rf /*这个命令极其危险这个命令就是删除根下的所有文件执行完了之后整个linux都会报废千万千万不要执行这个命令。如果实在好奇那么一定要在虚拟机中做好快照后再尝试。二、Vim 编辑器入门Vim 是 Linux 下功能强大的文本编辑器学会它是每个 Linux 用户的必修课。Vim 有三种主要模式理解模式切换是使用 Vim 的关键。1. 三种模式模式说明进入方式普通模式Normal默认模式用于移动光标、删除、复制粘贴打开 Vim 后即处于普通模式或按Esc回到该模式插入模式Insert可以输入文字按i光标前插入、a光标后插入、o下一行、O上一行等底行命令模式Cmdline执行保存、退出、搜索等命令普通模式下按:下图就是vim的三个模式的关系这里我们使用vim /root/hkun/chicken.txt打开编辑器然后看左下角图一中的就是普通模式按下i键等进入插入模式图二这样左下角显示插入就是插入模式进入插入模式后就可以在文件中进行文件的编辑可以写入东西写入完了以后按下esc键回到普通模式然后按下键就进入了命令模式图三中左下角显示一个冒号就表示命令模式。2. 常用操作操作命令说明保存:w保存当前文件保存并退出:wq或:x保存后退出 Vim不保存强制退出:q!放弃所有修改并退出显示行号:set nu在左侧显示行号便于定位取消行号:set nonu关闭行号向下搜索/关键词从光标处向下搜索按n跳转到下一个匹配N上一个向上搜索?关键词从光标处向上搜索新手常见问题打开 Vim 后无法输入文字因为默认处于普通模式。必须先按i进入插入模式才能打字。三、用户管理Linux 是一个多用户操作系统每个用户有唯一的 UID用户 ID。root用户的 UID 为 0拥有最高权限。1. 查看用户信息idid命令显示当前用户或指定用户的 UID、GID 和所属组。[rootsvr223 ~]# iduid0(root) gid0(root) groups0(root)uid用户 ID。gid主组 ID。groups所有所属组包括附加组。id命令可以查看当前用户下面我们试试用id命令来查看root用户。执行完命令后可以看到这个id命令显示了用户id,组id root用户的uid值是0还有系统用户uid值一般是1-999普通用户的uid值一般是1000-65535 。2. 创建用户useradduseradd用于创建新用户。[rootsvr223 ~]# useradd tony # 创建用户 tony自动创建同名的组[rootsvr223 ~]# useradd -m jerry # -m 创建家目录通常默认已有[rootsvr223 ~]# useradd -u 1050 tom # 指定 UID 为 1050创建后家目录默认为/home/用户名。用户信息记录在/etc/passwd文件中。执行完命令后可以看到kunkun用户成功创建了uid是1002 。3. 设置密码passwdpasswd用于设置或修改用户密码。bash[rootsvr223 ~]# passwd kunkunChanging password for user kunkun.New password:Retype new password:passwd: all authentication tokens updated successfully.root用户可以修改任何用户的密码且无需输入旧密码。普通用户只能修改自己的密码且需要先输入旧密码。执行passwd命令后成功为kunkun用户设置了密码这里我的密码设置为了123456这里linux会提示少于8个字符其实这个他只是提示你可以不用管再次输入123456就可以设置成功。4. 切换用户sususwitch user用于切换当前用户身份。[rootsvr223 ~]# su - kunkun# 切换到 tony 用户并加载其环境变量[tonysvr223 ~]$推荐使用su - 用户名加-会同时切换环境变量如当前目录变为家目录。不加-则只切换用户当前目录和环境变量不变。从普通用户切换回 root 需要输入 root 密码或使用sudo。执行完命令后可以看到成功切换到了用户kunkun 可以注意到前面的符号变成了$这就是普通用户的标志。要退出的话输入exit就行了。5. 删除用户userdeluserdel用于删除用户。[rootsvr223 ~]# userdel kunkun # 删除用户但家目录残留[rootsvr223 ~]# userdel -r kunkun # -r 同时删除家目录和邮件池不加-r时用户的家目录/home/用户名需要手动清理。执行完命令后用ls命令查看家目录发现kunkun的家目录已经没有了kunkun用户删除成功。四、用户组管理用户组用于方便地管理多个用户的权限。每个用户都有一个主组primary group还可以加入多个附加组supplementary groups。1. 创建组groupadd[rootsvr223 ~]# groupadd ikun # 创建 dev 组[rootsvr223 ~]# groupadd -g 3000 ikun # 指定 GID 为 3000组信息保存在/etc/group文件中。用户组信息存放在/etc/group目录中执行完新建组的命令后用tail命令查看group目录中最后三行就可以看到ikun组就在这创建成功group中有很多的条目但是新建的组在最后所以用tail查看后面的几行就可以看到了。2. 管理组成员gpasswdgpasswd可以设置组密码和管理组成员。[rootsvr223 ~]# gpasswd -a kunkun ikun # 将 kunkun 添加到 ikun 组[rootsvr223 ~]# gpasswd -d kunkun ikun # 将 kunkun 从 ikun 组移除-aadd添加用户到组。-ddelete从组中删除用户。执行完命令后用tail命令查看组可以看到kunkun已经成功加入到了ikun组中了。3. 删除组groupdel[rootsvr223 ~]# groupdel ikun # 删除 ikun 组只有当组中没有用户以该组作为主组时才能删除。如果某个用户的主组是它需先删除用户或修改用户主组。执行命令后再次查看发现ikun组不见了这里可以用cat查看这样才显示全的会发现确实是没有ikun组了ikun组删除成功这是可能会看到明明没有创建kunkun组为啥这里会有一个kunkun组这是因为在创建用户的时候会自动创建出一个组。五、总结本文作为 Linux 基础操作的续集主要实践了以下内容✅ 文件与目录的创建mkdir、touch、复制cp、移动/重命名mv、删除rm以及通配符*的用法。✅ Vim 编辑器的三种模式切换、保存退出、搜索、显示行号等基本操作。✅ 用户管理查看用户id、创建用户useradd、设置密码passwd、切换用户su、删除用户userdel。✅ 用户组管理创建组groupadd、添加/删除组成员gpasswd -a/-d、删除组groupdel。这些命令是 Linux 系统管理和权限控制的基石。建议在虚拟机中反复练习熟悉每个命令的选项和效果。下一篇可以继续学习文件权限chmod、chown以及sudo授权。原创作者浅了