对于后端Linux的入门知识

news/2024/10/17 12:32:51/

为什么使用Linux

文章来自https://librehunt.org/,在这个网站里,你可以根据它提供的选项,最终选出适合你的Linux版本

  1. It’s safe and private. No tracking.
    No company watching over you, no “big brother is watching you” nonsense. Just your desktop and you, with no big scary corporation stealing all your data.
  2. It’s fast. Lightning Fast.
    It’s super fast. So fast, that 100% of super computers use it. All Android phones use it too, and most servers keeping your websites, apps, and cat videos online are as well.
  3. It’s Open Source. Open Source?
    Fancy term time! Open Source means anyone is free to do whatever they want with Linux. You can copy and make your own version, change a few things and help out Linux, or really anything! It gives more power to you!
  4. It’s got many flavours! Awesome!
    The actual term is “distro”, as in your own distribution of Linux, but it just means that anyone can make their own Linux flavour by say, changing the theme, and putting different apps.
    Some distros make it friendly for beginners, or something ultra-powerful, but scary looking, for super computers.
    Just like Windows and Mac have a different desktop, or interface, Linux has many different ones too! Some distros have a desktop that’s unique to the distro while others use ones that are common across multiple distributions.

总结一下就是:1)安全、隐私度高(不像Windows、Mac,你的数据可能被他们收集);2)速度超级快;3)开源,可以免费使用,可以按自己的需求进行开发;4)版本丰富,你可以按照自己的需求进行选择。

Linux的不同版本

这里的“不同版本”是指发行版本,像比较常用的CentOS、Ubuntu,它们都基于Linux内核。(图中的包管理器,可以简单为,各个版本为用户提供的命令集)
在这里插入图片描述
每个和每个有什么差别呢?
比如说对一些旧硬件的的支持、更新频度、对游戏的支持、界面的样式(有的压根没界面,只能用指令)、对触摸屏的支持、以及对一些特别事物的支持等等,都有自己的特色。详情可以去上面我提到的网站去看看,选择适合自己的版本。

目录结构

在这里插入图片描述

启动系统必须:

  • /boot:存放的启动Linux时使用的内核文件,包括连接文件以及镜像文件。

  • /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。

  • /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中。

指令集合:

  • /bin:存放着最常用的程序和指令。

  • /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

  • /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。

  • /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。

  • /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。

  • /tmp:这个目录是用来存放一些临时文件的。

账户:

  • /root:系统管理员的用户主目录。

  • /home:用户的主目录,以用户的账号命名的。

  • /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序与指令。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

运行过程中要用:

  • /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。

  • /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

  • /opt:默认是空的,我们安装额外软件可以放在这个里面。

  • /srv:存放服务启动后需要提取的数据(不用服务器就是空)。


虽然这么多,但是平常我可能会用到的也就是下面几个:

  • /bin:比如安装了一个软件,你就可以进他的bin目录里,看看他有什么命令。
  • /opt:opt完全是空的,一般我在这里放一些软件的配置文件,如果是docker的话,可能把docker里的配置文件目录映射到这里,方便操作。
  • /home:也是空的,有时候opt里的东西也会放到这里
  • /var:软件的日志文件在都这里,需要到这里看。
  • /usr:安装一些软件可能放这里,但我基本用Docker,所以不太用。

总之一般东西安在哪,都根据参考的教程,减少一些不必要的麻烦。

文件属性

简单介绍一下,对于普通后端人员也用不到。
在这里插入图片描述
第一个字段:

  • [ d ]代表目录;
  • [ - ]代表文件;
  • [ l ]代表链接文档(类似快捷键);
  • [ b ]代表装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
  • [ c ]代表装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

接下来的字符中,以三个为一组:
在这里插入图片描述

接下来是这个文件或文件夹里面文件或其他东西的数量。

接下来是属主和属组:
第一个是表示属于谁(具体到每个人),第二个组,就是只要在这个小组里面的人都可是这个权限(在Linux系统中,用户是按组分类的,一个用户属于一个或多个组)。

