Linux基础(下)——工作中常用命令总结

目录

一、linux常用命令总结

which命令

find命令

grep命令

['|' 管道命令(Shift + \)](#'|' 管道命令(Shift + ))

tar命令

useradd命令(超级命令-root账户使用的命令)

userdel命令(超级命令)

passwd命令

su命令

chmod命令

[Linux快捷键Ctrl + C](#Linux快捷键Ctrl + C)

用户组与用户操作

history命令

man命令(求帮助)

几个好用的快捷键

二、Linux的vi/vim编辑器(重点)

vi/vim编辑器介绍

打开文件

VIM编辑器的三种模式

命令模式相关命令

编辑模式相关操作

底行模式相关命令

Vim常见错误E325处理流程

三、Linux系统下如何安装软件

Linux下软件安装方式

yum包管理工具(在线安装)

yum实现软件安装、更新与卸载


续linux基础上的内容,这篇补完;

一、linux常用命令总结

which命令

**作用:**which显示执行命令的绝对位置

**语法:**which 命令关键字(例如which ls)

在Linux操作系统中,一切皆文件,命令也是一个文件,如果想查看其具体位置,可以通过which语句。

find命令

**作用:**根据文件名称或大小搜索文件

bash 复制代码
find / -name "test"

查找小于10KB的文件: find / -size -10k
查找大于100MB的文件:find / -size +100M
查找大于1GB的文件:find / -size +1G

grep命令

作用: grep(Global Regular Expression Print)是一个强大的文本搜索工具,用于在文件中查找匹配特定模式的行。

**格式:**grep [选项] 模式 [文件...]

案例演示:

bash 复制代码
grep lang anaconda-ks.cfg 		#在文件中查找lang
grep -n lang anaconda-ks.cfg    #在文件中查找lang并显示行号信息

'|' 管道命令(Shift + \)

**管道作用:**就是把 | 管道前面命令的执行结果作为后面命令的参数

例如:# ps -ef | grep crond

bash 复制代码
ps  -ef| grep mysql : 在所有进程中快速找到包含mysql内容的进程

tar命令

**作用:**压缩文件与解压缩文件

格式:tar [选项]

选项 解释
-c 创建一个新tar文件,就是把多个文件放在一起,但是没有压缩 => 10M + 10M + 10M
-v 显示运行过程的信息,显示压缩或者解压缩进度 => 显示进度信息
-f 指定文件名,代表指定压缩后的文件名称 => 指定文件名称(必选选项)
-z 调用gzip压缩命令进行解、压缩,就是把文件压缩为.gz格式 => .gz格式 => xxx.tar.gz
-x 解包

注意:-c和-x正好相反,只能出现一个。-c负责打包,-x负责解压缩

**解压:**解压缩其实非常简单,只需要把压缩选项中的-c换成-x就可以实现解压缩

bash 复制代码
tar -zxvf redis-3.2.8.tar.gz  			  #将文件解压到当前目录
tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录
简写形式
tar -xf redis-3.2.8.tar.gz  

压缩:

bash 复制代码
tar -zcvf test.tar.gz /root/test  		       #打包并压缩
简写形式
tar -zcf test.tar.gz /root/test
多文件压缩
tar -zcvf python.tar.gz linux.txt readme.txt   #把多个文件压缩到同一个压缩包中

**查看压缩包中文件:**tar -tf redis-3.2.8.tar.gz # 查看压缩包中的内容

useradd命令(超级命令-root账户使用的命令)

**作用:**创建账号

案例演示:

bash 复制代码
useradd user1  # 创建账号
passwd  12345  # 设置密码

**扩展:**id命令,可以用于查看某个账号是否存在

**例如:**id user1

userdel命令(超级命令)

**作用:**删除账号

**-r选项:**删除用户的同时,删除用户的家目录 => /home/用户名文件夹

**案例演示:**userdel -r user1

passwd命令

**作用:**为Linux用户添加密码,因为默认创建的Linux账号没有密码,Linux出于安全考虑,不允许没有密码的用户登录Linux操作系统。

bash 复制代码
# passwd 用户名称 + 回车
输入密码
确认密码

su命令

**作用:**切换(用户)账号

bash 复制代码
# su 账号名称
# su - user1
-横杠:代表切换用户的同时,把当前的目录切换到用户的家目录

chmod命令

**作用:**更改文件权限

**文件权限概述:**Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。为了方便用户管理,Linux允许把多个用户放入一个用户组;在Linux系统中,用户组也有一个ID,GID。

用户和用户组的概念:

在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。

**查看文件权限:**ls -l

文件权限解读:

r/w/x

r:只读权限

w:只写权限

x:主要针对脚本文件,如.sh脚本文件,代表可以对其进行运行 => 类似Windows中的.exe

在文件夹中,r和x权限一般属于组合权限,通常是一起出现的,很少单独出现。
注意:以上r、w、x权限都只能针对普通用户,root可以为所欲为,因为其不受权限限制。

chmod命令:chmod命令用来变更文件或目录的权限。

chmod命令可以通过字母修改文件权限,也可以通过数字方式修改文件权限。

字母形式:

bash 复制代码
# chmod u=rwx,g=rx,o=rx 文件名称
或
# chmod -R u=rwx,g=rx,o=rx 文件夹
-R:递归修改,不仅可以修改文件夹本身的权限,还可以修改文件夹内部的所有文件权限

还可以使用+或-修改权限:
# chmod u-x 文件名称

如果针对u、g、o三者设置相同权限,我们还可以使用a来替代ugo
# chmod a=rwx 文件名称

**数字形式:**常见数字权限,777、755、644、600,这些都是文件权限。必须3位连续的数字。

第1位数字u:拥有者权限

第2位数字g:组内用户权限

第3位数字o:其他用户权限

思考一个问题:数字从何而来?

**答:**每一个权限都有一个对应的数字,r=4、w=2、x=1

思考一个问题:数字7、6、5怎么来的?

**答:**通过4、2、1相加得到

7 = 4 + 2 + 1 = r w x

6 = 4 + 2 = r w

5 = 4 + 1 = r x

Linux快捷键Ctrl + C

**Windows中:**Ctrl + C代表复制

**Linux中:**Ctrl + C不代表复制,而代表中止当前正在运行的程序

用户组与用户操作

用户组创建:

bash 复制代码
groupadd 用户组名称

tail -1 /etc/group   # 代表查看一个文件的最后10行,如果指定了选项,则代表显示最后的指定行

用户组删除: groupdel 用户组名称

**把某个用户添加到某个用户组:**useradd 用户名称 -g 组名称

history命令

**作用:**查看当前终端中,之前输入的指令信息

man命令(求帮助)

manual缩写,代表手册、文档

**格式:**man tar

退出,按q

几个好用的快捷键

**Tab键:**针对命令或路径,具有提示功能(按1次或按2次)

方向键上和下,查看上一个输入的或者下一个输入的Linux指令

二、Linux的vi/vim编辑器(重点)

vim改配置文件或者把其他的地方的配置拷贝到Linux系统中,一定一定要记得在插入模式下粘贴!!

vi/vim编辑器介绍

vi是visual interface的简称, 是Linux中最经典的文本编辑器(Windows中的记事本)

**vi的核心设计思想:**让程序员的手指始终保持在键盘的核心区域, 就能完成所有编辑操作

vi的特点:

· 只能是编辑文本内容, 不能对字体段落进行排版

· 不支持鼠标操作

· 没有菜单

· 只有命令

vim 是从vi发展出来的文本编辑器, 支持代码补全、编译及显示效果等方面编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神。

打开文件

bash 复制代码
vi a.txt          #直接打开文件
vim a.txt         #vim是vi的增强版
vim +10 a.txt  	  #直接打开文件,并定位到第10行

VIM编辑器的三种模式

在Vi/Vim编辑器中,一共有3种工作模式:命令模式、插入模式(编辑模式)、末行模式(底行模式)

命令模式:复制、粘贴、移动光标、撤销与恢复

插入模式(编辑模式):只能编辑文件内容(写字) => i => insert

底行模式(末行模式):保存文件、退出文件、显示行号、搜索关键词

命令模式相关命令

当我们通过vim命令打开文件时,默认就处于命令模式。

**小技巧:**进入vim编辑器,先查看左下角有没有提示信息,如果没有任何信息,代表你当前位于命令模式!

命令 功能
o 在当前行后面插入一空行,除此以外,也会从命令模式切换到输入模式
O 在当前行前面插入一空行,除此以外,也会从命令模式切换到输入模式
dd 剪切或删除光标所在行(本质是剪切,但是如果剪切后不粘贴,则代表删除)
ndd 从光标位置向下连续剪切或删除 n 行
yy 复制光标所在行
nyy 从光标位置向下连续复制n行
p 粘贴
u 撤销上一次命令,相当于Windows中的Ctrl + Z
gg 回到文件顶部
G 回到文件末尾
Ctrl + R 恢复,与u相对应

编辑模式相关操作

如何进入编辑模式呢?

**答:**按i(insert)、a(append)

i:在当前光标的前面插入内容

a:在当前光标的后面插入内容

o:在光标的后一行插入内容

O:在光标的前一行插入内容

**问题:**如何从编辑模式回到命令模式

**答:**按Esc键

底行模式相关命令

重点记住3个字母即可,:w、:q、!

在Linux操作系统中,文件必须先保存后退出!

!叹号代表强制,强制保存、强制退出、强制保存并退出!

命令 功能
:w 文件 另存为
:w 保存(ctrl + s)
:q 退出, 如果没有保存,不允许退出
:q! 强行退出, 不保存退出
:wq 保存并退出
:x 保存并退出
:set nu 设置行号,取消行号使用:set nonu
:noh 取消高亮
/关键词 搜索某一关键词

:wq和:x区别?

答:如果文件内容有改变,两者的效果是一样的。

如果文件内容没有改变,:x不会改变文件的最后修改时间,但是:wq会更新文件的最后修改时间。

Vim常见错误E325处理流程

如果在打开某个文件时,弹出以上提示,那代表你这个文件之前没有保存就强制退出了,触发了Vim的备份机制,产生了一个xxx.swp交换文件。

以后每次打开之前的文件就会产生上面的提示,解决方案:

① 之前的修改不重要,可以直接删除的情况

直接回车,切换到错误的底部,然后按q,直接退出,然后执行删除操作

rm .源文件名称.swp

② 之前的修改很重要,需要先恢复内容,然后再解决报错问题

第一步:直接回车,切换到错误的底部,找到回复菜单,一般是r,恢复文件内容

第二步:针对找回的内容进行:wq保存并退出

第三步:删除刚才产生的交换文件 # rm .源文件名称.swp

三、Linux系统下如何安装软件

Linux下软件安装方式

rpm包管理

yum在线安装(重点掌握

yum包管理工具(在线安装)

必须要有网络支持

配置yum源,就是说下载软件要从哪里下载?

安装腾讯的yum源:

官方地址:https://mirrors.cloud.tencent.com/

bash 复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

**扩展:**国内做的比较好的镜像站

① 阿里云 ② 腾讯云 ③ 清华镜像站 ④ 七牛云 ⑤ 豆瓣镜像站

更新缓存:

bash 复制代码
yum clean all
yum makecache

yum实现软件安装、更新与卸载

搜索与卸载软件:

bash 复制代码
rpm -qa |grep vim
rpm -e vim-common-7.4.629-8.el7_9.x86_64 --nodeps
rpm -e vim-enhanced-7.4.629-8.el7_9.x86_64 --nodeps

注:
rpm -qa,-q查询,-a所有,查询所有已安装软件
rpm -e 软件包完整名称,正常卸载软件,添加--nodeps就代表强制卸载操作
rpm最大问题,安装或卸载软件时存在依赖关系 => A软件 => B软件 => C软件 => D软件

搜索软件

bash 复制代码
# yum search 软件包名称

yum search vim

安装软件

bash 复制代码
基本语法:
yum install 软件名称(只写名字不需要写版本) -y
如果不写-y,默认会提示,是否需要安装,必须回y,才能继续安装

yum install vim -y
选项:
-y:确认,直接安装不提示
yum install tree -y
tree /tmp

卸载软件

bash 复制代码
yum remove 软件包名称 -y
选项:
-y:确认,直接卸载不提示

yum remove tree -y
相关推荐
刃神太酷啦2 小时前
Linux 基础 IO 收官:库的构建与使用、进程地址空间及核心知识点全解----《Hello Linux!》(11)
java·linux·c语言·数据库·c++·算法·php
RisunJan2 小时前
Linux命令-let(执行算术运算)
linux·服务器
开开心心就好2 小时前
视频伪装软件,.vsec格式批量伪装播放专用
java·linux·开发语言·网络·python·电脑·php
翼龙云_cloud2 小时前
阿里云渠道商:弹性伸缩的成本和效率如何平衡?
服务器·阿里云·云计算
翼龙云_cloud2 小时前
阿里云渠道商:3步实现ESS智能缩容,节省30%成本
服务器·阿里云·云计算
济6172 小时前
linux 系统移植(第十九期)---- BusyBox 构建根文件系统---- Ubuntu20.04
linux·运维·服务器
阿钱真强道2 小时前
基于openssl的sm4加密,加密数据,验证OK
linux·网络协议·网络安全
kdniao12 小时前
快递打印单号API:电子面单技术如何重塑电商履约起点
运维
无名修道院2 小时前
AI大模型应用开发-Linux 入门
linux·运维·人工智能·ai大模型应用开发