Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

五、Vim编译器

1.什么是vim编译器

  • Vim相当于vi的升级版
  • Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
  • 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
  • vim 则可以说是程序开发者的一项很好用的工具。
  • 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
  • 连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
  • vim 键盘图:

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

2.三种使用模式(重要)

基本上 vi/vim 共分为三种模式,分别是 命令模式(Command mode), 输入模式(Insert mode)和 底线命令模式(Last line mode)。这三种模式的作用分别是:

  1. 命令模式: 用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时 按下i,并不会输入一个字符,i被当作了一个命令。 以下是常用的几个命令:
  2. i 切换到输入模式,以输入字符。
  3. x 删除当前光标所在处的字符。
  4. : 切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出编辑模式 (ESC)
  5. 输入模式: 在命令模式下按下i就进入了输入模式。 在输入模式中,可以使用以下按键:
  6. 字符按键以及Shift组合,输入字符
  7. ENTER,回车键,换行
  8. BACK SPACE,退格键,删除光标前一个字符
  9. DEL,删除键,删除光标后一个字符
  10. 方向键,在文本中移动光标
  11. HOME/ END,移动光标到行首/行尾
  12. Page Up/ Page Down,上/下翻页
  13. Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  14. ESC,退出输入模式,切换到命令模式
  15. 底线命令模式 在命令模式下按下:(英文冒号)就进入了底线命令模式。 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。 在底线命令模式中,基本的命令有(已经省略了冒号):
  16. q 退出程序
  17. w 保存文件 按ESC键可随时退出底线命令模式。

简而言之,我们可以将这三种模式视为以下图标:

[En]

In a nutshell, we can think of these three patterns as the following icons:

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

测试

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

完整的演示说明

新建或者编辑文件,按 i 进入编译模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式

:wq保存退出!

3.Vim按键说明(需要时查询)

第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法 11 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符 [Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) [Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) [Ctrl] + [d] 屏幕『向下』移动半页 [Ctrl] + [u] 屏幕『向上』移动半页 + 光标移动到非空格符的下一行 – 光标移动到非空格符的上一行 n< space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。(数字 + 空格) 0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H M 光标移动到这个屏幕的中央那一行的第一个字符 L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个档案的最后一行(常用) nG n 为数字。移动到这个档案的第 gg 移动到这个档案的第一行,相当于 1G 啊!(常用) n< Enter> n 为数字。光标向下移动 n 行(常用) 搜索替换 /word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(常用) ?word 向光标之上寻找一个字符串名称为 word 的字符串。 n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 删除、复制与粘贴 x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 dd 删除游标所在的那一整行(常用) ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) d1G 删除光标所在到第一行的所有数据 dG 删除光标所在到最后一行的所有数据 d$ 删除游标所在处,到该行的最后一个字符 d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 yy 复制游标所在的那一行(常用) nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) y1G 复制游标所在行到第一行的所有数据 yG 复制游标所在行到最后一行的所有数据 y0 复制光标所在的那个字符到该行行首的所有数据 y$ 复制光标所在的那个字符到该行行尾的所有数据 p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢?那么原本的第 20 行会被推到变成 30 行。(常用) J 将光标所在行与下一行的数据结合成同一行 c 重复删除多个数据,例如向下删除 10 行,[ 10cj ] u 复原前一个动作。(常用) [Ctrl]+r 重做上一个动作。(常用)

第二部分:一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式 i, I 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。(常用) a, A 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) o, O 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』;O 为在目前光标所在处的上一行输入新的一行!(常用) r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) [Esc] 退出编辑模式,回到一般模式中(常用)

第三部分:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令 :w 将编辑的数据写入硬盘档案中(常用) :w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! :q 离开 vi (常用) :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~ :wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用) ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开! :w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 :n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。 :! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中看 /home 底下以 ls 输出的档案信息! :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 :set nonu 与 set nu 相反,为取消行号!

以上分数需要熟练掌握!

[En]

The above marks need to be proficient!

六、账号管理

1.简介

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

一方面,用户账号可以帮助系统管理员跟踪使用系统的用户,控制他们对系统资源的访问;另一方面,还可以帮助用户组织文件,为用户提供安全保护。

[En]

On the one hand, users’ accounts can help system administrators track users who use the system and control their access to system resources; on the other hand, they can also help users organize files and provide security protection for users.

每个用户帐户都有唯一的用户名和密码。

[En]

Each user account has a unique user name and password.

用户在登录时输入正确的用户名和密码后,即可进入系统和自己的主目录。

[En]

After users type the correct user name and password when logging in, they can enter the system and their own home directory.

要实现用户账号管理,需要完成的主要任务如下:

[En]

To realize the management of user accounts, the main tasks to be completed are as follows:

  • 添加、删除和修改用户帐户。
    [En]

    add, delete and modify user accounts.*

  • 用户口令的管理。
  • 用户组的管理。

2.用户账号的管理

用户账号的管理主要涉及用户账号的添加、修改和删除。

[En]

The management of user accounts mainly involves the addition, modification and deletion of user accounts.

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

