Linux

Linux简介:

Linux 是一种开源的类 UNIX 操作系统内核。它最初是由芬兰人林纳斯・托瓦兹(Linus Torvalds)在 1991 年发布的。

  1. 内核概念
    • 内核是操作系统的核心部分,它负责管理计算机的硬件资源,包括 CPU、内存、硬盘、网络设备等。例如,当一个程序需要使用 CPU 进行计算时,内核会分配 CPU 时间片给这个程序;当程序需要读取或写入硬盘数据时,内核会协调硬盘的读写操作。在 Linux 系统中,内核就像是一个交通警察,指挥着各种硬件资源的使用,确保系统的各个部分能够高效、有序地运行。
  2. 开源特性
    • Linux 的开源性质意味着其源代码是公开的,任何人都可以查看、修改和分发。这吸引了全球众多开发者的参与,他们可以根据自己的需求对代码进行改进。例如,一些开发者会为了提高特定硬件设备在 Linux 系统中的性能,对内核中相关的驱动程序代码进行优化。许多公司和组织也会利用 Linux 的开源特性,将其定制成满足自身业务需求的操作系统,如谷歌的 Android 操作系统就是基于 Linux 内核开发的。
  3. 操作系统发行版
    • 基于 Linux 内核,有许多不同的操作系统发行版。这些发行版在 Linux 内核的基础上,添加了各种软件包、桌面环境、系统管理工具等。例如:
    • Ubuntu:这是一个广受欢迎的桌面和服务器操作系统发行版。它注重用户体验,有一个易于使用的安装程序和软件管理系统。Ubuntu 默认的桌面环境是 GNOME,提供了直观的图形用户界面,适合初学者和普通用户使用。它还拥有庞大的软件仓库,用户可以通过简单的命令或者图形界面软件中心来安装各种软件,如办公软件、多媒体软件等。
    • CentOS:主要用于服务器环境。它是从 Red Hat Enterprise Linux(RHEL)源代码重新编译而来的,是一个稳定、可靠的服务器操作系统。CentOS 重点关注系统的稳定性和安全性,为企业级应用提供了坚实的支持。许多互联网公司的数据中心服务器都运行 CentOS,用于提供 Web 服务、数据库服务等。
    • Debian:是一个历史悠久的 Linux 发行版,以其软件包管理系统(dpkg)和稳定性著称。Debian 有严格的软件包质量控制标准,其软件包的兼容性和稳定性都经过了仔细测试。它支持多种硬件平台,并且是许多其他 Linux 发行版的基础,例如 Ubuntu 就是基于 Debian 的。
  4. 应用场景
    • 服务器领域:Linux 在服务器领域占据主导地位。因为它可以高效地处理大量的网络请求、数据存储和处理任务。例如,Web 服务器(如 Apache、Nginx)、邮件服务器(如 Postfix、Sendmail)、数据库服务器(如 MySQL、PostgreSQL)等在 Linux 系统上运行得非常稳定。许多大型网站和企业的内部服务器都使用 Linux 操作系统,能够提供 7×24 小时不间断的服务。
    • 嵌入式系统:Linux 也广泛应用于嵌入式系统,如智能家电、工业控制设备、网络路由器等。在这些设备中,Linux 内核可以根据具体的硬件资源和功能需求进行裁剪和定制。例如,智能电视中的操作系统可能是基于 Linux 内核开发的,它只保留了播放视频、连接网络等必要的功能模块,同时占用较少的硬件资源,从而为用户提供流畅的体验。
    • 桌面系统:虽然在桌面操作系统市场份额上不如 Windows,但 Linux 桌面系统也有自己的优势。它提供了高度的可定制性,用户可以根据自己的喜好选择不同的桌面环境,如 KDE、XFCE 等。同时,Linux 桌面系统也拥有许多免费的开源软件,如办公软件 LibreOffice 等,满足用户的日常办公和娱乐需求。

