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

第0次 序言

    突然想起有好多书没有看,或者看了也没留下任何记录,以后有空必须得好好整理才行,这次就从《Linux命令行和shell脚本编程大全开始》

    本文完全是闲聊,自娱自乐,我觉得做开发是一件很快乐的事情,但是工作是开发就是一个悲剧了,当初选择去当公务员也是这么一回事,我觉得工匠可以造出王冠来,但是戴王冠的又不是它自己,得不到荣耀,也得不到对得起这份辛勤的money,更重要的是欣赏王冠的是少数人,不像美丽的雕像或者画作,纯粹自娱自乐罢了,还不如直接把自己卖给国王,给国王当私人的工匠,不用担心明天接不到打铁的活计,哈哈哈。

   上面这段话是开玩笑啦,每个人都有自己的想法不是嘛,上面是我的想法。

   想起阿基米德的浮力定律,那个在黄金王冠里面掺假的笨蛋工匠,为人类贡献了一条新发现,也算是没有白活。这里我又想起进步,想要进步就必须付出代价,不论是现实还是神话,比如北欧神话奥丁想要获得智慧,他就献祭了自己的一只眼睛,想要力量,就要献祭自己去体会痛苦,把自己挂在世界树上九天九夜,人类社会也一样,每次进步都是无数人的痛苦,战乱之后的社会复习,科技进步,制度更新,献祭了不知道多少可怜的灵魂。也许这是一种规律,也许这是一种诅咒,也许两者都是。总之,这条浮力定律献祭了一个可怜的工匠,可能在某本寓言书上说:这是贪婪的代价,我们有智慧的人应该学会谦逊和满足。

   为了避免这些痛苦,我选择逃避,不想做开发了,就当是一种乐趣吧。

回归原点,我们从这本书的第三章开始,因为shell是从第三章开始的。我有个小小的建议,一本书的第一章要快速阅读,不用读的那么明白,在读完整本书之后,回到序言,第一章,细细评委,因为第一章往往太浓,一次就像看明白,就跟喝一杯蒸馏酒一样,容易喝醉。

1.bash shell

    shell的意思是外壳的意思,这里就是操作系统的外壳,之所以叫他外壳,是因为用户不会直接接触到操作系统的内核,比如我们查看目录下的文件,总不能调用内核,写个程序来输出吧,shell确实是这么做的,它是沟通内核与用户之间的外壳,因此叫做shell。

        shell分为很多类型,这里专门指的是bash shell,当然啦,你也可以切换为其他的shell命令。

启动shell,打开终端窗口就行了,上面有提示符。输入命令,执行的结果就会输出到终端。

2.文件目录

        Linux文件系统看起来是个树状图,其实这个树状图是逻辑结构,真实结构式线性的,真实结构就是物理结构,内存什么的。内存懂吧,这样的东西就是按照顺序排列,必然是线性的。树状结构容易理解,也容易操纵,比如删除,查找之类的删除,节约时间。

        文件目录都是从根目录开始,根目录的名字是"/"

        在他之下有其他的目录:

        

/根目录
/bin二进制目录,存放许多用户级的GNU工具
/boot启动目录,存放启动文件
/dev设备目录,Linux在这里创建设备节点
/home主目录,Linux在这里创建用户目录,就跟windows的User目录一样
/lib库文件目录,存放系统和应用程序的库文件
/media媒体目录,可移动媒体设备的常用挂载点
/mnt挂载目录,另一个可移动媒体设备的常用挂载点
/opt可选目录,存放第三方软件包和数据文件
/proc进程目录,存放现有硬件以及当前进程的相关信息
/rootroot用户的主目录
/sbin系统二进制目录,存放许多GNU管理级工具
/run运行目录,存放系统运行时的运行目录
/srv服务目录,存放本地服务的相关文件
/sys系统目录,存放系统硬件相关的文件
/tmp临时目录,可以在该目录下创建和删除临时文件
/usr用户二进制目录
/var可变目录,存放经常变化的文件,比如日志文件
/etc系统配置文件

       在/etc/passwd文件中,记录了系统用户账户列表以及每个用户的基本配置信息,用冒号分割,一共七个字段,记录用户名,被加密的密码,使用的shell版本等等信息。

如果不懂某个命令,可以使用man 命令。

首先,我们应该知道什么叫路径,这个可能时一切的起点,就跟我们用windows系统一样,把文件放在不同的目录,命令也是基于路径,这叫脚踏实地。

路径分为两种,一种是绝对路径,一种是相对路径,绝对路径是指从根目录开始,一直到你所在的位置,另一种是从你当前所在的位置开始算,一般用"./"表示,上一级目录也叫父目录,我猜现在应该叫父母目录了,用"../"表示。