2.1添加账号 useradd

语法 : useradd -命令 添加用户

参数说明:

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-m 使用者目录如不存在则自动建立。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
[root@localhost home]# useradd -m jihu1  #创建一个用户
[root@localhost home]# ls
f2  f3  jihu  jihu1  jihu.txt  lost+found  test2  test4

2.2删除用户 userdel

userdel -r 用户名 删除用户的时候将他的目录页一并删掉!

[root@localhost home]# userdel -r jihu1
[root@localhost home]# ls
f2  f3  jihu  jihu.txt  lost+found  test2  test4

2.3修改用户 usermod

修改用户usermod 对应修改的内容 修改那个用户

[root@localhost home]# usermod -d /home/233 jihu1

修改后只需检查配置文件即可!

[En]

Just check the configuration file after modification!

查看命令: cat /etc/passwd

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

2.4切换用户 su

语法 : su username [username是你的用户名]

root用户

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

1.切换用户的命令为: su username [username是你的用户名]

2.从普通用户切换到root用户,还可以使用: sudo su

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令

4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su – root】

5.$表示普通用户,#表示超级用户,也就是root用户

修改主机名称:

[root@jihu ~]# hostname  #查看主机名
jihu
[root@jihu ~]# hostname jihu  #修改主机名,修改完毕后重新连接即可

3.用户的密码设置

我们一般通过root创建用户的时候! 要配置密码!

Linux上输入密码是不会显示的,正常输入就可以了。

如果是 超级用户的话:

passwd username:
new password:
re password:

如果是 普通用户

passwd
(current) UNIX password:
new password:  #密码不能太过于简单!
re  password:

锁定账号!

root,比如张三辞职了! 冻结这个账号,一旦冻结,这个人就登录不上系统了。

passwd -l jihu  #锁定之后这个用户就不能登录了!
passwd -d jihu  #没有密码也不能登录!

4.用户组管理

属主 、 属组

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

4.1 创建一个用户组 groupadd

[root@jihu home]# groupadd jihu1
[root@jihu home]# cat /etc/group
tcpdump:x:72:
jihu:x:1000:jihu
jihu2:x:1001:
jihu1:x:1002:

创建完用户组后可以得到一个组的id,这个id是key指定的! ‘-g 520’,如果不指定就是自增1

groupadd -g 520

4.2 删除用户组 groupdel

groupdel jihu1
cat /etc/group

4.3 修改用户组的权限信息和名字 groupmod -g -n

groupmod -g 666 -n newjihu1 jihu1

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

用户如果要切换用户组怎么办?

#登录当前用户   jihu
$ newgrp  root

5.拓展:文件的查看(了解)

5.1 /etc/passwd

&#x7528;&#x6237;&#x540D;:&#x53E3;&#x4EE4;&#xFF08;&#x5BC6;&#x7801;&#xFF0C;&#x4E0D;&#x53EF;&#x89C1;&#x6240;&#x4EE5;&#x4E3A;X&#xFF09;:&#x7528;&#x6237;&#x6807;&#x8BC6;&#x53F7;:&#x7EC4;&#x6807;&#x8BC6;&#x53F7;:&#x6CE8;&#x91CA;&#x6027;&#x63CF;&#x8FF0;:&#x4E3B;&#x76EE;&#x5F55;:&#x767B;&#x5F55;Shell

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

5.2 /etc/shadow

/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生

它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用”:”隔开。这些字段是:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

5.3 /etc/group

  • 用户组的所有信息都存放在/etc/group文件中。
  • 将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
  • 每个用户属于一个用户组;一个组中可以有多个用户,也可以一个用户属于不同的组。
    [En]

    each user belongs to a user group; there can be multiple users in a group, or a user can belong to a different group.*

  • 当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
  • 用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。
  • 用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
组名:口令:组标识号:组内用户列表
  1. 组名:是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
  2. 口令:字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
  3. 组标识号:与用户标识号类似,也是一个整数,被系统内部用来标识组。
  4. 组内用户列表:是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

七、磁盘管理

1.概述

  • Linux磁盘管理好坏直接关系到整个系统的性能问题。
  • Linux磁盘管理常用命令为 df、du。
  • df :列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量

df 命令

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

du 命令

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

挂载 : mount

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

卸载 : umount -f [挂载位置] 强制卸载

八、进程管理

Linux中一切皆文件

(文件:读写执行(查看,创建,删除,移动,复制,编辑),权限:(用户,用户组),系统:(磁盘,进程))

基本概念

  1. 在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号!
  2. 每一个进程呢,都会有一个父进程!
  3. 进程可以有两种存在方式:前台!后台运行!
  4. 一般的话服务都是后台运行的,基本的程序都是前台运行的!

命令

ps 查看当前系统中正在执行的各种进程的信息!

ps -xx:

  • -a,显示当前终端运行的所有的进程信息(当前的进程)
  • -u,以用户的信息显示进程
  • -x,显示后台运行进程的参数
