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

Linux初步介绍

Linux是一种开源的类Unix操作系统内核,广泛应用于服务器、桌面、嵌入式设备等各种计算平台。它由Linus Torvalds于1991年首次开发,因其稳定性、安全性和灵活性,被全球开发者和企业广泛采用。

特点
开放性(开源),多用户,多任务,良好的用户界面,优异的性能与稳定性,一切皆文件

  • 多用户多任务
  • 单用户:一个用户,在登录计算机(操作系统),只能允许同时登录一个用户
  • 单任务:一个任务,允许用户同时进行的操作任务数量
  • 多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作
  • 多任务:多个任务,允许用户同时进行多个操作任务

Windows属于:单用户,多任务
Linux属于:多用户,多任务

  • 一切皆文件
    • 在Windows是文件的,在Linux下同样是文件

    • 在Windows不是文件的,在Linux下也是以文件的形式存储的

怎样进行Windows和Linux的切换呢?

    1. 双系统(Dual Boot)
      • 安装Windows和Linux在同一台电脑的不同分区。
      • 在开机启动时选择进哪个系统。
      • 优点:可以充分利用硬件资源,系统运行速度快。
      • 缺点:每次切换需要重启,设置相对复杂。
  • 虚拟机(Virtual Machine)
    • 使用虚拟机软件(如VirtualBox、VMware)在一个系统内运行另一个系统。
    • 例如:在Windows中运行Linux虚拟机,或在Linux中运行Windows虚拟机。
    • 优点:无需重启,可同时使用两个系统。
    • 缺点:需要较强的硬件资源(CPU、内存)。

注意

这一切的讲解,都在虚拟机(VM)中进行

终端

终端是一个界面工具,用于与操作系统进行交互。可以理解为“命令行窗口”或“控制台”。

  • 作用:在终端中输入命令,让操作系统执行对应操作
  • 打开方式:
    • 鼠标右键-打开终端
    • CTRL+ALT+T
    • 在当前终端窗口再打开一个终端:CTRL+SHIFT+T
    • 切换终端:ALT+数字
      +终端的放大与缩小:
  • 放大:CTRL+SHIFT+‘+’
  • 缩小:CTRL+‘-’

shell

Shell(壳层)是一种命令行界面(CLI),用来与操作系统内核交互。它既可以作为用户与系统沟通的界面,也可以用来写脚本自动化任务。Shell在类Unix系统(如Linux、macOS)中非常普遍,但在Windows中也有类似的工具(如PowerShell)。

作用

  • 执行命令:用户可以输入各种系统命令,如文件操作(ls、cp、rm)、程序运行等。
  • 脚本编写:可以写脚本实现自动化,比如备份、批量文件处理、系统监控等。
  • 管道和重定向:支持将多个命令连接(管道),以及输出重定向到文件或其他命令,更加灵活。

常见类型

  • Bash(Bourne Again Shell):最常见的Linux默认Shell,功能丰富、扩展性强。

    • 功能丰富
    • 支持脚本、变量、数组、函数等
    • 默认在Linux大多数发行版中使用
  • dash(Debian Almquist shell)

    • 一个轻量级的Shell
    • 主要用作脚本的执行环境(如在Ubuntu中 /bin/sh 默认指向dash)
    • 速度快,占用资源少,但功能比bash简单
    • 不支持某些bash特有的特性
  • sh(Bourne Shell):早期的标准Shell,功能有限,但广泛支持。

  • zsh:功能强大,用户界面友好,很多开发者喜欢用它。

  • csh/tcsh:在早期Unix系统常见,语法与C语言类似。

  • PowerShell:Windows的现代Shell,功能强大,支持对象管道和复杂任务。

特性Bashdash
目标交互式和脚本主要为脚本设计,快速、轻量
兼容性完全兼容sh兼容sh部分,但不支持bash特性
使用场景Linux默认Shell脚本环境,控制系统启动脚本等

基本结构

