Linux学习记录

Linux

文章目录

      • Linux
        • Linux发行版
          • Debian 分支
          • Red Hat 分支
          • Arch Linux 分支
        • 服务器
        • 基础操作
          • ls
          • cat和less
          • 设置权限
          • 删除文件和目录
          • 搜索文件
        • cmake使用
        • 文件

Linux发行版

一个典型的 Linux 发行版除了 Linux 内核以外,通常还会包括一系列 GNU 工具和库、一些附带的软件、说明文档、一个桌面系统、一个窗口管理器和一个桌面环境。不同的发行版之间除了 Linux 内核以外的其它部分都有可能不一样,因此有的时候我们对比某两种发行版的时候会觉得它们看起来像是完全不一样的操作系统,然而实质上它们却拥有着相同的核心,即 Linux 内核。

Debian 分支

Debian 是一个完全由自由软件构成的类 UNIX 操作系统

Debian GNU/Linux 也派生了很多发行版,其中最为著名的便是 Ubuntu

Red Hat 分支

Red Hat Linux 是美国的 Red Hat 公司发行的一个发行版,第一个版本发布于 1994 年 11 月 3 日,也是一个历史悠久的发行版。它曾经也广为使用,但在 2003 年 Red Hat 公司停止了对它的维护,转而将精力都投身于其企业版 Red Hat Enterprise Linux(简称 RHEL)上,Red Hat Linux 自此完结,而商业市场导向的 RHEL 维护至今。

在 Red Hat Linux 在停止官方更新后,由社群启动的 Fedora 项目接管了其源代码并构筑了自己的更新,演变成了如今的 Fedora 发行版。Fedora 是一套功能完备且更新迅速的系统,且本身计划也受到了 Red Hat 公司的赞助,成为了公司测试新技术的平台。

虽然 RHEL 是一个收费的、商业化的系统,但是其遵循 GNU 通用公共许可证,因此会开放源代码。编译这些源代码可以重新得到一个可以使用的操作系统,即一个新的发行版:CentOS(Community Enterprise Operating System,社区版企业操作系统)。因为 CentOS 几乎完全编译自 RHEL 的代码,所以其也像 RHEL 一样具有企业级别的稳定性,适合在要求高度稳定的服务器上运行。

2020 年 12 月,CentOS 社区在其博客中宣布未来的重点转向 CentOS Stream,这是一个全新的滚动发行版。在此之前,RHEL 的上游为 Fedora,而 CentOS 的上游为 RHEL;在推出 CentOS Stream 之后,它就成为了 RHEL 的上游发行版。与此同时,CentOS 8 的支持期限被缩短至 2021 年底,且不再推出新的非 Stream 的 CentOS 版本。不满于该决定的人们也组织了新的社区,推出了诸如 AlmaLinux、Rocky Linux 等发行版。

Arch Linux 分支

Arch Linux 拥有强大的功能,但因其特殊的理念使得用户不易使用。为了能让一般用户也能用上 Arch Linux 的强大功能,它的变种 Manjaro 发行版于 2011 年问世。Manjaro 发行版基于 Arch Linux,但更注重易用,因而更适合一般用户。

服务器

在互联网上,我们可以访问各式各样的网站、利用在线社交平台分享自己的生活、或者是使用联机办公工具和同事协同工作。通常来说这些网站和软件的提供商都需要设立他们自己的计算机来完成计算、存储和通信的功能,这种计算机就被称为服务器。

一台服务器通常是一台高性能的计算机,拥有强大的处理能力、存储能力和网络带宽,可以同时处理多个客户端的请求,并提供稳定可靠的服务。

和个人计算机不同,服务器通常都不会使用 Windows 或者 macOS 这种个人计算机操作系统,事实上绝大部分的服务器维护人员都愿意选择一些 Linux 发行版作为它们的操作系统,因为许多 Linux 发行版界面简洁。

基础操作
ls

主要选项参数如下:

. -a:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)

. -A:全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录

. -d:仅列出目录本身,而不是列出目录内的文件数据(常用)

. -f:直接列出结果,而不进行排序 (ls 默认会以文件名排序!)

. -F:根据文件、目录等信息,给予附加数据结构,例如: *:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;

. -h:将文件大小以人类较易读的方式(例如 GB, KB 等等)列出来;

. -i:列出 inode 号码;

. -l:长数据串行列出,包含文件的属性与权限等等数据;(常用)

. -r:将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;

