linux介绍与基本指令

前言

本次博客将会讲解linux的来源历史、linux操作系统的理解以及它的一些基本指令。

1.linux的介绍

linux的来源

linux的来源最初还是要说到unix操作系统的。

1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。

1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。

肯·汤普森和丹尼斯·里奇他们是uinx的创始人。

基于unix,linux也诞生了。

1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds(托瓦兹)在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。

linux开源

 Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。

企业应用现状

Linux在服务器领域的发展

Linux服务器操作系统在整个服务器操作系统市场格局中占
据了越来越多的市场份额,已经形成了大规模市场应用的局面。

Linux在桌面领域的发展

近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗
Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。

Linux在移动嵌入式领域的发展

Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。

Linux在云计算/大数据领域的发展

互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。

发行版本

1 Debian

Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。

2 Ubuntu

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手适用的。

3 RHEL(红帽企业级Linux)

这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。

4 CentOS

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。

5 Fedora

小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

6 Kali Linux

Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。

2.linux操作系统的基本理解

linux系统的管理员

whoami这条指令可以查看当前用户,当前这个用户root就是linux操作系统的管理员。拥有最高权限。

用户管理

下面是创建一个新用户:

adduser  用户名

New password:

这里输入的密码不回显,一定注意。

下面是删除用户:

在删除时注意,要加上-r命令行选项,我这里是ubuntu的操作系统所以没有也可以删除,但是其他系统不一定能够删除。这里再次重新删除时,显示已经不存在了,说明删除成功。

这里就可以看到有多少个普通用户了。补充:ls指令时显示当前目录下的所有文件。cd 进入某个目录中

补充一个知识root是系统的管理员拥有最高的权限,普通用户只能管理自己的文件,权限收到root的限制。

路径

pwd查看当前路径的指令,路径其实就是当前你所处在的位置。比如说上面的结果中显示我们在linux系统下的root目录中。也可以去看一看windos操作系统的路径:

上面就是windos的路径了。

观察一下:windos下的路径分隔符:     linux下的路径分隔符: /

一个是反斜杠另一个是斜杠。

linux操作系统下一切皆文件:

文件是什么?

一般去理解一个文件,自然而然的就想到了文件里肯定有内容,那么这个内容是文件的主体。

这就是windos系统下的记事本,是一个txt文件。在linux系统下,文件的分类不看后缀。

ls是查看当前目录下文件的名字,这里要介绍命令行选项了。

-a是显示隐藏文件,-l是显示文件的更多属性。以.开头的文件名是隐藏文件。

文件=文件属性+文件内容

文件属性一般是:文件类型,文件权限,文件时间等等。

文件的类型可以有很多:隐藏文件,目录文件,普通文件。

隐藏文件:上面的代码中会有两个文件一个是. 另一个是..

注意在每一个目录内都会默认生成两个隐藏文件,. 代表的是自身目录, ..代表上级目录。

配合cd可以快速进出目录。

隐藏文件只是一个属性,普通文件也可以隐藏,目录文件也可以隐藏,其他文件也可以隐藏。

这里就是普通的隐藏文件。

接来来介绍家目录与根目录

一般的用户在登入时默认处于家目录下,所以家目录的定义就是用户的默认路径。

家目录的符号就是:~ 

假如用户在其他路径下,要进入家目录最快的方法是什么?

根目录就是整个linux操作系统的大目录,也就是说第一个目录就是/

根目录的符号就是: \

要回到家目录也很简单

Linux的文件系统
linux的文件系统本质是一颗以根目录开始的多叉树。

特性1:叶子节点一定是普通文件或者空目录。

特性2:非叶子节点一定是非空目录。

我们发现每一个文件的路径都是唯一确定的。

所以不存在歧义,那么要找到一个文件,就必须要有一个确定的路径。

一般路径分两类:绝对路径和相对路径

这个还是很重要的!!!!

绝对路径:很简单就是把所有路径都写出来即可,比如在上面的图中找到lib,假设lib是一个目录

那么可以 /usr/lib即可找到lib,要进入lib目录中的话,加上cd就好

cd /usr/lib,这样不就进来了。

