Linux常规操作命令

日升时奋斗,日落时自省
目录
1、vim
1.1、工作模式
1.2、末行模式操作相关命令
1.2.1、保存退出操作
1.2.2、查找替换
1.3、输入模式操作相关命令
1.3.1、移动相关命令
1.3.2、删除和剪切命令
1.3.3、复制操作
1.3.4、撤销
2、head
3、tail
4、ps
5、grep
6、lsof
7、find
8、netstat
这是之前博客关于Linux基本使用,但仅仅类似于windows基本点击操作,在linux服务器操作中只能算是知道基本的操作方式
这里给友友们写一下之后我们的日常操作命令
1、vim
针对文件的详细操作:
使用方法: vim 文件名

打开后的显示:

1.1、工作模式
输入模式:
vim命令进入文件之后是不能修改的,当前算是一个命令模式,要想进入输入模式(也就是修改文件内容)按a、i、o这三个其中一个就可以进入INSERT模式
注:输入模式修改主要用于文本编辑,和记事本类似,输入数据
![]()
文件最下方会有这样的显示表示已经输入模式 当前可以修改文件内容
ESC:退出输入模式 回到 命令模式(是按一次的效果)
如果ESC按了两次咋办? 不咋办:进入末行模式
末行模式:就是刚刚友友们看见的 INSERT 出现的位置,就是末行,可以输入一些其他的操作例如:搜索、替换、保存、退出、撤销、高亮等
注:末行模式也可以通过“:”(冒号)开启
1.2、末行模式操作相关命令
1.2.1、保存退出操作
:w 保存不退出
:q 不保存退出
:w 新文件名 (将文件保存到新文件中)
:wq 保存退出
:!强制
:q! 强制退出 不保存数据 (用于操作事务导致不能正常退出)
:wq! 强制不保存退出
1.2.2、查找替换
针对光标所在行向下查找:/ 输入查找字符
针对光标所在行向上查找:? 输入查找字符
查找相关字符有多个重复的 : n 表示下一个 (N 表示上一个)
1.3、输入模式操作相关命令
1.3.1、移动相关命令
光标移动:h(左)、j(上)、k(下)、l(右)
移动指定行: ":n" 这里的n可以写成第几行
移动到首行:^
移动到尾行:$
删除字母: x (想要删除多个nx)
1.3.2、删除和剪切命令
删除单行:dd
删除多行:ndd
删除指定行数:n1,n2d
注:这里的删除是剪切的命令
1.3.3、复制操作
复制单行:yy
复制多行:nyy
1.3.4、撤销
撤销:u
撤销反:ctrl + r
扩展:
(1)vim -o 当前文件 另外一个文件 (上下分屏 关键字母 : o)
(2)vim -O 当前文件 另外一个文件 (左右分屏 关键字母 : O)
分屏时 需要快捷键操作 光标切换分屏位置 crtl + w (末行命令)
2、head
head本质上就是从文件开头开始 查找 对应的行数或者字节数(同时也具备了查找所有行数的功能)
隐藏文件名查询所有行的命令 :head -q 文件名
显示文件名查询所有行的命令: head -v 文件名

从文件开头开始查询固定的行数:head -n 查询行数 文件名

从文件开头开始查询固定的字节数:head -c 字节数 文件名

注:以上命令可以联合在一起使用 例如 head -v -n 行数 文件名 结合上述提示想一下就知道是什么意思
3、tail
tail行操作命令,可以和head对比这使用,使用方法也基本一致,只不过是从文件尾开始查询
隐藏文件名查询所有行的命令 :tail -q 文件名
显示文件名查询所有行的命令 :tail -v 文件名

注:其实这里的显示内容与head无异
从文件尾开始按行查找 :tail -n 行数 文件名

从文件尾开始按字节查找 :tail -c 字节数 文件名

循环读取 : tail -f 文件名 其实只要这个文件后追加内容,就会显示出来(监视作用)
这里的循环读取是可以搭配的--pid一起使用,观察日志变化
使用方法: tail -f --pid 进程号
当前监视情况是实时的也就是每时每刻的在监视,但是也不是就每时都有内容添加,所以可以设置一定时间监视查看一次
使用方法: tail -f --pid 进程号 -s 时间 (这个时间单位是秒)
4、ps
ps操作命令主要是显示当前进程的状态
显示所有进程 : ps -a
显示加宽可以显示较多的资讯: ps -w
显示所有包含其他使用者的进程:ps -aux (这里一般都搭配grep使用)
使用方法:ps -aux | grep 进程的相关名称 (按照进程名称查看)
使用方法:ps -aux | grep 进程的ID (按照进程的ID进行查看)
例如:平常发布springboot 项目, 总的还是要查看一下当前是否是放上去了不是嘛
所以这里就需要:查看一下 ps -aux | grep java 就能看到了