例:一个简单的bash脚本

#!/bin/bash
echo "开始备份..."
cp -r ~/资料 ~/备份
echo "备份完成"
  • #!/bin/bash 表示脚本使用bash解释器
  • echo命令用于输出内容

这里可能有一个疑问,那就是什么是脚本呢?

脚本(Script)是由一系列命令组成的文本文件,用来自动化执行任务。它类似于程序,但通常较为简洁,主要用于自动化重复性操作、配置环境、批量处理等。

  • 特点

    • 文本文件:用普通文本编辑器编写
    • 包含命令:可以是Shell命令、程序调用或系统操作指令
    • 自动执行:通过解释器(如bash)运行,一次性完成复杂任务
    • 便于重复使用:可以多次调用,节省时间和减少出错
  • 常见类型

    • Shell脚本:用Shell命令写的脚本(.sh文件)
    • Python脚本:用Python语言写的程序(.py文件)
    • Batch脚本:Windows中的批处理文件(.bat)

指令

一个完整的指令的标准格式:Linux通用的格式

在这里插入图片描述
在这里插入图片描述

  • 第一部分是指令名称
  • 中括号不在实际指令当中,-后面是指令选项,如 ls -a
  • parameter1 parameter2……为参数,如ls/dev
  • 不同部分之间用空格区分,不论几个空格 shell都视为一个空格
  • 回车键是 运行指令,如果指令太长,可以使用反斜杠在按回车键到下一行进行填充。在这期间这个命令是不执行的。

在这里插入图片描述

路径和文件名补齐

  • 路径和文件名补齐:Tab键
  • 查看历史记录:history

路径

绝对路径 (Absolute Path)

  • 从根目录 / 开始,完整描述文件或目录的路径。
  • 不依赖当前工作目录。
/home/user/Documents/file.txt

表示从根目录开始,依次进入 home,user,Documents 文件夹,到 file.txt 文件。

相对路径

  • 相对于当前工作目录(当前所在的目录)来描述路径。
  • 不以 / 开头。
Documents/file.txt

如果当前目录是 /home/user/,那么这个相对路径指向 /home/user/Documents/file.txt。

其他相关符号

  • . 表示当前目录
  • … 表示上一级目录

例:

  • ./file.txt:当前目录下的 file.txt
  • …/file.txt:上一级目录中的 file.txt

相关文章:

  • C#中LINQ技术:自然语言集成与统一数据操作的艺术
  • 【题解-洛谷】B4292 [蓝桥杯青少年组省赛 2022] 路线
  • 3D Web轻量化引擎HOOPS Communicator赋能一线场景,支持本地化与动态展示?
  • C语言中的段错误(Segmentation Fault):底层原理及解决方法
  • 蓝桥杯 回文日期
  • BIO、NIO、AIO的区别
  • GAMES202-高质量实时渲染(Assignment 4)
  • 你应该使用的 php 加解密函数
  • 【开发技术】Abp.vnext下的JWT处理,添加多种认证处理方式
  • ES Serverless 8.17王牌发布:向量检索「火力全开」,智能扩缩「秒级响应」!
  • 完整的加密解密aes
  • C#中清空DataGridView的方法
  • rk3568 , mipi 屏幕调试(3588s 可以显示,但是3568 不能显示)
  • 【堆垛策略】设计方法
  • NFT模式:数字资产确权与链游经济系统构建
  • BeckHoff -->电脑与PLC连接
  • 今天做的力扣SQL
  • 基于FPGA的PID算法学习———实现P比例控制算法
  • 轻量级屏蔽文件管理方案
  • 深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”
  • 美女做基网站/襄阳网站seo
  • 西安电脑网站建设/百度网页电脑版入口
  • 一图读懂制作网站/新闻头条
  • 百度站长反馈中心/竞价排名
  • 淘宝网站c#设计怎么做/百度惠生活怎么优化排名
  • Java除了做网站开发哈能做啥/网站关键词搜索排名优化