Linux系统编程基础

Linux操作系统

Linux不是一个具体的操作系统,而是一类操作系统的总称,具体版本成为发行版。

  • Red Hat:目前被IBM收购,收费版,目前最大的Linux供应商
  • CentOS: Red Hat退出的免费版
  • Ubuntu:界面比较友好

虚拟机

学习Linux系统,就需要有一个可用的Linux系统。我们也不能将自己系统换成Linux系统,因为Linux系统并不适合日常办公使用,所以我们需要借助虚拟机来获得可用的Linux系统环境进行学习。

什么是虚拟机?

借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。 这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。

VMware WorkStation

我们选用VMware WorkStation软件来提供虚拟机。

下载地址: https://www.vmware.com/cn/products/workstation-pro.html

  • 我们只需要点击next就可以安装完成

下载CentOS操作系统 

我们需要下载操作系统的安装文件,CentOS7.6版本

Index of /7.6.1810/isos/x86_64

在VMware中安装CentOS操作系统:

先打开VMware软件 

按照步骤创建虚拟机:

点击完成后,即开启了CentOS系统的安装,耐心等待安装完成即可,后续都是自动化的。

对于操作系统的使用,有2种使用形式:

  • 图形化页面使用操作系统
  • 以命令的形式使用操作系统

不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。 

FinalShell 

我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,

我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上。

Windows:  http://www.hostbuf.com/downloads/finalshell_install.exe

Linux基础命令 

Linux的目录结构是一个树型结构 ;Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘 Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面。

无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:

如:ls -l /home/demo

意思是以列表的形式,显示/home/demo目录内的内容


ls命令

当ls不使用参数,表示列出:当前工作目录的内容.

cd 切换工作目录

当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录 我们可以通过cd命令,更改当前所在的工作目录。

mkdir命令

mkdir命令可以创建新的目录(文件夹)

mkdir -p 选项

如果想要一次性创建多个层级的目录,可以使用此命令创建多个连续目录

touch 创建文件

可以通过touch命令创建文件

mv移动文件

mv 参数1  参数2
  • 如果参数2不存在,则进行改名操作

rm删除文件、文件夹 

grep命令 

可以通过grep命令,从文件中通过关键字过滤文件行。

ls | grep Desktop  # 过滤ls的结果

任何命令都支持:--help 选项, 可以通过这个选项,查看命令的帮助。 

ls --help  # 会列出ls命令的帮助文档

因为现在不管是云服务器,还是图形化界面,都可以很好的快速上手操作,就不过多赘述命令。

vi\vim编辑器

vi\vim是Linux中最经典的文本编辑器 同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。

vim编辑器的三种工作模式:

  • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
  • 如果文件路径表示的文件存在,那么此命令用于编辑已有文件 

 Linux用户和权限

我们如果不修改的话,就是一直在root用户操作;我们可以创建一个普通用户:cat

useradd -m catpasswd  123   为用户指定密码

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。 

可以通过su命令切换到root得到最大权限。

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权

为普通用户配置sudo认证

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

在文件的最后添加:cat  ALL=(ALL)     NOPASSWD: ALL   

表示使用sudo命令,无需输入密码,最后通过 wq 保存。

Linux经常用到的操作

ctrl + c 强制停止

某些程序的运行,如果想要强制停止它,或者命令输入错误,可以使用快捷键ctrl + c。

ctrl + d 退出或登出

退出账户的登录或者退出某些特定程序的专属页面

光标移动快捷键:

ctrl + a,跳到命令开头   ctrl + e,跳到命令结尾

清屏

ctrl + l,或clear 可以清空终端内容

Linux里的“应用商店”

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

systemctl命令控制软件的启动和关闭 

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启。

能够被systemctl管理的软件,一般也称之为服务~

ln命令创建软连接:

在系统中创建软链接,可以将文件、文件夹链接到其它位置。

ln -s 参数1  参数2
  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的目的地

环境变量 

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。

在Linux系统中,$符号被用于取”变量”的值。echo $PATH:就可以取得PATH这个环境变量的值,并通过echo语句输出出来。


Linux环境变量可以用户自行设置,其中分为:

  • 临时设置,语法:export 变量名=变量值 
  • 永久生效   针对所有用户生效,配置在系统的:/etc/profile文件中 然后通过语法:source 配置文件 进行立即生效。

自定义环境变量PATH:
在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件hello

通过vim编辑器,在hello文件内填入:echo 哈哈哈哈哈

完成上述操作后,随意切换工作目录,执行hello命令尝试一下,会发现无法执行

临时修改PATH:export PATH=$PATH:/home/hello,再次执行mkhaha,无论在哪里都能执行了 

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

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

相关文章

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

hung 之 Android llkd

目录 1. llkd 简介 2. 原理 2.1 内核活锁 2.2 检测机制 2.3 为什么 persistent stack signature 检测机制不执行 ABA 检查? 2.4 为什么 kill 进程后,进程还存在就能判定发生了内核 live-lock? 3. 代码 3.1 内核 live-lock 检查 3.2 …

摸鱼大数据——用户画像——如何给用户“画像”

2、如何给用户“画像” 2.1 什么是标签体系 标签: 是某一种用户特征的符号表示 标签体系: 把用户分到多少类别里面去, 这些类是什么, 彼此之间有什么关系, 就构成了标签体系 标签解决的问题: 解决描述(或命名)问题以及解决数据之间的关联 2.2.1 标签的分类 用户画像标签一…

【附源码】IMX6U嵌入式Linux开发板连接阿里云--MQTT协议

