Linux系统编程基础

news2024/12/27 9:47:41

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 cat

passwd  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.coloradmin.cn/o/1940484.html

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

相关文章

公司技术栈用到了RocketMQ,我对此块知识进行了回顾(初始RocketMQ)

前言 作为24届的校招生,不知道大伙儿们是否都已经到了工作岗位上。为了以后更方便的接触到公司的业务,我司为我们安排了将近一个月的实操。虽然不用敲代码,但是… 了解到我司使用到的技术栈,在空闲时间正好对RocketMQ这块技术做个…

Redis集群部署Windows版本

Redis集群 之前因为数据量的原因,并没有进行Redis集群的配置需要,现在由于数据量大,需要进行集群部署。 最初在windows系统部署,需要Redis的windows版本,但官方没有windows版本,所以需要去gitHub上找由民…

git使用-命令行+VS Code结合使用

一、Git常用命令 // 显示当分支的状态。它会列出已修改、已暂存和未跟踪的文件 git status// 列出本地仓库中所有的分支,其中会特殊显示当前所在分支 git branch// 在当前分支的基础上创建一个新的分支,并切换到这个新的分支上 git checkout -b 新分支…

超声波清洗机洗眼镜好吗?一篇文章告诉你买超声波清洗机有必要吗

眼镜党们,你们是不是也有眼镜清洁的烦恼?日常生活中,我们佩戴的眼镜很容易就会沾上脏污,而经常擦拭又会损伤眼镜镜片,而且,长时间未清洁的尘埃、油脂乃至细菌,会影响我们的视觉健康,…

被问到MQ消息已丢失,该如何处理?

在分布式系统中,消息中间件(如 RabbitMQ、RocketMQ、Kafka、Pulsar 等)扮演着关键角色,用于解耦生产者和消费者,并确保数据传输的可靠性和顺序性。尽管我们通常会采取多种措施来防止消息丢失,如消息持久化、…

【C语言】动态内存管理(上)

文章目录 前言1.为什么要存在动态内存2. malloc和free2.1 malloc2.2 free2.3 使用实例(malloc和free) 3. calloc3.1 calloc例子 前言 本文开始将开始学习C语言中一个比较重要的知识点或者是操作——动态内存管理。由于本次的知识比较重要,为…

git 提交的进阶操作

cherry-pick cherry-pick 是 Git 中的一种操作,允许你从一个分支中选择特定的 commit,并将其应用到另一个分支。它的主要用途是将特定的更改引入到其他分支,而无需合并整个分支历史。这在修复 bug 或者移植某些功能时特别有用。 cherry-pick 的使用场景 Bug 修复: 例如,你…

WhisperX

文章目录 一、关于 WhisperX新闻 🚨 二、设置⚙️1、创建Python3.10环境2、安装PyTorch,例如Linux和Windows CUDA11.8:3、安装此repo4、Speaker Diarization 三、使用💬(命令行)1、English2、他语言例如德语…

厦门会展可视化:展览全方位动态展示

通过图扑先进的可视化技术,实时呈现厦门会展中心的各类活动和展览布局,提供直观的导航和详细的展区信息,让参观者轻松完成数字化体验。

ELK日志管理与应用

目录 一.ELK收集nginx日志 二.收集tomcat日志 三.Filebeat 一.ELK收集nginx日志 1.搭建好ELKlogstashkibana架构 2.关闭防火墙和selinux systemctl stop firewalld setenforce 0 3.安装nginx [rootlocalhost ~]# yum install epel-release.noarch -y [rootlocalhost …

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

文章目录 一,v-model1,双向绑定2,vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3,验证view绑定modelmodel绑定view 完整代码 二,v-on1,指令简介2,在button按钮中添加v-…

【机器学习】超参数选择:解锁机器学习模型潜力的关键

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 超参数选择:解锁机器学习模型潜力的关键引言什么是超参数&#xff1…

【云原生】Kubernetes中的DaemonSet介绍、原理、用法及实战应用案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

谷歌账号忘记密码怎么办?这样找回——但是90%都是找不回的。关于密码有三个建议

Google账号忘记密码怎么办?谷歌账号的密码不记得了怎么办?如何找回谷歌账号的密码?谷歌账号记得账号名、辅助邮箱,但是密码不记得了还有办法吗... 在GG账号服务给朋友们提供服务的过程中,时不时会遇到这样的问题&…

Linux/Windows 系统分区

1. Windows 系统 1.1 系统分区 系统分区也叫做磁盘分区,即分盘; 举个例子,好比家里有一个大柜子,把衣服,鞋子,袜子都放在里面,由于没有隔断,找的时候非常麻烦,找是能找…

LCD、LED与OLED的区别

在现代显示技术中,LCD、LED和OLED是三种常见的显示技术,广泛应用于笔记本电脑、手机、电视等设备。每种技术都有其独特的优势和局限性,了解它们之间的差异对于选择合适的显示设备至关重要。本文将详细探讨这三种显示技术的特点及其在笔记本上…

2024大数据职业技能竞赛(国赛)模块E,子任务九:用散点图展示省份平均消费额

2024大数据职业技能竞赛(国赛)模块E数据展现题解 编写Vue工程代码,根据接口,用基础散点图展示2020年最高10个省份平均消费额(四舍五入保留两位小数),同时将用于图表展示的数据结构在浏览器的co…

rk3568 OpenHarmony4.1 Launcher定制开发—桌面壁纸替换

Launcher 作为系统人机交互的首要入口,提供应用图标的显示、点击启动、卸载应用,并提供桌面布局设置以及最近任务管理等功能。本文将介绍如何使用Deveco Studio进行单独launcher定制开发、然后编译并下载到开发板,以通过Launcher修改桌面背景…

《无线互联科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《无线互联科技》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《无线互联科技》级别? 答:国家级。主管单位:江苏省科学技术厅 主办单位&#xff1a…