3.常用命令

(1).cd  切换文件目录,比如切换到ect目录:cd /etc,相对目录切换需要查看路径。

(2).ls 列出文件,后面可以加各种选项,可以使用man ls查看有哪些选项。

比如ls -a,列出全部文件

(3).touch 创建文件 比如:touch read.txt 创建一个read.txt的文件

(4).cp source destiantion 复制source到destination 比如 cp a ../  把a复制到上一级目录里面

还可以用通配符。

(5)mv  它可以对文件重命名,也可以把文件移动到其他地方

(6)rm 删除文件,删除文件要注意文件夹和文件的区别,删除文件夹要加-r

不管是删除还是移动,最好加上-i,因为删除或者移动,就找不回来了,-i会提示你是否真的删除和覆盖。

(7).mkdir 创建文件目录,如果想要同时在文件夹下面创建其他文件夹,要加-p

(8).rmdir 删除空目录

(9).file 查看文件类型

(10).cat 查看整个文件,搭配-n可以显示行号。-b显示有字符的行号

(11).more分页查看文件,支持翻页,退出按q,这是对cat的改善,

(12).less 是more的升级版,可以在其中查找字符,上下翻动

(13).tail 查看文件的最后几行,可以搭配-n,表示查看最后哪些行,比如tail -n 3 查看最后三行,还可以用-f

(14).head查看开头几行

(15).in 链接文件,这个有点麻烦,但是如果用windows图标来类比,就简单了。

链接分为两种,符号链接和硬链接,符号链接就是图标一样的链接了

符号链接

in -s a b

b就是指向a的链接,a相当于图标,所以a的内容和b的内容不一样

硬链接

in a b

b指向a,a和b是一样的。只能对处于储存媒体的文件创建硬链接

本文都是简单介绍,不会深入研究。

相关文章:

第0次 序言

突然想起有好多书没有看,或者看了也没留下任何记录,以后有空必须得好好整理才行,这次就从《Linux命令行和shell脚本编程大全开始》 本文完全是闲聊,自娱自乐,我觉得做开发是一件很快乐的事情,但是工作是开发…...

ESP32设备驱动-OLED显示单个或多个DS18B20传感器数据

OLED显示单个或多个DS18B20传感器数据 文章目录 OLED显示单个或多个DS18B20传感器数据1、DS18B20介绍2、硬件准备3、软件准备4、代码实现4.1 读取单个DS18B20数据4.2 驱动多个DS18B20传感器4.3 OLED显示DS18B20数据在本文中,我们将介绍如何ESP32驱动单个或多个DS18B20传感器,…...

MongoDB快速上手

文章目录 1、mongodb相关概念1.1、业务应用场景1.2、MongoDB简介1.3、体系结构1.3.1 数据库 (databases) 管理语法1.3.2 集合 (collection) 管理语法 1.4、数据模型1.5、MongoDB的特点 2、单机部署3、基本常用命令3.1、案例需求3.2、数据库操作3.2.1 选择和创建数据库3.2.2 数据…...

maven 初学

1. maven 安装 配置安装 路径 maven 下载位置: D:\software\apache-maven-3.8.6 默认仓库位置: C:\Users\star-dream\.m2\repository 【已更改】 本地仓库设置为&#xff1a;D:\software\apache-maven-3.8.6\.m2\repository 镜像已更改为阿里云中央镜像仓库 <mirrors>…...

解决WPF+Avalonia在openKylin系统下默认字体问题

一、openKylin简介 openKylin&#xff08;开放麒麟&#xff09; 社区是在开源、自愿、平等和协作的基础上&#xff0c;由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区&#xff0c;致力于通过开源、开放的社区合作&#xff…...

智能合约漏洞,Dyna 事件分析

智能合约漏洞&#xff0c;Dyna 事件分析 1. 漏洞简介 https://twitter.com/BlockSecTeam/status/1628319536117153794 https://twitter.com/BeosinAlert/status/1628301635834486784 2. 相关地址或交易 攻击交易 1&#xff1a; https://bscscan.com/tx/0x7fa89d869fd1b89e…...

Elasticsearch基础篇(四):Elasticsearch7.x的官方文档学习(Set up Elasticsearch)

Set up Elasticsearch 1 Configuring Elasticsearch(配置 Elasticsearch)1.1 Setting JVM Options(设置JVM选项)1.2 Secure Settings(安全设置)Introduction(介绍)Using the Keystore(使用密钥库)Applying Changes(应用更改)Reloadable Secure Settings(可重新加载的安全设置)R…...

二叉树的遍历方式和代码