Linux 基础命令

  1. ls(list)命令
    • 功能:用于列出目录的内容,包括文件和子目录。
    • 用法
      • ls:简单列出当前目录下的非隐藏文件和目录名。例如,在终端中输入ls,会显示当前目录下的文件名和目录名。
      • ls -l:以长格式列出文件和目录的详细信息,包括文件类型、权限、硬链接数、所有者、组、大小、修改时间和文件名。例如,ls -l /etc会详细列出/etc目录下的文件和目录信息。其中,文件类型的开头字符有-(普通文件)、d(目录)、l(符号链接)等。权限部分用rwx(读、写、执行)来表示,如-rw - r--r--表示这是一个普通文件,所有者有读写权限,组用户和其他用户只有读权限。
      • ls -a:列出所有文件和目录,包括隐藏文件(文件名以.开头的文件)。例如,ls -a会显示当前目录下的所有文件,包括像.bashrc这样的隐藏配置文件。
  2. cd(change directory)命令
    • 功能:用于切换当前工作目录。
    • 用法
      • cd [目录路径]。例如,cd /home/user会将当前工作目录切换到/home/user目录。如果要返回上一级目录,可以使用cd..;返回用户主目录可以使用cdcd``~
  3. mkdir(make directory)命令
    • 功能:用于创建新的目录。
    • 用法
      • mkdir [目录名]。例如,mkdir my_folder会在当前目录下创建一个名为my_folder的目录。如果要创建多级目录,可以使用mkdir -p dir1/dir2,这会创建dir1目录以及它里面的dir2目录。
  4. rm(remove)命令
    • 功能:用于删除文件或目录。
    • 用法
      • rm [文件名]:删除指定的文件。例如,rm test.txt会删除当前目录下名为test.txt的文件。注意,这是一个危险的操作,因为文件一旦删除很难恢复。
      • rm -r [目录名]:递归删除目录及其内容。例如,rm -r my_folder会删除my_folder目录以及它里面的所有文件和子目录。
      • rm -f [文件名/目录名]:强制删除文件或目录,不会提示确认。例如,rm -f log.txt会直接删除log.txt文件,即使文件是只读的。
  5. cat(concatenate)命令
    • 功能:用于查看文件内容,将文件内容输出到终端。
    • 用法
      • cat [文件名]。例如,cat README.md会在终端显示README.md文件的内容。它也可以用于将多个文件内容合并输出,如cat file1.txt file2.txt > combined.txt,这会将file1.txtfile2.txt的内容合并到combined.txt文件中。
  6. vi(visual)和 vim(vi improved)命令
    • 功能:是强大的文本编辑器,用于编辑文本文件。
    • 用法
      • 打开文件:vi [文件名]vim [文件名]。例如,vim myscript.sh会打开myscript.sh文件进行编辑。
      • 进入编辑模式:按i(插入模式),可以开始输入文字。
      • 保存文件:按Esc键退出编辑模式,然后输入:w并回车来保存文件。
      • 退出编辑器:按Esc键退出编辑模式,然后输入:q并回车。如果文件已经修改但没有保存,:q命令会提示错误。可以使用:wq来保存并退出,或者:q!来强制退出不保存。
  7. uname(Unix name)命令
    • 功能:用于获取系统信息。
    • 用法
      • uname -a:会输出内核名称、主机名、内核版本号、内核版本、硬件平台、操作系统名称等信息。例如,在 Linux 系统中运行uname -a会显示类似Linux myhost 5.15.0 - 56 - generic #62 - Ubuntu SMP Mon Nov 22 18:52:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux的信息,其中包括了内核版本是5.15.0 - 56 - generic,主机名是myhost等内容。
  8. top 命令
    • 功能:用于实时查看系统的进程信息和系统资源使用情况。
    • 用法
      • 在终端输入top,会显示一个动态的进程列表,包括进程 ID(PID)、用户、优先级(PR)、虚拟内存大小(VIRT)、物理内存大小(RES)、共享内存大小(SHR)、CPU 使用率(% CPU)、内存使用率(% MEM)等信息。可以通过按q键来退出top命令的显示。

Linux 部署方法

物理机安装

  1. 准备安装介质
    • 下载适合你硬件的 Linux 发行版镜像文件,如 Ubuntu、CentOS 等。可以从官方网站获取,例如 Ubuntu 的官方网站是ubuntu.com,CentOS 的官方网站是centos.org
    • 将镜像文件刻录到 USB 闪存驱动器或者 DVD 光盘上,用于启动安装过程。如果是刻录到 USB,可以使用工具如 Rufus(适用于 Windows)来制作启动盘。
  2. 进入 BIOS/UEFI 设置
    • 将制作好的安装介质插入计算机,然后启动计算机。在开机过程中,根据屏幕提示(通常是按 Del、F2 或其他键)进入 BIOS/UEFI 设置界面。
    • 在 BIOS/UEFI 的启动选项中,将安装介质设置为第一启动项,这样计算机启动时就会从安装介质引导。
  3. 安装过程
    • 启动安装介质后,会进入 Linux 发行版的安装向导。按照屏幕提示进行操作,包括选择安装语言、键盘布局、分区(可以选择自动分区或手动分区)、设置用户账户和密码等步骤。
    • 分区是一个关键步骤,例如,对于简单的桌面安装,可能会划分一个根分区(/)用于存储系统文件,一个交换分区(swap)用于虚拟内存。在安装向导中根据自己的需求设置分区大小和类型。安装完成后,取出安装介质,重新启动计算机,就可以进入安装好的 Linux 系统。

