Linux系统使用(超详细,暑假弯道超车!!)

目录

Linux操作系统简介

Linux和windows区别

Linux常见命令

Linux目录结构

Linux命令提示符

 常用命令

ls 

cd 

 pwd

 touch

 cat 

echo

mkdir

rm 

cp 

 mv 

vim

vim的基本使用

grep 

netstat

Linux面试题


Linux操作系统简介

Linux操作系统是和windows操作系统是并列的关系。只不过只是两个操作系统的特性各有不同而已。

Linux和windows区别

  1. 开源VS闭源:Linux是开源的系统,其内核和大部分的软件的代码都是公开的,任何人都可以进行修改、查看。而windows操作系统则是闭源的商业操作系统,其源代码是不公开的,只有微软公司才能够进行修改等操作。
  2. 发行模式:Linux以发行版的形式进行发布,如Ubuntu、CentOS等,每个发行版都有自己的特点和目标用户群,而windows则是以单一的官方版本进行发布的,只不过是用户可以选择自己想要的版本,如windows10,windows11等。
  3. 用户界面:windows操作系统采用的图形化界面作为主要的交互方式,提供了直观的操作和良好的用户体验,Linux也提供了多种桌面的环境,但是Linux在图形化方面,还是比windows要落后一点。
  4. 应用程序和兼容性:Windows拥有庞大的应用程序生态系统,有许多商业软件和游戏专门为Windows开发。而Linux虽然也有许多优秀的开源和免费软件,但在商业软件和某些特定应用领域的支持上相对较少。此外,Windows在硬件和驱动程序的兼容性方面较为广泛,因为大多数硬件供应商更倾向于为Windows提供驱动程序。
  5. 安全性和稳定性:由于开源性质,Linux操作系统受到广泛的审查和贡献,具有良好的安全性和稳定性。相比之下,Windows由于其广泛的用户群和闭源性质,更常受到恶意软件的攻击,并可能面临一些安全和稳定性挑战。
  6. 部署和管理:Linux在服务器领域广泛应用,因其稳定性和灵活性。它通常被认为更适合于技术专业人员和系统管理员,需要一些命令行操作和配置知识。而Windows在桌面和家庭用户领域占据主导地位,提供了更简化和易用的界面和工具。

总体而言,Windows和Linux是两种不同的操作系统,各自有其优点和适用场景。选择哪个操作系统取决于用户的需求、技术背景和使用场景。

Linux常见命令

Linux目录结构

windows目录结构:

 

windows目录结构总体来说就是上图所示。

在Linux的目录结构中,没有盘符的概念,有的只是一个根目录 / ,在根目录下存放的就是一些具体的文件,在Linux中,会把一些硬件设备给抽象成文件的形式存放在硬盘上,于是在Linux系统中有这样的一句话,一切皆文件。

Linux命令提示符

 

 

 常用命令

ls 

ls  list 

 ls   list  作用就是列出当前目录/指定目录下的文件或者目录。对标windows中的双击某个目录,查看里面具有有哪些东西。

其中蓝色的是目录,白色的是普通文件。

在ls后面加上一个指定的路径,就可以查看指定路径下的内容。

 / 根目录,对标windows中的此电脑。

Linux中的任何一个文件都是在/ 根目录下存在的。

 可以看到这里的效果和直接敲ls是一样的,也就是我们的以root身份登录后,默认所在的目录。

/root就是root用户的home目录。

使用ls -l 就可以查看其中的具体信息

 

 此操作就对标windows中的显示详细信息。

 Linux提供了 ll 命令。此命令等价于ls -l 

 

上述的这些选项,也叫做命令行参数。

注意:命令行的参数与参数之间,需要一个空格进行分割。

cd 

cd  change directory  切换目录

在Linux系统中,磁盘上的文件和目录被组成一个目录树,每个节点都是目录或者文件。

 其中相当于在windows中资源管理中双击了某个目录。

cd 后面跟上你想有切换目录的路径,这里的路径可以使用相对路径,也可以使用绝对路径。

随着cd的进行,所在的目录位置就是发生变化。

 直接切换目录到跟目录下。

 使用绝对路径的方式来切换目录

 

 使用相对路径的方式来切换目录。

 

cd 后面不加任何的选项,就会直接跳转到当前用户的home目录。

 cd 和 ls 是我们最常使用的命令之一。

 pwd

这个命令是防止用户迷路的命令,此命令就是显示我们当前的完整路径。

