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

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客
想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记

Linux安装

关于安装这里就不过多介绍了,安装版本是CentOS 7,详情安装步骤见下述博客
在VMware中安装CentOS7(超详细的图文教程)_vm安装centos7-CSDN博客

Linux的目录结构

目录含义
/bin存放二进制可执行文件
/boot存放系统引导时使用的各种文件
/dev存放设备文件
/etc存放系统配置文件
/home存放系统用户的文件
/lib存放程序运行所需的共享库和内核模块
/opt额外安装的可选应用程序包所放置的位置
/root超级用户目录
/sbin存放二进制可执行文件,只有root用户才能访问
/tmp存放临时文件
/usr存放系统应用程序
/var存放运行时需要改变数据的文件,例如日志文件

Linux常用命令

Linux命令常用技巧

  • Tab键自动补全
  • 连续按两次Tab键,给出操作提示
  • 使用上下箭头快速调出曾经使用过的命令
  • 使用Clear命令或者快捷键Ctrl+L实现清屏

Linux命令格式

  • Linux命令格式如下
command [-options] [parameter]

说明:

  • command:命令名
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • [parameter]:传给命令的参数,可以是0个,1个或多个

注意:

  • []代表可选命令名
  • 选项,参数之间需要用空格进行分隔

文件目录操作命令

ls
  • 作用:显示指定目录下的内容
  • 语法:ls [-al] [dir]

说明:

  • -a:显示所有文件及目录(以.开头的隐藏文件也会列出)
  • -l:除文件名外,还会讲文件的形态、权限、拥有者、文件大小等详细信息列出

注意:由于我们使用ls命令时,经常会加上-l选项,所以Linux很人性化的为我们提供了ll命令来作为ls -l命令的简写,使用ll -a也可以替代ls -al

cd
  • 作用:用户切换当前工作目录,即进入指定目录
  • 语法cd [dirName]

说明:

  • ~表示用户的home目录
  • .表示当前所在的目录
  • …表示当前位置的上级目录

cat
  • 作用:用于显示文件内容
  • 语法:cat [-n] fileName

说明:

  • -n:由1开始对所有输出的行数编号

举例:

  • cat /etc/profile
    • 查看/etc目录下的profile文件内容
  • cat -n /etc/profile
    • 查看/etc目录下的profile文件内容,显示行号

more
  • 作用:以分页的形式显示文件内容
  • 语法:more fileName

说明:

  • 回车键:向下滚动一行

  • 空格键:向下滚动一屏

  • b:返回上一屏

  • q或者Ctrl+C:退出more

举例:

  • more /etc/profile
    • 以分页方式显示/etc目录下的profile文件内容

tail
  • 作用:查看文件末尾的内容
  • 语法:tail [-f] fileName

说明:

  • -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

  • tail /etc/profile
    • 显示/etc目录下的profile文件末尾10行的内容
  • tail -20 /etc/profile
    • 显示/etc目录下的profile文件末尾20行的内容
  • tail -f /kyle/blog.log
    • 动态读取/kyle目录下的blog.log文件末尾内容并显示

mkdir
  • 作用:创建目录
  • 语法:mkdir[-p] dirName

说明:

  • -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:

  • mkdir linuxCast
    • 在当前目录下,建立一个名为linuxCast的子目录
  • mkdir-p linuxCast/test
    • 在工作目录下的linuxCast目录中建立一个名为test的子目录,若linuxCast目录不存在,则建立一个

rmdir
  • 作用:删除空目录
  • 语法:rmdir [-p] dirName

说明:

  • -p:当子目录被删除后使父目录为空目录的话,则一并删除

举例:

  • rmdir linuxCast删除名为linuxCast的空目录
  • rmdir -p linuxCast/test删除linuxCast目录中名为test的子目录,若test目录删除后linuxCast目录变为空目录,则也被删除
  • rmdir linuxCast*删除名称以linuxCast开始的空目录

rm
  • 作用:删除文件或者目录
  • 语法:rm [-rf] name

说明:

  • -r:将目录及目录中所有文件(目录)逐一删除,即递归删除

  • -f:无需确认,直接删除

  • name:要删除的文件/目录,支持通配符

拷贝移动命令

cp

作用:用于复制文件或目录
语法:cp [-r] source dest

说明:

  • -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
  • source:要复制的资源(文件/目录)
  • dest:要移动到的位置

