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

linux使用

文章目录

  • 前言
  • 操作系统的作用
  • 组成
  • 二、安装linux系统
  • 安装VMware Workstation
  • 安装ubuntu
  • 图形化,命令行
  • finalshell
  • 快照
  • 目录
  • 理解命令执行
  • 命令格式
  • 常用命令
    • ls
    • cd
    • mkdir


前言

本文讲解认识与使用linux操作系统


操作系统的作用

操作系统是用户和计算机的桥梁。比如我们输入字符并打印显示在显示屏上,整个过程从硬件(键盘)输入,计算机接收,通过操作系统调度打印机,把输入的字符打印在屏幕上。

用户操作操作系统调度硬件工作。

组成

内核:调度CPU,内存,文件,IO(输入输出)等等
应用程序:文件管理器,图片视频音频播放,设置等。

其中linux内核是开源免费的 https://www.kernel.org 内核网址;
可以用应用程序将linux封装并发行,常用发行版:CentOS,Ubuntu。

二、安装linux系统

常见有三种安装形式
1.虚拟机装linux,电脑里再装一台电脑
2.整台电脑重装linux系统
3.安装windows,linux双系统

linux虽然开源,发行版众多,但其实并不适合日常使用,比如linux里没有原生微软三件套Word,Excel,PPT,QQ版本也和windows下的QQ不同。由此看来2就不太现实;安装双系统,每次开机可以选择进入需要的操作系统,安装过程比较麻烦。

对于学习linux而言,最简单直接,就是安装虚拟机,在我们删除虚拟机时也比较便捷,不会影响windows主机的内容。

虚拟机:虚拟计算机硬件,给虚拟的硬件安装操作系统,得到一台电脑。

安装VMware Workstation

安装完成后在设置->网络和Internet->高级网络设置->网络适配器里面查看是否有VMnet1和VMnet8,有这两个虚拟网卡虚拟机才能联网。
在这里插入图片描述
win+r 输入cmd,再输入ncpa.cpl回车,也可以查看。

安装ubuntu

安装文档
https://blog.csdn.net/ZHOUPUYU/article/details/143526899?fromshare=blogdetail&sharetype=blogdetail&sharerId=143526899&sharerefer=PC&sharesource=2303_81279773&sharefrom=from_link

文章中没提到的步骤跳过即可,不要安装到C盘,设置英文用户名和简单密码比如 1,以后很多操作都要输入密码,最简单的密码可以设置一个字符。安装时间30分钟内都是正常的。如果在安装前还没设置完,可以重启虚拟机,又会自动进入基本设置。

图形化,命令行

进入linux系统,可以看到如下界面,熟悉又陌生,和我们的windows相比。
在这里插入图片描述
我们可以通过鼠标去操作整个界面,这种带有图形的界面就叫做图形化界面,方便使用鼠标操作。

像我们之前用win+r cmd去查看虚拟网卡就是命令行操作。同样的,在虚拟机按住Ctrl+Alt+t,可以打开命令行窗口。

使用命令行的原因:在linux开发中大家重心没有放在图形化美化上,其图形化界面并不好用,也不稳定,命令行则更加高效,占用资源少。本质上是开发者的约定俗成。计算机是死的,开发者遵循一个原则,开发流程就会变得简洁高效。比如大家下载文件可以放在各个文件夹里,假如我们约定俗称都放在download文件夹,大家找下载好的文件第一反应就知道去download文件夹寻找。

其实这也可以看出不管是大家打比赛,还是做开发,都是会用即可,需要深入再去深入,不需要深入掌握如何使用一项工具,一项技术。我们说,先固化,再优化。

finalshell

安装finalshell远程连接虚拟机。

虚拟机输入命令

ifconfig

查看IP,如果系统识别不了此命令

sudo apt install net-tools

再执行ifconfig,找到此IP
在这里插入图片描述
finalshell里面连接虚拟机
在这里插入图片描述
点击加号SSH连接。输入IP,用户名,密码,即可连接。如果连接不上,在虚拟机输入

sudo apt install openssh-server

快照

当我们要对虚拟机搞一些大动作时,害怕删除一些重要文件,或者下载一些文件,做一些大更改等等,甚至于说把linux搞挂了,重新装虚拟机比较麻烦,之前的数据也回不来了。我们可以通过快照功能来恢复之前的linux虚拟机内容。

快照就相当于给linux照了张相,记录此刻linux里面的数据,我们可以根据需要回退到对应的快照版本。

示例:关闭虚拟机,点击快照管理器
在这里插入图片描述
点击拍摄快照,填写快照名字和描述。
在这里插入图片描述
当你对虚拟机一通操作之后,想回退到现在的版本,点击对应的快照版本,点击转到
在这里插入图片描述
值得注意的是,回退到旧版快照,当前状态会丢失。

