第三十一天 Linux介绍和基础命令

news2024/11/24 5:10:19

目录

1.前言

1.1 什么是Linux

1.2 为什么要学Linux

1.3 学完Linux能干什么

2.Linux简介

2.1 主流操作系统

2.2 Linux发展历史

3. Linux安装

3.1 安装方式介绍

3.2 安装VMware

3.3 安装Linux

3.4 网卡设置

3.5 安装SSH连接工具

3.6 Linux目录结构

4.Linux常用命令

4.1 Linux命令初体验

4.2 文件目录操作命令

4.3 拷贝移动命令

4.4 打包压缩命令

4.5 文本编辑命令

4.6 查找命令


Linux简介
Linux安装
Linux常用命令

若有收获,就点个赞吧~~~

1.前言

1.1 什么是Linux

Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统。

1.2 为什么要学Linux

那么我们为什么要学习Linux呢,主要出于两个方面的原因。
1). 企业用人要求
很多知名招聘网站上搜索的java开发工程师的岗位要求,在很多的岗位要求中都提到了Linux操作系统的经验。

为什么作为javaEE开发工程师,企业还要求我们会Linux操作系统的相关知识呢?
这是因为Linux操作系统提供了很多稳定的发行版本,广泛的应用在我们的各种服务器操作系统领域,我们将来开发出来的项目,最终要上线运行,就需要将项目部署在Linux服务器中。


2). 个人发展需要

我们作为javaEE开发工程师,将来在企业中开发时会涉及到很多的数据库、中间件等技术,比如MySQL、Redis、MQ等技术,而这些应用软件大多都是需要安装在Linux系统中使用的。我们做为开发人员,是需要通过远程工具连接Linux操作系统,然后来操作这些软件的。而且一些小公司,可能还需要我们自己在服务器上安装这些软件。
所以,不管从企业的用人需求层面,还是个人发展需要层面来讲,我们作为服务端开发工程师,Linux的基本使用是我们必不可少的技能。


1.3 学完Linux能干什么

学习完Linux操作系统课程之后,我们可以做以下几个方面的事情:

1). 环境搭建系统安装 : 一般我们不会直接将Linux系统安装在本机电脑上,而会安装在公司的一台专门的服务器上

远程连接 : 那么我们要想使用服务器,一般都是通过远程连接工具连接Linux系统进行操作。


2). 常用命令

连接上服务器之后,我们可以通过所学习的相关指令, 来操作Linux服务器,在Linux服务器中可以执行如下操作:
A. 文件、目录的基本操作(查看,删除,创建等)
B. 文件及文件夹的拷贝、移动、重命名
C. 文件的打包、压缩、解压缩操作
D. 文本的编辑


3). 安装软件

基本的常用指令学会操作之后,我们可以在Linux服务器中安装我们开发常用的软件,比如: JDK、Tomcat、MySQL的安装及配置。


4). 项目部署把基础的软件及环境安装配置好之后,我们就可以将我们开发的项目部署在服务器中进行运行并测试。

对于我们学习Linux操作系统时,Linux命令是基础,也是学习Linux系统的重点内容,虽然Linux的指令有很多,但是我们常用的指令并不多,大家在学习的时候,主要掌握这部分常用的指令就可以了,对于其他的指令,以后我们用到的时候,知道怎么查询即可。对于Linux的常⽤指令的学习,最好的学习方法就是:多敲

 

2.Linux简介

2.1 主流操作系统


不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些?
1). 桌面操作系统


2).服务器操作系统

部署应用软件的操作系统:


3). 移动设备操作系统

4). 嵌⼊式操作系统

2.2 Linux发展历史

时间:1991年
地点:芬兰赫尔⾟基⼤学
⼈物:Linus Torvalds(21岁)
语⾔:C语⾔、汇编语⾔
logo:企鹅
特点:免费、开源(源代码开放)、多⽤户(同时允许多个⽤户操作同⼀
个Linux系统)、多任务(同时允许多个任务执⾏)

2.3 Linux系统版本

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


1). 内核版
由Linus Torvalds及其团队开发、维护
免费、开源
负责控制硬件


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

我们使用Linux操作系统,实际上选择的是Linux的发行版本。在linux系统中,有各种各样的发行版本,具体如下:

除了上述罗列出来的发行版,还有很多Linux发行版,这里,我们就不再一一列举了。

3. Linux安装


