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(可以更换连接状态)

注:这里就不在演示了,统计已连接上的 字符串的连接状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/37777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构算法--2 冒泡排序,选择排序,插入排序

基础排序算法 冒泡排序 思想就是将相邻元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置,小于右侧元素时,位置不变,最终序列中的最大元素,像气泡一样,到了最右侧。 这时冒泡排序第一…

linux Socket简单编程实例

服务端 网络编程中服务端接受连接的套接字创建过程如下: 1.调用socket函数创建套接字 2.调用bind函数分配IP地址和端口号 3.调用listen函数转为可接收请求状态 4.调用accept函数受理连接请求 #include <stdio.h> #include <stdlib.h> #include <sys/types.h>…

Java实现根据姓名生成头像(钉钉样式)

头像生成器代码如下&#xff1a; package com.hua.util;import org.apache.commons.lang3.StringUtils;import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.i…

配置listener tcps加密 enable SSL encryption for Oracle SQL*Net

一 配置客户端和服务端的wallet 2端配置方法一致&#xff0c;相互添加证书 orapki wallet create -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -auto_login_local orapki wallet add -wallet “/u01/oracle/wallet” -pwd Wdkf984jkkgekj434FKFD -dn “CNho…

Zabbix监控MySQL数据库实战

zabbix监控mysql的方式 只是安装agent 启用模板监控 启用自定义脚本的模板监控 使用zabbix模版及结合shell脚本监控mysql 创建mysql的zabbix授权用户 mysql> grant all PRIVILEGES on *.* to zabbixlocalhost identified by zabbix; ###创建一个有权限的访问用户lqb密码设…

es1.7.2 按照_type先聚合,再按照时间二次聚合

// 设置查询条件if (this.query ! null) {this.searchbuilder.setQuery(this.query);}TermsBuilder typeAggregation AggregationBuilders.terms("agg_type").field("_type");DateHistogramBuilder dateTermsBuilder AggregationBuilders.dateHistogram(…

[Android] 通过JNI 让 JAVA 调用 android native 接口

前言&#xff1a; JNI (java native interface) 是一个库&#xff0c;可以让 java 代码和其他语言互动&#xff0c;比如 java 通过 JNI 调用融合了 jni库的 c/c 代码&#xff0c;注意&#xff0c;这里要求 c/c代码中必须通过链接 jni 库并按照 JNI 规范定义一套可供 JAVA 调用…

STM32自带的DSP库的滤波初体验(一)

最近在弄STM32自带的DSP库里的滤波&#xff0c;记录一下&#xff1a; arm_fir_instance_q15 instance_q15_S; #define NUM_TAPS 16 //滤波系数的个数 #define BLOCK_SIZE 32 q15_t firStateF32[BLOCK_SIZE NUM_TAPS]; q15_t Fir_Coeff[NUM_TAPS] {-79, -136, 312, 6…

【02】基础知识:typescript数据类型

1、布尔类型 boolean let flag: boolean false2、数字类型 number let num: number 6 //十进制 let num2: number 0xf00d //十六进制 let num3: number 0b1010 //二进制 let num4: number 0o744 //八进制3、字符串类型 string 用双引号&#xff08;“&#xff09;或单引…

MongoDB 简介

什么是MongoDB ? MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个…

mqttfx连上OneNET生成token时的一大坑,报用户名或密码错误

整个流程如下连接&#xff1a; MQTT.fx和MQTTX 链接ONENET物联网开发平台避坑细节干货。 其中在生成token时&#xff0c;搞了半天在连接后都会报用户名密码错误 最后发现是格式问题&#xff0c;输入所有字符后一定要双击看是否可以全选中&#xff0c;可以全选中说明字符的格式…

java spring cloud 企业工程管理系统源码+二次开发+定制化服务 em

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显…

springBoot中service层查询使用多线程CompletableFuture(有返回值)

重点&#xff1a; 1. 创建线程池 Executor executor Executors.newCachedThreadPool();//保存线程List<CompletableFuture<Void>> futures new ArrayList<>();2.使用 //这里可以是多个看下面代码是在for中使用的 CompletableFuture<Void> future …

深入解析路由与网络:网络的脉络

目录 路由 广域网 公网 外网 局域网 内网 以太网 Wi-Fi CDN IPv4和IPv6 IP地址分类 无类别域间路由&#xff08;CIDR&#xff09; 路由 路由是指在计算机网络中&#xff0c;将数据包从源地址传递到目标地址的过程。在一个复杂的网络中&#xff0c;数据包需要经过多…

冶金作业VR虚拟仿真厂家

对于高风险行业来说&#xff0c;开展安全教育培训是企业的重点工作&#xff0c;传统培训逐渐跟不上时代变化和工人需求&#xff0c;冶金安全VR模拟仿真培训系统作为一种新型的教育和培训工具&#xff0c;借助VR虚拟现实技术为冶金行业的工人提供一个安全、高效的培训环境。 冶金…

Angular中的管道Pipes

Angular中的管道&#xff08;Pipes&#xff09;是一种强大的工具&#xff0c;它可以处理和转换数据&#xff0c;然后将其呈现在视图中。它们可以被用于排序、格式化和过滤数据等任务。在本文中&#xff0c;我们将介绍Angular中的管道以及如何使用它们来简化开发过程。 管道的基…

Ansible Service模块,使用 Ansible Service模块进行服务管理

Ansible 是一种自动化工具&#xff0c;它可以简化配置管理、应用程序部署和任务自动化等操作。Ansible 的 Service 模块是其中一个重要的模块&#xff0c;它提供了管理服务的功能&#xff0c;使得在远程主机上启动、停止、重启和重新加载服务变得简单和可靠。本文将介绍 Ansibl…

大疆秋招指南,网申测评和面试攻略

大疆秋招内容简介 这是一个非常卷的时代&#xff0c;一到毕业季&#xff0c;各种各样规模不一的公司&#xff0c;纷纷向社会招聘&#xff0c;竞争实力强&#xff0c;知名度越高的企业&#xff0c;往往越能得到能力出众的人才的青睐&#xff0c;也正是在一批批新血液的注入下&a…

户外组网摆脱布线困扰,工业5G网关实现无人值守、远程实时监控

在物联网通信技术发达的2023&#xff0c;网络覆盖对所及之处的全面覆盖&#xff0c;科技发展的促使下很多高危户外场景也在思考如何利用无线技术提高人员安全及现场无人化管理。 煤矿是我们国家不可缺少的重要能源&#xff0c;其开采过程的危险系数也是众所皆知的&#xff0c;…

为什么爬虫要用高匿代理IP?高匿代理IP有什么优点

只要搜代理IP&#xff0c;度娘就能给我们跳出很多品牌的推广&#xff0c;比如我们青果网路的。 正如你所看到的&#xff0c;我们厂商很多宣传用词都会用到高匿这2字。 这是为什么呢&#xff1f;高匿IP有那么重要吗&#xff1f; 这就需要我们从HTTP代理应用最多最广的&#xf…