目录

windows操作系统有盘符,C盘,D盘等等。可以把不同文件夹放在不同的盘,目录结构通常以盘开头,向右下的斜杠 \ 为分割。

C:\Program Files (x86)

linux里所有文件都放在一个根目录,叫做 / ,向左下的斜杠。例如

/user/hhh.txt

最左边的斜杠 / 叫做根目录,后面的斜杠起分割作用。

linux系统里向左下的叫做斜杠 /,反之windows系统里的斜杠 \ 叫做反斜杠。

理解命令执行

命令是什么?命令是代码吗?
命令本身不是代码,但是命令可以执行一个程序,我们用命令去选择执行的程序。

我们暂时回到windows系统里来,我们写一段文本文件复制的代码,然后用命令去执行,复制出一份一样的文本文件,感受命令行的使用过程。

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>int main(int argc, char** argv)
{//参数个数if (argc < 4){printf("error!\n");return 0;}//argv[1]第一个文本,[2]第二个文本,[3]第三个文本//[1]写入[3]FILE* fgs = NULL, * fps = NULL;char s[100] = { 0 };char* c = NULL;fgs = fopen(argv[1], "r");fps = fopen(argv[3], "w");c = fgets(s,100,fgs);while (c != NULL){fputs(c, fps);c = fgets(s,100,fgs);}fclose(fgs);fclose(fps);//[2]追加到[3]fgs = fopen(argv[2], "r");fps = fopen(argv[3], "a");fprintf(fps, "\n");c = fgets(s, 100, fgs);while (c != NULL){fputs(c, fps);c = fgets(s, 100, fgs);}fclose(fgs);fclose(fps);return 0;
}

这是我们用C语言写的一个文件读取,写入,追加的代码,我们希望将传入的两个文本文件text1.txt 和 text2.txt合并起来,组成第三个文件叫做combine.txt。值得注意的是,main主函数我们也填写了参数argc,argv。其中argv的类型是char**,char* 可以理解为指针指向字符数组,也就是字符串,char** 那就是指针指向字符串数组,argc就是argv字符串数组指针指向的字符串的数组长度。

有了这两个参数,我们就可以把text1.txt,text2.txt,combine.txt以及我们这段代码的可运行文件filestudy.exe传进去。

找到filestudy.txt的文件目录
在这里插入图片描述
在最上方输入cmd进入命令行窗口
在这里插入图片描述
输入如下命令,回车,就能在此目录下得到一个combine.txt,里面包括text1.txt和text2.txt的内容,拼接到一起。前提是你得提前新建好text1.txt,text2.txt。combine.txt会自动创建不用管他。

filestudy.exe text1.txt text2.txt combine.txt

从这个小例子来讲filestudy.exe某种意义上来说也算是一条命令。

命令格式

命令的格式 command [-option] [parameter]
command:就是命令,对应例子里面的filestudy.exe;
option:命令的一些选项,非必填,刚才的例子中并没有选项;
parameter:参数,非必填,比如text1.txt,text2.txt,combine.txt就是三个参数。

常用命令

在linux中已经有很多常用的命令,执行效率高,我们不需要自己去写,直接调用即可。

ls

列出工作目录下的内容
在这里插入图片描述
里面有Desktop,Document等等,其实就对应了双击Home文件夹展示的画面。
在这里插入图片描述
Ctrl + Alt + t默认进入当前用户的工作目录,用户目录是Home目录,我们可以输入

cd ../

进入上一级目录,就会看到是Home目录。
在这里插入图片描述
我们现在开始给ls增加选项,参数。

增加路径

ls /

/表示根目录,ls / 表示显示根目录下的文件
在这里插入图片描述
可以看到多出了很多文件。

增加选项

ls -a

在这里插入图片描述
可以看到多出了一些以 . 开头的文件,这些是隐藏文件。

ls -l

将平铺展示变成竖向展示,并且增加了更多信息。
在这里插入图片描述
当然选项也可以混在一起用

ls -a -l
ls -la
ls -al

三条指令效果相同,且是-a,-l的叠加。

ls -lh

更人性化地显示文件大小。
在这里插入图片描述

cd

cd 即change directory,改变工作目录。我们可以打开命令行,ls,查看有哪些文件夹,然后cd 文件夹名字,就可以到对应文件夹路径下例如:
在这里插入图片描述
找到Desktop文件夹,cd进去,输入Desktop不用全部字母都输入,可以输入前几个字母,然后按Tab键,可以自动补全,如果存在多个路径前几个字母相同,只需要输入到不相同的那一位字符即可。