这个命令对标windows中的鼠标在此电脑中的地址栏一点:

 可以看出,鼠标在上面一点,就会显示出完整的路径。

在Linux中,pwd就是这个作用。

 touch

touch 创建一个空白的文件

 

可以看到我们执行touch abc.txt命令之后,Linux并没有给我任何的反馈。

其实我们不必惊慌,在Linux中,没有消息就是最好的消息。我们的这个命令是执行成功的。

 

 cat 

cat 读取文件的内容

 注意:此命令如果读取短小的文件还好,如果使用此命令读取文件特别大的文件,cat就很不方便了。

cat命令是做了两件事:

1:读取硬盘上的文件。

2:把这个文件全部显示在终端里面。

那么如果说这个文件特别大,我们一次性的把很大的文件全部读取完成,在把文件里面的信息全部显示在终端上。此时消耗的时间是比较大的。

我们使用cat命令读取/etc目录下的一个文件的效果。

 添加命令行参数 -n 就是我们给我们读取的文件内容添加上行号。

echo

echo 此命令用来写文件的

 

 上述命令我们使用echo 把hello 写入到abc.txt文件中去。

此时我们再次使用cat命令查看:

 可以看到hello已经在abc.txt这个文件中去了。

当时我们每次执行echo命令的时候,都会清除原来的内容。

 可以看到hello已经被清除了,只剩下后面ehco的world了。

注意:echo和cat这样的命令,只是适用于对简单的文件进行操作,如果文件比较大和复杂,echo和cat就是不适合了。

mkdir

mkdir 创建目录

此命令对标windows中的右键,新建文件夹。 

 

 

 我们执行mkdir ddd 之后,就已经创建好了一个目录。

我们可以添加命令行参数 -p  当我们添加了命令号参数 -p 之后,系统会给我们自动的递归创建目录。

 这个命令就是在当前目录下创建aaa目录,在aaa目录下创建bbb目录,在bbb目录下创建ccc目录。

 

rm 

rm remove 删除文件/目录

 

 当我们在执行rm 的时候,指定了要删除的文件之后,系统会让我们确定是否删除。

我们可以使用命令行参数 /r 进行递归删除

 此命令在删除目录的时候,需要同时删除所有的文件和子目录。

这里的命令行参数 -rf 就是强制删除,不进行询问。

 注意:在Linux中,没有回收站的概念,如果删除了,那么就是彻底的删除了。

根目录 /  是我们Linux中的最顶级节点了,如果把这个目录强制不询问的进行删除,那么这个Linux系统算是废了。彻底的废了。 慎用 

 

cp 

cp  copy    复制

 cp 用于复制文件或者目录。

当前目录下有一个 a.txt 文件,我们把这个a.txt文件复制一份同时改名为a1.txt。

 cp 后面有两个参数,一个是源文件,一个是要往哪里去复制。

此处就是把a.txt复制一份,同时重命名为a1.txt。

cp 不光可以复制文件,还是可以进行目录的复制的。需要注意的是,在复制目录的时候,必须要添加命令行参数 -r

 我们现在把aa目录同aa目录下的hello.txt文件复制到bb目录中。

可以看到我们是把整个aa目录都复制到bb目录下。

 mv 

mv  剪切文件或者目录

mv命令可以在进行移动的时候,去进行给目标文件设置名称(一边移动,一遍改名)。

可以看到,如果是要移动的源和目标在一个目录下,这个时候就是单纯的改名字了。

 我们也就是在移动的过程中进行改名操作。

上述操作就是我们把当前目录的a.txt文件剪切到aa目录下,并重命名为a3.txt。

vim

vim 进行文件的编辑

 vim是Linux上自带的文本编辑器,相当于windows上的记事本。

vim的基本使用

  • 打开文件
  • 编辑文件
  • 保存退出

上述的三个vim的操作是最基本的使用。

1:打开文件 

使用vim 文件名/文件路径

 当我们执行了上述命令时,系统就是使用vim打开这个文件。

 此时由于这个文件里面什么都没有,这里就是空白的。

2:编辑文件

在进行文件的编辑之前,我们先要知道vim的三种模式。

  • 普通模式
  • 插入模式
  • 命令行模式

我们当打开的文件的界面,就是普通模式。在这个模式下,我们是无法进行数据的插入的。

要想进行数据的写入,必须切换成插入模式。

要切换插入模式其实非常简单,只需要按键盘上的 i 键就好了。

可以看出当我们按了i键之后,下面就变为install。此时就是插入模式,我们就可以进行数据的写入了。

 此时当我们把数据写入之后,该保存退出了。

