linux总结
cat -n filename
查看文件,-n用来给每一行标行号,可以省略
cat /var/log/mysqld.log | grep password
我们可以通过上述指令,查询日志文件内容中包含password的行信息。
more
作用: 以分页的形式显示文件内容
语法: more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
tail
作用: 查看文件末尾的内容
语法: tail [-f] fileName
说明:
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示
mkdir
作用: 创建目录 语法: mkdir [-p] dirName 说明: -p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建 举例: mkdir itcast 在当前目录下,建立一个名为itcast的子目录mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
rmdir
作用: 删除空目录 语法: rmdir [-p] dirName 说明:-p: 当子目录被删除后使父目录为空目录的话,则一并删除 举例:rmdir itcast 删除名为itcast的空目录rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除rmdir itcast* 删除名称以itcast开始的空目录
*: 是通配符,代表任意字符;
rmdir itcast* : 删除以itcast开头的目录
rmdir *itcast : 删除以itcast结尾的目录
rm
作用: 删除文件或者目录 语法: rm [-rf] name 说明: -r: 将目录及目录中所有文件(目录)逐一删除,即递归删除-f: 无需确认,直接删除举例: rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件rm -f hello.txt 无需确认,直接删除hello.txt文件
cp
作用: 用于复制文件或目录 语法: cp [-r] source dest 说明: -r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件 举例: cp hello.txt itcast/ 将hello.txt复制到itcast目录中cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txtcp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下
mv
作用: 为文件或目录改名、或将文件或目录移动到其它位置 语法: mv source dest 举例: mv hello.txt hi.txt 将hello.txt改名为hi.txtmv hi.txt itheima/ 将文件hi.txt移动到itheima目录中mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txtmv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheimamv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中
操作示例:
mv 命令既能够改名,又可以移动,具体是改名还是移动,系统会根据我们输入的参数进行判定(如果第二个参数dest是一个已存在的目录,将执行移动操作,其他情况都是改名)
打包压缩命令
作用: 对文件进行打包、解包、压缩、解压 语法: tar [-zcxvf] fileName [files]包文件后缀为.tar表示只是完成了打包,并没有压缩包文件后缀为.tar.gz表示打包的同时还进行了压缩 说明:-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压-c: c代表的是create,即创建新的包文件-x: x代表的是extract,实现从包文件中还原文件-v: v代表的是verbose,显示命令的执行过程-f: f代表的是file,用于指定包文件的名称 举例:打包tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tartar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz解包tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
解压到指定目录,需要加上参数 -C
文本编辑命令
文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似,我们课程中主要讲解vim的使用。
vi&vim介绍
作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法: vi fileName
说明: 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。 2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim
4.5.2 vim安装
命令: yum install vim
安装过程中,会有确认提示,此时输入 y,然后回车,继续安装:
4.5.3 vim使用
作用: 对文件内容进行编辑,vim其实就是一个文本编辑器 语法: vim fileName 说明: 1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。 2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),输入模式(Insert mode)和编辑模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
三种模式: - 命令模式 A. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G) B. 通过vim命令打开文件后,默认进入命令模式 C. 另外两种模式需要首先进入命令模式,才能进入彼此
| 命令模式指令 | 含义 || ------------ | --------------------------------- || gg | 定位到文本内容的第一行 || G | 定位到文本内容的最后一行 || dd | 删除光标所在行的数据 || ndd | 删除当前光标所在行及之后的n行数据 || u | 撤销操作 || shift+zz | 保存并退出 || i 或 a 或 o | 进入插入模式
-
输入模式 A. 插入模式下可以对文件内容进行编辑 B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样 C. 在插入模式下按下ESC键,回到命令模式
-
编辑模式 A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作 B. 在命令模式下按下[:,/]任意一个,可以进入底行模式 C. 通过/方式进入底行模式后,可以对文件内容进行查找 D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
底行模式命令 含义 :wq 保存并退出 :q! 不保存退出 :set nu 显示行号 :set nonu 取消行号显示 :n 定位到第n行, 如 :10 就是定位到第10行
find
作用: 在指定目录下查找文件 语法: find dirName -option fileName 举例:find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
grep
作用: 从指定文件中查找指定的文本内容 语法: grep word fileName 举例: grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
4.7 文件权限管理
由于linux系统是一个多用户的操作系统,并且针对每一个用户,Linux会严格的控制操作权限。接下来,我们就需要介绍一下Linux系统的权限控制。
chmod命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):
1). ==chmod==(英文全拼:change mode)命令是控制用户对文件的权限的命令
2). Linux中的权限分为三种 :读(r)、写(w)、执行(x)
3). Linux文件权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
4). 只有文件的所有者和超级用户可以修改文件或目录的权限
5). 要执行Shell脚本需要有对此脚本文件的执行权限(x),如果没有则不能执行
Linux系统中权限描述如下:
值 | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r-- |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | --x |
0 | 无 | --- |
chmod 777 bootStart.sh 为所有用户授予读、写、执行权限 chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限 chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
==注意:==
三个数字分别代表不同用户的权限
-
第1位表示文件拥有者的权限
-
第2位表示同组用户的权限
-
第3位表示其他用户的权限
ps -ef|grep tomcat
-
==ps==命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
-
=="|"== 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
-
使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程
netstat -tunpl | grep java
查看所有进行为java的端口使用情况·
说明;
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
lsof -i:8080
查找端口对应的进程
开启/关闭防火墙
操作 | 指令 | 备注 |
---|---|---|
查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | ==下次启动,才生效== |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | ==下次启动,才生效== |
开放指定端口 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | ==需要重新加载生效== |
关闭指定端口 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | ==需要重新加载生效== |
立即生效(重新加载) | firewall-cmd --reload | |
查看开放端口 | firewall-cmd --zone=public --list-ports |
结束进程
(1)sh shutdown.sh或者./shutdown.sh
我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务
(2)我们可以先通过 ps -ef|grep tomcat
指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。
通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :
kill -9 79947
执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。
注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
注意 :
虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。
linux服务启动与关闭(例如mysql)
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务
rz/sz
用来上传与下载文件,此功能需要下载lrzsz才可使用
yum install lrzsz.x86_64
1). 搜索lrzsz安装包
yum list lrzsz
2). 在 线安装lrzsz
yum install lrzsz.x86_64
修改环境变量想生效 source /etc/profile
后台运行程序
要想让我们部署的项目进行后台运行,这个时候我们需要使用到linux中的一个命令 nohup ,接下来,就来介绍一下nohup命令。
nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式: nohup Command [ Arg … ] [&]
参数说明:
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
举例:
nohup java -jar boot工程.jar &> hello.log &
上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件
那么经过上面的介绍,我们可以推测中,我们要想让当前部署的项目后台运行,就可以使用下面的指令:
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &
相关文章:

linux总结
cat -n filename 查看文件,-n用来给每一行标行号,可以省略 cat /var/log/mysqld.log | grep password 我们可以通过上述指令,查询日志文件内容中包含password的行信息。 more 作用: 以分页的形式显示文件内容 语法: more fileName 操作说明: 回车键 …...

java - 设计模式 - 状态模式
文章目录 前言java - 设计模式 - 状态模式1. 概述2. 作用3. 示例 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。 而且听说点赞的人每天的运气都不会太差,实在白嫖的话…...

c/c++--编译指令(预处理之后) #pragma
1. #pragma 作用 #pragma 用于指示编译器完成一些特定的动作#pragma 的功能或作用 随编译器不同而变化。 即 不同的编译器可能以不同的方式解释同一条 #pragma 指令 2. 用法 常见用法示例 2.1 #pragma message 参考链接 自定义编译信息输出到终端(一般和#if配合使用&#…...

黑马JVM总结(三十二)
(1)类加载器-线程上下文1 使用的应用程序类加载器来完成类的加载,不是用的启动类加载器,jdk在某些情况下要打破,双亲委派的模式,有时候需要调用应用程序类加载器来完成类的加载,否则有些类它是找…...

接口自动化测试框架【reudom】
reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目。 自动生成HTML测试报告。 支持用例参…...

