Linux介绍和命令使用

目录

目录

一、Linux简介

1.1 主流操作系统

1.2 Linux 发展历史

1.3 Linux系统版本

二、Linux安装

三、Linux 目录结构

四、Linux常用命令

4.1 基础常用命令说明

4.2 Linux 命令使用技巧

4.3 Linux 命令格式

4.4 进阶重点常用命令

4.4.1 拷贝移动命令

4.4.2 打包压缩命令

4.4.3 文本编辑命令

4.4.4 查找命令

4.4.5 查看系统的进程命令

4.4.6 管道命令(|)


一、Linux简介

1.1 主流操作系统

不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。在这些领域中,先看看下列具有代表性的操作系统:

  • 桌面操作系统

操作系统

特点

Windows

用户数量最多

MacOS

操作体验好,办公人士首选

Linux

用户数量少(桌面操作系统,Linux使用较少)

  • 服务器操作系统

操作系统

特点

Unix

安全、稳定、付费

Linux   (linux is not unix)

安全、稳定、免费、占有率高

Windows Server

付费、占有率低

  • 移动设备操作系统

操作系统

特点

Android

基于 Linux 、开源,主要用于智能手机、平板电脑和智能电视

IOS

苹果公司开发、不开源,用于苹果公司的产品,例如:iPhone、 iPad

  • 嵌入式操作系统

操作系统

特点

Linux

机顶盒、路由器、交换机

1.2 Linux 发展历史

Linux系统诞生于1991年,由Linus Torvalds创建并发布第一个内核版本,随后与GNU项目合作形成完整操作系统。发行版如Slackware、Debian、Red Hat相继出现,开源社区的积极贡献和商业支持推动了Linux在各领域的广泛应用。Linux发展的关键人物和关键事件如下:

  1. Linus Torvalds(林纳斯·托瓦兹):Linus Torvalds 是 Linux 内核的创始人,他于1991年开始编写 Linux 内核,并于同年8月发布了第一个版本。他的工作和领导使得 Linux 内核得以迅速发展。
  2. GNU 项目:在Linux之前,GNU项目早已开始了自由操作系统的开发。1983年,理查德·斯托曼创立了GNU项目,旨在创建一个完全由自由软件组成的操作系统。尽管GNU项目提供了大量的用户空间工具和库,但缺乏一个完整的内核。
  3. Linux 发布:1991年,Linus Torvalds发布了第一个 Linux 内核的版本,即0.01版,它只能在个人计算机上运行。随着时间的推移,Linux 内核逐渐发展壮大,添加了更多的功能和支持。
  4. GNU/Linux 合作:GNU 项目和 Linux 内核的合作成为 Linux 发展历史上的一个重要转折点。GNU 项目的用户空间工具和库与 Linux 内核相结合,形成了完整的操作系统。因此,人们通常将 Linux 系统称为 GNU/Linux。
  5. 发行版的出现:1993年,第一个 Linux 发行版——Slackware 诞生,其后出现了诸如 Debian、Red Hat 等各种不同的发行版,为用户提供了更多的选择和便利。
  6. 开源社区的发展:Linux 的成功离不开开源社区的贡献和支持。众多开发者和志愿者积极参与 Linux 内核和相关项目的开发、测试和维护,为 Linux 系统的不断改进和发展贡献了力量。
  7. 商业支持:随着 Linux 在服务器领域的日益普及,一些公司开始提供与 Linux 相关的商业支持和服务,如 Red Hat、SUSE 等,推动了 Linux 在企业市场的发展。
  8. 广泛应用:Linux 系统已经被广泛应用于服务器、个人计算机、超级计算机、嵌入式系统、移动设备等各个领域,成为当今世界上最流行的操作系统之一。
1.3 Linux系统版本

Linux系统的版本分为两种,分别是:内核版 和 发行版。

1). 内核版(托瓦兹团队研发的产品称为内核版)

  • 由Linus Torvalds及其团队开发、维护
  • 免费、开源
  • 负责控制硬件

