Linux浅学笔记04
目录
Linux实用操作
Linux系统下载软件
yum命令
apt
systemctl命令
ln命令
日期和时区
IP地址 主机名
网络传输-下载和网络请求
ping命令
wget命令
curl命令
网络传输-端口
进程
ps 命令
关闭进程命令:
主机状态监控命令
磁盘信息监控:
环境变量
自行设置环境变量
Linux文件的上传下载
压缩/解压缩
tar
zip/unzip
Linux实用操作
好用的快捷键操作:
Ctrl+C:强制停止程序运行或者快速删除一行写错的代码
Ctrl+D:退出(退出账户的登录)或登出
比如在Linux中进入python环境,就可以用ctrl+D退出
历史命令搜索:直接history

历史匹配搜索:! 加匹配字符,系统自动匹配(快捷写法)如:

或者ctrl+r 匹配,找从下往上匹配的命令,回车立马执行,左右键get到,但不执行


ctrl+l或者clear直接清屏
Linux系统下载软件
可以下载安装包安装,也可以在Linux自带的应用商店安装
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。(RPM就是Linux系统中安装包的格式,但不是kali或ubantu的,他俩是 .deb文件)
语法:
yum [-y] [ install | remove | search ] 软件名称
install:安装
remove:卸载
search:搜索
yum命令需要root权限,可以su到root用户,也可以sudo提权,需要联网。
apt
不知道为什么,centOS可以用yum命令,我用的kali不能,于是度娘了一下,是因为centOS用的是yum管理器,ubantu用的是apt管理器,我想kali应该也是apt管理器。
语法:
apt [-y] [ install | remove | search ] 软件名称
也可以apt-get,但是网上说最好用apt!
apt命令是kali和Ubuntu默认的安装软件包
apt-get install 软件名称 安装软件
apt-get remove 软件名称 只卸载软件包;
apt-get purge 软件名称 卸载并清除软件包的配置
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称之为:服务
语法:
systemctl start | stop | status | enable | disable | 服务名
enable:开机自启 disable:关闭开机自启
- NetworkManager 主网络服务
- network 副网络服务
- firewalld 防火墙服务
- sshd ssh服务(Finalshell远程登录就用它)
(在kali中,我弄了一气,只有systemctl ssh命令能执行。。。 )
感觉很重要的防火墙也不能执行

上网搜了一下是说是还没有安装防火墙。。
连夜下载一个,语法:
sudo apt-get install firewalld firewall-config
然后 systemctl status firewalld 就可以看到显示(active running )状态了。
同时还学到了firewalld和ufw是两个不同的防火墙工具。
ln命令
ln命令可以给文件或者文件夹创建软链接(相当于Windows里的快捷方式) 快捷方式指向本体
语法:
ln -s 参数1 参数2
-s表示创建软链接
参数1应该是本体 参数2是快捷方式地址

文件夹也是如此链接
日期和时区
date命令查看系统时间
语法: date [ -d ] [ +格式化字符串 ]

很简单:

如果有空格,就用双引号引起来,作为整体
-d选项用于做日期计算,但是我感觉好像没什么必要(憋笑)

就像这样:

修改Linux时区
不同系统默认不同时区,比如我的kali就默认是北京东八区
不是东八区的可以这样改