虚拟机安装

  1. 选择虚拟机软件
    • 常见的虚拟机软件有 VMware Workstation(适用于 Windows 和 Linux)、VirtualBox(跨平台)等。下载并安装适合你操作系统的虚拟机软件。
  2. 创建虚拟机
    • 打开虚拟机软件,在软件界面中选择创建新的虚拟机。
    • 在创建过程中,需要指定虚拟机的类型(如 Linux)、版本(根据你要安装的 Linux 发行版选择,如 Ubuntu 20.04)、内存大小(根据实际情况分配,例如分配 2GB 内存给虚拟机)、硬盘大小和类型(可以选择虚拟硬盘的大小,如 20GB,类型有 IDE、SCSI 等)。
  3. 安装 Linux 到虚拟机
    • 创建好虚拟机后,在虚拟机软件的界面中,将下载好的 Linux 发行版镜像文件挂载到虚拟机的光驱(或者虚拟光驱)。
    • 启动虚拟机,就会像在物理机安装一样进入安装向导,按照屏幕提示完成安装,包括分区、设置用户等步骤。安装完成后,就可以在虚拟机环境中使用 Linux 系统。

**权限管理 :**在多用户(可以不同时)计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权 力,像是文件夹、特定系统指令的使用或存储量的限制。

Linux中的权限类别:

读权限: 对于文件夹来说,读权限影响用户是否能够列出目录结构 对于文件来说,读权限影响用户是否可以查看文件内容

写权限: 对文件夹来说,写权限影响用户是否可以在文件夹下"创建/删除/复制到/移动到"文档 对于文件来说,写权限影响用户是否可以编辑文件内容

执行权限: 一般都是对于文件来说,特别脚本文件。

Linux中文件所有者:

由于Linux是多用户、多任务的操作系统,因此可能常常有多人同时在某台主机上工作,但每个人均可在 主机上设置文件的权限,让其成为个人的"私密文件",即个人所有者。因为设置了适当的文件权限,除 本人(文件所有者)之外的用户无法查看文件内容。

例如某个MM给你发了一封Email情书,你将情书转为文件之后存档在自己的主文件夹中。为了不让别人 看到情书的内容,你就能利用所有者的身份去设置文件的适当权限,这样,即使你的情敌想偷看你的情 书内容也是做不到的。

Group身份(与文件所有者同组的用户)

与文件所有者同组最有用的功能就体现在多个团队在同一台主机上开发资源的时候。例如主机上有A、B 两个团体,A中有a1,a2,a3三个成员,B中有b1,b2两个成员,这两个团体要共同完成一份报告F。由于设 置了适当的权限,A、B团体中的成员都能互相修改对方的数据,但是团体C的成员则不能修改F的内容, 甚至连查看的权限都没有。同时,团体的成员也能设置自己的私密文件,让团队的其它成员也读取不了 文件数据。在Linux中,每个账户支持多个用户组。如用户a1、b1即可属于A用户组,也能属于B用户组 【主组和附加组】。

Others身份(其他人,相对于所有者)

这个是个相对概念。打个比方,大明、二明、小明一家三兄弟住在一间房,房产证上的登记者是大明 (owner所有者),那么,大明一家就是一个用户组,这个组有大明、二明、小明三个成员;另外有个 人叫张三,和他们三没有关系,那么这个张三就是其他人了。 同时,大明、二明、小明有各自的房间,三者虽然能自由进出各自的房间,但是小明不能让大明看到自 己的情书、日记等,这就是文件所有者(用户)的意义。

Root用户(超级用户)

在Linux中,还有一个神一样存在的用户,这就是root用户,因为在所有用户中它拥有最大的权限 ,所 以管理着普通用户。

相关推荐
Who_Mr.Lin33 分钟前
【虚拟机】VMWare的CentOS虚拟机断电或强制关机出现问题
linux·运维·centos
我是唐青枫1 小时前
Linux nc 命令详解
linux·运维·服务器
张丹 新叶之扉1 小时前
图片预览 图片上传到服务器
服务器·前端·html5·js
南东山人1 小时前
关于内核编程的一些笔记
linux·笔记
ejinxian1 小时前
Windows 系统上构建 Linux 应用
linux·运维·服务器·red hat
Java 第一深情1 小时前
详细教程-Linux上安装单机版的Hadoop
linux·运维·hadoop
MC何失眠1 小时前
泷羽sec-----shell编程(完结)
linux·学习·网络安全
Linux运维技术栈2 小时前
ELK配置索引清理策略
linux·运维·elk
44漏洞观察员2 小时前
linux实战-黑链——玄机靶场
linux·运维·服务器·web安全·网络安全
风虎云龙科研服务器2 小时前
GPU服务器厂家:科研服务器领域机遇与博弈,AMD 新UDNA 架构
运维·服务器·架构