3.1 安装方式介绍

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

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功 能、运⾏在完全隔离环境中的完整计算机系统。常⽤虚拟机软件:
VMWare VirtualBox VMLite WorkStation Qemu HopeddotVOS 那么我们就可以在课程中将Linux操作系统安装在虚拟机中,我们课上 选择的虚拟机软件是VMware。



3.2 安装VMware



在我们的课程资料中提供了VMware的安装程序。直接双击运⾏ VMware安装程序,根据提示完成安装即可。


以上就是VMware在安装时的每⼀步操作,基本上就是点击 "下⼀步" 一直进行安装。


3.3 安装Linux


VMware虚拟机安装完毕之后,我们就可以打开VMware,并在上⾯来 安装Linux操作系统。具体步骤如下:
1). 选择创建新的虚拟机


2). 选择"典型"配置



3). 选择"稍后安装操作系统(S)"


4). 选择"Linux"操作系统,"CentOS7 64位"版本



5). 设置虚拟机的名称及系统⽂件存放路径


6). 设置磁盘容量


7). ⾃定义硬件信息


8). 启动上述创建的新虚拟机


9). 选择"Install CentOS7"


进⼊到Linux系统⾥⾯, 我们发现光标⽆法移动到windows操作系统 中了, 这个时候, 我们可以通过快捷键 "Ctrl+Alt" 切换光标到windows系统中。

10). 选择语⾔为 "简体中⽂"


11). 选择"⾃动配置分区"


12). 选择"基础设施服务器"

最小安装: 在安装Linux时占⽤最少空间,有很多功能都被忽略了

建议安装: 基础设施服务器


13). 设置"root"⽤户密码


安装完毕后,点击窗⼝中的蓝⾊的 "重启" 按钮,重启Linux系统。

14). 登录系统


注意 : 在Linux系统中,在命令行中输入密码信息,为了保证安全性,密码是不显示的(看似没有输入,实际已经输入了);


3.4 网卡设置


服务器重启完成之后,我们可以通过linux的指令 ip addr  来查询 Linux系统的IP地址,具体信息如下:


从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么 呢?这是由于启动服务器时未加载⽹卡,导致IP地址初始化失败⽽造成 的。那么接下来我们就需要来修改⽹络初始化配置,设定⽹卡在系统启动 时初始化。 具体操作步骤如下:

 



备注: 在上述的操作中⽤到了Linux中的相关指令, ⽬前⼤家不⽤深 究, 后⾯会详细讲解, ⽬前⼤家只需要把这个⽂件的配置项ONBOOT的值有no改为yes即可。
2). 重新启动虚拟机


重启之后, 再次输⼊root的⽤户名密码,登录到Linux系统之后,可以通 过指令 ip addr  来查看IP地址。

 
说明: 如果开启后,没有显示ip地址,则需要重启⽹卡设置: service network restart



3.5 安装SSH连接工具


3.5.1 SSH连接工具介绍


Linux已经安装并且配置好了,接下来我们要来学习Linux的基本操作 指令。⽽在学习之前,我们还需要做⼀件事情,由于我们企业开发时, Linux服务器⼀般都是在远程的机房部署的,我们要操作服务器,不会每次 都跑到远程的机房⾥⾯操作,⽽是会直接通过SSH连接⼯具进⾏连接操 作。


SSH(Secure Shell),建立在应用层基础上的安全协议。常⽤的SSH 连接工具:



3.5.2 FinalShell安装

下载FinalShell
双击.exe文件,然后进行正常的安装即可。


3.5.3 连接Linux
1). 打开finalShell


2). 建立连接


3.6 Linux目录结构


登录到Linux系统之后,我们需要先来熟悉⼀下Linux的⽬录结构。在 Linux系统中,也是存在⽬录的概念的,但是Linux的⽬录结构和Windows 的⽬录结构是存在⽐较多的差异的 。在Windows⽬录下,是⼀个⼀个的盘 符(C盘、D盘、E盘),⽬录是归属于某⼀个盘符的。Linux系统中的⽬录有 以下特点: A. / 是所有⽬录的顶点 B. ⽬录结构像⼀颗倒挂的树
Linux 和 Windows的目录结构对比:


Linux的目录结构,如下:


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



4.Linux常用命令


4.1 Linux命令初体验


4.1.1 常用命令演示


在这一部分中,我们主要介绍几个常用的命令,让大家快速感受以下
Linux指令的操作方式。主要包含以下几个指令:

接下来,我们快速的来演示⼀下这些常⽤的指令。
1). ls