相对路径:目标路径与现在所处的路径的相对之下要走的路径。

比如说现在在home路径下,要找到test.c文件,当然text.c是一个普通文件,不可以进入,它不是目录,所有只要找到包含它的目录即可,那么该目录是bit对吧!

所以 ./bit 就找到了该路径,那么cd ./bit 不就进来了?

不要疑惑这个. 因为它代表了自身目录当然这里是可以直接缩写的,因为路径可以向下查找,不能向上查找所以 cd bit 也是可以的。

我们可以在linux下试试看:

这里是普通用户从家目录的路径,那么任务来了:

使用相对路径进入lesson1

回到家目录在使用绝对路径进入lesson1

我相信聪明的大家肯定看到出来。

命令==文件==可执行文件

这里cd是shell的内置命令所以不存在文件中,但是其他的文件注意看是不是都是在一个路径中?

vim是文本编辑器可以进入到文本文件中进行编辑。

看到吗?这些是二进制代码,是一个可执行的程序。说明指令也是文件。

所以linux系统下一切皆文件!!!!!!

3.linux下的一些快捷键

ctrl+c终止程序:这个可以举例

使用cat指令时,输入一个数 系统会输出一个数,那么使用ctrl+c就可以使它停止。

上下键可以重现历史指令

按下 上键

按下 下键

tab键补全文件名:

按下 tab键

这个会自动查找与之对应的文件,并且自动补齐。

ctrl+d:退出当前用户

这个也好演示

那么就从root账户退出到了普通用户了。

ctrl+c复制   shift+insert粘贴。

4.linux的基本指令

 1 ls指令

对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

它有一些命令行选项

ls . 显示当前目录的文件

ls 路径 ,显示该路径的文件

ls -a ,显示隐藏文件

ls -l 显示文件的其他属性

ls -d 显示当前目录属性,若只有一个-d那么只显示该目录名字。

上面的指令就是显示当前所在路径的属性。

上面显示的是家目录的文件。

2 pwd

显示当前所在的绝对路径。

没有注意点,但是常用!!

3 cd指令

进入某一个路径,可以是绝对路径也可以是相对路径。

cd - 进入前一个路径

这里先是从家目录进入lesson1路径,然后cd -进入家目录,再cd -进入lesson1路径。

4 touch 

创建一个普通文件,

touch +文件名:默认在当前路径中添加文件。

touch +路径+文件:在指定路径下添加文件

我们这里就是在上级目录下(learning)下给下级目录(lesson2)创建普通问文件。

注意以后的指令其实都可以有默认路径和指定路径这一说法!!!

5 mkdir

在当前目录下创建一个目录

加上-p命令行选项,可以递归构建目录

5. rmdir&&rm指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

只能删除空目录,加上-p可删除只有包含当前被删除目录的父目录,也就是连同父目录一起删除。

rm命令可以同时删除文件或目录

rm -rf 强制删除文件,不管它有没有包含其他的文件,都一并删除

6. man指令

一般用来查找指令以及c语言库函数的。man有8个章节。

1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfigmna 

man 关键字

下面是例子: 

 

man ls

man 1 bash

查找第一章节:

最后,可以按q退出,

man指令的作用是查找一些常见的指令和一些语言的语法!

7.cp指令

cp 普通源文件 普通目标文件

在同一路径下,就是对该源文件的拷贝。

当然目标文件的名字必须要和源文件不同。不然会出现下面的情况。

下面是copy的过程。a.txt与b.txt文件的内容一样。

cp 普通源文件  某一个路径/目标文件

这个是最常用的,把一个文件放在其他的路径下。这个也好举例:

把a.txt拷贝放在上级目录中,以c.txt命名。

上面的代码只是对文件进行拷贝,但是也可以通过 -r选项把整个目录递归拷贝在某个路径下。

很好举例:

我们要把1/2/3/4/5这个路径中的所有文件都放在text中。

这样就可以拷贝目录中所有的文件和目录。

8.mv指令

mv [选项] 源文件或目录 目标文件或目录

要把目录3移动到2目录中,并且把a.txt,b.txt移动到目录3中