这里针对这里显示的详细信息(显示以下的信息)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:行程拥有者
PID:pid
%CPU:占用的CPU使用率
%MEM:占用的记忆体使用率(记忆体就是一种存储器)
VSZ:占用虚拟记忆体大小
RSS:占用的记忆体的大小
TTY:终端的次要装置号码
STAT:当前进程的状态 (带有S就是静止状态 R表示执行状态其他状态可以需要是百度)
START :进程开始时间
TIME:执行时间
COMMAND:执行的指令(在很多官方文档上COMMAND的出现就可以表示指令的意思)
5、grep
grep主要涉及查找文本的字符串或者文本内容
忽略大小写进行匹配:grep -i 字符串 文件名

找不配的行数:grep -v 字符串 文件名

找匹配的行数:grep -n 字符串 文件名

递归文件找存在字符串:grep -r 字符串 文件名

只打印匹配文件名:grep -l 字符串 文件名 (这里不能扫描目录,可以搭配-r选项执行)
打印匹配的行数:grep -c 字符串 文件名 (执行结果是 一个数字 表示包含字符串的行数)
grep可以搭配其他的命令使用,一般我们常用来查询网络详细数据
注:这里留下两个命令让友友们自己去尝试使用,没有全部演示
6、lsof
lsof是不能直接使用的,需要安装lsof(执行下面当前命令就可以安装了,中途问是否能安装 输入y就行)
yum install lsof
lsof主要是用来获取被打开进程文件的信息(监视作用)
显示所有打开网络的连接:lsof -i :端口号 (可以执行显示)

显示打开指定文件的所有进程:lsof 文件名 (显示该文件涉及到的进程)

列出打开文件的进程:lsof -a -p 进程号 | grep 文件名
我们可以使用以下命令来查找该进程打开的所有文件
显示所属user :lsof -u 用户名(针对所属用户)
7、find
find主要就是针对找文件相关的内容
按文件名查找文件:find 路径 -name 文件名
注:文件名这里* 表示多个字符串,?表示就是一个字符串