指令解读: ls 查看当前⽬录下的内容(⽂件及⽬录) ls / 查看指定⽬录(/)下的内容
2). pwd


指令解读: pwd 查看当前所在⽬录
3). cd


指令解读: cd / 切换到根⽬录 cd /root 切换到/root⽬录 cd .. 切换到上⼀级⽬录 cd ./aa 切换到当前⽬录下的aa⽬录下
4). touch


指令解读: touch 1.txt 在当前⽬录下创建⽂件1.txt

touch 2.txt 3.txt 4.txt ⼀次性创建⽂件2.txt,3.txt,3.txt 本质是构建了⼀个空的⽂件;
5). mkdir


指令解读: mkdir 01 创建⽂件夹01
6). rm


指令解读: rm 4.txt 删除⽂件 (删除⽂件时,需要确认,输⼊y, 代表确定)
注意:


在执⾏Linux命令时,提示信息如果显示为乱码,如上图所示。这是由 于编码问题导致,只需要修改Linux的编码即可,命令如下:
echo 'LANG="en_US.UTF-8"' >> /etc/profile source /etc/profile
4.1.2 Linux命令使⽤技巧在我们使用Linux系统命令时,可以使用以下几个技巧:
1). Tab键自动补全
2). 连续两次Tab键,给出操作提示
3). 使用上下箭头快速调出曾经使用过的命令
4). 使用clear命令或者Ctrl+l快捷键实现清屏
5).使用ctrl+c终止当前进程对当前终端的占用

操作示例:
A. 执行指令的时候,对于操作的文件/目录,按一下Tab会自动补全:


B. 如果上述以 "1." 开头的⽂件有多个,可以按两下Tab键,给出操作 提示:


C. 使⽤clear命令或者Ctrl+l快捷键实现清屏:


清屏之后,界⾯就变得⼲净了:



4.1.3 Linux命令格式


操作示例:



4.2 文件目录操作命令


4.2.1 ls



注意:无论是window或者linux,目录以.开头,则默认隐藏
操作示例:


4.2.2 cd


操作示例:


cd .. 切换到当前⽬录位置的上级⽬录; 可以通过 cd ../.. 来切换到上级 ⽬录的上级⽬录。
4.2.3 cat

操作演示:


cat 指令会⼀次性查看⽂件的所有内容,如果⽂件内容⽐较多,这个时 候查看起来就不是很⽅便了,这个时候我们可以通过⼀个新的指令more。
注意事项:如果内容比较少,使⽤cat命令比较⽅便。但是如果内容比 较多(成百上千行)则不建议使⽤cat(cat读取数据是全量读取的)


4.2.4 more


操作示例:

当我们在查看一mor些比较大的文件时,我们可能需要经常查询文件
尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻⻚,直到
最后一⻚,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可
以借助于tail指令。
思考问题:
如果某个文本比较大,而查询的内容比较靠前,则使用more比较格
式,但是如果要查询的内容在文件的末尾,使用tail比较合适
如果是小文件查询,则使用cat比较合适

4.2.5 tail


操作示例: A默认查询文件尾部10行记录


B. 可以通过指定参数设置查询尾部指定行数的数据


C. 动态读取文件尾部的数据


在窗口1中执行指令 tail -f 1.txt 动态查看文件尾部的数据。然后
在顶部的标签中右键选择 "复制标签",打开新的窗口2 , 此时再新打开的窗
口2中执行指令 echo 1 >> 1.txt , 往1.txt文件尾部追加内容,然后我们就
可以在窗口1中看到最新的文件尾部的数据。
如果我们不想查看文件尾部的数据了,可以直接使用快捷键 Ctrl+C ,
结束当前进程。
说明:echo 内容 >> 文件名称 :将指定内容写在指定文件的末尾;
echo 内容 > 文件名称 :将指定内容覆盖文本中旧的内容;


4.2.6 mkdir


操作演示:

4.2.7 rmdir

操作演示:

A. 删除空目录


B.删除非空目录


C. 使用*通配符删除目录




4.2.8 rm



操作示例:


注意: 对于 rm -rf xxx 这样的指令,在执行的时候,一定要慎重,确认无误后再进行删除,避免误删。


4.3 拷贝移动命令


4.3.1 cp



注意事项:在linux下的⽂件中没有后缀,我们⼀般⾃⼰添加⼀个后缀 是为了可读性; **操作示例:


如果拷⻉的内容是目录,需要加上参数 -r
经典场景:我们做一些配置修改时,怕把原始的文件改错,那么一般
通过cp命令先备份一份,如果出问题,还可回滚;


4.3.2 mv

操作示例:

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



4.4 打包压缩命令




操作示例: A. 打包

 


B. 打包并压缩


C. 解包


D. 解压


解压到指定⽬录,需要加上参数 -C



4.5 文本编辑命令


文本编辑的命令,主要包含两个: vi 和 vim,两个命令的用法类似,我们课程中主要讲解vim的使用。


4.5.1 vi&vim介绍
作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法: vi fileName
说明: 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。 2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装: yum install vim

4.5.2 vim安装
命令: yum install vim

安装过程中,会有确认提示,此时输入 y,然后回⻋,继续安装:



4.5.3 vim使⽤
作用: 对文件内容进行编辑,vim其实就是一个文本编辑器 语法: vimfileName 说明: 1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。 2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

三种模式:

命令模式(默认)

插入模式 A. 插入模式下可以对文件内容进行编辑 B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样 C. 在插入模式下按下ESC键,回到命令模式
底行模式 A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作 B. 在命令模式下按下[:,/]任意一个,可以进入底行模式 C. 通过/方式进入底行模式后,可以对文件内容进行查找 D.通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)


操作示例:


4.6 查找命令


4.6.1 find

操作示例:


4.6.2 grep

操作示例:

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

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

相关文章

洛谷P8772 [蓝桥杯 2022 省 A] 求和 C语言/C++

[蓝桥杯 2022 省 A] 求和 题目描述 给定 nnn 个整数 a1,a2,⋯,ana_{1}, a_{2}, \cdots, a_{n}a1​,a2​,⋯,an​, 求它们两两相乘再相加的和,即 Sa1⋅a2a1⋅a3⋯a1⋅ana2⋅a3⋯an−2⋅an−1an−2⋅anan−1⋅anSa_{1} \cdot a_{2}a_{1} \cdot a_{3}\cdotsa_{1} \cd…

SpringCloud学习(五)——Nacos配置管理

文章目录1. Nacos实现配置管理2. 微服务拉取配置2.1 拉取优先级2.2 导入依赖2.3 添加注解2.4 配置热更新3. 使用 ConfigurationProperties3.1 使用注解3.2 测试4. 多环境共享配置4.1 添加依赖4.2 配置文件4.3 更改属性4.4 测试4.5 配置优先级1. Nacos实现配置管理 当微服务部署…

【测试面试】吐血整理,大厂测试开发岗面试题(1~4面),拿下年40w...

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 自动化测试面试题&am…

scConverter 文档转换 DLL / SDK 2023.3.21 Crack

scConverter 转换 DLL / SDK scConverter 是一个DLL,可以将PDF、DWF、Gerber、CGM、TIFF、CALS、PLT、PNG和JPEG文件转换为大量输出格式。可用的输出格式列表包括Adob​​e PDF、PDF/A、DXF、DWF、CALS、TIFF、PLT和PNG。您将在下面找到所有可用输入和输出格式的完整…

计算机算法设计与分析(第5版)PDF

《计算机算法设计与分析(第5版)》是2018年电子工业出版社出版的图书,作者是王晓东。 整本书的结构是:先介绍算法设计策略思想,然后从解决经典算法问题来学习,通过实践的方式去学习算法。 网络上许多的算法…

天梯赛-模拟赛-4.16

L2-041 插松枝 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上,做成大大小小的松枝。他们的工作流程(并不)是这样的: 每人手边有一只小盒子,初始状态为空。 每人面前有用不完的松枝干和一个推送器&#x…

【鸿蒙应用ArkTS开发系列】- Web组件使用讲解

目录 一、Web组件介绍 二、创建组件 权限列表 三、设置样式和属性 四、添加事件和方法 五、访问本地Html 1、本地html文件创建 2、本地html文件加载 2、JS对象注入,Html使用JS对象调用客户端方法 3、客户端调用本地Html网页中的JS方法 使用鸿蒙的ArkUI框架…

Lesson 10.1 超参数优化与枚举网格的理论极限和随机网格搜索 RandomSearchCV

文章目录一、超参数优化与枚举网格的理论极限1. 超参数优化 HPO(HyperParameter Optimization)2. 网格搜索的理论极限与缺点3. 建立 benchmark:随机森林中枚举网格搜索的结果二、随机网格搜索 RandomizedSearchCV1. 基本原理2. 随机网格搜索的…