举例:

  • cp hello.txt linuxCast/
    • 将hello.txt复制到linuxCast目录中
  • cp hello.txt ./ hi.txt
    • 将hello.txt复制到当前目录,并改名为hi.txt
  • cp -r linuxCast/ ./blog/
    • 将linuxCast目录和目录下所有文件复制到blog目录下
  • cp -r linuxCast/* ./blog/
    • 将linuxCast目录下所有文件复制blog目录下

mv

作用:为文件或目录改名、或将文件或目录移动到其它位置
语法:mv source dest

说明:

  • source:要移动的资源(文件/目录)
  • dest:要移动到的位置

举例:

  • mv hello.txt hi.txt
    • 将hello.txt改名为hi.txt
  • mv hi.txt blog/
    • 将文件hi.txt移动到blog目录中
  • mv hi.txt blog/hello.txt
    • 将hi.txt移动到blog目录中,并改名为hello.txt
  • mv linuxCast/ blog/
    • 如果blog目录不存在,将linuxCast目录改名为blog
  • mv linuxCast/ blog/
    • 如果blog目录存在,将linuxCast目录移动到blog目录中

打包压缩命令

tar

作用:对文件进行打包、解包、压缩、解压
语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩,也可以用.tgz作为简写

说明:

  • -z: 代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c: 代表的是create,即创建新的包文件
  • -x: 代表的是extract,实现从包文件中还原文件
  • -v: 代表的是verbose,显示命令的执行过程
  • -f: 代表的是file,用于指定包文件的名称
  • c和x是互斥的,解压和压缩不能同时进行

举例 :

  • tar -cvf hello.tar ./*
    • 将当前目录下所有文件打包,打包后的文件名为hello.tar
  • tar -czvf hello.tar.gz ./*
    • 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
  • tar -zxvf hello.tar.gz
    • 将hello.tar.gz中的文件解压缩

文本编辑命令

vi

作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于windows中的记事本
语法:vi fileName

说明:

  1. vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
  2. 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

vim

作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName

说明:

  1. 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
  2. vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

针对vim中的三种模式说明如下:

  1. 命令模式
    命令模式下可以查看文件内容、移动光标(上下左右箭头、gg(开头)、G(末尾))
    通过vim命令打开文件后,默认进入命令模式
    另外两种模式需要首先进入命令模式,才能进入彼此
  2. 插入模式
    插入模式下可以对文件内容进行编辑
    在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现INSERT字样
    在插入模式下按下ESC键,回到命令模式
  3. 底行模式
    底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
    在命令模式下按下[:,/]任意一个,可以进入底行模式
    通过 / 方式进入底行模式后,可以对文件内容进行查找
    通过 : 方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

查找命令

find

作用:在指定目录下查找文件
语法:find dirName -option fileName

说明:

  • dirName:指定目录
  • -option:一般指定-name(根据文件名称来查找)
  • fileName:可以使用通配符的方式

举例:

  • find / -name helloworld.log
    • 在所有文件夹下查找helloworld.log文件
  • find . -name “*.java”
    • 在当前目录及其子目录下查找.java结尾文件
  • find /linuxCast -name “*.java”
    • 在/linuxCast目录及其子目录下查找.java结尾的文件

grep

作用:从指定文件中查找指定的文本内容
语法:grep word fileName

说明:

  • word:查找的文本
  • fileName:从哪个文件中种找

举例:

  • grep Hello Helloworld.java
    • 查找Helloworld.java文件中出现的Hello字符串的位置
  • grep hello *.java
    • 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

Linux软件安装

软件安装方式

  1. 二进制发布包安装
    • 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
  2. rpm安装
    • 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
  3. yum安装
    • 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
  4. 源码编译安装
    • 软件以源码工程的形式发布,需要自己编译打包

相关文章:

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客 想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记 Linux安装 关于安装这里就不过多介绍了,安装版本是CentOS 7,详情安装步骤见下述博客在VMware中安装CentOS7(超详细的图文教…...

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介绍 我们想要在屏幕上绘制物体的细节,从尺度上讲,一个物体的细节分为:宏观、中观、微观宏观尺度中其特征会覆盖多个像素,中观尺度只覆盖几个像素,微观尺度的特征就会小于一个像素宏观尺度是由顶点或…...

数字化前沿:Web3如何引领未来技术演进

在当今数字化时代,随着技术的不断发展和创新,Web3作为一种新兴的互联网范式,正逐渐成为数字化前沿的代表。Web3以其去中心化、加密安全的特性,正在引领着未来技术的演进,为全球范围内的科技创新带来了新的可能性和机遇…...

【kubernetes】探索k8s集群的存储卷、pvc和pv

目录 一、emptyDir存储卷 1.1 特点 1.2 用途 1.3部署 二、hostPath存储卷 2.1部署 2.1.1在 node01 节点上创建挂载目录 2.1.2在 node02 节点上创建挂载目录 2.1.3创建 Pod 资源 2.1.4访问测试 2.2 特点 2.3 用途 三、nfs共享存储卷 3.1特点 3.2用途 3.3部署 …...

UI线程和工作线程

引用:windows程序员面试指南 工作线程 只处理逻辑的线程,例如:启动一个线程,用来做一个复杂的计算,计算完成之后,此线程就自动退出,这种线程称为工作线程 UI线程 Windows应用程序一般由窗口…...

RandLA-Net 训练自定义数据集

https://arxiv.org/abs/1911.11236 搭建训练环境 git clone https://github.com/QingyongHu/RandLA-Net.git搭建 python 环境 , 这里我用的 3.9conda create -n randlanet python3.9 source activate randlanet pip install tensorflow2.15.0 -i https://pypi.tuna.tsinghua.e…...

洛谷 B3642:二叉树的遍历 ← 结构体方法 链式前向星方法

【题目来源】https://www.luogu.com.cn/problem/B3642【题目描述】 有一个 n(n≤10^6) 个结点的二叉树。给出每个结点的两个子结点编号(均不超过 n),建立一棵二叉树(根结点的编号为 1),如果是叶子结点&…...

飞腾+FPGA多U多串全国产工控主机

飞腾多U多串工控主机基于国产化飞腾高性能8核D2000处理器平台的国产自主可控解决方案,搭载国产化固件,支持UOS、银河麒麟等国产操作系统,满足金融系统安全运算需求,实现从硬件、操作系统到应用的完全国产、自主、可控,是国产金融信…...

uni-app实现页面通信EventChannel

uni-app实现页面通信EventChannel 之前使用了EventBus的方法实现不同页面组件之间的一个通信,在uni-app中,我们也可以使用uni-app API —— uni.navigateTo来实现页面间的通信。注:2.8.9 支持页面间事件通信通道。 1. 向被打开页面传送数据…...

等保系列之——网络安全等级保护测评工作流程及工作内容

#等保测评##网络安全# 一、网络安全等级保护测评过程概述 网络安全等级保护测评工作过程包括四个基本测评活动:测评准备活动、方案编制活动、现场测评活动、报告编制活动。而测评相关方之间的沟通与洽谈应贯穿整个测评过程。每一项活动有一定的工作任务。如下表。…...

自然语言处理中的BERT模型深度剖析

自然语言处理(NLP)是人工智能领域的一个重要分支,它致力于让计算机理解和生成人类语言。近年来,BERT(Bidirectional Encoder Representations from Transformers)模型的出现,极大地推动了NLP领域…...

数据结构:希尔排序

文章目录 前言一、排序的概念及其运用二、常见排序算法的实现 1.插入排序2.希尔排序总结 前言 排序在生活中有许多实际的运用。以下是一些例子: 购物清单:当我们去超市购物时,通常会列出一份购物清单。将购物清单按照需要购买的顺序排序&…...

unicloud 云对象

背景和优势 20年前,restful接口开发开始流行,服务器编写接口,客户端调用接口,传输json。 现在,替代restful的新模式来了。 云对象,服务器编写API,客户端调用API,不再开发传输json…...

【车载开发系列】常用专业术语汇总

【车载开发系列】常用专业词汇汇总 英语全称说明详细HILSHardware In the Loop Simulation车硬件仿真模拟器精密仪器,价格昂贵,机能测试时一定要小心使用。使用简易HILS不能模拟电气故障。要模拟电气故障需要外接故障BoxLSBLeast Significant Bit单位精…...

如何实现Docker容器的自动化升级:不再为手动更新烦恼!

要升级 Docker 容器,你可以按照以下步骤操作,这些步骤涵盖了从拉取最新镜像到重启容器的整个过程。 步骤一:拉取最新的镜像 首先,确保你有最新版本的镜像。例如,如果你要升级一个 Spring Boot 应用的镜像&#xff0c…...

SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼

概览 在之前 SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App 这篇博文里,我们已经初步介绍过了 TipKit 的基本知识。 现在,让我们来看看如何进一步利用 SwiftUI 对 TipKit 提供的细粒度外观定制技巧,让 Tip 更加“明眸…...

使用C#实现VS窗体应用——画图板

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。🍎个人主页:Meteors.的博客💞当前专栏:小项目✨特色专栏: 知识分享&#x1f96d…...

flutter 自定义本地化-GlobalMaterialLocalizations(重写本地化日期转换)

1. 创建自定义 GlobalMaterialLocalizations import package:flutter_localizations/flutter_localizations.dart; import package:kittlenapp/utils/base/date_time_util.dart;///[auth] kittlen ///[createTime] 2024-05-31 11:40 ///[description]class MyMaterialLocaliza…...

HTTPS 原理技术

HTTPS原理技术 背景简介原理总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创&am…...

Linux基础指令及其作用之压缩与解压

压缩与解压targzip示例输出解释 gunzipzipunzip 压缩与解压 tar tar xzf 是一个常用的命令组合,用于解压缩由 gzip 压缩的 tarball 文件。下面是对这个命令的详细说明: tar:这是一个用于在 Linux 和类 Unix 系统上创建、查看或提取归档文件…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...