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区别
- 开源VS闭源:Linux是开源的系统,其内核和大部分的软件的代码都是公开的,任何人都可以进行修改、查看。而windows操作系统则是闭源的商业操作系统,其源代码是不公开的,只有微软公司才能够进行修改等操作。
- 发行模式:Linux以发行版的形式进行发布,如Ubuntu、CentOS等,每个发行版都有自己的特点和目标用户群,而windows则是以单一的官方版本进行发布的,只不过是用户可以选择自己想要的版本,如windows10,windows11等。
- 用户界面:windows操作系统采用的图形化界面作为主要的交互方式,提供了直观的操作和良好的用户体验,Linux也提供了多种桌面的环境,但是Linux在图形化方面,还是比windows要落后一点。
- 应用程序和兼容性:Windows拥有庞大的应用程序生态系统,有许多商业软件和游戏专门为Windows开发。而Linux虽然也有许多优秀的开源和免费软件,但在商业软件和某些特定应用领域的支持上相对较少。此外,Windows在硬件和驱动程序的兼容性方面较为广泛,因为大多数硬件供应商更倾向于为Windows提供驱动程序。
- 安全性和稳定性:由于开源性质,Linux操作系统受到广泛的审查和贡献,具有良好的安全性和稳定性。相比之下,Windows由于其广泛的用户群和闭源性质,更常受到恶意软件的攻击,并可能面临一些安全和稳定性挑战。
- 部署和管理: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" 重点: 设置…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

Linux系统:进程间通信-匿名与命名管道
本节重点 匿名管道的概念与原理匿名管道的创建命名管道的概念与原理命名管道的创建两者的差异与联系命名管道实现EchoServer 一、管道 管道(Pipe)是一种进程间通信(IPC, Inter-Process Communication)机制,用于在不…...