linux重新学习-纪录篇
前言:
正式学习linux的时候,除了那些命令之外,更多的是对于这个系统的重新认知。
linux的身世?
在上世纪90年代,那时候计算机非常的珍贵,配置也很一般般,系统也贵,所以没啥人用,在当时就已经有系统了叫UNIX系统,这个是linux的前身,由于当时这个系统非常的吃配置,当然了对于当时来说是这样的,据说可以使用UNIX操作系统的机器在当时可以卖到5W美刀,然后到了后面有一个开源大神(这也是开源的最初形成)认为计算机本来就应该是亲民的,我们要实现其普遍性,因此对于UNIX进行了二次开发,形成了最初的Linux版本0.1x,据说当时代码只有仅仅1w行(c语言),编写Linux内核。以Minix操作系统作为参考,但在Minix的基础上进行了丰富的修改和扩展,以创建一个更符合个人计算机需求的内核,通过互联网将Linux发布到公众,并邀请其他开发者参与到项目中。这一开放的发展模式吸引了大量的开发者,他们为Linux做出贡献,改进了内核的功能和性能,Linux最初是作为一个内核开发的项目,但随着时间的推移,它逐渐发展成为一个完整的操作系统。Linux内核与GNU项目中的工具和应用程序结合在一起,形成了一个完整的Linux操作系统。这种结合被称为GNU/Linux,Linux的开源性质使得任何人都可以查看、修改和分发源代码,这也促进了Linux在全球范围内的发展和广泛应用。如今,Linux已成为主流操作系统,广泛应用于服务器、移动设备、嵌入式系统等各个领域,Linux的身世可以概括为一个由Linus Torvalds发起的开源项目,经过全球开发者的不断贡献和改进,最终发展成为一个强大、稳定的操作系统内核,为现代计算机提供了一个开放、灵活和可定制的平台。
linux为什么力压window成为程序员最喜欢的开发平台?
1.开源性:
Linux是一个开源操作系统,这意味着人们可以自由查看、修改和分发其源代码。开源性使得程序员可以深入了解内部运行机制,并对系统进行自定义和优化。可以根据自己的需求修改和扩展Linux内核和其他软件,而不受厂商的限制。
2.稳定性.可靠性
Linux在服务器环境中表现出色,以其高度稳定和可靠的特性著称,减少系统崩溃和数据损失的风险。
3.社区支持
Linux拥有庞大而活跃的开源社区,这是它的一个重要优势。开发者可以通过邮件列表、论坛、社交媒体等途径与其他开发者交流和分享经验。可以获得社区的支持和反馈,解决问题和改善开发技巧。开源社区的合作精神也促进了不同开发者之间的合作和共同进步
命令篇:
对于linux而言,我们都知道linux是一个以树为模型而构建的一个文件系统,通过树的父子关系来进行文件的寻址,文件系统是以根目录(/)为起点,通过目录和子目录的层级关系构建而成的。每个目录可以包含文件和其他目录。那么文件对于linux系统来说是非常重要的。
所以对于文件的crud和属性操作是我最先学习的
文本查看命令:
1.cat:一次性加载整个文本文件,也是我之前使用最多的一个查看文本行命令,这个命令有个缺点,就是一次性加载有时候不符合我们查看的要求,所以小文本可以用用,但是当文本内容多了之后就会显得很冗余,当然了与管道符号|和grep和起来用还是可以的,进行筛选。
2.more:缓慢加载,不是一次性加载所有的文本内容,一页一页的加载,可以通过空格键进行控制,但是不能向上翻页看已经看过的内容,对于大文本来说比较常用。
3.less:缓慢加载,和more的大体加载方式是一样的,但是它可以进行向上阅读,向上搜索
4.tail:这个命令我是一般用来查看日志log文件的,最常用的方式tail -f -n 100 xxx.log,用来实时观测这个文件最后100行的内容,用来进行linux日志排错,或者用户行为观测的一些操作,还有一点说明,因为这个tail是根据文件的inode进行观测的,而当文件被vi/vim进行修改的时候,tail是检测不到的,这是因为vi/vim修改文件时会对文件的inode进行修改,所以tail无法观测。
5.head:也是一个观测命令,只不过是动态观测前面n行,和tail恰恰相反,但是一般日志加载都是往后面加,所以这个命令一般用的很少,反正我几乎没用过一次......
文件位置查找命令:
1.find:全盘查找,需要去磁盘加载所有的文件目录才可以进行查找,所以速度很慢,几乎不用
find / -name ***.*** #查找/路径下所有的***.***的位置2.which:根据系统的PATH路径进行查找,返回系统命令在哪个位置一般在/usr/下,也不建议用
which ***3.whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息,从来没用过......
whereis ***4.locate:这个命令是最常用的命令,而且运行速度也快,因为这个命令的查找是根据数据库(/var/lib/locatedb)索引进行查找的,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate ***查看历史命令:
history:
这个命令很厉害,可以查看你历史所有使用过的命令,前提是你不进行历史命令清除,直接输入就可以看到,也可以加入一些参数进行部分命令查看,例如查看带有cd的执行命令,或者查看最后100行执行的命令,根据这个我们可以使用!+id号就可以直接使用我们之前用过的命令,!之后跟的负数表示倒数取命令,目前我用到的就这么多
用户权限命令:
1.su:切换用户命令,从权限大-权限小不需要密码,反之则需要密码,切换之后的PATH环境是不会发生变化的,可以利用who am i/whoami来进行验证
2.sudo:暂时获取root权限的一个命令,类似于这样sudo cat xxx.log,当普通用户没有权限进行观测时,可以用sudo进行权限提升,但这也仅仅是当前命令行的提升,使用过后就没有了。
上面两个命令我也几乎没有过[笑哭],因为我一直都是用root登录操作的......
3.whoami:显示自身的用户名称,本指令相当于执行"id -un"指令。
文件的CRUD命令:
1.mkdir:创建文件命令,加-r可以递归创建,
相关文章:
linux重新学习-纪录篇
前言: 正式学习linux的时候,除了那些命令之外,更多的是对于这个系统的重新认知。 linux的身世? 在上世纪90年代,那时候计算机非常的珍贵,配置也很一般般,系统也贵,所以没啥人用,在当…...
为机器人装“大脑” 谷歌发布RT-2大模型
大语言模型不仅能让应用变得更智能,还将让机器人学会举一反三。在谷歌发布RT-1大模型仅半年后,专用于机器人的RT-2大模型于近期面世,它能让机器人学习互联网上的文本和图像,并具备逻辑推理能力。 该模型为机器人智能带来显著升级…...
JavaEE 面试常见问题
一、常见的 ORM 框架有哪些? 1.Mybatis Mybatis 是一种典型的半自动的 ORM 框架,所谓的半自动,是因为还需要手动的写 SQL 语句,再由框架根据 SQL 及 传入数据来组装为要执行的 SQL 。其优点为: 1. 因为由程序员…...
06 HTTP(下)
06 HTTP(下) 介绍服务器如何响应请求报文,并将该报文发送给浏览器端。介绍一些基础API,然后结合流程图和代码对服务器响应请求报文进行详解。 基础API部分,介绍stat、mmap、iovec、writev。 流程图部分,描…...
clickhouse调研报告2
由Distributed表发送分片数据 clickhouse分区目录合并 clickhouse副本协同流程 clickhouse索引查询逻辑 clickhouse一级索引生成逻辑(两主键) clickhouse的data目录下包含如下目录: [root@brfs-stress-01 201403_10_10_0]# ll /data01/clickhouse/data total 4 drwxr-x---…...
TensorRT学习笔记--基于TensorRT部署YoloV3, YoloV5和YoloV8
目录 1--完整项目 2--模型转换 3--编译项目 4--序列化模型 5--推理测试 1--完整项目 以下以 YoloV8 为例进行图片和视频的推理,完整项目地址如下:https://github.com/liujf69/TensorRT-Demo git clone https://github.com/liujf69/TensorRT-Demo.…...
原型链污染,nodejs逃逸例子
文章目录 原型链污染原型链污染原理原型链污染小例子 原型链污染题目解析第一题第二题 Nodejs沙箱逃逸方法一方法二 原型链污染 原型链污染原理 原型链 function test(){this.a test; } b new test;可以看到b在实例化为test对象以后,就可以输出test类中的属性a…...
nlohmann::json 中文乱码解决方案
// UTF8字符串转成GBK字符串 std::string U2G(const std::string& utf8) {int nwLen MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), -1, NULL, 0);wchar_t* pwBuf new wchar_t[nwLen 1];//加1用于截断字符串 memset(pwBuf, 0, nwLen * 2 2);MultiByteToWideChar(CP_U…...
IDEA中maven项目失效,pom.xml文件橙色/橘色
IDEA中maven项目失效,pom.xml文件橙色/橘色 IDEA中Maven项目失效 IDEA中创建的maven项目中的文件夹都变成普通格式,pom.xml变成橙色 右键点击橙色的pom.xml文件,选择add as maven project maven项目开始重新导入相应依赖,恢复…...
【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 2
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
IntelliJ IDEA 2023.2社区版插件汇总
参考插件帝:https://gitee.com/zhengqingya/java-developer-document 突发小技巧:使用插件时要注意插件的版本兼容性,并根据自己的实际需求选择合适的插件。同时,不要过度依赖插件,保持简洁和高效的开发环境才是最重要…...
Sheel编写关于mysqldump实现分库分表备份
编写脚本,使用mysqldump实现分库分表备份。 #编辑脚本文件 [rootlocalhost scripts]# vim bak_tb1.sh#脚本内容: #设置变量,减少代码冗余 mysql_cmd-uroot -p123 exclude_dbDatabase|information_schema|-S|mysql|performance_schema|sys ba…...
Rust的入门篇(上)
Rust的入门篇(上) 最近跟着菜鸟一起入门了比较火的Rust语言,下面整理一下学习的笔记吧。 1. Helloworld程序 fn main(){println!("hello rust") }2. 格式化字符串 fn main(){let a 12;// 格式化字符串println!("a{}", a);println!("a…...
数字滚动变化-指令形式
话不多说,直接上代码 <template><divv-data-scroll"{target: 100speed: 1000}">100</div> </template><script setup lang"ts"> import { DirectiveBinding } from vue;function dataScroll(el: HTMLElement, …...
LNMP搭建及论坛搭建
一、LNMP LNMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件, 能够提供动态Web站点服务及其应用开发环境。LNMP是一个缩写词,具体包括Linux操作系统、nginx网站服务器、MySQL数据库服务器、PHP(或…...
小程序商品如何开启秒杀?
在小程序中,开启秒杀活动可以有效地吸引用户的注意力,提升销售额。下面就让我们来看看小程序商品怎么开启秒杀功能吧。 首先,确定秒杀活动的商品。一般来说,我们可以选择一些库存较多的商品或者是需要清理库存的商品作为秒杀商品…...
vue 标题文字字数过长超出部分用...代替 动态显示
效果: 浏览器最大化: 浏览器缩小: 代码: html: <div class"title overflow">{{item.name}}</div> <div class"content overflow">{{item.content}}</div> css: .overflow {/* 一定要加宽度 */width: 90%;/* 文字的大小 */he…...
DAY2,C高级(shell脚本的使用)
1.今日思维导图; 2.递归实现,输入一个数,输出这个数的每一位; #include<my_head.h>void Output(int num) {if(num 0)return;Output(num/10);printf("%d ",num%10);}int main(int argc, const char *argv[]) {in…...
maven中的properties标签
在maven构建项目的时候经常遇到如下所示的标签配置: <dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId> <version>4.2.6</version></dependency><dependency><gr…...
[openCV]基于拟合中线的智能车巡线方案V2
import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir:文件夹根目录输入 ext: 扩展名返回: 文件路径列表"""newDir d…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...
