第四章:Linux常用命令(续)


下接第四部分 https://blog.csdn.net/hi332516_1/article/details/123880815?spm=1001.2014.3001.5501

3. 文件编辑器vim
3.1 vim的介绍与安装
3.1.1 vim的介绍

一般来说,Ubuntu系统自带的是vi,而红帽子自带的是vim,vim可以简单认为是vi的升级版本,vim相较于vi的兼容性更好,功能更强大,怎么判断自己电脑装的是vi还是vim,可以通过方向键去查看,vi不支持。
vim的官网:www.vim.org
在这里插入图片描述

3.1.2 vim的安装

如果电脑上没有vim,这是输入vim,电脑会报错说找不到,会显示安装此命令的步骤
apt updata:更新标准软资源
或者apt-get updata:更新标准软资源
这时候再通过apt install vim

3.2 vim配置文件的修改(添加行号,缩进等等)
3.2.1 配置文件的介绍

配合文件是计算机软件的底层设计或者初始值的设定,比如行号的设置,和tab的缩进,例如刚使用vim的时候,一进去是不显示行号的,这时候可以通过命令 set nu 去设置,只不过下一次再进入的时候,又需要重新设置,很麻烦,所以直接写入到配置文件,这样就不用每一次都设置。

3.2.2 配置文件的设置办法

用root权限去打开配置文件vimrc
vim /etc/vim/vimrc
在文件的末尾写入:

  • set nu
  • set tabstop=4 按tab缩进4个空格
  • set softtabstop=4
  • set shiftwidth=4
  • set expandtab
  • set smartindent 自动缩进
  • 注意:上述修改一定要在root权限,并且尽量复制粘贴,不要手敲(容易出错),如果还想修改其他配置,还是按照此方法即可。

在这里插入图片描述
写入这几行之后,之前的文本里的内容就有可能自动的行号:
在这里插入图片描述
具体的步骤如下:在这里插入图片描述

3.3 vim的三种模式:
  • 命令模式
  • 插入模式(编辑模式)
  • 末行模式
3.3.1 模式切换示意图

在这里插入图片描述

3.3.2 命令模式切换到插入模式
  • a 进入到当前光标后开始插入
  • i 进入到当前光标位置并开始编辑
  • A 进入到当前光标所在行的行末进行编辑
  • I 进入到当前光标所在行的行头进行编辑
  • o 进入到当前光标下一行进行编辑
  • O 进入到当前光标上一行进行编辑
  • 补充:x 删除当前位置的字符
  • 注意:如果实在记不住,只用记住一个i,然后进去之后,通过方向键挪动即可。
3.3.3 命令模式切换到末行模式
  • “:” 对文本的设置和保存工作
    w: 只保存
    wq:保存并退出
    x:等同于wq
    q: 只退出
    q!:强制退出
     w newfile:另存为
     set nu:显示行号
     set nonu:不显示行号
     set hlsearch: 设置搜索结果高亮
     set nohlsearch: 设置搜索结果不高亮
  • “/”:对文本进行全文向下搜索字符串string 例如/QWE
  • "? ":对文本进行全文向上搜索字符串string 例如? QWE
  • 搜索到之后,可以使用命令:n: 接着重复上一次的搜索命令(使用在末行模式)
3.4 vi/vim常用命令
  • n dd  删除从光标开始向下的n行
  • dd  只删除当前行
  • n yy  拷贝从光标开始向下的n行
  • p  粘贴
  • u  撤销上一次的操作
  • Ctrl+r  恢复上一次的撤销操作
  • r  替换当前字符
  • shift+6  将光标移动到当前行的行头
  • shift+4  将光标移动到当前行的行尾
  • shift+g  将光标移动到整个文本的最后一行 //等同于G
  • gg  将光标移动到整个文本的第一行
  • n G  将光标移动到整个文本的第n行 //等同于n shift+g
  • d n G  删除光标所在的第n行数据
  • y n G  拷贝光标所在的第n行数据
  • H  移动到当前屏幕的第一行
  • M  移动到当前屏幕的中间行
  • L  移动到当前屏幕的最后一行
  • “.”:重复上一次操作(使用在命令模式)

补充:

  • h:向左移动光标
  • j :向下移动光标
  • k:向上移动光标
  • l:向右移动光标
  • 上述补充只用于命令模式,但是键盘右下角方向键既可以命令模式使用,还可以插入模式使用。
4. 文件查看命令

vim可以打开文件,查看里面的数据,但是vim始终会存在修改数据的风险,所以这里介绍其他主要用于查看文件的命令

4.1 cat
4.1.1 用于查看文件数据

示例如下:
在这里插入图片描述

4.1.2 用于合并文件(cat A.txt B.txt > C.txt)

在这里插入图片描述

4.1.3 可以往文件中写入数据,Ctrl+d 结束输入(cat > D.txt)

在这里插入图片描述
注意:这个操作首先会将文件D.txt清空,然后从头开始输入数据(使用的时候注意小心源数据的丢失)
在这里插入图片描述

4.1.4 可以往文件的末尾输入数据,Ctrl+d 结束输入(cat >> D.txt)

在这里插入图片描述
注意:“>>”将光标移动到文件末尾,然后在进行写入数据(原先的数据不会丢失)

4.2 more

当文件的内容屏幕显示不完,则可以使用more这个命令,分屏显示
使用命令格式:more filename
示例如下:(more /etc/vim/vimrc)
在这里插入图片描述
这个时候,可以通过空格键(跳转的内容多)或者回车键(一点点的向下看)向下查看剩余数据。如果中途不想看,可以通过q直接退出。(红帽子系统通过方向键向下看)

4.3 less

