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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

策略模式【Strategy Pattern】

刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题, 嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看…

爬虫学习记录(持续更新)

一、问题记录 1.使用webdriver报错AttributeError: str object has no attribute capabilities 解决:目前使用的selenium版本是4.11.2,可以不必设置driver.exe的路径,selenium可以自己处理浏览器和驱动程序,因此,使用…

Shopify平台Fulfillment业务模块升级

上图是销售订单、发货单与配送之间的关系图,销售订单可以创建多个发货单,多个发货单(不同销售订单)可以合并在一个配送订单进行发货 接口请求错误记录: 1. The api_client does not have the required permission(s). 2. Required parameter missing or…

具有吸引子的非线性系统(MatlabSimulink实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

第三章 图论 No.5最小生成树之虚拟源点,完全图与次小生成树

文章目录 虚拟源点:1146. 新的开始贪心或kruskal性质:1145. 北极通讯网络最小生成树与完全图:346. 走廊泼水节次小生成树:1148. 秘密的牛奶运输 虚拟源点:1146. 新的开始 1146. 新的开始 - AcWing题库 与一般的最小…

(MVC)SpringBoot+Mybatis+Mapper.xml

前言:本篇博客主要对MVC架构、Mybatis工程加深下理解,前面写过一篇博客:SprintBoothtml/css/jsmybatis的demo,里面涉及到了Mybatis的应用,此篇博客主要介绍一种将sql语句写到了配置文件里的方法,即Mybatis里…

将大容量机械硬盘克隆到固态硬盘的简单方法!

可以大容量机械硬盘克隆到固态硬盘吗? 随着硬盘使用时间增长,电脑的性能可能会下降。为了追求更快的读写速度,不少用户将目光投向了固态硬盘。 ​众所周知,固态硬盘的读写速度和启动速度比机械硬盘快。用固态硬盘替…

k8s --pod详解

目录 一、Pod基础概念 1、pod简介 2、在Kubrenetes集群中Pod有如下两种使用方式 3、pause容器使得Pod中的所有容器可以共享两种资源:网络和存储。 (1)网络 (2)存储 4、kubernetes中的pause容器主要为每个容器提供…

4.2、Flink任务怎样读取文件中的数据

目录 1、前言 2、readTextFile(已过时,不推荐使用) 3、readFile(已过时,不推荐使用) 4、fromSource(FileSource) 推荐使用 1、前言 思考: 读取文件时可以设置哪些规则呢? 1. 文件的格式(tx…

Babylon.js着色器简明简称【Shader】

推荐:用 NSDT设计器 快速搭建可编程3D场景 为了生成 BabylonJS 场景,需要用 Javascript 编写代码,BabylonJS 引擎会处理该代码并将结果显示在屏幕上。 场景可以通过改变网格、灯光或摄像机位置来改变。 为了及时显示可能的变化,屏…

kubernetes中最小组件——Pod

目录 一、Pod简介 二、Pod的使用方式 三、Pause——Pod中底层基础容器 四、为什么kubernetes这样设计Pod 五、Pod的分类 1.自主式Pod 2.控制器管理的Pod 3.静态Pod 六、Pod容器的分类 1. 基础容器(infrastructure container) 2. 初始化容器&am…

MySQL DAL单表练习一(学生表)

目录 步骤: 1、创建学生表 2、插入数据 1)查询表中所有学生的信息 2)查询表中所有学生的姓名和英语成绩 3) 过滤表中的重复数据 4) 统计每个学生的总分 5) 所有学生总分上加上10 6) 使…

微信个人小程序申请 (AppID 和 AppSecret)

1. 登录微信公众平台 https://mp.weixin.qq.com/cgi-bin/loginpage?url%2Fcgi-bin%2Fhome%3Ft%3Dhome%2Findex%26lang%3Dzh_CN%26token%3D47421820 2. 右上角立即注册 3. 注册类型选择小程序 4. 账号信息 5. 邮箱激活 6. 小程序发布流程 7. 小程序信息 (前往填写) 8. 获取小程…

【Axure高保真原型】JS版日期区间下拉选择器

今天和大家分享JS版日期区间下拉选择器的原型模板,该模板通过调用浏览器的下拉列表,所以可以获取真实的日历效果,具体包括哪一年二月份有29天,几号对应星期几,都是真实的。建议使用谷歌浏览器来演示,其他浏…

Apache2.4源码安装与配置

环境准备 openssl-devel pcre-devel expat-devel libtool gcc libxml2-devel 这些包要提前安装,否则httpd编译安装时候会报错 下载源码、解压缩、软连接 1、wget下载[rootnode01 ~]# wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz --2023-07-20 …

leetcode870. 优势洗牌(java)

优势洗牌 leetcode870. 优势洗牌题目描述双指针 排序代码 滑动窗口 leetcode870. 优势洗牌 难度 - 中等 leetcode870. 优势洗牌 题目描述 给定两个长度相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描…

Kubernetes集群部署

环境 > 192.168.50.53 k8s-master > 192.168.50.51 k8s-node1 > 192.168.50.50 k8s-node2 必须不能少于两核两G 所有主机共同操作 主机初始化配置 所有主机配置禁用防火墙和selinux [rootserver ~]# setenforce 0 [rootserver ~]# iptables -F [rootserver ~]…

【MySQL】ER模型(十六)

🚗MySQL学习第十六站~ 🚩本文已收录至专栏:MySQL通关路 ❤️文末附全文思维导图,感谢各位点赞收藏支持~ ⭐学习汇总贴,超详细思维导图:【MySQL】学习汇总(完整思维导图) 一.引入 数据库设计是牵一发而动全…

RocketMQ Learning(一)

目录 一、RocketMQ 0、RocketMQ的产品发展 1、RocketMQ安装 1.1、windows下的安装 注意事项 1.2、Linux下的安装 1.3、源码的安装 1.4、控制台 2、消息发送方式 2.1、发送同步消息 2.2、发送异步消息 2.3、单向发送 3、消息消费方式 3.1、负载均衡模式&#xff0…