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    系统的所有的进程都展示出来  process

ps -aux 查询所有进行信息,并显示每个进程cpu耗用,内存耗用

top 查看整体的内存耗用

杀死进程
    kill -9(强制杀死)|-2(温和杀死)  进程id号

   -2 会先让程序保存在进行退出, 温和的退出
   -15 通知程序进行安全、干净的退出。退出前做一些准备工作:释放资源,临时文件清理。优雅的退出。
       但是-2 和 -15 在操作系统后台进程时系统可能认为是不良操作会导致退出失败。
   -9 强制退出。一定会退出

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

语法:
    命令1 | 命令2 | 命令3 ...

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

09 AB 10串口通信发送原理

通用异步收发传输器( Universal Asynchronous Receiver/Transmitter, UART)是一种异步收发传输器,其在数据发送时将并行数据转换成串行数据来传输, 在数据接收时将接收到的串行数据转换成并行数据, 可以实现…

springboot项目热部署实现(Spring Boot DevTools方式)

文章目录 Spring Boot DevTools简介Spring Boot DevTools原理spring Boot Devtools优缺点Spring Boot DevTools集成步骤第一步:添加maven依赖第二步:IDEA热部署配置 Spring Boot DevTools简介 Spring Boot DevTools是Spring Boot提供的一个开发工具&…

二维数组的使用

一、二维数组的使用 动态初始化静态初始化 1、动态初始化 2、静态初始化

【Git版本控制 05】多人协作

目录 一、邀请开发用户 二、新建远程分支 三、拉取远程分支 四、推送远程分支 五、合并远程分支 六、多分支协作 一、邀请开发用户 在windows环境下,再clone同⼀个项⽬仓库,来模拟⼀起协作开发的另⼀名⼩伙伴。 际开发中,每个⽤⼾都有…

【flink状态管理(三)】StateBackend的整体设计、StateBackend创建说明

文章目录 一. 状态后端概述二. StateBackend的整体设计1. 核心功能2. StateBackend的UML3. 小结 三. StateBackend的加载与初始化1. StateBackend创建概述2. StateBackend创建过程 一. 状态后端概述 StateBackend作为状态存储后端,提供了创建和获取KeyedStateBacke…

【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)

前言 大家好吖,欢迎来到 YY 滴单片机 系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY…

vue项目打包部署到flask等后端服务里面,实现前后端不分离部署,解决空白页面和刷新页面not fount问题

1. 编译模式一定要设置为esnext,否则会报错: Strict MIME type checking is enforced for module scripts per HTML spec.Expected a JavaScript module script but the server responded with a MIME type of "text/plain". 具体解释可以看vi…

牛客网SQL进阶127: 月总刷题数和日均刷题数

官网链接: 月总刷题数和日均刷题数_牛客题霸_牛客网现有一张题目练习记录表practice_record,示例内容如下:。题目来自【牛客题霸】https://www.nowcoder.com/practice/f6b4770f453d4163acc419e3d19e6746?tpId240 0 问题描述 基于练习记录表…

PyTorch深度学习实战(23)——从零开始实现SSD目标检测

PyTorch深度学习实战(23)——从零开始实现SSD目标检测 0. 前言1. SSD 目标检测模型1.1 SSD 网络架构1.2 利用不同网络层执行边界框和类别预测1.3 不同网络层中默认框的尺寸和宽高比1.4 数据准备1.5 模型训练 2. 实现 SSD 目标检测2.1 SSD300 架构2.2 Mul…

深度学习的新进展:解析技术演进与应用前景

深度学习的新进展:解析技术演进与应用前景 深度学习,作为人工智能领域的一颗璀璨明珠,一直以来都在不断刷新我们对技术和未来的认知。随着时间的推移,深度学习不断迎来新的进展,这不仅推动了技术的演进,也…

Vue中路由守卫的详细应用

作为一名web前端开发者,我们肯定经常使用Vue框架来构建我们的项目。而在Vue中,路由是非常重要的一部分,它能够实现页面的跳转和导航,提供更好的用户体验。然而,有时我们需要在路由跳转前或跳转后执行一些特定的逻辑&am…

vue3项目中的404页面

vue3项目中的404页面 春节前的最后一篇技术博客了 写了不少vue项目,发现一直没有正确处理404页面。404页面的出现有这么几种可能: 错误输入了页面地址路由连接跳转时,某些路由已经不存在了,而程序员并没有正确处理 也就是说40…

C 语言学习七:指针

指针 指针与地址指针的声明和初始化指针的解引用指针的比较指针和数组指针数组指针和动态内存分配 指针与函数参数指针作为函数参数二级指针 指向函数的指针 指针与地址 指针的声明和初始化 int variable 42; int *ptr &variable; //间接访问 int value *ptr; // valu…

【竞技宝】LOL:369兰博豪取四杀带队翻盘 TES2-0轻取WBG

北京时间2024年2月8日,英雄联盟LPL2024春季赛在昨天迎来第三周第三个比赛日,本日第二场比赛由TES对阵WBG。本场比赛TES中后期团战的处理更加出色,第二局更是在后期凭借369兰博的四杀完成翻盘,TES2-0轻取WBG。以下是本场比赛的详细…

蓝桥杯Web应用开发-CSS3 新特性【练习三:文本阴影】

文本阴影 text-shadow 属性 给文本内容添加阴影的效果。 文本阴影的语法格式如下: text-shadow: x-offset y-offset blur color;• x-offset 是沿 x 轴方向的偏移距离,允许负值,必须参数。 • y-offset 是沿 y 轴方向的偏移距离&#xff0c…

GEE详细教程之:将Landsat8与Landsat9影像合成一个影像

1.前言 因项目需求,需要获取一个研究区的Landsat8影像,但Landsat8重复周期长,加之天气的影响,很难获取影像质量较好的影像。Landsat4/5/7的波段顺序与landsat8不同,除此之外,landsat7影像还需要工具进行条带…

222. 完全二叉树的节点个数 - 力扣(LeetCode)

题目描述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干…

重装系统---首次安装java的JDK

1、去官网或者百度资源选择自己想要下载的jdk版本即可 2、 3、按照步骤安装即可,路径不要更改,默认c盘安装就好,避免后面发生错误。 4、打开电脑的设置,编辑环境变量 这是添加之后的效果 5、再新建一个系统环境变量 6、编辑环境变量Path 添

3.3-媒资管理之MinIo分布式文件系统上传视频

文章目录 媒资管理5 上传视频5.1 需求分析5.2 断点续传技术5.2.1 什么是断点续传5.2.2 分块与合并测试5.2.3 视频上传流程5.2.4 minio合并文件测试 5.3 接口定义5.4 上传分块开发5.4.1 DAO开发5.4.2 Service开发5.4.2.1 检查文件和分块5.4.2.2 上传分块5.4.2.3 上传分块测试 5.…

Ubuntu安装SVN服务并结合内网穿透实现公网访问本地存储文件

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默&…
最新文章