想要保存退出,就需要进入到命令行模式。

进入命令行模式其实也很简单,只需要按键盘上的esc键进行普通模式。然后再普通下输入:

 

 现在就进入到命令行模式了。

然后我们在输入wq。wq也就是写入退出的意思。然后这个文件就成功的写入,并保存了。

然后此时我们在进行查看这个文件的内容:

 可以能看到我们写入的数据了。

grep 

grep 字符串匹配

 grep 快速搜索某个文件中,是否有匹配的特点的字符串。

 可以看到,当我们在a2.txt这个文件中查找“hello”这个字符串的时候,就会出现查找这个文件,然后就会把匹配成功的显示出来。当我们在添加一个命令行参数 -n 后,就会在在前面添加行号。

grep 还可以对多个文件进行搜索。

 

 ps

ps 查看进程

 

 但是ps查看的内容非常有限,我们可以添加一些固定的选项。

使用ps aux 就能列出系统上所有的进程。

 

 可以看出结果是非常多的,不只是上图显示的这些。

但是很多时候,我们并不关心操作系统上的所有进程,我们只是想看咱们自己的进程。就可以配合grep命令来使用了。

比如我们想要查询mysql的进程。

 这里的 | 是管道符,作用是把前一个命令的输出作为后一个命令的输入。

netstat

netstat -anp 查询网络状态。包括端口等等。

 

可以看到信息同时也是非常多的,我们这里只是一部分。

这个命令也通常搭配grep来使用。

比如我们想要查询mysql的端口号,就可以使用netstat命令加上grep来查询。

 

ps 和 netstat 两个命令通常都是会搭配grep来使用的。

通过ps来查询某个进程的pid

通过netstat来查询某个进行的端口号

Linux面试题

1:如何给定进程名,查询对应进程的pid

 比如:Tomcat 

2:如何给定进程名,查询对于绑定的端口号

比如: MySQL

 

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

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

相关文章

GitHub上怎么寻找项目?

前言 下面由我精心整理的关于github项目资源搜索的一些方法,这些方法可以帮助你更快更精确的搜寻到你需要的符合你要求的项目。 写文章不易,如果这一篇问文章对你有帮助,求点赞求收藏~ 好,下面我们直接进入正题——> 首先我…

90%的测试工程师是这样使用Postman做接口测试的

一:接口测试前准备 接口测试是基于协议的功能黑盒测试,在进行接口测试之前,我们要了解接口的信息,然后才知道怎么来测试一个接口,如何完整的校验接口的响应值。 那么问题来了,那接口信息从哪里获取呢&…

uniapp,vue3路由传递接收参数

官网vue2升vue3的教程中,演示了如何使用onLoad,记得把官网所有内容都看一遍!!! 传递对象参数 uni.navigateTo({url: /pages/login/code/code?data JSON.stringify({limit: 6, iphone: loginForm.username, }), });…

Oracle ADG Snapshot Standby体验

本文参考了OBE文章Using Snapshot Standby Snapshot Standby的概念 参见这里。 A snapshot standby database is a fully updatable standby database. It receives and archives redo data from a primary database, but does not apply it. Redo data received from the pr…

选择排序算法

选择排序 算法说明与代码实现&#xff1a; 以下是使用Go语言实现的选择排序算法示例代码&#xff1a; package mainimport "fmt"func selectionSort(arr []int) {n : len(arr)for i : 0; i < n-1; i {minIndex : ifor j : i 1; j < n; j {if arr[j] < a…

Springboot使用AOP编程简介

AOP简介 AOP&#xff08;面向切面编程&#xff09;是一种编程范式&#xff0c;Spring AOP是基于代理模式的AOP框架&#xff0c;它通过动态代理实现切面的织入&#xff0c;更加轻量级和易于使用。 Joinpoint (连接点):类里面可以被增强的方法即为连接点。例如&#xff0c;想修…

Vue2-Vue3组件间通信-EventBus方式-函数封装

Vue3中采用EventBus方式进行组件间通信与Vue2有一定区别 1.创建EventBus 在Vue2中&#xff0c;我们可以在main.js中创建一个全局的EventBus&#xff0c;代码如下&#xff1a; // EventBus.js import Vue from vue const EventBus new Vue() export default EventBus// main.…

iOS开发-AFNetworking网络请求及上传下载功能