二叉树的三种遍历和代码 1.前序遍历2.中序遍历3.后序遍历4.三种遍历方式的代码实现 1.前序遍历 学习二叉树结构&#xff0c;最简单的方式就是遍历。所谓遍历(Traversal)是指沿着某条搜索路线&#xff0c;依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具…...

小样本学习——匹配网络

目录 匹配网络 &#xff08;1&#xff09;简单介绍&#xff1a; &#xff08;2&#xff09;专业术语 &#xff08;3&#xff09;主要思想 &#xff08;4&#xff09;训练过程 问题 回答 MANN 匹配网络 &#xff08;1&#xff09;简单介绍&#xff1a; Matching netwo…...

CSS 常用样式 之字体属性

font-weight&#xff08;字体粗细&#xff09; 字体粗细用于设置文本的粗细程度&#xff0c;可以使用如下的值&#xff1a; normal&#xff1a;正常字体&#xff08;默认&#xff09;bold&#xff1a;加粗字体bolder&#xff1a;更加加粗lighter&#xff1a;更加细 代码实例…...

nodejs+vue游戏测评交流系统elementui

可以实现首页、发布招募、公司资讯、我的等&#xff0c;另一方面来说也可以提高在游戏测评交流方面的效率给相关管理人员的工作带来一定的便利。在我的页面可以对游戏攻略、我的收藏管理、实际上如今信息化成为一个未来的趋势或者可以说在当前现代化的城市典范中,发布招募等功能…...

1.2.OpenCV技能树--第一单元--OpenCV安装

目录 1.文章内容来源 2.OpenCV安装 3.课后习题代码复现 4.易错点总结与反思 1.文章内容来源 1.题目来源:https://edu.csdn.net/skill/opencv/opencv-662dbd65c89d4ddb9e392f44ffe16e1a?category657 2.资料来源:https://edu.csdn.net/skill/opencv/opencv-662dbd65c89d4ddb…...

全志ARM926 Melis2.0系统的开发指引⑥

全志ARM926 Melis2.0系统的开发指引⑥ 编写目的9. 系统启动流程9.1. Shell 部分9.2.Orange 和 desktop 部分9.3. app_root 加载部分9.4. home 加载部分 10. 显示相关知识概述10.1. 总体结构10.2. 显示过程10.3. 显示宽高参数关系 -. 全志相关工具和资源-.1 全志固件镜像修改工具…...

Junit单元测试为什么不能有返回值?

这个问题的产生来源于我们老师上节课说的我们班一个男生问他的想法&#xff0c;刚开始听到这个还觉得挺有意思&#xff0c;我之前使用单元测试好像下意识的就将它的返回值写为void,一般都是进行简单的测试&#xff0c;也从没思考过在某个单元测试中调用另一个单元测试&#xff…...

【成像光敏描记图提取和处理】成像-光电容积描记-提取-脉搏率-估计(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Ubuntu无法引导启动的修复

TLDR&#xff1a;使用Boot-Repair工具。 Boot-Repair Boot-Repair是一个简单的工具&#xff0c;用于修复您在Ubuntu中可能遇到的常见启动问题&#xff0c;例如在安装Windows或其他Linux发行版后无法启动Ubuntu时&#xff0c;或者在安装Ubuntu后无法启动Windows时&#xff0c;…...

Windows电脑上的多开软件是否安全?

在Windows电脑上使用多开软件可以让使用者同时运行多个相同或不同的程序&#xff0c;这对于某些需要同时操作多个账号或实例的用户来说非常有用。但是很多人担心使用多开软件是否安全。 多开软件的安全问题主要在于它们可能会破坏操作系统的稳定性和安全性&#xff0c;导致系统…...

U盘支持启动区+文件存储区的分区方法

准备新U盘 启动diskgenius &#xff0c;先建立一个主分区&#xff08;7G&#xff09;&#xff0c;剩余空间建立为第二分区&#xff0c;然后设定第二分区激活。 diskgenius格式化 用diskgenius格式化&#xff0c;在格式化的过程中有一个 写入dos系统的选项&#xff0c;在格式…...

JavaEE-线程进阶

模拟实现一个定时器 运行结果如下&#xff1a; 上述模拟定时器的全部代码&#xff1a; import java.util.PriorityQueue;//创建一个类&#xff0c;用来描述定时器中的一个任务 class MyTimerTask implements Comparable<MyTimerTask> {//任务执行时间private long …...

【开发篇】十五、Spring Task实现定时任务

文章目录 1、使用示例2、相关配置3、Scheduled注解4、Spring Task单线程下的阻塞坑5、Spring Task阻塞问题的处理思路6、Spring Task在分布式环境中 上一篇用Quartz来实现了定时任务&#xff0c;但相对来说&#xff0c;这个框架还是比较繁琐。Spring Boot默认在无任何第三方依赖…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...