当前位置: 首页 > news >正文

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…...

数字滚动变化-指令形式

话不多说&#xff0c;直接上代码 <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架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c; 能够提供动态Web站点服务及其应用开发环境。LNMP是一个缩写词&#xff0c;具体包括Linux操作系统、nginx网站服务器、MySQL数据库服务器、PHP&#xff08;或…...

小程序商品如何开启秒杀?

在小程序中&#xff0c;开启秒杀活动可以有效地吸引用户的注意力&#xff0c;提升销售额。下面就让我们来看看小程序商品怎么开启秒杀功能吧。 首先&#xff0c;确定秒杀活动的商品。一般来说&#xff0c;我们可以选择一些库存较多的商品或者是需要清理库存的商品作为秒杀商品…...

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.今日思维导图&#xff1b; 2.递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位&#xff1b; #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构建项目的时候经常遇到如下所示的标签配置&#xff1a; <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&#xff1a;文件夹根目录输入 ext: 扩展名返回&#xff1a; 文件路径列表"""newDir d…...

软件测试环境讲解

在一个项目开发到发布的整个过程中&#xff0c;会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境 一、开发环境 开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上&#xff0c;配置好以后&#xff0c;跑起来项目&#xff0c…...

mysql 面试

基础 详细说一下一条 MySQL 语句执行的步骤 Server 层按顺序执行 SQL 的步骤为&#xff1a; 客户端请求 -> 连接器&#xff08;验证用户身份&#xff0c;给予权限&#xff09; 查询缓存&#xff08;存在缓存则直接返回&#xff0c;不存在则执行后续操作&#xff09; 分析器…...

linux 安装FTP

检查是否已经安装 $] rpm -qa |grep vsftpd vsftpd-3.0.2-29.el7_9.x86_64出现 vsftpd 信息表示已经安装&#xff0c;无需再次安装 yum安装 $] yum -y install vsftpd此命令需要root执行或有sudo权限的账号执行 /etc/vsftpd 目录 ftpusers # 禁用账号列表 user_list # 账号列…...

软考高项(六)项目管理概述 ★重点集萃★

&#x1f451; 个人主页 &#x1f451; &#xff1a;&#x1f61c;&#x1f61c;&#x1f61c;Fish_Vast&#x1f61c;&#x1f61c;&#x1f61c; &#x1f41d; 个人格言 &#x1f41d; &#xff1a;&#x1f9d0;&#x1f9d0;&#x1f9d0;说到做到&#xff0c;言出必行&am…...

【vue】组件使用教训

组件使用 报错组件找不到 These dependencies were not found: 遇见的问题 在使用vue的时候&#xff0c;做了一个统计图的功能&#xff0c;引入了chart。 但是在运行项目的时候&#xff0c;直接报错启动不起来&#xff0c;报错内容是 告诉我依赖找不到&#xff0c;然后还试…...

2023年华数杯数学建模B题思路代码分析 - 不透明制品最优配色方案设计

# 1 赛题 B 题 不透明制品最优配色方案设计 日常生活中五彩缤纷的不透明有色制品是由着色剂染色而成。因此&#xff0c;不透明 制品的配色对其外观美观度和市场竞争力起着重要作用。然而&#xff0c;传统的人工配色 存在一定的局限性&#xff0c;如主观性强、效率低下等。因此…...

百度飞桨助力高校培养AI大模型人才,2023年飞桨产学合作项目申报启动

7月7日&#xff0c;教育部产学合作协同育人项目公布项目指南通过的企业名单&#xff0c;百度被列入2023年&#xff08;5月&#xff09;批次名单&#xff1b;其中百度飞桨与文心大模型项目40个&#xff0c;包含教学内容和课程体系改革、实践条件和实践基地建设、师资培训项目三大…...

【NLP概念源和流】 02-稠密文档表示(第 2/20 部分)

接续前文 【NLP初级概念】 01-稀疏文档表示(第 1/30 部分)_无水先生的博客-CSDN博客 一、说明 在前文中,我们已经了解如何为文档创建像“TF-IDF”和“BoW”这样的稀疏向量,其维度对应于语料库词汇表中的单词(这个维度将是巨大的)。在这篇博客中,我们将看到如何使用降维…...

同构多核架构(SMP)和异构多核架构(AMP)

同构多核架构&#xff08;SMP&#xff09;和异构多核架构&#xff08;AMP&#xff09;主要在两个角度上有区别&#xff1a; 处理器架构&#xff1a;在同构多核架构中&#xff0c;系统中的处理器在架构上是相同的&#xff0c;而异构多核架构则包含不同架构的处理器。运行模式&a…...

【网络基础进阶之路】一文弄懂TCP的三次握手与四次断开

系列文章&#xff1a; 【网络基础进阶之路】路由器间的静态综合详解 文章目录&#xff1a; 一、TCP协议 二、三次握手——建立连接 三、四次断开——结束连接 一、TCP协议 TCP是一种面向广域网的通信协议&#xff0c;目的是在跨越多个网络通信时&#xff0c;为两个通信端…...