. -R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;

. -S:以文件大小大小排序,而不是用文件名排序;

. -t:依时间排序,而不是用文件名。

image-20230927134348278

  • d表示这是一个目录
  • rwxr-xr-x表示文件权限,分三组:
    • 第一组(rwx)表示文件所有者(owner)的权限:读®、写(w)、执行(x)
    • 第二组(r-x)表示同组用户(group)的权限:读®、执行(x)
    • 第三组(r-x)表示其他用户(other)的权限:读®、执行(x)
  • 2表示链接数
  • class表示文件所有者
  • acr2wndptz表示文件所属组
  • 4096表示文件大小,单位是字节
  • Sep 20 12:19表示最后修改时间
  • classThur表示文件名
cat和less

查看文件内容

less 和 cat 的区别在于,cat 会一次性打印全部内容到终端中并退出,而 less 一次只显示一页,且支持向前/后滚动、搜索等功能。如果要在一个大文件中(例如 man page)查找一部分内容,less 通常要比 cat 方便得多。

Linux/Unix 的文件存取权限分为三级 : 文件拥有者(Owner)、群组(Group)、其他(Other)。通常用一个九位的字符串来依次表示Owner、Group和Other的文件操作权限,如rwxrwxrwx。从左至右,1-3位字符代表文件所有者的权限,4-6位字符代表同组用户的权限,7-9字符代表其他用户的权限。而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示。通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)。

设置权限

chomd u+rwx,g+rx,o+rx a.txt

等价于

chomd 755 a.txt

删除文件和目录

rm -r test/

选项含义
-f, --force无视不存在或者没有权限的文件和参数
-r, -R, --recursive递归删除目录及其子文件
-d, --dir删除空目录
搜索文件

find [OPTION] PATH [EXPRESSION]

在当前目录搜索名为 report.pdf 的文件:

$ find . -name ‘report.pdf’

全盘搜索大于 1G 的文件:

$ find / -size +1G

在用户目录搜索所有名为 node_modules 的文件夹:

$ find ~/ -name ‘node_modules’ -type d

cmake使用

image-20231018115226551

这里是hellospeak函数中调用了speak函数

文件

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

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

相关文章

华为云需求管理CodeArts Req常见问答汇总

1.【Req】看板、Scrum、IPD系统设备类、IPD独立软件类、IPD自运营软件5种模板有什么区别,如何选择 答:看板是业界流行的轻量、灵活和简单的团队协作方法,没有工作项的Epic/Feature/Story层级划分,直接将需求、任务和缺陷可视化&a…

单片机AT89C51直流电机控制电路PWM设计

wx供重浩:创享日记 对话框发送:直流电机 获取论文报告源码源程序原理图 此文将介绍一种直流电机,详细阐述了用单片机输出口所给占空比的不同实现电机的调速的设计方法;着重讨论L298用于电机驱动时特有的优势。直流电机调速具有…

docker devicemapper: Error running DeleteDevice dm_task_run failed

docker 删除容器,遇到: devicemapper: Error running DeleteDevice dm_task_run failed 异常 [hadoophadoop02 ~]$ sudo docker rm 5ede1280f0bf Error response from daemon: container 5ede1280f0bf791e91d40038b15decd42e8923546ae578abd96e08114c76…

Python基础语法之判断语句

1.布尔类型和比较运算符 布尔类型&#xff1a;数字类型的一种。 比较运算符&#xff1a; > < > < ! 2.if语句基本格式 if 要判断的条件&#xff1a; 条件成立&#xff0c;即做~ 例子&#xff1a; 注意&#xff1a;格式上冒号和缩进 3.if else组合…

result.append(path[:]) 和 result.append(path) 之间的区别

result.append(path[:]) 和 result.append(path) 之间有一个重要的区别&#xff0c;这涉及到对列表的浅拷贝。 result.append(path)&#xff1a; 这样直接将 path 添加到 result 中。由于列表是可变对象&#xff0c;result 中存储的是对 path 列表的引用。如果后续修改了 path…

2023年【道路运输企业安全生产管理人员】最新解析及道路运输企业安全生产管理人员复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员最新解析是安全生产模拟考试一点通总题库中生成的一套道路运输企业安全生产管理人员复审考试&#xff0c;安全生产模拟考试一点通上道路运输企业安全生产管理人员作业手机同步练习。2023…

matlab三维地形图