【数据库问题】删除数据库失败,提示:there is 1 other session using the database
删除数据库失败,提示:there is 1 other session using the database 解决办法: SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datnametest_database AND pid<>pg_backend_pid(); 使用上述命令先关…...

【技术干货】如何快速创建商用照明 OEM APP?
本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP,选择 商照 APP 进行创建。 在提示框里,完善 App 信息…...

阿里云ModelScope 是一个“模型即服务”(MaaS)平台
简介 项目地址:https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台,旨在汇集来自AI社区的最先进的机器学习模型,并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…...

Nodejs内置模块process
文章目录 内置模块process写在前面1. arch()2. cwd()3. argv4. memoryUsage()5. exit()6. kill()7. env【最常用】 内置模块process 写在前面 process是Nodejs操作当前进程和控制当前进程的API,并且是挂载到globalThis下面的全局API。 下面是process的一些常用AP…...

Vue2 修改了数组哪些方法,为什么
1、Vue2 修改了以下数组方法 push()、pop()、shift()、unshift()、splice()、sort()、reverse() 这些方法都是可以改变原数组的。 为了实现数据响应式更新,Vue2 在这些方法中添加了特定的代码,以便通知 Vue 视图更新数据 举个例子,当我们…...

均值滤波算法及例程
均值滤波算法是一种简单的图像滤波方法,它使用一个固定大小的滤波器来平滑图像。该滤波器由一个矩形的窗口组成,窗口中的像素值取平均值作为中心像素的新值。以下是均值滤波算法的步骤: 定义滤波器的大小(窗口大小)&a…...

拥抱产业发展机遇 兑现5G商业价值
[阿联酋,迪拜,2023年10月10日] 今天,以“将5G-A带入现实”为主题的2023全球移动宽带论坛在迪拜举行。本次大会上,华为轮值董事长胡厚崑与GSMA总干事Mats Granryd围绕“5G产业进程与发展”连线对话。胡厚崑指出,“技术发…...