这样就可以了,应该也不难!

9.cat指令

查看目标文件的内容

单独的cat相当于读取键盘输入,把它输出在屏幕中。

10 echo指令

这个指令可以把一行内容输出

自此基本的一些指令算是介绍完成了,至少对于文件的增删查改都已经涉及到了。

就这样把。


 

   

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57443.shtml

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

相关文章

Kafka系列之:Kafka集群新增节点后实现数据均衡

Kafka系列之:Kafka集群新增节点后实现数据均衡 一、背景二、Kafka集群快速负载均衡方案三、按照Topic负载均衡Kafka系列之:使用Kafka Manager实现leader分区平衡和broker节点上分区平衡一、背景 Kafka集群新增节点,要使得每个节点数据均衡,在增加完kafka topic分区后,要进…

Qt中自定义qDebug打印信息的宏(文件名,行数,函数名,日期,时间等前缀)并取消打印

使用qDebug()打印信息时&#xff0c;默认打印"<<"符号后面的信息。 通过自定义宏&#xff0c;可以额外打印文件名&#xff0c;行数&#xff0c;函数&#xff0c;日期、时间等前缀&#xff0c;方便快速定位调式信息的位置。 同时&#xff0c;可以定义宏取消打…

AI学习指南深度学习篇-对比学习的数学原理

AI学习指南深度学习篇——对比学习的数学原理 引言 在深度学习的领域中&#xff0c;对比学习作为一种无监督学习方法&#xff0c;逐渐引起了学术界和工业界的广泛关注。对比学习通过对样本间的相似性度量&#xff0c;来提升模型的特征表示能力&#xff0c;成为近年来研究的热…

C语言 | Leetcode C语言题解之第502题IPO

题目&#xff1a; 题解&#xff1a; #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX_INT_NUMBER 0x7FFFFFFEtypedef struct {int capital;int profit; } ProNode;int CompareProfit(const ProNode *a, const ProNode *b) { /* 从大到小排序 */return b->pr…

根据发生异常的汇编指令以及函数调用堆栈,从内存的角度出发,估计出问题的可能原因,确定排查方向,快速定位C++软件问题

目录 1、前言 2、初步分析dump文件 3、加载更多模块的pdb文件&#xff0c;可能能看到更多行的函数调用堆栈 4、从内存的角度去看&#xff0c;估计是访问了野指针导致的&#xff0c;沿着这个怀疑的方向快速地定位了问题 5、最后 C软件异常排查从入门到精通系列教程&#xf…

力扣OJ算法题:合并两个有序链表

—————————————————————————————————————————— 正文开始 OJ算法题&#xff1a;合并两个有序链表 思路 创建一个新的空链表&#xff08;可以用malloc优化&#xff09;和两个指针L1、L2分别指向两个链表&#xff0c;遍历两个链表&am…

taro底部导航,Tabbar

没有特别的幸运&#xff0c;那么就特别的努力&#xff01;&#xff01;&#xff01; 配置信息 官方给出&#xff1a; 在 app.config 中按正常填写 tabBar 项的相关配置&#xff08;为了向下兼容&#xff09;&#xff0c;并把 tabBar 项的 custom 字段设置为 true。但我试过 c…

Chromium 中chrome.contextMenus扩展接口实现分析c++

一、chrome.contextMenus 使用 chrome.contextMenus API 向 Google Chrome 的上下文菜单中添加项。您可以选择从右键菜单中添加的对象类型&#xff0c;例如图片、超链接和页面。 权限 contextMenus 您必须在扩展程序的清单中声明 "contextMenus" 权限&#xff0c…

R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍LDA的原理LDA的步骤教程下载数据加载R包导入数据数据预处理数据描述数据切割构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve保存模型总结优点:缺…

Ubuntu(22.04)本地部署Appsmith

Ubuntu&#xff08;22.04&#xff09;安装Appsmith 简要介绍 Appsmith 是一个开源的低代码开发平台&#xff0c;旨在帮助开发者和非开发者快速构建定制化的内部应用程序和管理工具。通过直观的拖拽界面和丰富的预配置组件&#xff0c;Appsmith 让用户无需编写大量代码即可创建…