除此之外,我们还可以通过ntp程序联网自动校准时间
当然也可以手动校准:(需root权限):ntpdate -untp.aliyun.com
IP地址 主机名
IP地址简单无需多说
hostname命令查看主机名(本人的就是forbear)
hostnamectl set-hostname 新主机名(需要root权限)
上网时输入一个域名,先在本地电脑查询有无与IP映射关系,
没有再上网在DNS服务器查询
本地↓
Windows: C:\\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
其实可以自行配置映射:
在Windows里打开上述地址,在最后面加一个
IP地址 Linux主机名 这样的话在电脑上配置虚拟机信息就能不用它的IP,直接用它的主机名
比如:128.168.9.1 combat
虚拟机配置固定IP
当前虚拟机Linux IP地址不固定,为了省去不必要的麻烦,要固定IP
配置固定IP需要2个大步骤:
- 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
- 在Linux系统中手动修改配置文件,固定IP
固定IP方法如下↓
第四章-07-配置Linux固定IP地址_哔哩哔哩_bilibili
网络传输-下载和网络请求
ping命令
作用:测试网络联通,根据域名查出IP
语法:
ping [ -c num ] ip或主机名、域名
wget命令
作用:命令行内下载网络文件
语法: wget [ -b ] url
选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数:url,下载链接
curl命令
作用:发送http网络请求,可用于:下载文件、获取信息等
语法: curl [ -O ] ur1
选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件参数:url,要发起请求的网络地址
(也就是要下载的话就加上 -O ,不下载光发送请求就不用加)
cip.cc 公开网站获取你的主机公网IP
所以我们可以: curl cip.cc
就跟打开浏览器一样
网络传输-端口
端口,是设备与外界通讯交流的出入口。
端口可以分为:物理端口和虚拟端口两类
物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等。
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的。
两台电脑上的程序进行通信时,IP地址只能找到对方的电脑,却无法更加详细的找到电脑里的程序位置,所以就有了端口。
黑马讲的很好:

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用干临时使用。
使用nmap命令,可以查看端口占用情况,首先下载:
apt install nmap
语法: nmap IP地址 查看该IP有哪些端口是暴露的可以公开被访问
然后:
nmap 127.0.0.1 意味着查看本机上有哪些端口是暴露的可以公开被访问的
netstat命令可以查看端口的占用情况
首先下载:
apt install net-tools
语法: netstat -anp | grep 端口号
进程
每一个运行程序都会被分配一个进程号,也叫进程ID(独有的)。
Pid就是进程号。
查看进程命令:
ps 命令
语法:ps [ -e -f ]
-e 显示全部进程
-f 以完全格式化的形式展示(全部)信息