2). 发行版(基于内核版进行升级改造)

  • 基于Linux内核版进行扩展
  • 由各个Linux厂商开发、维护
  • 有收费版本和免费版本

通常使用的Linux操作系统,实际上选择的是Linux的发行版本。在linux系统中,有各种各样的发行版本,下面罗列部分常见的版本:

发行版本

Logo

特点

Ubuntu

以桌面应用为主

RedHat

应用最广泛、收费

CentOS

RedHat的社区版、免费

openSUSE

对个人完全免费、图形界面华丽

Fedora

功能完备、快速更新、免费

红旗Linux

北京中科红旗软件技术有限公司开发

二、Linux安装

Linux系统的安装方式,主要包含以下两种:

方式

概述

场景

物理机安装

直接将操作系统安装到服务器硬件

企业开发中,使用的服务器基本都是采用这种方式

虚拟机安装

通过虚拟机软件安装

在学习阶段,没有自己服务器,而又需要学Linux,就可以安装在虚拟机上(或者购买云服务商的云服务器)

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。常用虚拟机软件:

  • VMWare
  • VirtualBox
  • VMLite WorkStation
  • Qemu
  • HopeddotVOS

三、Linux 目录结构

在Linux系统中,存在目录概念,但Linux的目录结构和Windows的目录结构是存在比较多的差异。在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。而Linux系统中的目录有两个特点:

  • / 是所有目录的顶点
  • 目录结构像一颗倒挂的树

Linux 和 Windows的目录结构对比:

Linux的目录结构如下:

根目录/ 下各个目录的作用及含义说明:

编号

目录

含义

1

/bin

存放二进制可执行文件

2

/boot

存放系统引导时使用的各种文件

3

/dev

存放设备文件

4

/etc

存放系统配置文件,  比如:安装jdk,安装maven、配置环境变量

5

/home

用户的主目录,存放用户的个人资料的。比如:linux是一个多用户的操作系统,创建了zhangsan用户,那么在home目录里面有zhangsan文件夹。

6

/lib

存放程序运行所需的共享库和内核模块

7

/opt

额外安装的可选应用程序包所放置的位置

8

/root

超级管理员的主目录

9

/sbin

存放二进制可执行文件,只有root用户才能访问

10

/tmp

存放临时文件

11

/usr

安装软件主要存储在该目录中

12

/var

存放运行时需要改变数据的文件,例如日志文件

四、Linux常用命令

4.1 基础常用命令说明

Linux系统中,最常用的命令包含以下几个:

序号

命令

对应英文

作用

1

ls [目录名]

list

查看当前目录下的内容

2

pwd

print work directory

查看当前所在目录

3

cd [目录名]

change directory

切换目录

4

touch [文件名]

touch

如果文件不存在,创建文件

5

mkdir [目录名]

make directory

创建目录

6

rm [文件名]

remove

删除指定文件

  • ls

指令解读:

ls 查看当前目录下的内容(文件及目录) list列表缩写

ls / 查看指定目录(/)下的内容

ls -a 查看所有内容,包含隐藏的内容 a是all的缩写

ls -al 列表方式查看

ll -a 列表方式查看,简洁方式 ll 与 ls -l 相等

  • pwd

指令解读:

pwd 查看当前所在目录 print work directory

  • touch

指令解读:

touch 1.txt 创建文件1.txt

touch 2.txt 3.txt 4.txt 一次性创建文件2.txt,3.txt,3.txt

  • mkdir

指令解读:

mkdir 01 创建文件夹01

mkdir aa bb cc 一次性创建多个目录

mkdir -p dd/ff 如果父目录dd不存在就先创建父目录dd,之后创建子目录ff

  • rm

指令解读:

rm 4.txt 删除文件 (删除文件时,需要确认,输入y, 代表确定)

rm -f 4.txt 强制删除,不会问是否删除

rm 目录名 默认忽略这个命令,不会删除

rm -rf 目录名 recusion是r的缩写,代表递归,这样就可以递归删除当前目录下子文件和子目录