使用方式和more差不多,只不过有一些细微的差别:

  • less 显示的文件内容不会在终端界面上遗留
  • less 显示的文件内容左下角没有百分比
  • less 显示的文件内容可以通过方向键查看(more只能往下走)
4.4 head

显示文件的前n行内容,使用命令如下:head -n filename
如果这里不写-n,默认查看前10行
示例如下:
在这里插入图片描述

4.5 tail
4.5.1 显示文件的后n行内容,使用命令如下:tail -n filename

如果这里不写-n,默认查看后10行
示例如下:
在这里插入图片描述

4.5.2 用于查看日志文件

tail这个命令经常用于查看日志文件,因为日志文件一般来说只查看近期产生的日志数据,也就是说查看日志文件的末尾居多
通用命令:tail -f filename (-f follow 实时跟踪显示文件末尾信息)
重启一个终端,然后通过cat >> filename,实时输入信息,则左边tail -f filename打开的终端则会同步显示
在这里插入图片描述

5. 用户管理命令
5.1 用户基本信息的存储

存储位置 /etc/passwb
在这里插入图片描述

用户名密码UIDGID描述性信息主目录默认的一个项
rootx(有密码)用户id组id对用户的简单描述一般就是家目录默认命令解释

为了安全,所有用户密码单独加密后保存在一个文件中(/etc/shadow),这个文件只能root查看
在这里插入图片描述
用户名$ 加密算法id$ 密钥$ 密文

5.2 添加新用户

创建用户的时候,一般来说会创建一个同名的家目录,放在/home底下
红帽子会在创建新用户的时候,顺手将同名家目录创建好
Ubuntu不太一样,不会自动添加家目录,手动添加,或者想自动添加家目录,可以通过图形化界面添加新用户
命令格式:useradd user_name

5.3 修改密码

通过passwd这个命令,进行修改密码:passwd user_name
注意:如果想修改非常简单的密码(例如123456),系统不让通过,认为密码太过简单,则可以进入超级用户,强行修改简单密码

5.4 删除用户

使用命令userdel删除用户

  • 1.首先保证用户没有登录
  • 2.userdel删除用户的时候,家目录不会删除(家目录里的数据还有用)
  • 3.如果想顺手将家目录删除,也可以,用userdel -r user_name命令
    在这里插入图片描述
6.进程管理命令
6.1 什么是进程?
  • 程序:是完成特定任务的一系列数据+指令的集合(钢琴琴谱,磁盘上,程序=数据+指令)
  • 进程:正在执行的程序(根据琴谱弹奏的过程,运行在内存上)

进程(process):是计算机上一端程序的执行过程,是操作系统进行资源分配的基本单位,但是进程并不仅仅是局限于一段可执行的代码段,通常进程还需要包括其他资源,例如打开的文件,挂起的信息处理器的状态等等。简言之,进程就是正在执行的程序代码的实时显示结果。

操作系统需要高效的管理进程,所以为了便利控制进程的运行,将进程的管理和控制放到一个数据结构,这个结构体就是PCB进程控制块(process control block),每一个进程均有一个PCB,在创建进程时,PCB首先创建,伴随着进程运行的全过程,当进程结束时,PCB才消退。
PCB记录了操作系统所需的,用于描述进程的当前运行情况以及控制进程运行的全部信息。

6.2 进程在内存中如何管理?

在这里插入图片描述

  • 执行程序时,先创建PCB,在加载进程实体
  • 进程结束时,先释放进程实体,最后再释放PCB
  • 僵死进程:进程实体释放了,但是PCB未能正常释放
  • 补充面试原题:进程,线程,协程,这三个有什么区别?
6.3 进程查看命令

1. ps
默认显示当前终端有关的进程信息
在这里插入图片描述

  • -e 显示所有的信息(-A) 在这里插入图片描述

  • -f 现实更多的进程属性信息

  • -L 显示进程中的线程id
    在这里插入图片描述

  • UID: 用户ID

  • PID: 进程ID

  • PPID:父进程ID

  • C:CPU占用率

  • STIME:进程运行时间

  • TTY:当前终端号

  • CMD:当前进程执行的命令

2. pstree
以树状图的形式显示进程之间的关系
在这里插入图片描述
3. kill
结束或者挂起一个进程

  • -9 强制结束一个进程
  • -STOP 挂起进程(挂起:主动将进程执行暂停,CPU则不再主动给这个进程分配资源)

3.1 前后台

  • 将进程放到前台运行:路径+可执行文件名
  • 将进程放到后台运行:路径+可执行文件名+&

在前台运行的进程,会一直占用资源,导致终端接收不到其他命令,这个时候只能另起一个终端
但是在后台运行的进程,不会占用终端,可以执行其他操作,另一个好处就是不会被Ctrl+c(误触)而终止掉。

  • Ctrl+d 停止输入
  • Ctrl+c 结束进程
  • Ctrl+z 挂起进程

3.2 演示结束进程
在这里插入图片描述

4. pkill
用于结束一组同名的进程(CMD一样)
演示如下:
在这里插入图片描述
总结:

  • kill PID //结束一个进程
  • kill -9 PID //强制结束一个进程
  • kill -STOP PID //挂起一个进程
  • kill CMD //结束CMD相同一批进程

5.jobs
显示当前终端的任务,后台执行的或者挂起的任务
在这里插入图片描述

6. fg

将后台执行的任务挂起到前台

将后台运行的任务放到前台:
在这里插入图片描述
将挂起的进程放到前台:
在这里插入图片描述

7. bg
将挂起的进程唤醒到后台运行

在这里插入图片描述

8. top
用于查看系统资源的使用情况(动态变化时),类似于Windows上的任务管理器

  • top命令执行后,按f进入到top的解释页面
  • 前面带*的,说明已经显示
    在这里插入图片描述
    按f后,示例如下:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值