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

走进linux

1、为什么要使用linux

稳定性和可靠性

Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务

安全性

Linux系统的安全性得到了广泛认可。开源的自然属性使得漏洞可以很快被发现和修复,从而降低了受到安全威胁的风险

资源利用效率

Linux在资源管理方面表现出色,可以高效地利用服务器硬件资源,使得服务器能够同时处理大量的请求

开源和免费:

Linux是开源的,因此不需要为操作系统本身付费。这使得它在经济上具有明显的优势,特别是对于企业或组织需要部署大量服务器的情况

Linux文件目录结构

  • linux的存储结构是树形结构
  • 以一个一个的目录来挂在根目录下
  • linux是没有盘符概念的,linux一切皆文件
  • linux的目录层级是以右上左下的斜杠来表示‘
  • wndows是以左上右下的斜杠来表示
  • 每个用户都有自己的家目录,在/home/用户名

 

/根目录,每个目录的起点,所有的目录都在根目录下
home创建的用户都会在home下有自己的目录
rootroot也就是管理员用户,保存管理员的个人信息
bin以前二进制文件,现在是脚本目录
sbin高级命令启动停止类似于进程的启动和停止
etc环境变量
var日志
opt装软件,软件的安装包
tmp临时文件,会自动清除的,重要文件不要放在该目录

 

2、Linux常用命令

所有命令格式:命令本身+选项+参数

command: 命令本身 -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节 parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

2.1、文件操作命令:

命令本身选项参数命令作用
pwd打印当前所在目录
ls-a,-l打印当前所在目录的所有文件和目录,-a是all    -l是list
cd目录,~, .进入到参数的目录中
mkdir-p目录创建新的目录        -p是创建多级目录
touch文件创建文件
cp-r目录复制所选文件到目录,  -r是递归复制整个目录的所有文件
rm-r,-f文件,目录删除文件或目录   -r是递归删除目录的所有文件,-f强制删除
mv文件,目录移动或重命名文件,
cat-n文件查看文件的所有内容,-n是显示文件的行号
tail-n ,-f文件输出尾部内容,-n是输出n行数据,-f是实时监控
more文件查看文件,支持查找和分页查看

2.2、文本编辑相关

在命令行界面下,最常用的文本编辑器就是Vi/Vim。其中Vi 是 Linux操作系统中最通用的文本编辑器。 Vim编辑器是Vi的增强版,相较于Vi,提供了代码高亮等功能。两者用法完全兼容。下面介绍Vim的用法。

Vim模式介绍

Vim文编辑器有不同的工作模式,在不同模式下,可执行不同的操作,主要模式有

  • 普通模式(Normal Mode):用于删除、复制、粘贴等基本操作。

  • 编辑模式(Insert Mode):用于编辑文本。

  • 命令行模式(Command Mode):用于执行命令,如保存、退出等。

当用vim命令打开文件时,文件不存在时,自动创建

vim的命令模式,输入:或/进入命令模式      /+文本进行查找,输入n进行查找下一个,N为上一个

set nu 和set nonu 显示和取消行号

vim常用命令:

快捷键快捷键含义
yy复制当前行
dd删除当前行
p粘贴
命令模式:命令命令含义
:wq保存并退出
/文本全文进行查找内容
:set nu显示行号
:set nonu取消显示行号
:s/old/new/g`将所有的old内容换成new内容

2.3、文件权限相关

Linux中的所有文件均有严格的访问权限控制,只有当用户拥有某个文件的相关权限时,才可对文件执行相关操作

文件的权限:分为读(read)写(wirte)执行(execute)

权限字符串

在Linux系统中,文件和目录的权限用一组字符来表示,通常以rwxr-xr--的形式呈现,其中rwx分别表示读、写和执行权限。以下是权限字符的含义:

  • 第1-3位确定属主(该文件的所有者)拥有该文件的权限。

  • 第4-6位确定属组(所有者的同组用户)拥有该文件的权限。

  • 第7-9位确定其他用户拥有该文件的权限。

常用命令

命令命令含义
chmod(change mode)修改文件或目录权限
chown(change owner)修改文件或目录的所有者

 示例  :chmod [选项] [u/g/o/a][+/-/=][r/w/x] 文件或目录

  • 修改文件使其所属主用户具有执行权限

[root@localhost ~]# chmod u+x hello.cfg
  • 修改文件使其所属组用户具有执行权限

[root@localhost ~]# chmod g+x hello.cfg
  • 修改文件所属主用户执行权限,并使其他用户具有执行权限

[root@localhost ~]# chmod u-x,o+x hello.cfg

示例:chown [选项] 用户[:用户组] 文件或目录

  • 修改文件所有者

[root@localhost ~]# chown atguigu helle.cfg 
  • 递归改变文件所有者和所有组

[root@localhost ~]# chown -R atguigu:atguigu hello/

2.4、进程相关

操作系统中正在运行的一个程序称为一个进程。

命令选项命令含义
ps-a -u -x-a显示所有进程,-u以友好方式打印,-x显示后台进程

ps

-e -f-e显示所有进程,-f显示详细信息
kill-9终止程序 -9代表强制终止

2.5、压缩解压打包相关

zip/unzip可用于压缩和解压缩zip文件

命令选项参数命令含义
zip-r压缩包名,文件压缩文件为压缩包,存储到当前目录,-r为压缩目录
unzip-d压缩包解压缩到当前目录,-d为解压到指定目录
tar-c,-x,-f文件对文件进行打包,-c打包,-x解包,-f命名

 基本语法

打包:tar [选项] -c -f 包名 文件1 文件2 文件3 ...

解包:tar [选项] -x -f 包名 -C 指定目录

2.6、安装应用相关

2.6.1、rpm离线安装

RPM(RedHat Package Manager),RedHat软件包管理工具,在基于 RedHat 的 Linux 发行版中广泛使用。常见软件包如下Apache-1.3.23-11.i386.rpm,类似于Windows系统中的exe文件

命令选项参数
rpm-i,-v,-h软件包路径 -i是install安装,-v显示详细信息,-h显示进度
rpm-q.-a查询所有安装的rpm软件包
rpm-e软件包名,-e卸载软件

2.6.2、yum在线安装

YUM(全称为 Yellowdog Updater Modified)是一个Linux软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,并且可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,该功能类似在JAVA中使用Maven工具从远程仓库中下载依赖一样,可以自动处理依赖关系。

基本语法

yum [选项] install 软件包名

命令本身选项参数含义
yum [选项]install 参数-y软件名在线下载软件,-y是对所有请求都默认yes
yum remove软件名卸载软件

2.7、其他关键的命令

命令本身选项参数含义
grep-n文件从文件中通过关键字过滤关键行,-n在结果中显示行数
wc-m,-l,-w文件统计文件的数据-m字符数,-l行数,-w单词数
echo各种文本直接打印文本,若反引号则当命令使用
|管道符,与其他命令进行使用
 systemctl服务用来服务的启用和停止,开机自启等

管道符|将符号左边的值作为右边输入,支持嵌套行为

grep "dog"  anmals.txt|wc

重定向符:>:将左侧命令的结果,覆盖写入到文件,进行覆盖

                >>写入到文件,进行追加 

使用管道   ps -ef |grep java       |是管道符           将左边输出的数据,当作右边条件的数据源

在使用命令时,若有不知道的选项和参数要进行灵活使用,使用help和man命令查看

灵活使用  命令 --help

man命令     查看命令的完整介绍

3、LINUX的网络

3.1、桥接:虚拟出一个交换机,将虚拟机的虚拟网卡连接到交换机上,共用一个网络,公用同一个DHCP和NAT,所以每次新的连接都会分配不同的IP地址

3.2、NAT:虚拟出一个路由器(DHCP,NAT)创建一个局域网,

虚拟路由器通过主机的物理网卡连接到主机所在的网络

另在主机上虚拟出一个虚拟网卡也加入到这个路由器上,实现同一局域网的相互通信,虚拟机和主机通信。

3.3、仅主机:虚拟出一个路由,但没有NAT,不能连接到主机的网络,只能实现互通

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言 | Leetcode C语言题解之第230题二叉搜索树中第K小的元素
  • 我的AI音乐梦:ChatGPT帮我做专辑
  • 【PyTorch单点知识】自动求导机制的原理与实践
  • Apache配置与应用(优化apache)
  • 【Excel】 批量跳转图片
  • C#,开发过程中技术点GPT问答记录
  • 深入理解FFmpeg--libavformat接口使用(一)
  • paddlepaddle2.6,paddleorc2.8,cuda12,cudnn,nccl,python10环境
  • c语言alpha-beta剪枝六子棋
  • 【C++深度探索】全面解析多态性机制(二)
  • 炒鸡清晰的防御综合实验(内含区域划分,安全策略,用户认证,NAT认证,智能选路,域名访问)
  • 【JavaScript脚本宇宙】提升用户体验:探索 JavaScript 命令行界面开发工具
  • LangChain —— Chat Model
  • windows远程桌面到 Linux系统(Ubuntu:22.04)—— 安装xrdp软件
  • 设计模式使用场景实现示例及优缺点(创建型模式——单例模式、建造者模式、原型模式)
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • HTTP中的ETag在移动客户端的应用
  • Java 多线程编程之:notify 和 wait 用法
  • React16时代,该用什么姿势写 React ?
  • spring boot 整合mybatis 无法输出sql的问题
  • Spring核心 Bean的高级装配
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 后端_MYSQL
  • 前端_面试
  • 驱动程序原理
  • 如何解决微信端直接跳WAP端
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 项目实战-Api的解决方案
  • 学习JavaScript数据结构与算法 — 树
  • 学习笔记:对象,原型和继承(1)
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​iOS实时查看App运行日志
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (02)Hive SQL编译成MapReduce任务的过程
  • (160)时序收敛--->(10)时序收敛十
  • (八)Flink Join 连接
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (十八)三元表达式和列表解析
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (四)c52学习之旅-流水LED灯
  • (算法)N皇后问题
  • (新)网络工程师考点串讲与真题详解
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (源码分析)springsecurity认证授权
  • (转载)PyTorch代码规范最佳实践和样式指南