使用chatgpt实现微信聊天小程序(秒回复),github开源(附带链接)

文章目录前言效果展示原理说明服务器端代码说明微信小程序代码说明代码链接总结前言 我在前一段时间突发奇想,就使用java来调用chatgpt的接口,然后写了一个简单小程序,也上了热榜第一,java调用chatgpt接口,实现专属于…

select 排序qsort排序

目录 1.希尔排序的时间复杂度 3.有技巧的选择排序:堆排序 4.排序的种类 5.直接插入排序和冒泡排序 6.快速排序 7.希尔排序 堆排序 和快排的区别 8.为什么相遇位置一定比key小 9.快排的优化 11.快排递归写法的不足 12.快排的非递归解法 1.希尔排序的时间复杂…

C++11新特性(上)

357089 文章目录1. 统一的列表初始化1.1 {}初始化1.2 std::initializer_list2. decltype3. 右值引用和移动语义3.1 左值引用和右值引用3.2 左值引用与右值引用比较3.3 右值引用使用场景和意义3.4 右值引用引用左值及更深入的使用场景3.5 完美转发4. 新的…

“编程式 WebSocket” 实现简易 online QQ在线聊天项目

目录 一、需求分析与演示 1.1、需求分析 1.2、效果演示 二、客户端、服务器开发 2.1、客户端开发 2.2、服务器开发 一、需求分析与演示 1.1、需求分析 需求:实现一个 online QQ在线聊天项目,当用户登录上自己的账号后,将会显示在线&…

我用nodejs和electron实现了一个简单的聊天软件-----chat 开源

翎🎥项目演示地址 🔗https://www.bilibili.com/video/BV1Fg4y1u76d/ 希望观众老爷给个免费的三连支持一下新人up主 ♻️项目基本介绍 翎是基于electron(vue2)和nodejs实现的简单聊天软件,其中用websocket和http进行通讯传递,数据库使用了mysql数据库,…

二进制插入与查找组成一个偶数最接近的两个素数

二进制插入 链接:二进制插入_牛客题霸_牛客网 (nowcoder.com) 描述:给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j1&#xff…

Qt Quick - Popup

Qt Quick - Popup使用总结一、概述二、Popup 的布局三、弹出分级四、弹出定位五、定制化一、概述 Popup是类似弹出式用户界面控件的基本类型。它可以与Window或ApplicationWindow一起使用。 import QtQuick.Window 2.2import QtQuick.Controls 2.12ApplicationWindow {id: win…

力推美团企业版 美团究竟意欲何为?

已经拥有930万活跃商家的美团公司,正在充分整合自身的“供应链”优势,冲向B端市场。 3月31日,据36氪消息显示,美团将于近期正式上线面向To B市场的业务“美团企业版”,定位企业消费赛道。美团企业版会为企业客户提供消…

ZeroTier 内网穿透

ZeroTier 内网穿透 官网注册账号,创建自己的局域网段, 登录官网 创建网络: 点击创建好的网络,进入设置界面进行设置, 选择 public 模式,点击入设置页面 地址随便选择 说明没有设备链接 下载客户端 ,下载 安装客户端&#xf…

高级数据结构与算法 | 三元搜索树(Ternary Search Tree)

文章目录TernarySearchTree基本概念介绍原理插入查找删除代码实现TernarySearchTree 基本概念 介绍 Ternary Search Tree(三元搜索树),它是由 Bentley 和 Sedgewick 在 1997 年提出的一种基于 Trie 的思想改良的一种数据结构,其…

【GCU体验】基于PyTorch + GCU跑通ResNet50模型并测试GCU性能

一、环境 地址:启智社区:https://openi.pcl.ac.cn/ 二、计算卡介绍 云燧T20是基于邃思2.0芯片打造的面向数据中心的第二代人工智能训练加速卡,具有模型覆盖面广、性能强、软件生态开放等特点,可支持多种人工智能训练场景。同时具备灵活的可…

win10 64位 环境下安装CUDA 11.8和 cuDNN v8.6.0

win10 64位 环境下安装CUDA 11.8和 cuDNN v8.6.0 1 安装 NVIDIA 显卡驱动程序 下载地址:http://www.nvidia.cn/Download/index.aspx?langcn ​​​​​​ 下载文件:531.41-desktop-win10-win11-64bit-international-nsd-dch-whql 选择适合自己电脑的显…