注意,大小写敏感,cd desktop无效。

如果不加任何路径,直接输入cd,则会跳转到用户路径。

于是乎,我们可以不断cd ,一直到无法往下cd为止。倘若我们要向上cd,比如从Desktop回到Home,可以一层一层

cd ../

在这里插入图片描述
有时候我们想知道自己在哪一层,当前的路径是什么,可以使用命令

pwd

这里的pwd并非password密码,而是print work directory。
在这里插入图片描述
相对路径与绝对路径

有人会想能不能在Desktop里直接cd到home,于是便尝试,发现命令行显示No such file or directory
在这里插入图片描述
那是因为我们这里使用的是相对路径,也就是在Desktop路径下寻找是否有名为home的文件或者目录,显然是没有的。但是我们可以使用绝对路径从根目录 / 开始

cd /home

在这里插入图片描述
这是可行的。如果我们要在home路径下cd到Desktop,直接使用cd Desktop无效,而是要cd 用户名,再cd Desktop。

我们可以使用相对路径

cd zfranklin/Desktop

或者使用绝对路径

cd /home/zfranklin/Desktop

整体来说,相对路径更加简洁,但是只能从当前目录向下走一级,绝对路径比较长,但是可以cd到任意目录。

在写绝对路径时可以将根目录和home目录简化为 ~ 波浪号,例如进入桌面可以这样写。

cd ~/Desktop

mkdir

make directory创建目录。

mkdir后面可以跟相对路径和绝对路径。
在相对路径下创建njupt文件夹:
在这里插入图片描述
绝对路径同理。

如果要一次性创建多个层级的文件夹,可以加-p选项。如图没加-p创建失败,加了-p创建成功。
在这里插入图片描述

相关文章:

linux使用

文章目录 前言操作系统的作用组成二、安装linux系统安装VMware Workstation安装ubuntu图形化&#xff0c;命令行finalshell快照目录理解命令执行命令格式常用命令lscdmkdir 前言 本文讲解认识与使用linux操作系统 操作系统的作用 操作系统是用户和计算机的桥梁。比如我们输入…...

基于豆瓣2025电影数据可视化分析系统的设计与实现

✔️本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示&#xff0c;构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据&#xff0c;我们提供了一个全面的电影信息平台&#xff0c;为用户提供深入了解电影产业趋势、影片评价与演员表现的工…...

基于Python的深度学习音乐推荐系统(有配套论文)

音乐推荐系统 提供实时音乐推荐功能&#xff0c;根据用户行为和偏好动态调整推荐内容 Python、Django、深度学习、卷积神经网络 、算法 数据库&#xff1a;MySQL 系统包含角色&#xff1a;管理员、用户 管理员功能&#xff1a;用户管理、系统设置、音乐管理、音乐推荐管理、系…...

远程计算机无conda情况下配置python虚拟环境

1. 按照正常流程&#xff0c;根据远程计算机的IP地址/用户名/密码&#xff0c;通过pycharm进行部署 部署流程为: pycharm主菜单--> 工具-->部署 -->配置 **注意&#xff0c;pycharm的远程部署必须是专业版 2. 配置远程python解释器 上图是配置SSH解释器的截图&…...

强化学习-价值学习算法

Sarsa 理论解释 Sarsa是基于时序差分算法的&#xff0c;它的公式非常简单且易理解&#xff0c;不像策略梯度算法那样需要复杂的推导过程。 Sarsa的核心函数是 Q ( s , a ) Q(s, a) Q(s,a)&#xff0c;它的含义是在状态 s s s下执行 a a a&#xff0c;在后续轨迹中获取的期望…...

Golang深度学习

前言 在2009年&#xff0c;Google公司发布了一种新的编程语言&#xff0c;名为Go&#xff08;或称为Golang&#xff09;&#xff0c;旨在提高编程效率、简化并发编程&#xff0c;并提供强大的标准库支持。Go语言的设计者们希望通过Go语言能够解决软件开发中的一些长期存在的问…...

基于推荐算法的在线课程推荐系统设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…...

es和kibana安装

es安装 安装 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.1-linux-x86_64.tar.gz 参考&#xff1a; https://www.cnblogs.com/shamo89/p/18504053 https://blog.csdn.net/u012899618/article/details/130383429 解压 tar -zxvf elastic…...

本地部署Anything LLM+Ollama+DeepSeek R1打造AI智能知识库教程

文章目录 前言1. 本地部署OllamaDeepSeek2. 本地安装Anything LLM3. 配置与使用演示4. 远程调用大模型5. 安装内网穿透6. 配置固定公网地址 前言 本文主要介绍如何在Windows电脑上本地部署Ollama并接入DeepSeek R1大模型&#xff0c;然后使用强大的开源AI工具Anything LLM结合…...

