Linux 入门基础

0x00 无聊的冷知识

现阶段处理器架构呈RISC V(开源指令集)、x86_64、ARM三足鼎立的形势,其中RISC V、ARM为精简指令集,x86_64为复杂指令集。中国无法获得x86_64和ARM的授权,所以无法自主研发属于这两种架构的CPU。我国的龙芯正是基于精简指令集研发出的首枚拥有自主知识产权的通用高性能微处理芯片,但该芯片架构仅适配于Linux操作系统。因为生态环境问题,Linux操作系统常被用于服务器端,很难用于桌面系统被客户端所接受。目前Linux主要有两大分支,一个是以Centos为代表的RedHat,另一个是以Ubantu为代表的Debian。

0x01 Linux 文件系统

Linux为根式文件系统,和 Windows 系统不同,Linux 系统没有 C 盘、D 盘、E 盘等盘符,只有一个根目录(/),一切从根开始,所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。

在这里插入图片描述

  • /root:家目录,每个用户都有一个“家” ~

  • /bin:保存关于系统、磁盘的基本操作命令

  • /boot:保存Linux引导模块、超级进程(初始进程)、内核

  • /dev:保存Linux的所有设备

  • /etc:保存Linux的配置文件

  • /home:保存普通用户的家目录

  • /var:保存数据

  • /lib:运行库,保存各种工具和功能,相当于工具箱

  • /usr:保存应用程序、应用软件,相当于Windows下的Program Files

Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(Socket)、网络通信等资源也都是文件。这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读 PIPE)的操作都可以用 read 函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用 write 函数来进行。

不利之处在于,使用任何硬件设备,都必须同根目录下的某一目录执行挂载操作,否则无法使用。我们知道,Linux 具有一个以根目录为树根的文件目录结构,每个设备也同样如此,它们是相互独立的。如果我们想通过 Linux 上的根目录定位到硬件设备的文件目录结构,就必须将这两个文件系统合二为一,这就是挂载的真正含义。
在这里插入图片描述
在这里插入图片描述
使用命令echo $PATH可以查看系统环境变量:
在这里插入图片描述

0x02 Linux 系统信息

在这里插入图片描述

  • 查看系统内核

    uname -a:显示主机名、内核版本、硬件平台等详细信息。
    uname -r:显示内核版本。

  • 查看系统发行版本

    cat /etc/os-release

  • 查看系统主机名

    hostname

  • 查看系统内存

    cat /proc/meminfofree

0x03 Linux 命令概述

一、Linux命令

  • 用于实现某一类功能的指令或程序。

  • 命令的执行依赖于解释器程序(例如:/bin/bash)。

二、Linux命令的分类

  • 内部命令:属于shell解释器的一部分,即命令包含在shell程序本身当中,例如“history”命令。

  • 外部命令:独立于shell解释器的程序文件。

使用命令“type”可以直接查看命令的归属,内部命令使用“which”搜索不到, 而外部命令则可以用“which”搜索到:
在这里插入图片描述
使用内部命令“help”可以查看bash内部命令的帮助信息:
在这里插入图片描述
使用命令的“–help”选项可以查看大多数外部命令的帮助信息:
在这里插入图片描述
三、命令行编辑的几个辅助操作

  • Tab键:自动补齐
  • 反斜杠 “\”:强制换行
  • 快捷键 Ctrl+U:清空至行首
  • 快捷键 Ctrl+K:清空至行尾
  • 快捷键 Ctrl+L:清屏
  • 快捷键 Ctrl+C:取消本次命令编辑

四、关机与重启命令

  • 关机命令:shutdown -h nowpoweroff

  • 重启命令:shutdown -r nowreboot

  • 延迟关机:shutdwon -h +30(30min后关机)

  • 取消延迟:shutdown -c

0x04 Linux 基本管理

一、Linux 用户和用户组管理

Linux一切皆文件,每个服务都有其对应的文件,而每个文件又都有其对应的用户和用户组。用户账号的管理工作主要涉及到用户账号的添加、修改和删除。添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号(-u)、用户组(-g)、主目录(-d)和登录shell(-s)等资源。刚添加的账号是被锁定的,无法使用。如果要拒绝系统用户登录,可以将其shell设置为 /usr/sbin/nologin 或者 /bin/false。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建用户时会系统自动创建一个同名组,因此“groupadd”命令常用来创建附加组,或者使用useradd -g命令在创建账号时直接指定组。

二、Linux 文件与目录管理

功能命令实例
创建mkdirmkdir -p /usr/local/test
删除rmrm -rf /usr/local/test
移动mvmv /usr/local/test usr/src
查找findfind /usr -name "*.txt"
复制cpcp /usr/local/test /usr/local/src
链接lnln -s /usr/local/mysql/bin/mysql /usr/bin
查看文件lsls -lR /usr/local
修改权限chmodchmod 777 /usr/local/test

在这里插入图片描述
在这里插入图片描述
可以使用“alias”命令查看命令别名或定义命令别名:
在这里插入图片描述
三、Linux 软件包管理

RedHat和Debian是Linux的两大分支,其中RedHat使用的是自己研发的包管理器rpm(redhat package manager),而Debian使用的是自己研发的包管理器dpkg(扩展名 .deb)。
在这里插入图片描述
1.RPM包管理

查询已安装的RPM软件包信息:rpm -q[子选项] [RPM包文件]

选项功能
-qa查看系统中已安装的所有RPM软件包列表
-qi查看指定软件包的详细信息
-ql查看指定软件包所安装的目录、文件列表
-qc仅显示指定软件包安装的配置文件
-qd仅显示指定软件包安装的文档文件
-qf查询文件或目录属于哪个RPM文件

查询未安装的RPM软件包信息:rpm -qp[子选项] RPM包文件]