演示 IMX6U嵌入式Linux开发板连接阿里云 阿里云创建设备&&获取LinkSDK 如果还不知道怎么在阿里云创建设备和获取连接阿里云的LinkSDK的话,先看这篇文章,再到这里。看这篇文章的时候,麻烦将下方文章打开对照着看,因为一些…

重测序数据处理得到vcf文件

重测序数据处理得到vcf文件 文章目录 重测序数据处理前言1. 数据是rawdata,需用fastp对数据进行质控和过滤2. 利用getorganelle软件组装叶绿体基因组3. 检查基因组大小,确认是否完整,然后和已知的红毛菜科叶绿体基因组一起构树4. 根据树形结果…

微积分-微分应用2(平均值定理)

要得出平均值定理,我们首先需要以下结果。 罗尔定理 设函数 f f f 满足以下三个假设: f f f 在闭区间 [ a , b ] [a, b] [a,b] 上连续。 f f f 在开区间 ( a , b ) (a, b) (a,b) 上可导。 f ( a ) f ( b ) f(a) f(b) f(a)f(b) 则在开区间 ( a , b …

CTFHUB-SQL注入-UA注入

目录 判断是否存在注入 判断字段数量 判断回显位置 查询数据库名 查询数据库下的表名 查询表中的字段名 查询字段名下的数据 由于本关是UA注入,就不浪费时间判断是什么注入了,在该页面使用 burp工具 抓包,修改User-Agent,加…

JavaScript之Web APIs-DOM

目录 DOM获取元素一、Web API 基本认知1.1 变量声明1.2 作用和分类1.3 DOM树1.4 DOM对象 二、获取DOM对象2.1 通过CSS选择器来获取DOM元素2.2 通过其他方式来获取DOM元素 三、操作元素内容3.1 元素.innerTest属性3.2 元素.innerHTML属性 四、操作元素属性4.1 操作元素常用属性4…

图形编辑器基于Paper.js教程09:鼠标拖动画布,以鼠标点为缩放中心进行视图的缩放

如何使用Paper.js实现画布的缩放与拖动功能 在Web开发中,利用Paper.js库进行图形的绘制和交互操作是一种常见的实践。Paper.js是一个强大的矢量图形库,可以让开发者通过简洁的API完成复杂的图形操作。在本文中,我们将详细探讨如何使用Paper.…

昇思25天学习打卡营第29天 | 基于MindSpore通过GPT实现情感分类

基于MindSpore框架通过GPT模型实现情感分类展示了从项目设置、数据预处理到模型训练和评估的详细步骤,提供了一个完整的案例来理解如何在自然语言处理任务中实现情感分析。 首先,环境配置是任何机器学习项目的起点。项目通过安装特定版本的MindSpore和相…

未来已来:生成式 AI 在对话系统与自主代理中的探索

🍎个人博客:个人主页 🏆个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 一、整体介绍 对话系统(Chat) 自主代理(Agent) 二、技术对比 技术差异 优…

安装anaconda后jupyter notebook打不开 闪退

首先,通过清华源安装了最新的anaconda(安装在了D盘) 尝试打开jupyter,发现小黑框1s后自己关了,根本不打开浏览器 之后尝试按照这个做了一遍https://blog.csdn.net/gary101818/article/details/123560304还是不行。。…

【BUG】已解决:TypeError: Descriptors cannot not be created directly.

已解决:TypeError: Descriptors cannot not be created directly. 目录 已解决:TypeError: Descriptors cannot not be created directly. 【常见模块错误】 【错误原因】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来…

创建和管理大量的数据对象:ScriptableObject

一、创建一个继承自ScriptableObject,名为ItemData的类 1、ItemData.cs using UnityEngine;[CreateAssetMenu(menuName "Items/Item")] public class ItemData : ScriptableObject {public string description;public Sprite thumbnail;public GameObj…

数据挖掘-分类和预测

来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注) 文章目录 概念KNN 算法决策树ID3 算法缺点 C4.5 算法CART 算法 贝叶斯算法朴素贝叶斯算法贝叶斯信念网络…

如何做好结构化逻辑分析:分析之万能公式

有人问:我看了很多书,可是一到分析问题和解决问题时,还是不知如何下手。你能给我一个万能框架吗?这样我遇到问题就可以马上找到思路、直接套用,再也不用让大脑去神游和不知所措了。 我想了想,总结出了这个…

突破•指针二

听说这是目录哦 复习review❤️野指针🫧assert断言🫧assert的神奇之处 指针的使用和传址调用🫧数组名的理解🫧理解整个数组和数组首元素地址的区别 使用指针访问数组🫧一维数组传参的本质🫧二级指针&#x…

2-41 基于matlab的小车倒立摆系统的控制及GUI动画演示

基于matlab的小车倒立摆系统的控制及GUI动画演示。输入小车及倒立摆的初始参数,位置参数,对仿真时间和步长进行设置,通过LQR计算K值,进行角度、角速度、位置、速度仿真及曲线输出,程序已调通,可直接运行。 …

Linux设置开机启动Nginx

设置开机启动项 systemctl enable nginx 这个命令会创建一个符号链接到/etc/systemd/system/目录下的multi-user.target.wants/目录,从而确保Nginx在系统启动时自动运行。 查看Nginx是否已设置开机启动项 systemctl list-unit-files | grep nginx 删除开机启动 …

数据无忧:2024年高效硬盘数据恢复解决方法

在这个数字化时代,数据已成为我们生活与工作中不可或缺的一部分。手机或者电脑不够存储数据的时候我们最常用的就是采购硬盘来存储。以备不时之需我们来学习一下硬盘数据恢复的一些技巧吧。 1.福、昕数据恢复 这工具是一款简单小巧的数据恢复工具。下载安装在一分…