matlab三维地形图 %%%%—————Code to draw 3D bathymetry—————————— %-------Created by bobo,10/10/2021-------------------- clear;clc;close all; ncdisp E:\data\etopo\scs_etopo.nc filenmE:\data\etopo\scs_etopo.nc; londouble(ncread(filenm,lon)); lat…

ruoyi 前后分离部署502

ruoyi 前后分离部署502 我使用了nginx部署前端&#xff0c;使用docker部署。nginx文件如下&#xff1a; server {listen 8086; #设置端口listen [::]:8086; #设置端口server_name localhost;#access_log /var/log/nginx/host.access.log main;location / {root /…

DBeaver连接Oracle时报错:Undefined Error

连接信息检查了很多遍&#xff0c;应该是没问题的&#xff0c;而且驱动也正常下载了&#xff0c;但是就是连不上。 找了好久&#xff0c;终于找到一个可用的方式了&#xff0c;记录一下。 在安装目录修改dbeave.ini文件&#xff0c;最后一行添加 -Duser.nameTest。重启就可以…

学习Java53天,JDBC中工具类封装v2,以及BaseDao

import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; //事物时&#xff0c;Service和dao属于同一线程&#xff0c;不用再传参数了 /* 这个工具类的作…

如何使用Python在3dMax控制网格对象?

我们以一个在3dMax中使用Python脚本在网格对象对象上创建水波变形作为例子。 首先&#xff0c;在3dmax创建两个对象&#xff0c;一个“box”对象&#xff0c;将长宽方向的分段设置的多一些&#xff08;目的是为了后面的水波变形&#xff09;&#xff0c;一个“点”帮助对象&am…

vue 条件表达式 树形配置组件

公司需要一个可以配置条件表达式的组件 1、支持多个表达式拼接&#xff08;AND/OR&#xff09; 2、表达式可以分组 3、分组与单个表达式之间可以拼接 &#xff08;AND/OR&#xff09; 4、根据所选属性推断对应表达式连接符与值输入框 5、展示明了&#xff0c;通俗易懂 6、可以…

Yakit工具篇:WebFuzzer模块之热加载技术

简介 官方定义&#xff1a; 什么是热加载&#xff1f; 广义上来说&#xff0c;热加载是一种允许在不停止或重启应用程序的情况下&#xff0c;动态加载或更新特定组件或模块的功能。这种技术常用于开发过程中&#xff0c;提高开发效率和用户体验。 在Yakit 的Web Fuzzer中&…

c 语言中 unsigned int 类型的负数实际值大小

一 在c 语言中 unsigned int 类型的负数实际值大小 #include <stdio.h>int main() {int a 5;printf("a: %d\n", a);unsigned int b a - 10;printf("b: %d\n", b);printf("%d\n", b 4294967291); // unsigned int -5 4294967291retur…

代码随想录算法训练营第32天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

JAVA代码编写 122. 买卖股票的最佳时机 II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售…

6 合并两个有序数组

难度&#xff1a;简单 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终…

MySQL 优化器 MRR

什么是 MRR MRR 的全称是 Multi-Range Read Optimization&#xff0c;是优化器将随机 IO 转化为顺序 IO 以降低查询过程中 IO 开销的一种手段&#xff0c;咱们对比一下 mrron & mrroff 时的执行计划&#xff1a; 其中表结构如下&#xff1a; mysql> show create tabl…

Docker 部署 Nacos(单机),利用 MySQL 数据库存储配置信息

前面的话 默认你已经懂 Docker、docker-compose Nacos版本&#xff1a;v2.2.3 MySQL 版本&#xff1a;8.2.0 一、下载 打开 Nacos 官网 官网地址&#xff1a;官网 点击手册 左侧 Nacos Docker 克隆项目到本地 # 克隆项目&#xff0c;如果提示连接不到 github 请自行解决 …

element-plus 一键动态换任何皮肤功能

plus 官方代码给的思路 如果您想要通过 js 控制 css 变量&#xff0c;可以这样做&#xff1a; // document.documentElement 是全局变量时 const el document.documentElement // const el document.getElementById(xxx)// 获取 css 变量 getComputedStyle(el).getPropertyV…

【Flutter】设置顶部状态栏的显示、隐藏、半透明灰色显示

【Flutter】设置顶部状态栏的显示、隐藏、半透明灰色显示 设置方法&#xff1a; // 这种模式不现实状态栏 SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); // 这种模式显示状态栏 SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); // 修…