从左到右分别是
UID:进程所属的用户ID,启动者是谁
PID:进程的进程号ID
PPID:进程的父ID(启动此进程的其它进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时间
TTY:启动此进程的终端序号,如显示?表示非终端启动,而是系统内置启动
TIME :进程点用CPU的时间
CMD:进程的启动路径或者启动命令
ps命令太多的话,可以配合 | grep 命令查找
关闭进程命令:
语法: kill [ -9 ] 进程ID
-9表示强制关闭进程
主机状态监控命令
查看系统资源占用:通过top命令
详解:


top命令也支持选项:


磁盘信息监控:
df命令,可以查看硬盘的使用情况
语法: df [ -h ] 有-h更详细
可以使用iostat查看CPU、磁盘的相关信息
语法: iostat [ -x ][ num1 ][ num2 ]
选项: -x,显示更多信息
num1:数字,刷新间隔
num2:数字,刷新几次

sda:当前虚拟机硬盘
tps:每秒传输次数
剩下的:每秒读多少/写多少/总的读数量/总的写数量
-x更多选项:

网络状态监控:
sar命令
语法: sar -n DEV num1 num2
选项:
-n:查看网络
DEV:表示查看网络接口
num1:刷新间隔(不填就查看一次结束)
num2:查看次数(不填无限次数)

我感觉以上这几个命令了解个大概就行。。。太复杂了
环境变量
env命令即可查看当前系统中记录的环境变量(其实是一个key-value的形式)
为某个命令(本质是可执行文件)配置了环境变量,他就可以在任何地方执行了,本质就是为这个命令配置了一个
path = 默认路径1:默认路径2 ……
运行的时候查找默认路径里有没有这个可执行的文件。
$:用于取变量的值,让我们自己看
比如: echo $PATH
自行设置环境变量
临时设置:
语法: export 变量名 = 变量值
要在原有的东西上追加一些,就最好括住原有的

第一步

在文件中末行添加 export 变量名=变量值就行
第二步:source + 配置文件
不知道为什么kali又不能,真是奇葩。。
自定义环境变量
export PATH=$PATH:新程序的路径
拿finalshell远程连接时候选择是用哪个用户登录,可以选择root用户登录,这样就可以看到下方可视化窗口中的文件夹。
Linux文件的上传下载
1.上传:鼠标拖到文件夹
下载:右键下载
2.命令格式
rz和sz命令
得先安装: apt install rz
sz 加 文件名
就可以进行文件的下载(tab键可以自动补全)
rz ,后面什么都不用加就会自动弹出上传窗口(缺点是速度没有直接拖拽快)
压缩/解压缩
市面上有很多压缩格式:
.zip .rar .7zip .tap .gzip
后两种Linux常用。
Linux有两种压缩/解压方式:
tar方式和zip/unzip方式
tar
.tar:只是做了一个小小的包装,没有太多的体积压缩 属于tarball 归档文件
.gz:大大缩小占用空间,后缀:也可是.tar.gz


压缩换成解压,只需要把c换成v
zip/unzip
zip命令行压缩(压缩为 zip包):
zip 文件名 [-r] 参数1 2 3…
如果有文件夹那就带一个 -r
unzip命令解压:
unzip [-d] 参数
-d:解压完放哪儿
参数:解压哪个文件
欢迎各位读者批评指正(Linux浅学系列终于是结束了。。。寒假真是废)
相关文章:
Linux浅学笔记04
目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令: 主机状态监控命令 磁盘信息监控:…...
【Day59】代码随想录之动态规划_647回文子串_516最长回文子序列
文章目录 动态规划理论基础动规五部曲:出现结果不正确: 1. 647回文子串2. 516最长回文子序列 动态规划理论基础 动规五部曲: 确定dp数组 下标及dp[i] 的含义。递推公式:比如斐波那契数列 dp[i] dp[i-1] dp[i-2]。初始化dp数组…...
ECLIP
denote the representation of the positive prompt produced by the momentum model as h ξ i h_{\xi}^{i} hξi 辅助信息 作者未提供代码...
STM32 +合宙1.54“ 电子墨水屏(e-paper)驱动显示示例
STM32 合宙1.54“ 电子墨水屏(e-paper)驱动显示示例 📍相关篇《Arduino框架下ESP32/ESP8266合宙1.54“ 电子墨水屏(e-paper)驱动显示示例》🔖程序是从GooDisplay品牌和微雪电子下同型号规格墨水屏的示例程序…...
使用Postman和JMeter进行signature签名
一、前言 有些接口的请求会带上sign(签名)进行请求,各接口对sign的签名内容、方式可能不一样,但一般都是从接口的入参中选择部分内容组成一个字符串,然后再进行签名操作, 将结果赋值给sign; 完整规范的接口文档都会…...
uni-app nvue vue3 setup中实现加载webview,解决nvue中获取不到webview实例的问题
注意下面的方法只能在app端使用, let wv plus.webview.create("","custom-webview",{plusrequire:"none", uni-app: none, width: 300,height:400,top:uni.getSystemInfoSync().statusBarHeight44 }) wv.loadURL("https://ww…...
IPD(集成产品开发)—核心思想
企业发展到一定阶段就会遇到管理瓶颈,IPD流程是一种高度结构化的产品开发流程,它集成了业界很多优秀的产品开发方法论,像搭积木一样的组合成一种非常有效的流程。如果我们能根据企业的规模和行业特点,对全流程的IPD进行合适的裁剪…...
uniapp android 原生插件开发-测试流程
前言 最近公司要求研究一下 uniapp 的 android 原生插件的开发,为以后的工作做准备。这篇文章记录一下自己的学习过程,也帮助一下有同样需求的同学们 : ) 一、下载安装Hbuilder X , Android studio(相关的安装配置过程网上有很多,…...
MyCAT从入门到实战(配置文件介绍)
用户(user) 配置文件位置mycat/conf/user/root.user.json。这个配置文件主要是用来配置MyCAT的登录用户 的,也就是我们连接8066这个端口的用户信息。 [rootservice bin]# cat /usr/local/mycat/conf/users/root.user.json {"dialect&q…...
【LeetCode-300】最长递增子序列(动归)
目录 题目描述 解法1:动态规划 代码实现 题目链接 题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例…...
Mysterious-GIF-攻防世界-MISC
题目简介: 下载得到gif文件,十六进制编辑器查看,发现末尾有50 4B 03 04文件头。提取后保存为zip文件。 解压该zip文件,得到temp.zip。十六进制编辑器查看temp.zip,会发现有多个文件头和文件尾。 用binwalk分离temp.zi…...
【数据结构和算法初阶(C语言)】链表-单链表(手撕详讲单链表增删查改)
目录 1.前言:顺序表回顾: 1.1顺序表的优缺点 2.主角----链表 2.1链表的概念 2.2定义一个单链表的具体实现代码方式 3.单链表对数据的管理----增删查改 3.1单链表的创建 3.2单链表的遍历实现 3.2.1利用遍历实现一个打印我们链表内容的函数的函数…...
【Go语言】Go语言中的切片
Go语言中的切片 1.切片的定义 Go语言中,切片是一个新的数据类型数据类型,与数组最大的区别在于,切片的类型中只有数据元素的类型,而没有长度: var slice []string []string{"a", "b", "c…...
Qt程序设计-钟表自定义控件实例
本文讲解Qt钟表自定义控件实例。 效果如下: 创建钟表类 #ifndef TIMEPIECE_H #define TIMEPIECE_H#include <QWidget> #include <QPropertyAnimation> #include <QDebug> #include <QPainter> #include <QtMath>#include <QTimer>#incl…...
Redis的发布订阅功能教程,实现实时消息和key过期事件通知功能
Redis的发布订阅 Redis的发布/订阅(Pub/Sub)功能是一种消息传递模式,用于实现消息发布者(publisher)和订阅者(subscriber)之间的消息通信。在这种模式下,消息的发送者(发布者)将消息发送到特定的频道(channel),而订阅了该频道的接收者(订阅者)将会接收到这些消息…...
4核8g服务器能支持多少人访问?
腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…...
【Android】切换系统全局语言设置
前两种为应用内部处理,第三种为发送广播由系统服务进行处理 使用反射 这种会直接将安卓设置内的语言列表清空,然后将选择的语言设置为系统语言 该方法存在问题,在首次开机后设置会导致国外应用进不去(只对于here地图个别版本) /*** 设置语言…...
【递归】【回溯】Leetcode 112. 路径总和 113. 路径总和 II
【递归】【回溯】Leetcode 112. 路径总和 113. 路径总和 II 112. 路径总和解法:递归 有递归就有回溯 记得return正确的返回上去 113. 路径总和 II解法 递归 如果需要搜索整棵二叉树,那么递归函数就不要返回值 如果要搜索其中一条符合条件的路径ÿ…...
AxureCloud配置文件详细介绍
AxureCloud配置文件详细介绍 原文地址:https://docs.axure.com/axure-cloud/business/custom-settings-json/ 通过修改 customsettings.json 可以修改AxureCloud私有部署的域名、端口、HTTPS、存储目录、是否开启插件等, 默认安装的路径为: C:\Program Files\Axure…...
Centos开机网卡自启动失败
问题背景 每次都要手动启动在这里插入代码片 解决方案: 关闭 NetworkManager 服务 systemctl disable NetworkManager systemctl stop NetworkManager重启就会发现网卡已经可以自动启动了...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001
qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...
