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.mfbz.cn/a/37589.html

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

相关文章

Github Pages使用自定义域名

Github Pages使用自定义域名 部署好网站后默认访问地址是xxx.github.io,我们想要自定义为自己的域名 1.DNS解析 这里我使用的是腾讯云,DNS解析DNSPod 添加两条解析记录: 第一个解析记录的记录类型为A,主机记录为,记录值为ping 你的github用户名.githu…

【Java】单例模式

单例模式 设计模式概述单例模式实现思路饿汉式懒汉式饿汉式 vs 懒汉式 设计模式概述 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我…

【unity之IMGUI实践】单例模式管理面板对象【一】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

electron globalShortcut 快捷键与系统全局快捷键冲突

用 electron 开发自己的接口测试工具(Post Tools),在设置了 globalShortcut 快捷键后,发现应用中的快捷键与系统全局快捷键冲突了,导致系统快捷键不可正常使用。 快捷键配置 export function initGlobalShortcut(main…

【宝塔】宝塔部署ThinkPHP项目

最近搞了个培训教育的小程序,后端服务用的是ThinkPHP。使用的过程中,发现对于这种小项目用php还是很不错的选择,开发便捷,轻量级。宝塔神器也是很不错的,值得推荐使用。 下面介绍一下项目中用宝塔部署ThinkPHP项目&…

【菜鸟の笔记_利用Excel自动总结表格数据_自动链接word文本】

自动更新总结表格数据 1. 撰写原因2. 解决的问题3. Excel自动总结表格数据内容(一段话)。3.1问题引出3.2解决方式 4.Excel数据、总结内容,自动链接更新Word文本 1. 撰写原因 【GPT的答案】利用Excel自动总结表格数据有以下好处: …

redis浅析

一 什么是NoSQL? Nosql not only sql(不仅仅是SQL) 关系型数据库:列行,同一个表下数据的结构是一样的。 非关系型数据库:数据存储没有固定的格式,并且可以进行横向扩展。 NoSQL泛指非关系…

RocketMQ 为何性能高

本文主要从性能角度考虑 RocketMQ 的实现。 整体架构 这是网络上流行的 RocketMQ 的集群部署图。 RocketMQ 主要由 Broker、NameServer、Producer 和 Consumer 组成的一个集群。 **NameServer:整个集群的注册中心和配置中心,管理集群的元数据。包括 T…

解析Android VNDK/VSDK Snapshot编译框架

1.背景 背景一: 为解决Android版本碎片化问题,引入Treble架构,它提供了稳定的新SoC供应商接口,引入HAL 接口定义语言(HIDL/Stable AIDL,技术栈依然是Binder),它指定了 vendor HAL 和system fr…

容器化背后的魔法之Docker底层逻辑解密

Docker内部工作原理是怎样的? 现在我们知道了Docker是什么以及它提供了哪些好处,让我们逐个重要的细节来了解。 什么是容器?它们是如何工作的? 在深入研究Docker的内部机制之前,我们首先要了解容器的概念。简单地说…

从2023中国峰会,看亚马逊云科技的生成式AI战略

“生成式AI的发展就像一场马拉松比赛,当比赛刚刚开始时,如果只跑了三四步就断言某某会赢得这场比赛,显然是不合理的。我们现在还处于非常早期的阶段。” 近日,在2023亚马逊云科技中国峰会上,亚马逊云科技全球产品副总裁…

JSX的基础使用

1. JSX嵌入变量作为子元素的使用 ①当变量是Number、String、Array类型时,可以直接显示; ②当变量是null、undefined、Boolean类型时,内容为空; 若想要展示nul、undefined、Boolean类型,转字符串;转换方式…

增强型视觉系统 (EVS)

增强型视觉系统 EVS 1、增强型视觉系统概览2、车载相机 HAL2.1 EVS 应用2.2 EVS 管理器2.3 EVS HIDL 接口2.4 内核驱动程序 《增强型视觉系统 (EVS) 1.1 集成指南》 车载相机 HAL 1、增强型视觉系统概览 为了增强视频串流管理和错误处理,Android 11 更新了车载相机…

图像处理之图像灰度化

图像灰度化 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万 (255255255)的颜色的变化范用。而灰度图像是R、G、B三个分量相同的一种特…

纯css3实现小鸡从鸡蛋破壳而出动画特效

实现一个使用纯css3实现小鸡破壳的效果 示例效果如下所示 示例代码 <template><div><div class"eggWrapper"><div class"chickHead"><div class"eyeDiv"></div><div class"eyeDiv"></di…

vue3+mapboxgl鼠标浮动显示cgcs2000

一、需求 鼠标在地图中浮动展示地图的经纬度&#xff0c;cgcs2000 xy 还有显示带号 二、实现效果 展示经度&#xff0c;纬度&#xff0c;x值&#xff0c;y值显示的是带号和y值 三、思路 3.1、mapbox获取经纬度方法 初始化地图后.on方法中有个mousemove方法 mapboxUtil._m…

故障排错篇之OSPF协议

一、OSPF邻居建立不成功 1、从理论上判断问题的所在 1.1、检查邻居两端的接口物理和协议状态是否UP&#xff0c;状态是否稳定&#xff0c;接口是否有丢包&#xff0c;两边互ping大包是否能通 若物理接口不Up或是不稳定&#xff08;有振荡现象&#xff09;&#xff0c;请排查…

lvs使用

1.前言 LVS&#xff08;Linux Virtual Server&#xff09;是一个基于 Linux 内核的负载均衡器&#xff0c;用于分发网络流量和将请求转发给后端服务器。LVS 提供了多种负载均衡算法和转发模式&#xff0c;以满足不同场景和需求的负载均衡需求&#xff0c;在LVS中定义虚拟服务的…

2023- itwangyang - mac mysql 终端启动命令

在mac上使用mysql终端进行操作时&#xff0c;需要先启动mysql服务。以下是启动mysql服务的命令&#xff1a; sudo /usr/local/mysql/support-files/mysql.server start执行该命令后&#xff0c;会出现一些提示信息&#xff0c;等待一段时间后mysql服务就启动成功了。 接下来&…

SSM框架最新整合保姆级教程(IDEA版)

SSM框架最新整合保姆级教程(IDEA版) 一、环境要求 ​ 环境&#xff1a; IDEAMySQL 5.7.19Tomcat 9Maven 3.6 要求&#xff1a; 需要熟练掌握MySQL数据库&#xff0c;Spring&#xff0c;JavaWeb及MyBatis知识&#xff0c;简单的前端知识&#xff1b; 完整代码&#xff1a;…