Postman使用-基础篇

前言 本教程将结合业界广为推崇和使用的RestAPI设计典范Github API&#xff0c;详细介绍Postman接口测试工具的使用方法和实战技巧。 在开始这个教程之前&#xff0c;先聊一下为什么接口测试在现软件行业如此重要&#xff1f; 为什么我们要学习Postman&#xff1f; 现代软件…

数据轻松上云——Mbox边缘计算网关

随着工业4.0时代的到来&#xff0c;工厂数字化转型已成为提升生产效率、优化资源配置、增强企业竞争力的关键。我们凭借其先进的边缘计算网关与云平台技术&#xff0c;为工厂提供了高效、稳定的数据采集与上云解决方案。本文将为您介绍Mbox边缘计算网关如何配合明达云平台&…

React 基础阶段学习计划

React 基础阶段学习计划 目标 能够创建和使用React组件。理解并使用State和Props。掌握事件处理和表单处理。 学习内容 环境搭建 安装Node.js和npm 访问 Node.js官网 下载并安装最新版本的Node.js。打开终端或命令行工具&#xff0c;输入 node -v 和 npm -v 检查是否安装…

【Python】爬虫

Python爬虫是一种自动化下载网页内容的程序。以下是一个简单的Python爬虫示例&#xff0c;使用requests库获取网页&#xff0c;并用BeautifulSoup解析网页。 首先&#xff0c;你需要安装必要的库&#xff1a; pip install requests pip install beautifulsoup4 以下是一个简…

基于SpringBoot微信小程序的书院预约系统【附源码】

基于SpringBoot微信小程序的书院预约系统 效果如下&#xff1a; 微信小程序首页界面 用户登录界面 书院信息界面 会议室界面 管理员登录界面 管理员主界面 用户界面 书院信息界面 会议室界面 会议室预约界面 研究背景 随着社会的快速发展&#xff0c;计算机技术的影响是全面…

SpringBoot 单元测试 - 登录认证在 Spring Boot 上的标准单元测试写法。

&#x1f449; 请投票支持这款 全新设计的脚手架 &#xff0c;让 Java 再次伟大&#xff01; 不要使用 SpringBootTest 使用 SpringBootTest 进行单元测试会启动整个 Spring Boot 容器&#xff0c;并引入整个项目的 development&test 依赖。缺点是速度慢、体积大、测试目标…

HarmonyOS Next应用开发——图像PixelMap变换

【高心星出品】 图像变换 图片处理指对PixelMap进行相关的操作&#xff0c;如获取图片信息、裁剪、缩放、偏移、旋转、翻转、设置透明度、读写像素数据等。图片处理主要包括图像变换、位图操作&#xff0c;本文介绍图像变换。 图形裁剪 // 裁剪图片 x&#xff0c;y为裁剪的起…

【element-tiptap】如何把分隔线改造成下拉框的形式?

当前的分隔线只有细横线这一种形式 但是咱们可以看一下wps中的分隔线&#xff0c;花里胡哨的 这些在wps里都需要使用快捷键打出来&#xff0c;真没找到菜单在哪里 那么这篇文章咱们就来看一下如何改造分隔线组件&#xff0c;改造成下拉框的形式&#xff0c;并且把咱们想要的分…

如何调试浏览器中的内存泄漏?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介⭐ 如何调试浏览器中的内存泄漏&#xff1f;1. 什么是内存泄漏&#xff1f;2. 调试内存泄漏的工具3. 如何使用 Memory 面板进行内存调试3.1 获取内存快照&#xff08;Heap Snapshot&#xff09;获取内存快照的步骤&#xff1a;快照…

【ShuQiHere】深入解析数字电路中的锁存器与触发器

深入解析数字电路中的锁存器与触发器 &#x1f916;&#x1f50c; 在数字电路设计中&#xff0c;**锁存器&#xff08;Latch&#xff09;和触发器&#xff08;Flip-Flop&#xff09;**是实现时序逻辑的基本元件。它们能够存储状态&#xff0c;是构建复杂数字系统的关键。本文将…