iOS开发-AFNetworking网络请求及上传下载功能 AFNetworking是一个轻量级的iOS网络通信类库&#xff0c;可以方便实现网络请求。 一、使用AFNetworking 在Podfile中安装 pod AFNetworking导入AFNetworking #import "AFNetworking.h"AFNetworking下载地址&#xf…

GmSSL-3.0.0国密支持的验证笔记

GmSSL-3.0.0国密支持的验证笔记 github上直接下源码编译 github上的tag只有3.0.0和3.1.1两个版本 GmSSL-3.1.1 ubuntu18.04上直接编译报错&#xff0c;放弃了。 GMSSL-3.0.0 cmake直接编译&#xff0c;没有问题 验证 # root ubuntu in /opt/GmSSL-3.0.0/bin [5:54:26]…

JS垃圾回收机制详解

本文介绍了JavaScript中的垃圾回收机制&#xff0c;包括它的原理&#xff0c;常用的算法&#xff0c;以及优化的方法。本文旨在帮助程序员理解和掌握JavaScript的内存管理&#xff0c;提高程序的性能和稳定性 JavaScript是一种动态类型的编程语言&#xff0c;它不需要程序员手动…

杨辉三角,给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

题记&#xff1a; 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1 输出: …

Jenkins通过OpenSSH发布WinServer2016

上一篇文章> Jenkins集成SonarQube代码质量检测 一、实验环境 jenkins环境 jenkins入门与安装 容器为docker 主机IP系统版本jenkins10.10.10.10rhel7.5 二、OpenSSH安装 1、下载 官网地址&#xff1a;https://learn.microsoft.com/zh-cn/windows-server/administration/op…

JavaWeb教程笔记

JavaWeb Java Web 1、基本概念 1.1、前言 web开发&#xff1a; web&#xff0c;网页的意思 &#xff0c; www.baidu.com静态web html&#xff0c;css提供给所有人看的数据始终不会发生变化&#xff01; 动态web 淘宝&#xff0c;几乎是所有的网站&#xff1b;提供给所有人…

Spring Boot使用@Async实现异步调用:自定义线程池

一、定义线程池 第一步&#xff0c;先在Spring Boot主类中定义一个线程池&#xff0c;比如&#xff1a; SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}EnableAsyncConfigurat…

综合能源系统(5)——综合能源系统优化控制技术

综合能源系统关键技术与典型案例  何泽家&#xff0c;李德智主编 综合能源系统优化控制技术是打破原有各能源供用系统单独规划、单独设计和独立运行的既有模式&#xff0c;实现多能协同互补和综合能源系统稳定运行的关键技术&#xff0c;以实现能源高效利用与可再生能源消纳为…

3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果

推荐&#xff1a; NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 拖拽撕布 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建平面。保持其长度 后座和宽度后座为 100。 创建平面 步骤 3 转到助手>假人并在 飞机的两侧。 助手>假人 步骤 4 选…

2023牛客暑期多校训练营2

D.The Game of Eating 思路&#xff1a;考虑贪心。每个人都会选择一道对于自身价值最大的菜&#xff0c;但考虑到其他人会帮自己提供一定的贡献&#xff0c;即样例二&#xff0c;第一个只需要点第三道菜&#xff0c;第二个人点第四道菜&#xff0c;自动帮第一个人补全了第四道…

Arthas实战:阿里巴巴开源的Java诊断利器

Arthas实战:阿里巴巴开源的Java诊断利器 Arthas简介 Arthas是Alibaba开源的Java诊断工具,可以在线排查问题,无需重启即可直观分析JVM的状况。 Arthas支持JDK 6,采用命令行交互模式,同时提供丰富的tab自动补全功能,进一步方便进行问题的定位和诊断。 Arthas安装 有以下几种…

Rust的入门篇(下)

这篇博客是rust入门篇下 45. 生命周期注释 // 生命周期// 下面代码不能通过编译 // longer 函数取 s1 和 s2 两个字符串切片中较长的一个返回其引用值 // 返回值引用可能会返回过期的引用 // fn longer(s1: &str, s2: &str) -> &str { // if s2.len() >…

亚马逊、虾皮、Lazada、速卖通、阿里国际等跨境电商平台怎么获取优质评价?

在跨境电商平台上&#xff0c;产品的评价直接影响卖家账户的评定因素&#xff0c;同时也影响产品页面的曝光量和流量&#xff0c;从而对产品销量产生影响&#xff0c;因此&#xff0c;产品评价的重要性不言而喻&#xff0c;除了产品的图片、描述、详情、广告和站外推广&#xf…