接下来是大小、时间、名称。

如何更改权限?

简单写写,对于个人也就chmod 770能用的到。
1)chgrp:更改文件属组(不常用)。

chgrp [-R] 属组名 文件名

2)chown:更改文件属主,也可以同时更改属组(不常用)。

chown [-R] 属组名 文件名
chown [-R] 属主名:属组名 文件名

3)chmod:更改文件9个属性。

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

chmod [-R] xyz 文件或目录

更改事例。

chmod 770 filename

这里需要知道r=4,w=2,x=1,7就会死三个权限都有(4+2+1),6就是读写权限(4+2)。然后数字代表的“人”和上面呢个图对应,第一个是主、第二个是组、第三个是其他用户。

实战中常用命令

  1. cd 切换(cd /)
  2. mkdir 新建文件夹(一般加个后面-p,比如你要创/opt/es/logs,如果不加-p,没有es就会报错;如果你加了,没有es就会帮你创一个)
  3. pwd 此时路径
  4. rm -f 文件名
  5. rm -rf 文件夹名
  6. touch 文件(创建文件)
  7. ls(-a显示出隐藏,-l目录的各种信息)
  8. ./运行文件
  9. cat 只读取

http://www.ppmy.cn/news/104072.html

相关文章

jmeter接口工具使用详解之基础介绍

目录 一、优点 二、安装及下载 三、基础构成 jmeter是一款优秀的开源性能测试工具, 一、优点 1、开源工具,可扩展性非常好 2、高可扩展性,用户可自定义调试相关模块代码 3、精心简单的GUI设计,小巧灵活 4、完全的可移植性…

App 软件开发《单选2》试卷及答案解析(订正)

App 软件开发《单选2》试卷及答案解析(订正) 注:本文章部分答案及解析来自 ChatGPT 的回答,正确性请自行甄辨。(这玩意儿经常一本正经的胡说八道) 文章目录 App 软件开发《单选2》试卷及答案解析&#xff0…

ASRT语音识别系统的部署以及模型的使用(运用篇)

ASRT语音识别系统的部署以及模型的使用(运用篇) 前言 ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub上。 GitHub地址:ASRT_SpeechRecognition 国内Gitee镜像地址:ASRT_SpeechRecognition 文档地址:ASRT语音识别工具文…

iPad Pro “买后生产力” - 在iPad上远程连接服务器编程写代码【公网远程】

文章目录 前言视频教程1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. iPad通过软件远程vscode6.1 创建TCP隧道 7…

微信小程序 -- 获取语音,并将语音转为文字(插件:微信同声传译)

实现的功能是获取语音,并将语音转为文字,实现效果如下: 1. 小程序后台添加插件:微信同声传译 登录小程序后台:https://mp.weixin.qq.com 11. 设置 -> 第三方设置 -> 添加插件 12. 输入“微信同声传译”&#x…

ASEMI单向可控硅BT151参数,BT151封装,BT151体积

编辑-Z 单向可控硅BT151参数: 型号:BT151 存储接点温度范围Tstg:-40~150℃ 工作接点温度范围Tj:-40~125℃ 断态重复峰值电压VDRM:650V 重复峰值反向电压VRRM:650V RMS导通电流IT(RMS):12…

【源码解析】Spring Bean生命周期源码解析

Spring启动核心 AbstractApplicationContext#refresh,Spring刷新容器的核心方法。最关键的就是 AbstractApplicationContext#invokeBeanFactoryPostProcessors,扫描BeanAbstractApplicationContext#finishBeanFactoryInitialization,生成Be…

基于ChatGPT的对话生成

一、ChatGPT的对话生成 1、模型架构 ChatGPT是一种基于Transformer的神经网络模型,可以对输入序列和输出序列进行关注,并输出与输入序列相似的文本序列。在对话生成领域,ChatGPT模型的输入是一个由若干对话历史和当前问题组成的文本序列&am…