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/463.shtml

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

相关文章

数组与指针

博客内容:数组与指针 文章目录 一、 数组?指针?1.区别与联系大小赋值存储位置 二、指针数组、数组指针?二维数组和二级指针&数组名与数组的区别总结 一、 数组?指针? 数组 相同类型数据的集合 指针 指…

使用SpringBoot+React搭建一个Excel报表平台

摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 Excel报表平台是一款功能强大、操作简单的系统平台,可以帮助用户上传…

【C++/嵌入式笔试面试八股】二、24.TCP三次握手四次挥手 | TCP可靠性

TCP三次握手四次挥手 64.TCP头部中有哪些信息?❤️ TCP数据报格式(左图) UDP数据报格式也放这(右图),不具体解释了。 结合三次握手四次挥手来看 端口: 区分应用层的不同应用进程 扩展:应用程序的端口号和应用程序所在主机的 IP 地址统称为 socket(套接字),IP:端口…

如何在 Windows 中免费合并 PDF 文件 [在线和离线]

PDF是一种广泛使用的文件格式,具有兼容性好、安全性高、易于打印、方便浏览等众多优点。在工作和学习过程中,经常需要将同一类型的PDF文件合并起来,以方便传输和查看,使得合并PDF文件成为一种重要的数据整合方法。 如果您想知道如…

1、Kubernetes 概述和架构

目录 一、基本介绍 二、kubernetes功能和架构 2.1、 概述 2.2 、功能 (1)自动装箱 (2)自我修复(自愈能力) (3)水平扩展 (4)服务发现 (5)滚动更新 &a…

Linux进程理解【环境变量】

Linux进程理解【环境变量】 提到环境变量,大家可能有些陌生,如果编写过Java就知道,编写Java需要提前安装JDK,这个操作就是配置Java的编码环境,在Linux中当然也少不了环境变量,下面我们就一起来看看 文章目…

Node.js 版本管理工具 n 使用指南

Node.js 版本更新很快,目前 node v20.x 已经发布,我们在使用时避免不了会需要切换不同的 Node.js 的版本来使用不同版本的特性。 所以就出现了像 windows 上的 nvm,MacOS 上的 n 工具,本文就介绍一下如何使用 n 管理 Node.js 的版…

Django_haystack全文搜索

haystack是全文搜索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看官方网站。 whoosh是用纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc等,但是无二进制包,程序…

LiveNVR监控流媒体Onvif/RTSP功能-安全控制HTTP接口鉴权开启禁止游客访问开启后401 Unauthorized如何播放调用接口

LiveNVR安全控制HTTP接口鉴权开启禁止游客访问开启后401 Unauthorized如何播放调用接口? 1、安全控制1.1、接口鉴权1.2、禁止游客访问 2、401 Unauthorized2.1、携带token调用接口2.1.1、获取鉴权token2.1.2、调用其它接口2.1.2.1、携带 CookieToken2.1.2.2、携带 U…

使用Feign进行微服务之间的接口调用:Spring Cloud Alibaba中的声明式服务调用

一、Feign介绍 Feign是一个声明式的HTTP客户端框架,用于简化微服务架构中服务之间的通信。它是Spring Cloud框架的一部分,旨在提供一种优雅且易于使用的方式来定义和调用HTTP请求。 Feign的设计目标是让服务之间的通信变得更加简单和直观。通常情况下&am…

opencv 基础学习08-图像通道操作

opencv 基础学习08-图像通道操作 什么是图像通道?通道操作:**1 通过索引拆分**2 通过opencv 函数拆分通道合并 什么是图像通道? OpenCV的通道拆分功能可用于将多通道图像拆分成单独的通道,这在图像处理和计算机视觉任务中具有许多…

你的隐私被泄漏了吗

近日,某高校毕业生在校期间窃取学校内网数据,收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注。在大数据时代,算法分发带来了隐私侵犯,在享受消费生活等便捷权利的同时,似乎又有不…

【Vue3】setup参数细讲!computed计算属性和watch监听属性

setup参数细讲!computed计算属性和watch监听属性 setup细讲!setup参数,steup(props,context)参数1.props,负责接收父组件传过来的值参数2.contextcontext.attrscontext.emitcontext.slots, 插槽…

.Net Core Restful Api 版本区分第一种

前言:在我们进行Web Api开发时,版本的区分,是必须要考虑的,涉及到我们的版本发布,切换等,如何从旧版本无缝的切换到新版本? 下面,我们通过使用[ApiVersion]特性,实现两个…

Spring MVC 系列1 -- 初识Spring MVC

目录 1. 什么是 Spring MVC? 2. MVC定义 3. 创建SpringMVC项目 ​4. Spring MVC要学习哪些? 1. 什么是 Spring MVC? 官⽅对于 Spring MVC 的描述是这样的: 翻译成中文 从上述定义我们可以得出两个关键信息: 1. Spring MVC 是…

conda疑难杂症

annaconda、miniconda和conda的关系 conda官网 https://docs.conda.io/projects/conda/en/latest/ 下载安装Anaconda: https://www.anaconda.com/products/distribution#Downloads 下载安装Miniconda:https://docs.conda.io/en/latest/miniconda.html 安装 安装…

7月6日华为云盘古气象大模型登上《Nature》杂志:相比传统数值预报快10000倍

7月6日,国际顶级学术期刊《自然》(Nature)杂志正刊发表了华为云盘古大模型研发团队的最新研究成果——《三维神经网络用于精准中期全球天气预报》(《Accurate medium-range global weather forecasting with 3D neural networks》…

C/C++实现高并发http服务器

http高并发服务器实现 基础知识 html,全称为html markup language,超文本标记语言。 http,全称hyper text transfer protocol,超文本传输协议。用于从万维网(WWW:World Wide Web)服务器传输超…

win10远程桌面控制Ubuntu服务器 - 内网穿透实现公网远程

文章目录 前言视频教程1. ubuntu安装XRDP2.局域网测试连接3. Ubuntu安装cpolar内网穿透4.cpolar公网地址测试访问5.固定域名公网地址 转载自cpolar极点云文章:树莓派使用Nginx 搭建轻量级网站远程访问 前言 XRDP是一种开源工具,它允许用户通过Windows R…

【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str

文章目录 问题情境报错及分析报错代码分析 解决方案必要的解决方法可能有用的解决方法 问题情境 本解决方案适用情境:在本地可以正常运行的flask项目,放到云服务器报错TypeError: tuple indices must be integers or slices, not str,即代码…