当前位置: 首页 > news >正文

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

 

相关文章:

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操作系统是并列…...

【问题总结】Docker环境下备份和恢复postgresql数据库

目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径,并将备份文件上传到对应的路径下 三、 进入docker容器内部,执行数据库恢复附录…...

《TCP IP网络编程》第六章

《TCP IP网络编程》第六章:基于 UDP 的服务端/客户端 UDP 套接字的特点: 通过寄信来说明 UDP 的工作原理,这是讲解 UDP 时使用的传统示例,它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址,之后…...

如何学习java

-学习Java是一个循序渐进的过程,下面提供一些学习Java的方法,帮助您有效地掌握这门编程语言: 定义学习目标:明确您学习Java的目标和用途。是为了进入软件开发行业,还是用于特定项目或兴趣爱好?明确学习目标…...

RabbitMQ实现六类工作模式

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: RabbitMQ实现六类工作模式 ⏱️ 创作时间: 2023年07月20日…...

all in one (群辉、软路由、win/linux)折腾日记

目录 生命不息,折腾不止名词解释硬件参数装机 生命不息,折腾不止 因自身能力有限,可能内容质量不高,欢迎志同道合的各路大神加入,共同折腾! 名词解释 ALL IN ONE :多功能一体机 OpenWrt【软路…...

【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】

目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后,缓…...

MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解

MiniGPT4系列之一部署篇:在RTX-3090 Ubuntu服务器部署步骤详解_seaside2003的博客-CSDN博客 MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解_seaside2003的博客-CSDN博客 MiniGPT4系列之三模型推理 (Web UI):在RTX-309…...

Android TvSettings Bug: 密码框无法点击唤起输入法

概述 Android 10 的Box方案, 默认使用的是TvSettings作为系统设置,输入操作的习惯上是使用鼠标,键盘,遥控,日常的场景是没有问题,也不会出现本文中提及的问题。当外接的USB触摸屏后,出现无法点击…...

Windows, MacOS还是Linux好?

今天我们来聊一个小话题:选操作系统,是哪个好?今天,我以一个介绍者的身份给大家推荐,我就不出什么点子了。 Windows Windows,是一个老牌的操作系统。他的优处和短处和有很多,我们来介绍一下 优…...

Gateway自定义过滤器——全局过滤器

一、什么是全局过滤器🍉 首先,我们要知道全局过滤器其实是特殊路由过滤器(特殊的GatewayFilter),会有条件地作用于所有路由。 为什么要自定义全局过滤器?就好比是看大门的保安大叔,平时主要是做好进出大门外来人员登记…...

Android App的几个核心概念

Application启动 点击桌面图标启动App(如下流程图) 针对以上流程图示: ActivityManagerService#startProcessLocked()Process#start()ActivityThread#main(),入口分析的地方ActivityThread#attach(),这个里面的逻辑很核心 ActivityManagerS…...

window10安装telnet

1、打开控制面板 2、点击程序和功能 3、点击启用或关闭Windows功能 4、选中Telnet客户端,然后点击确定,然后就可以使用telnent 主机 端口来查看本地是否能连通该主机的该端口。...

大厂sql真题讲解(黑马)

2023 http://yun.itheima.com/open/853.html | 面试宝典-如何备战大厂SQL真题 http://yun.itheima.com/open/858.html | 面试宝典–大厂必考知识开窗函数 http://yun.itheima.com/open/864.html | 面试宝典-详解美团SQL真题 http://yun.itheima.com/open/868.html | 图解大…...

SpringBoot整合EasyExcel实现读操作

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: SpringBoot整合EasyExcel实现读操作 ⏱️ 创作时间: 2023年…...

go mod 设置国内源 windows 环境 win10

启用 go module 功能 go env -w GO111MODULEon 配置 goproxy 变量 go env -w GOPROXYhttps://goproxy.cn,direct 下载包就行了,速度飞快 go mod tidy 检测 goproxy 是否配置好 运行 go env | findstr goproxy 查看 goproxy Go module 从 Go v1.12 版本开始存在&a…...

智能决策支持系统实现的关键技术分析

1.模 型 中 的 关 键 因 素 。 在 按 本 模 型 研 究 开 发 系 统 时 ,应 当 着 重 考 虑 以 下 几 个 因 素 : (1)设 备 保 护 需 求 计 划 。 保 护 需 求 包 括 了 人 员 、 物 质 、 财 务 等 各项 因 素 ; (2)考 虑 设 备 运行 及维修的 历史数据。 这是进 行 模 型 选 择…...

OSS对象存储后端实现+Vue实现图片上传【基于若依管理系统开发】

文章目录 基本介绍术语介绍图片上传方式介绍普通上传用户直传应用服务器签名后直传 OSS对象存储后端实现maven配置文件配置类ServiceController 图片上传前端图片上传组件api页面使用组件组件效果 基本介绍 术语介绍 Bucket(存储空间):用于…...

人工智能学习目录

1、人工智能-电脑如何像人一样思考? 从发展历史到人工智能的应用案例,再到人工智能本质是数学问题,从房价预测问题提出损失函数由参数导致,再由损失函数的最优值入手引入梯度下降法,最后到多参数方程的最优求解。 人工…...

Vue单页面实现el-tree el-breadcrumb功能、el-tree右键点击树节点展示菜单功能、树节点编辑节点字段名称功能

(1) 点击el-tree节点 使用el-breadcrumb展示选中树节点及父项数据 重点:handleNodeClick方法、getTreeNode方法 (2) 选择el-breadcrumb-item设置el-tree节点选中 必须设置属性: current-node-key"currentNodeKey" 、 node-key"id" 重点: 设置…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...