zyNo.25

SSRF漏洞 在了解ssrf漏洞前先了解curl命令的使用 1.curl命令的使用 基本格式&#xff1a;curl<参数值>请求地址 get请求&#xff1a;curl http://127.0.0.1 post请求&#xff1a;curl -X POST -d "a1&b2" http://127.0.0.1/(其中&#xff0c;使用-X参…...

Spring框架基本使用(Maven详解)

前言&#xff1a; 当我们创建项目的时候&#xff0c;第一步少不了搭建环境的相关准备工作。 那么如果想让我们的项目做起来方便快捷&#xff0c;应该引入更多的管理工具&#xff0c;帮我们管理。 Maven的出现帮我们大大解决了管理的难题&#xff01;&#xff01; Maven&#xf…...

关于前后端分离跨域问题——使用DeepSeek分析查错

我前端使用ant design vue pro框架&#xff0c;后端使用kratos框架开发。因为之前也解决过跨域问题&#xff0c;正常是在后端的http请求中加入中间件&#xff0c;设置跨域需要通过的字段即可&#xff0c;代码如下所示&#xff1a; func NewHTTPServer(c *conf.Server, s *conf…...

三层渗透测试-DMZ区域 二三层设备区域

DMZ区域渗透 信息收集 首先先进行信息收集&#xff0c;这里我们可以选择多种的信息收集方式&#xff0c;例如nmap如此之类的&#xff0c;我的建议是&#xff0c;可以通过自己现有的手里小工具&#xff0c;例如无影&#xff0c;密探这种工具&#xff0c;进行一个信息收集。以免…...

领航Linux UDP:构建高效网络新纪元

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 引言Udp和Tcp的异同相同点不同点总结 1.1、socket1.2、bind1.3、recvfrom1.4、sendto2.1、代码2.1、说明3.1、代码3.2、说明 引言 在前几篇博客中&#xff0c;我们学习了Linux网络编程中的一些概念。…...

基于MATLAB的均匀面阵MUSIC算法DOA估计仿真

基于MATLAB的均匀面阵MUSIC算法DOA估计仿真 文章目录 前言一、二维MUSIC算法原理二、二维MUSIC算法MATLAB仿真三、MATLAB源代码总结 前言 \;\;\;\;\; 在波达角估计算法中&#xff0c;MUSIC 算法与ESPRIT算法属于特征结构子空间算法&#xff0c;是波达角估计算法中的基石。在前面…...

HTML/CSS中后代选择器

1.作用:选中指定元素中,符合要求的后代元素. 2.语法:选择器1 选择器2 选择器3 ...... 选择器n(使用空格隔开) 3.举例: /* 选中ul中的所有li */ul li{color: red;}/* 选中类名为subject元素中的所有li */.subject li{color: blue;}/* 选中类名为subject元素中的所有类名为f…...

深入解析「卡顿帧堆栈」 | UWA GPM 2.0 技术细节与常见问题

在游戏开发过程中&#xff0c;卡顿问题一直是影响玩家体验的关键因素。UWA GPM 2.0全新推出的「卡顿帧堆栈」功能&#xff0c;专为研发团队提供精准、高效的卡顿分析方案&#xff0c;能够直观呈现游戏运行时的堆栈信息&#xff0c;助力团队迅速找到性能瓶颈。该功能一经上线&am…...

推荐几款较好的开源成熟框架

一. 若依&#xff1a; 1. 官方网站&#xff1a;https://doc.ruoyi.vip/ruoyi/ 2. 若依SpringBootVueElement 的后台管理系统&#xff1a;https://gitee.com/y_project/RuoYi-Vue 3. 若依SpringBootVueElement 的后台管理系统&#xff1a;https://gitee.com/y_project/RuoYi-Cl…...

Mysql全文索引

引言 在MySQL 5.7.6之前&#xff0c;全文索引只支持英文全文索引&#xff0c;不支持中文全文索引&#xff0c;需要利用分词器把中文段落预处理拆分成单词&#xff0c;然后存入数据库。 从MySQL 5.7.6开始&#xff0c;MySQL内置了ngram全文解析器&#xff0c;用来支持中文、日文…...

配置终端代理

普通的魔法开启之后终端下git clone等命令仍然会无法使用&#xff0c;额外需要手动配置终端代理。 sudo vim /etc/apt/apt.conf.d/99proxyAcquire::http::Proxy "http://127.0.0.1:12334"; Acquire::https::Proxy "http://127.0.0.1:12334";在debian安装时…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...