Layui合计自定义列
需求:第四列通过计算:27除以220 正常的汇总,增加这个属性就行 特殊的列,需要特殊处理 获取合计行:$(".layui-table-total div.layui-table-cell"); 获取某列的值:$($(".layui-table-total …...

Tomcat自启动另一种方法
Tomcat自启动另一种方法 问题: 不知道怎么回事,好几台电脑都可以开机自启动tomcat,正常运行项目。一样的配置一样的操作流程,偏偏要运行的机器开机自启动后,项目不能运行,手动重启tomcat又可以用了。网上…...

C语言,标志法
标志法通常用来检查或者进行过程中一些状态变化。 有一些是为了观察变化,举出一些以往代码的例子: 1.找出一串数字中没有重复出现过的数字 #include <stdio.h> int main() {int arr[1000] { 0 };int n 0;scanf("%d", &n);int i…...

适合自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》
CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题: 1)线下CTF比赛培训中存在严重的 “最后一公里”问题 &#…...

软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计
1.数据库的基本概念 1.1数据库的体系结构 1.1.1常见数据库 ①集中式数据库 数据是集中的;数据管理是集中的 ②C/S结构 客户端负责数据表服务;服务器负责数据库服务;系统分前后端;ODBC、JDBC ③分布式数据库 物理上分布、逻…...

distcc分布式编译
distcc https://gitee.com/bison-fork/distcc.git 下载工具链 mingw,https://www.mingw-w64.org/downloads/#w64devkitperl,https://strawberryperl.com/releases.html免安装zip版本,autoconf等脚本依赖perlautoconf、automake,…...

Java面试题-0919
集合篇 Java面试题-集合篇HashMap底层实现原理概述javaSE进阶-哈希表 为了满足hashmap集合的不重复存储,为什么要重写hashcode和equals方法? 首先理解一下hashmap的插入元素的前提: hashmap会根据元素的hashcode取模进行比较,当…...

WPF列表性能提高技术
WPF列表性能提高技术 WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自ItemsControl的控件都支持该技术。 虚拟化 UI虚拟化是列表仅仅为当前显示项创建…...

掌握 BERT:自然语言处理 (NLP) 从初级到高级的综合指南(2)
BERT的先进技术 当您精通 BERT 后,就该探索先进技术以最大限度地发挥其潜力。在本章中,我们将深入研究微调、处理词汇外单词、领域适应,甚至从 BERT 中提取知识的策略。 微调策略:掌握适应 微调 BERT 需要仔细考虑。您不仅可以微调…...

【算法优选】 二分查找专题——贰
文章目录 😎前言🌲[山脉数组的峰顶索引](https://leetcode.cn/problems/peak-index-in-a-mountain-array/)🚩题目描述:🚩算法思路🚩代码实现: 🌴[寻找峰值](https://leetcode.cn/pro…...

SQL 的优化
SQL 优化是指对数据库查询语句进行优化,以提高查询性能和效率。下面列出了一些常见的 SQL 优化技巧: 1、索引优化 (1)使用适当的索引来加速查询操作。在频繁用于查询的列上创建索引,特别是在 WHERE 条件、JOIN 条件和…...

华为云云耀云服务器L实例评测|华为云上的CentOS性能监测与调优指南
目录 引言 编辑1 性能调优的基本要素 2 性能监控功能 2.1 监控数据指标 2.2 数据历史记录 2.3 多种统计指标 3 性能优化策略 3.1 资源分配 3.2 磁盘性能优化 3.3 网络性能优化 3.4 操作系统参数和内核优化 结论 引言 在云计算时代,性能优化和调优对于…...

Go If流程控制与快乐路径原则
Go if流程控制与快乐路径原则 文章目录 Go if流程控制与快乐路径原则一、流程控制基本介绍二、if 语句2.1 if 语句介绍2.2 单分支结构的 if 语句形式2.3 Go 的 if 语句的特点2.3.1 分支代码块左大括号与if同行2.3.2 条件表达式不需要括号 三、操作符3.1 逻辑操作符3.2 操作符的…...

yolov8 strongSORT多目标跟踪工具箱BOXMOT
1 引言 多目标跟踪MOT项目在Github中比较完整有:BOXMOT , 由mikel brostrom提供。在以前的版本中,有yolov5deepsort(版本v3-v5), yolov8strongsort(版本v6-v9),直至演变…...

如何开发一款跑酷游戏?
跑酷游戏(Parkour Game)是一种流行的视频游戏类型,玩家需要在游戏中控制角色进行极限动作、跳跃、爬墙和各种动作,以完成各种挑战和任务。如果你有兴趣开发一款跑酷游戏,以下是一些关键步骤和考虑事项: 游…...

使用宝塔面板在Linux上搭建网站,并通过内网穿透实现公网访问
文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板,它支持Linux/Windows系统,我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…...

Unity可视化Shader工具ASE介绍——6、通过例子说明ASE节点的连接方式
大家好,我是阿赵。继续介绍Unity可视化Shader编辑插件ASE的用法。上一篇已经介绍了很多ASE常用的节点。这一篇通过几个小例子,来看看这些节点是怎样连接使用的。 这篇的内容可能会比较长,最终是做了一个遮挡X光的效果,不过把这…...

VUE3基础知识梳理
VUE3基础知识梳理 一、vue了解和环境搭建1.vue是什么:cn.vuejs.org/vuejs.org2.渐进式框架3.vue的版本4.vueAPI的风格5.准备环境5.1.创建vue项目5.2.vue的目录结构 二、vue3语法1.干净的vue项目2.模板语法2.1 文本插值2.2属性绑定2.3条件渲染2.4列表渲染2.5通过key管…...