ps -aux 查看所有的进程
 ps -aux | grep mysql
 ps -aux | grep redis

|  在Linux这个叫做管道符  A|B
grep 查找文件中符合条件的字符串!

ps -ef:可以查看到父进程的信息

ps -ef | grep mysql  #看父进程我们一般可以通过目录树结构来查看!

#进程树
pstree  -pu
    -p  显示父id
    -u  显示用户组

Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

结束进程:kill 杀掉进程

#语法:
    kill -9 进程的id

Original: https://www.cnblogs.com/yin-jihu/p/16040214.html
Author: 爲誰心殇
Title: Linux02:Vim使用及账号、磁盘、进程管理(狂神说)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523972/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux Ubuntu 添加新用户

    1. 了解配置文件 Linux下与用户信息相关的配置文件有 /etc/passwd、 /etc/group、 /etc/shadow等,其权限分别如下: /etc/passwd:保…

    Linux 2023年6月14日
    0133
  • 学习一下 SpringCloud (二)– 服务注册中心 Eureka、Zookeeper、Consul、Nacos

    (1) 相关博文地址: 学习一下 SpringCloud (一)– 从单体架构到微服务架构、代码拆分(maven 聚合): https://www.cnblogs.com/l-y…

    Linux 2023年6月11日
    0123
  • 路由层

    目录 django请求生命周期流程图 *路由层相关知识 内容 django请求生命周期流程图 整体概括请求的走向以及django的核心组成部分 路由匹配 路由匹配的特点 只要匹配上…

    Linux 2023年6月7日
    0114
  • 软件定义网络第一次作业

    配置结果 如何pip解决下载过慢问题 实验环境配置 环境安装截图如下 安装环境过程中一些问题的解决 github连接不上 在hosts文件中加上以下语句 140.82.114.3 …

    Linux 2023年6月7日
    0120
  • Linux通过ssh命令连接远程服务器

    命令使用语法:1,指定用户:ssh -l root 192.168.0.11或则ssh root@192.168.0.11 2,如果修改过ssh登录端口的可以:ssh -p 123…

    Linux 2023年6月13日
    090
  • TCP传输层协议 特性

    客户A和服务器B都处于建立连接的状态,此时客户A主动与服务器B发出断开连接的请求: 第一步:客户A会发送一个序号为Seq=u的报文给服务器B,此时控制位中的断开位FIN=1,即请求…

    Linux 2023年6月6日
    0100
  • python爬虫爬取国家科技报告服务系统数据,共计30余万条

    python爬虫爬取国家科技报告服务系统数据,共计30余万条 按学科分类【中图分类】 共计三十余万条科技报告数据 爬取的网址:https://www.nstrs.cn/kjbg/n…

    Linux 2023年6月14日
    087
  • 计算机系统实验

    实验三 一 实验目的 理解堆栈结构,利用缓冲区进行代码攻击 二 准备工作 配置实验环境(IDA、gcc),阅读实验指导书 三 实验过程 0x01第一关 首先理解堆栈的结构 /* 第…

    Linux 2023年6月8日
    0115
  • Golang 实现 Redis(4): AOF 持久化与AOF重写

    AOF 持久化是典型的异步任务,主协程(goroutine) 可以使用 channel 将数据发送到异步协程由异步协程执行持久化操作。 在 DB 中定义相关字段: type DB …

    Linux 2023年5月28日
    0116
  • 《kasini3000》批量修改linux被控机密码

    《卡死你3000》,是开源,免费,跨平台的devops批量脚本框架。 网址:码云家 https://gitee.com/chuanjiao10/kasini3000 批量生成密码之…

    Linux 2023年5月27日
    0116
  • Kasini3000 batch modify the password for windows node

    https://gitee.com/chuanjiao10/kasini3000 win,linux devops automation batch script framewor…

    Linux 2023年6月13日
    0119
  • 百度云虚拟主机BCH安装PHP框架CodeIgniter

    注意:fastcgi_param SCRIPT_FILENAME /home/bae/app/index.php;这一项中的路径,这个百度云虚拟主机的手册有说明。 将该配置文件(b…

    Linux 2023年6月13日
    0118
  • 微信双开

    1、新建TXT文档 2、右击微信,点击属性,查看目标,复制目标路径 然后在txt文档写下如下内容 TASKKILL /F /IM wechat.exestart “&#…

    Linux 2023年6月13日
    099
  • 【设计模式】Java设计模式-单例模式

    【设计模式】Java设计模式 – 单例模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🌝分享学习心得,欢迎指正,大家一起学习…

    Linux 2023年6月6日
    0172
  • 【Linux】CMake源码编译安装教程

    步骤: 卸载旧版本 官网下载安装包 CMake源码编译安装 检查是否安装成功 Linux下,默认安装方式: sudo apt install cmake 如果使用默认的安装方式,这…

    Linux 2023年6月13日
    0116
  • 《Redis开发与运维》——(七)Redis阻塞(脑图)

    posted @2021-01-09 15:06 雪山上的蒲公英 阅读(90 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    0121
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球