指定查找类型:find 文件路径 -type 文件类型
文件类型:f表示的就是普通文件 ,d是目录 ,l是符号连接
针对文件大小查找文件:find 文件路径 -size 文件字节
文件字节:K表示KB M表示MB G表示GB
按修改时间查找文件 : find 文件路径 -mtime n
n:这里的n表示n前对文件的修改
8、netstat
netstat主要是用来网络连接 、路由表 、连接的数据统计
系统端口使用情况:netstat -anp | grep 进程号(也可以写进程名称)
注:如果不写“ | ”的话,就是显示系统端口使用的情况
显示 UDP 类型的端口 :netstat -nupl
显示 TCP 类型的端口 : netstat -ntpl
显示统计已连接上的 :netstat -na | grep ESTABLISHED(可以更换连接状态)
注:这里就不在演示了,统计已连接上的 字符串的连接状态
相关文章:
Linux常规操作命令
日升时奋斗,日落时自省 目录 1、vim 1.1、工作模式 1.2、末行模式操作相关命令 1.2.1、保存退出操作 1.2.2、查找替换 1.3、输入模式操作相关命令 1.3.1、移动相关命令 1.3.2、删除和剪切命令 1.3.3、复制操作 1.3.4、撤销 2、head 3、tail 4、ps 5、…...
日期切换
组件:<template><div class"time-picker"><el-radio-group size"small" v-model"timeType" change"changePickerType"><el-radio-button label"hour" v-if"isShow">时</el…...
怎么裁剪视频大小尺寸?简单的裁剪方法分享
怎么裁剪视频的画面大小尺寸呢?有时当我们下载下来一段视频,由于视频的画面大小比例不同,会有很多的黑边,我们不管是观看还是进行二次编辑都非常影响体验,而调整视频画面比例以适应观众的设备或平台,比如将…...
智慧工地源码,Spring Cloud+ Vue+UniApp开发,微服务架构
智慧工地源码,智慧工地云平台源码 智慧工地APP源码 智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云…...
【Hystrix技术指南】(5)Command创建和执行实现
创建流程 构建HystrixCommand或者HystrixObservableCommand对象 *使用Hystrix的第一步是创建一个HystrixCommand或者HystrixObservableCommand对象来表示你需要发给依赖服务的请求。 若只期望依赖服务每次返回单一的回应,按如下方式构造一个HystrixCommand即可&a…...
学习笔记-JAVAJVM-JVM的基本结构及概念
申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 原资料地址:课程资料 什么是JVM 原文连接: 原文连接 JVM是J…...
ubuntu20.04 docker 下编译 tensorflow-gpu
ubuntu20.04 安装tensorflow-gpu 配置: 系统 ubuntu 20.04 LTS 显卡 GTX 1060 6G 1 安装cudatoolkit (我选 CUDA Toolkit 12.2 ) NVIDIA CUDA Installation Guide for Linux https://docs.nvidia.com/cuda/cuda-installation-guide-linux/in…...
❤ VUE3 项目路由拦截器配置(二)
❤ VUE3 项目 路由拦截器进一步 配置 路由拦截抽离为单个模块permission.ts 路由配置规则 白名单(直接进入) PC页面和PC子页面(直接进入) 后台页面(验证token ) 没有token> 后台登录页面 有token> 后…...
Filament 如何自定义登录页面
官方的页面太简约了,而且可供修改的范围太少了 通过发布官方资源可以看到 resources/views/vendor/filament-panels/pages/auth/login.blade.php <x-filament-panels::page.simple>if (filament()->hasRegistration())<x-slot name"subheading&…...
百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!
今年3月,百度智能云推出“千帆大模型平台”。作为全球首个一站式的企业级大模型平台,千帆不但提供包括文心一言在内的大模型服务及第三方大模型服务,还提供大模型开发和应用的整套工具链,能够帮助企业解决大模型开发和应用过程中的…...
[保研/考研机试] KY129 简单计算器 浙江大学复试上机题 C++实现
描述 读入一个只包含 , -, *, / 的非负整数计算表达式,计算该表达式的值。 输入描述: 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中…...
推出 Elasticsearch 查询语言 (ES|QL)
作者:Costin Leau 我很高兴地宣布,经过大约一年的开发,Elasticsearch 查询语言 (ES|QL) 已准备好与世界共享,并已登陆 Elasticsearch 存储库。 ES|QL 是 Elasticsearch 原生的强大声明性语言,专为可组合性、表现力和速…...
机器学习 day32(神经网络如何解决高方差和高偏差)
解决高偏差和高方差的新方法 之前,我们需要通过选取多项式次数以及正则化参数λ,来平衡高方差和高偏差 只要训练集不是特别大,那么一个大型的神经网络总能很好的适应训练集,即它的Jtrain很低由此可以得出,若要减小Jt…...
Web前端之NodeJS、Vue
文章目录 一、Babel转码器1.1 Babel安装流程1.2 Babel命令行转码 二、Promise对象三、测试方式四、Vue(渐进式JS框架)4.1 准备4.2 创建一个项目4.3 运行一个项目 五、模板语法5.1 文本5.2 原始html5.3 属性Attribute5.4 使用JavaScript表达式 六、条件渲…...
冠达管理:银行定增是利好还是利空?
银行定增是指银行经过向特定投资者定向发行股票的方法进行增发。这种方法被认为可认为银行提供本钱充足、拓展融资渠道、增强抵挡危险的才能。但是,关于银行定增是否对商场和投资者带来积极影响的讨论一向存在。本文将从多个角度进行剖析,以讨论银行定增…...
背上小书包准备run之TypeScript篇
这TypeScript我真不知道面试会咋问。。。 哦以前还写过一篇基础⬇️ Typescript 基础易理解-------冲冲冲_ts和js有什么区别_慢谷的博客-CSDN博客 typescript是啥?与javascript的区别? TypeScript是一个强类型的JavaScript超集,可编译为纯…...
什么是绩效管理?绩效管理包括哪些内容?
阅读本文您可以了解:1、绩效管理的定义;2、绩效管理的内容; 一、什么是绩效管理 绩效管理是一种组织和管理方法,旨在确保员工的工作与组织的目标保持一致,以及激励和提高员工的工作表现。它涉及设定明确的目标和标准&…...
Java基础练习八(二维数组)
1.装水问题 有一个 异形 容器,用一个 n * n 的二维数组来表示。其中 1 表示容器实心部分, 0 表示空心部分。现使用此容器装水,能装多少水(每个元素都表示一份水,只有有挡板的部分能装水)? publi…...
Biopython序列比对
从InterPro网站(https://www.ebi.ac.uk/interpro/download/Pfam/)下载多序列比对文件Pfam-A.seed.gz(含多个多序列比对) wget https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.seed.gz解压,取第一…...
无法坚持运动?解密肠道菌群影响运动积极性
谷禾健康 运动可以说是最有效和可行的生活方式因素,个人可以利用它来保护自己免受各种疾病的侵害,包括代谢性、心血管、神经退行性和肿瘤性疾病。 世界卫生组织建议,每周进行150-300分钟的中等强度运动。 运动的好处具体不用多说了࿰…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
