Linux浅学笔记04

news2024/12/25 2:46:11

目录

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个大步骤:

  1. 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
  2. 在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浅学系列终于是结束了。。。寒假真是废)

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

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

相关文章

【MQ05】异常消息处理

异常消息处理 上节课我们已经学习到了消息的持久化和确认相关的内容。但是,光有这些还不行,如果我们的消费者出现问题了,无法确认,或者直接报错产生异常了,这些消息要怎么处理呢?直接丢弃?这就是…

深入理解计算机系统学习笔记

第三章 程序的机器级表示 3.2.1 机器级代码 对于机器级编程来说,其中两种抽象尤为重要。第一种是由捍令集体系结构或指令集架构(Instruction Set Architecture, ISA)来定义机器级程序的 格式和行为,它定义了处理器状态、指令的格式&#xf…

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南 安装Anaconda或Miniconda: 首先,您需要从官方网站下载适用于ARM架构的Anaconda或Miniconda安装包。下载完成后,在终端中使用bash Anaconda3-2019.10-Linux-armv8.sh(文件…

将仓库A中的部分提交迁移到仓库B中

结论: 使用git format-patchgit am即可实现 使用场景: 例如仓库A这里有5个提交记录,commitid1, commitid2, commitid3, commitid4,commitid5 仓库B想用仓库A中提交的代码,手动改比较慢,当改动较多的时候…

2.26 Qt day4+5 纯净窗口移动+绘画事件+Qt实现TCP连接服务+Qt实现连接数据库

思维导图 Qt实现TCP连接 服务器端&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer>//服务器端类 #include<QTcpSocket>//客户端类 #include<QMessageBox>//消息对话框类 #include<QList>//链…

2024-02-26(Spark,kafka)

1.Spark SQL是Spark的一个模块&#xff0c;用于处理海量结构化数据 限定&#xff1a;结构化数据处理 RDD的数据开发中&#xff0c;结构化&#xff0c;非结构化&#xff0c;半结构化数据都能处理。 2.为什么要学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架。 学…

实践航拍小目标检测,基于轻量级YOLOv8n开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

掌握ChatGPT润色绝技:什么是人工智能写作以及如何使用它来完成写作任务

如对AI写论文感兴趣&#xff0c;欢迎添加作者wx讨论 : ryan_2982 人工智能 (AI) 的出现开创了技术进步的新时代&#xff0c;彻底改变了包括写作和内容创作在内的各个行业。人工智能写作和人工智能提示已成为可以简化和增强写作任务的强大工具。在这篇博文中&#xff0c;我们将…

C++多线程学习09:并发队列

参考 链接&#xff1a;恋恋风辰官方博客 并发队列&线程安全栈 代码结构&#xff1a; 并发队列ThreadSafeQueue.h&#xff1a; #pragma once#include <mutex> #include <queue>template<typename T> class threadsafe_queue { private:mutable std::m…

深入理解Python中的JSON模块:基础大总结与实战代码解析【第102篇—JSON模块】

深入理解Python中的JSON模块&#xff1a;基础大总结与实战代码解析 在Python中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;模块是处理JSON数据的重要工具之一。JSON是一种轻量级的数据交换格式&#xff0c;广泛应用于Web开发、API通信等领域。本文将…

linux操作系统期末练习题

背景&#xff1a; 一、远程登录 1&#xff0e;利用远程登录软件&#xff0c;以用户userManager(密码123456)&#xff0c;远程登录教师计算机&#xff08;考试现场给出IP地址&#xff09;&#xff0c;只有操作&#xff0c;没有命令。 2&#xff0e;以stu班级学生个人学号后3位…

goland配置新增文件头

参考&#xff1a; goland函数注释生成插件 goland函数注释生成插件_goland自动加函数说明-CSDN博客 GoLand 快速添加方法注释 GoLand 快速添加方法注释_goland批量注释-CSDN博客 goland 如何设置头注释&#xff0c;自定义author和data goland 如何设置头注释&#xff0c;自定…

spring boot 集成科大讯飞星火认知大模型

一、安装依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/…

springboot003图书个性化推荐系统的设计与实现(源码+调试+LW)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的图书个…

SOLIDWORKS 查找并修复装配体配合错误

我们在SOLIDWORKS 正版软件进行装配体装配时&#xff0c;时常会出现一些报错&#xff0c;例如在配合、装配体特征或被装配体参考引用的零部件和子装配体中。一些常见的错误&#xff0c;如一个零部件的过定义会引发更多其他错误信息&#xff0c;并导致装配体停止解析配合关系。下…

RestTemplate启动问题解决

⭐ 作者简介&#xff1a;码上言 ⭐ 代表教程&#xff1a;Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容&#xff1a;个人博客系统 ⭐我的文档网站&#xff1a;http://xyhwh-nav.cn/ RestTemplate启动问题解决 问题&#xff1a;在SpringCloud架构项目中配…

汽车大灯尾灯划痕裂缝破洞破损掉角崩角等如何修复?根本没必要换车灯换总成,使用无痕修UV树脂胶液即可轻松搞定。

TADHE车灯无痕修复专用UV胶是一种经过处理的UV树脂胶&#xff0c;主要成份是改性丙烯酸UV树脂。应用在车灯的专业无痕修复领域。 车灯修复UV树脂有以下优点&#xff1a; 1. 快速修复&#xff1a;此UV树脂是一种用UV光照射在10秒内固化的材料。 2. 高强度&#xff1a;UV树脂固…

【npm下载包报错:CERT_HAS_EXPIRED,问题解决】

npm下载包报错&#xff1a;CERT_HAS_EXPIRED npm安装依赖的时候出现报错 根据第三行报错的提示得知报错原因是证书已过期 上网一查&#xff0c;原来常用的淘宝镜像早就换新域名了&#xff0c; 之前的镜像域名在2024年1月22日https证书到期了 替换为最新的地址就可以了 npm …

蛋白结构预测模型评价指标

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、蛋白结构预测模型评价指标TM-scorelDDT 二、Alphafold中的评价指标pLDDTpTMPAE 三、AlphaFold-multimer 蛋白结构的评价指标DockQipTM 总结参考资料 前言 本文汇总了AlphaFold和AlphaFold-mul…

线性表——单链表的增删查改(下)

本节继续上节未完成的链表增删查改接口的实现。这是上节的地址:线性表——单链表的增删查改&#xff08;上&#xff09;-CSDN博客 上节实现的接口如下&#xff1a; //申请链表节点函数接口 SLNode* BuySListNode(SLTDataType x); //单链表的打印函数接口 void SListPrint(SLNod…