rm -rf /* 删除磁盘上所有资源,千万注意不要使用,否则需要重装系统

4.2 Linux 命令使用技巧

在我们使用Linux系统命令时,可以使用以下几个技巧:

1). Tab键自动补全

2). 连续两次Tab键,给出操作提示

3). 使用上下箭头快速调出曾经使用过的命令

4). 使用clear命令或者Ctrl+l快捷键实现清屏

4.3 Linux 命令格式

command [-options] [parameter]

说明:

command: 命令名

[-options]: 选项,可用来对命令进行控制,也可以省略

[parameter]: 传给命令的参数,可以是零个、一个或者多个

注意:

[ ] 代表可选

命令名、选项、参数之间有空格进行分隔

4.4 进阶重点常用命令
4.4.1 拷贝移动命令

命令:cp

作用: 用于复制文件或目录

语法: cp [-r] source dest

copy缩写

说明:

-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:

cp hello.txt itcast/ 将hello.txt复制到itcast目录中

cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt, ./代表当前目录

cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下

cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itheima目录下

命令:mv

作用: 剪切,重命名(如果目标位置已存在就是移动剪切,目标位置不存在就是重命名)

语法: mv source dest

说明:mv 命令既能够改名,又可以移动,具体是改名还是移动,系统会根据我们输入的参数进行判定(如果第二个参数dest是一个已存在的目录,将执行移动操作,其他情况都是改名)

举例:

mv hello.txt hi.txt 将hello.txt改名为hi.txt

mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中

mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt

mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima

mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中

4.4.2 打包压缩命令

压缩文件说明:

常用windows压缩文件格式: xxx.rar xxx.zip xxx.7z

常用linux压缩文件格式:

① 打包文件: xxx.tar 打包就是将多个资源目录或文件困在一起

② 打包并压缩文件: xxx.tar.gz 打包就是将多个资源目录或文件困在一起,并且会将数据压缩

名称:tar

作用: 对文件进行打包、解包、压缩、解压

语法: tar [-zcxvf] fileName [files]

包文件后缀为.tar表示只是完成了打包,并没有压缩(归档文件)

包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:

-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压

-c: c代表的是create,即创建新的打包文件

-x: x代表的是extract,实现从包文件中还原文件(解压)

-v: v代表的是verbose,显示命令的执行过程

-f: f代表的是filename,用于指定包文件的名称

举例:

打包

tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar

打包并压缩

tar -cvzf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz

解包

tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录

tar -xvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录

tar -xvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

4.4.3 文本编辑命令
  • 介绍

文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似。

vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本。它的语法是:vi fileName

说明:

1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便对文件进行编辑处理,所以实际工作中vim更加常用。

2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:`yum install vim`

  • vim使用

vim其实就是一个文本编辑器语法: vim fileName

说明:

1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。

2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。在使用vim时一定要注意当前所处的是哪种模式。

  • 三种模式

① 命令模式(不可编辑内容),命令模式下可以查看文件内容、搜索文本内容.

命令模式指令

含义

i 或 a 或 o

进入插入模式,i是光标前面插入,a是光标后面插入,o是在下一行插入

gg

定位到文本内容的第一行第一个字符

GG

定位到文本内容的最后一行

yy

复制当前行

p

粘贴当前行

dd

删除光标所在行的数据

ndd

删除当前光标所在行及之后的n行数据

u

撤销操作

shift+zz

保存并退出

/搜索的内容

在当前文件中搜索内容,符合的内容会高亮

② 插入模式

A. 插入模式下可以对文件内容进行编辑
B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
C. 在插入模式下按下ESC键,回到命令模式

③ 底行模式

  1. 按下esc回到命令模式
  2. 在命令模式的基础上按下 shift+:
  3. 按下保存退出: :wq(保存退出)   :q!(强制退出不保存)

底行模式命令

含义

:wq

保存并退出  write  quit

:q!

不保存强制退出

:set nu

显示行号   number

:set nonu

取消行号显示

:n

定位到第n行, 如 :10 就是定位到第10行

④ 模式切换图

命令模式(查看内容 /搜索的内容) -------按下 :i a o ----> 插入模式(编辑文件) ------esc--->命令模式------->shift + : --------> 底行模式(保存退出 wq)

4.4.4 查找命令

名称:find

作用: 在指定目录下查找文件

语法: find dirName -option fileName

举例:

find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件

find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件

名称:grep

作用: 从指定文件中查找指定的文本内容,并且返回查找到的对应行数据

语法: grep word fileName

举例:

grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置

grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

grep -n hello Itheima.java -n显示行号

grep -ni hello Itheima.java -i 忽略大小写匹配内容

4.4.5 查看系统的进程命令
ps -ef    系统的所有的进程都展示出来  processps -aux 查询所有进行信息,并显示每个进程cpu耗用,内存耗用top 查看整体的内存耗用杀死进程kill -9(强制杀死)|-2(温和杀死)  进程id号-2 会先让程序保存在进行退出, 温和的退出-15 通知程序进行安全、干净的退出。退出前做一些准备工作:释放资源,临时文件清理。优雅的退出。但是-2 和 -15 在操作系统后台进程时系统可能认为是不良操作会导致退出失败。-9 强制退出。一定会退出

4.4.6 管道命令(|)
作用: 上一个命令的结果提供给下一个命令去使用。语法:命令1 | 命令2 | 命令3 ...

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

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

相关文章

AI嵌入式K210项目(26)-二维码识别

文章目录 前言一、什么是二维码?二、实验准备三、实验过程四、API接口总结 前言 本章介绍基于机器视觉实现二维码识别,主要包含两个过程,首先检测图像中是否有二维码,如果有则框出并打印二维码信息; 一、什么是二维码…

STM32——LCD(1)认识

目录 一、初识LCD 1. LCD介绍 2. 显示器的分类 3. 像素 4. LED和OLED显示器 5. 显示器的基本参数 (1)像素 (2)分辨率 (3)色彩深度 (4)显示器尺寸 (5&#xff…

Docker-Learn(二)保存、导入、使用Docker镜像

1.保存镜像 根据上一节内容,将创建好镜像进行保存,需要退出当前的已经在运行的docer命令行中断里面,可以通过在终端里面输入指令exit或者按下键盘上的 ctrlD建退出: 回到自己的终端里面,输入指令: docker…

计算机网络-数据链路层概述(功能概述 链路 数据链路 物理通道 逻辑通道)

文章目录 总览数据链路层的研究思想数据链路层的基本概念数据链路层功能概述 总览 封装成帧指的是数据链路层将来自上层的网络层数据包(如IP数据报)添加上自己的帧头和帧尾,形成一个完整的帧。这个过程包括了对数据的封装,以便于在…

电脑多出一个虚拟驱动器又无法删除怎么办

下载解压UltraISO https://wwb.lanzoum.com/i8vY71nqnp4d 右键UltraISO.exe以管理员身份运行 点击选项 点击配置 91fddbd892a0.png) 点击虚拟光驱,把设备数量改成无,点击确定即可

【PTA浙大版《C语言程序设计(第4版)》|编程题】习题7-3 判断上三角矩阵(附测试点)

目录 输入格式: 输出格式: 输入样例: 输出样例: 代码呈现 测试点 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否…

[大厂实践] Netflix容器平台内核panic可观察性实践

在某些情况下,K8S节点和Pod会因为出错自动消失,很难追溯原因,其中一种情况就是发生了内核panic。本文介绍了Netflix容器平台针对内核panic所做的可观测性增强,使得发生内核panic的时候,能够导出信息,帮助排…

倒计时61天

M-智乃的36倍数(normal version)_2024牛客寒假算法基础集训营3 (nowcoder.com) //非ac代码,超时了,54.17/100#include<bits/stdc.h> using namespace std; const int N1e55; const int inf0x3f3f3f3f; #define int long long int n; string s1[N]; void solve() {cin>…

字节跳动公益平台“公益聚力计划”上线

为更好地联合社会多方力量参与社会公益&#xff0c;字节跳动公益平台于近日正式推出“公益聚力计划”&#xff08;以下简称“计划”&#xff09;。“计划”支持公益项目的策划与筛选、公益机构撮合&#xff0c;以及多种定制化的产品功能&#xff0c;如定制版公益证书、爱心回礼…

uniapp小程序端使用计算属性动态绑定style样式踩坑

踩坑点: 使用uniapp编译小程序端动态绑定复杂style使用计算属性方式&#xff0c;return必须返回json字符串格式&#xff0c;不能返回object&#xff0c;否则会不起作用。 代码总览 视图层 逻辑层&#xff08;注意这里是使用的计算属性哈&#xff09; 这里我封装成了一个个性化…

【前端web入门第五天】01 结构伪类选择器与伪元素选择器

文章目录: 1.结构伪类选择器 1.1 nth-child(公式) 2.伪元素选择器 1.结构伪类选择器 作用:根据元素的结构关系查找元素。 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素&#xff08;第一个元素N值为1) 一个列表结构…

【若依】若依框架在本地运行的操作方法,及踩坑记录

若依框架简介 若依是一个Gitee上一个开源的基于SpringBoot开发的轻量级Java快速开发框架&#xff0c;用以快速构建后台管理系统&#xff0c;点击跳转到官方地址 本机部署过程 Step1. 下载项目源码 我选择的是直接下载zip压缩包&#xff0c;解压后得到如下文件夹&#xff0c…

基于YOLOv8的暗光低光环境下(ExDark数据集)检测,加入多种优化方式---自研CPMS注意力,效果优于CBAM ,助力自动驾驶(二)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了暗光低光数据集检测整个过程&#xff0c;从数据集到训练模型到结果可视化分析&#xff0c;以及如何优化提升检测性能。 &#x1f4a1;&#x1f4a1;&#x1f4a1;加入 自研CPMS注意力 mAP0.5由原始的0.682提升…

Syntax error on token “->“, : expected (jdk20 jdk8 switch)

Syntax error on token "->", : expected &#xff08;jdk20 jdk8 switch&#xff09; switch

Spring Boot的打包方式:JAR vs. WAR 打包方式

Spring Boot的打包方式&#xff1a;JAR vs. WAR 打包方式 Spring Boot是一个流行的Java开发框架&#xff0c;提供了快速、便捷的应用程序开发和部署方式。本文将介绍Spring Boot的两种常见打包方式&#xff1a;JAR和WAR。我们将深入探讨它们的特点、适用场景和部署方式&#xf…

Bpmn-js自定义Palette元素

Bpmn-js作为一个流程编辑器&#xff0c;常规的我们可以将其划分为几个功能区域&#xff0c;每个区域对应的负责不同的功能实现&#xff0c;bpmn-js的设计给我们留下了大量的留白和可扩展区域&#xff0c;其每一部分都可进行组合拼装&#xff0c;同时也支持我们的各种不同层次需…

Redis主从复制原理工作流程和常见问题

Redis主从复制原理 相信很多小伙伴都已经配置过主从复制&#xff0c;但是对于redis主从复制的工作流程和常见问题很多都没有深入的了解。咔咔这次用时俩天时间给大家整理一份redis主从复制的全部知识点。本文实现所需环境 centos7.0 redis4.0 一、什么是Redis主从复制&#x…

01动力云客之环境准备+前端Vite搭建VUE项目入门+引入Element PLUS

1. 技术选型 前端&#xff1a;Html、CSS、JavaScript、Vue、Axios、Element Plus 后端&#xff1a;Spring Boot、Spring Security、MyBatis、MySQL、Redis 相关组件&#xff1a;HiKariCP&#xff08;Spring Boot默认数据库连接池&#xff09;、Spring-Data-Redis&#xff08;S…

第十三、十四个知识点:用javascript获取表单的内容并加密

我们先来写一段代码&#xff1a; <body><form action"#" method"post">//写一个表单<span>用户名&#xff1a;</span><input type"text" id"username" name"username"><span>密码&a…

MyBatisPlus之分页查询及Service接口运用

一、分页查询 1.1 基本分页查询 配置分页查询拦截器 package com.fox.mp.config;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springfra…