选项功能
-qpi通过RPM软件包查看该软件的详细信息
-qpl查看RPM软件包内包含的目录、文件列表
-qpc查看RPM软件包内包含的配置文件列表
-qpd查看RPM软件包内包含的文档文件列表

安装&升级&卸载RPM软件包:rpm [选项] [RPM包文件]

选项功能
-i安装新的RPM软件包
-U更新某个RPM软件包,若原本未安装则进行安装
-F更新某个RPM软件包,若原本未安装则放弃安装
-e卸载指定的RPM软件包

在这里插入图片描述
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的shell前端软件包管理器,它使用Python语言写成。YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池等诸多方式获得软件包。YUM不仅可以从指定的服务器自动下载RPM包并且安装,还能自动处理包的依赖性关系。

简单来说, RPM只能安装已经下载到本地机器上的RPM包,而YUM能在线从服务器上下载并安装RPM包并将其缓存到本地。除此之外,YUM还能自动处理包与包之间依赖关系的问题,这些都是RPM所不具备的,YUM也正是为了解决这些问题才应运而生的。

apt(Advanced Package Tool) 也是deb包管理工具。上面提到的dpkg(Debian Packager) 包管理工具主要用于安装我们下载到本地的deb软件包。而apt包管理工具则可以直接从Ubuntu官方服务器软件仓库中搜索、安装软件到我们的Ubuntu系统,也可以通过apt工具更新、卸载我们的deb软件。apt与dpkg的关系就如同yum与rpm的关系,这里不再赘述。

2.源代码包管理

rpm包和deb包相较于源代码包均具有滞后性,因为它们都来源于开源组织率先发布的源代码包。其中rpm包由RedHat制作,deb包由Debian制作。此外,源代码包可以根据用户需要灵活的定制软件功能。
在这里插入图片描述
需要注意在编译前我们要确认源代码的编译环境,即是否安装了支持C/C++程序语言的编译器。可以使用命令gcc --versiong++ --version查看:
在这里插入图片描述
此外,在编译前我们还需要进行一些适当的配置,例如使用典型的配置选项--prefix=软件安装目录。可以进入源码目录使用命令./configure --help查看配置帮助:
在这里插入图片描述

0x05 Linux 文本操作

一、查看文件内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、统计和检索文件内容

在这里插入图片描述
在这里插入图片描述
三、文本编辑器
在这里插入图片描述
1.vim编辑器的工作模式
在这里插入图片描述
2.命令模式的基本操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.末行模式的基本操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0x06 LNMP 环境搭建

LNMP环境搭建过程涉及很多Linux的相关知识,包括基本命令的使用、软件包的管理、用户和用户组的管理、文件系统的管理…对于加深我们对Linux的理解有很大帮助。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux是一种基于Unix的开源操作系统,具有高度的稳定性、安全性和自由度,越来越受到广大用户的青睐。在学习Linux入门基础方面,CSDN是一个非常好的学习资源。 首先,CSDN作为国内领先的技术社区和IT社区,提供了大量的Linux入门基础教程和文章。在CSDN上,你可以找到许多优秀的专家和资深开发者发布的教程,涉及到Linux安装、命令行操作、文件系统管理、软件包管理等方面的内容。这些教程通常结合实际案例和操作步骤,易于理解和跟随。 其次,CSDN的论坛和问答板块是学习Linux入门基础的好地方。如果你在学习过程中遇到问题,可以在Linux相关的论坛上提问。很多经验丰富的开发者和爱好者都愿意给予帮助和解答。此外,还可以通过阅读其他人的问题和解答,了解到更多的知识和技巧。 此外,CSDN还有很多推荐的学习资源,如在线视频教程和电子书籍,它们通常由CSDN认可的专家或知名机构提供。你可以根据自己的需求选择适合自己的学习方式,并在学习的过程中结合实际操作进行练习和巩固。 总而言之,Linux入门基础的学习需要系统性和实践性,而CSDN作为一个技术社区,提供了丰富的学习资源和交流平台,能够帮助初学者快速入门,并进一步提高自己的技术水平。 ### 回答2: Linux是一个免费且开放源代码的操作系统,它具有高度的安全性、灵活性和稳定性,被广泛用于服务器领域。通过学习Linux入门基础,你可以掌握一些基本的操作和概念。 首先,了解如何安装Linux操作系统。你可以选择不同的发行版,如Ubuntu、CentOS等,根据你的需求进行选择和安装。安装完成后,你就可以登录到系统并开始学习了。 其次,学习Linux的基本命令和操作。Linux的命令行界面是主要的交互方式,你需要了解一些基本的命令,如ls、cd、pwd等。通过这些命令,你可以在文件系统中导航、创建和删除文件和目录,以及执行其他基本的操作。 此外,了解Linux的文件系统结构也是很重要的。Linux的文件系统是层次结构的,由根目录(/)开始,分为不同的目录,如/bin、/home、/etc等。通过了解这些目录的作用和组织方式,你可以更好地管理和组织你的文件和目录。 另外,学习Linux的权限管理也是必要的。Linux通过权限控制来保护系统的安全性,你需要了解用户、用户组和权限的概念,并学习如何设置和修改文件和目录的权限。 最后,学习一些常用的Linux工具和应用程序。Linux提供了丰富的工具和应用程序,如文本编辑器(vi、nano)、网络工具(ping、ifconfig)、压缩和解压缩工具(tar、zip)等。通过使用这些工具,你可以更高效地完成各种任务。 总之,通过学习Linux入门基础,你可以建立起对Linux操作系统的基本了解和技能。这将为你进一步深入学习和使用Linux奠定坚实的基础。你可以通过CSDN等网站查找相关的教程和资源,不断提升你的Linux技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值