初始Linux(一)基础命令

前言:

        我们不能总沉浸在编程语言中,虽然代码能力提升了,但是也只是开胃小菜。我们要朝着更高的方向发展。

        最近小编一直在刷力扣,以至于博客更新的比较少。今天就带各位开始学习全新的知识——Linux.至于为啥要学?

        Linux是很多操作系统的底层(其实其本身就是操作系统),我们熟悉的Android底层就是它来实现的。而实现Linux是C语言,所以各位,开启新篇章吧!

什么是Linux?

        Linux就是操作系统,我们一般使用的是Windows操作系统。嗯……接下来就涉及计算机组成原理了。

         所以操作系统也是软件!这个软件大家可以理解为管理设备驱动和硬件的软件,我们平时用的软件是在操作系统上使用的。

        这里有一些区别:

        Windows中:\是路径分隔符

        Linux:/是路径分隔符

Xshell:

        为了更好的学习,我们使用Xshell来进行学习,就是使用云服务器,选择镜像centOS,之后登录(具体含义后续了解吧,原谅博主水平不高)。

登录命令:

        当我们购买了云服务器以后,它会让我们设置密码,并给我们一个公网IP,我们需要利用公网IP进行远程登录Xshell。

ssh root@公网IP

        之后会有一个弹窗,默认用户都是root用户。

        之后输入你设置的密码即可。

新建用户: 

        当我们以root用户登录以后可以新建一些用户。

adduser 用户名

        之后他会让你设置它的密码,确认以后就行。

        之后这个用户下次登录就可以指定用户名,之后使用他的密码登录即可,这就是Xshell好用的地方。 

         我们链接时,需要输入密码,就是我们当时设置的密码,就可以登录。

pwd命令:

        pwd是显示当前路径。

ls命令:

        这个命令是把当前文件夹里包含的文件展示。但是我们可以加上选项-a,就是显示当前目录下的所有文件。

ls -a

        还有一个选项-l,就是list,以列表的形式展示。

ls -a -l

 

        注意这里不需要注意顺序。 

         关于 -a:linux中,以.开头的文件,我们叫做隐藏文件。

        其实-a是展示文件的具体属性:

        我们也可以通过ls之后指定要展开的目录: 

隐藏文件:

        我们创建一个.seeme文件,发现ls以后还是看不到,因为这是隐藏文件。

        Windows中也有隐藏的文件和目录。

cd命令: 

        这个命令是切换到指定目录。

        比如此时我们使用相对路径进入当前文件夹的empty文件夹:

        关于cd命令有几个特殊的指令,我们需要记住: 

        至于家目录,我们后面再做了解。 我们先了解cd-。

家目录: 

        cd ~都会到/root目录,这就是linux的家目录。记住这不是根目录。其实Windows也有家目录,也就是我们每次开机看到的桌面。

  

        比如次数我们以普通身份登录: 

         用户登录linux,默认所处路径,都在自己的家目录下。

home目录: 

        home目录中就保存每个用户。

root用户:

        root用户是超级管理员,可以在任何人家里进行操作;普通用户只能在自己家操作。

. 和 ..隐藏文件:

        刚才我们说,直接ls我们看不到关于隐藏文件的信息,我们必须加上-a选项。那么我们可以看到每次展开文件夹都会存在. 和 .. 两个隐藏文件,这是什么呢?

        可以理解为.指向当前文件,..指向上一个文件。但是根目录比较特殊..也指向自己。 

         cd相当于选择路径,我们一直回退,可以看到最终到 / (也就是根目录)就会停止。所以说 / 是根目录。

  

根目录: 

        我们通过以上内容就可以得知 / 是根目录,每个操作系统都会存在一个根目录,Linux中根目录就是 / 。

tree命令: 

        这个命令是以树状形式呈现,前提是下载这个命令(下载yum仓库,后期介绍,不懂没关系)。可以先不使用。

yum install -y tree

         我们可以把这些目录想象为多叉树,我们指定一个文件只有一条路径,这个文件到根节点也只有提条路径。所以路径具有唯一性。

        从根目录开始的路径叫做绝对路径;相对路径不多做解释。一般命令行操作时,一般使用相对路径。一般配置文件时,使用绝对路径。

mkdir 和 touch:

        mkdir顾名思义,就是创建文件夹。

        而touch是创建一个具体的文件,比如test.txt。

        这是AI生成的:在Linux中,mkdir和touch命令都用于文件系统操作,但它们的功能不同。
        mkdir命令用于创建新的目录。例如,如果你想创建一个名为notes的目录,你可以使用以下命令:
        mkdir notes
        这将在当前工作目录中创建一个新的名为notes的目录1。
        touch命令通常用于两个目的:创建一个新的空文件,或者更新现有文件的时间戳。例如,如果你想创建一个名为hello.txt的新文件,你可以使用以下命令:
        touch hello.txt
        如果hello.txt文件已经存在,再次使用touch命令将会更新该文件的时间戳2。
        总结来说,mkdir用于创建目录,而touch用于创建或更新文件的时间戳。

        比如此时我们要创建多个文件夹,就需要使用-p命令,这个是递归的意思。

         touch命令可以通过空格一次创建多个目录。

通配符:

        为了方便我们查找文件,Linux提供了通配符。

rmdir命令:

        这个命令很鸡肋,只能移除空文件夹:

rm命令: 

        rm是删除文件或目录,他可以删除非空目录和空目录。也可以加上选项。

        -rf是递归并强制删除指定文件。

         其实根目录(/)也能被强制删除,但是只有正在运行的文件不会被删除,在重启时可能会崩溃,无法运行操作系统,所以绝对不能这么干。

man命令: 

        man 命令是帮助命令,可以帮助我们查看linux的各种命令。

        比如 man ls:

         man命令还可以查看C语言当中的各种函数。

        我们也可以使用man man 来帮助我们查看man命令。

         这里有几个手册,我们需要了解一下:

         默认查的是1号手册。

         比如查strstr函数,默认从1开始查,之后按照顺序,直到查到为止。

cp命令:

        接下来我们要来讲解cp命令,说白了就是复制文件。

cp src dst
#cp 源文件 目标文件

         我们先用touch创建一个test.c文件,之后使用nano命令往文件中写入内容。

         我们ctrl + x退出,之后直接保存并点击回车就可以保存退出了。

        我们知道Linux上是通过gcc编译.c文件的,并生成.o的目标文件。

        因为在Linux系统中,可执行文件通常没有.exe扩展名,这与Windows系统不同。Linux系统中的可执行文件只需要有执行权限即可运行,而不是依赖于文件扩展名。

        之后我们就可以拷贝了: 

        如果是要拷贝的文件里面中包含多个文件,我们可以加上-r选项递归拷贝。 

        此时如果再次执行cp拷贝命令,和上面的命令一样,相同的拷贝内容,相当于重新拷贝,相当于内容覆盖。 

 

        在普通用户下,可以加上-f选项直接强制复制;root用户其实也可以,但是还是会问你是否复制。

        任何目录下,不能创建统一名称的文件。

ll命令:

        ll命令其实就是ls -l命令的结合。

关于Xshell的快捷键:

        在xshell中,可以Alt + Enter进入全屏模式。

        热键:tab快速摁两次,可以进行补齐。

        所以没事就tab。

         命令行当中,出现了失控的状态,Ctrl + C终止。

总结:

        OK了,结束,这只是基础,下节更精彩!

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

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

相关文章

【简单探索微软Edge】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

内存屏障 - LINUX KERNEL MEMORY BARRIERS 上 与 下

内存屏障(Memory Barrier)是在计算机体系结构中使用的一种同步机制,用于确保在多线程或多核处理器环境中,对共享内存的操作按照预期顺序进行。它们通过强制在特定点执行一些指令来规定内存访问的顺序,并防止内存乱序执…

【antd + vue】Failed to resolve component: a-select-option

一、问题说明 1、出现情况&#xff1a; <a-select>嵌套<a-select-option>&#xff0c;其中<a-select-option>循环&#xff0c;能正常使用&#xff0c;但是控制台警告。 2、控制台警告&#xff1a; [Vue warn]: Failed to resolve component: a-select-op…

python下载及安装

1、python下载地址&#xff1a; Python Releases for Windows | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/windows/ 2、python安装 &#xff08;1&#xff09; 直接点击下载后的可执行文件.exe &#xff08;2&…

讨论:WGS84与CGCS2000的坐标系怎么互转

前言&#xff1a; 今天我们要讨论一个问题&#xff1a;WGS84与CGCS2000的坐标系怎么互转&#xff1f; 对于有一定基础的朋友应该知道&#xff0c;WGS84和CGCS2000属于不同的椭球&#xff0c;如果进行严密的数学转换&#xff0c;是需要建立参数模型之后&#xff0c;再进行转换&…

目标检测——YOLOv9算法解读

论文&#xff1a;YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information (2024.2.21) 作者&#xff1a;Chien-Yao Wang, I-Hau Yeh, Hong-Yuan Mark Liao 链接&#xff1a;https://arxiv.org/abs/2402.13616 代码&#xff1a;https://github.com/W…

基于若依的ruoyi-nbcio流程管理系统支持指定接收人的发起人自动跳过功能

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

应用层(上篇)

应用层 应用层协议原理 网络应用程序体系解构 应用程序体系结构: 由应用程序研发者设计规定了如何在各种端系统上组织该应用程序。在选择应用程序体系结构时&#xff0c;应用程序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一:客户-服务器体系结构或对等…

图像质量评价指标:了解图像质量的度量方式

图像质量评价指标&#xff1a;了解图像质量的度量方式 在图像处理和计算机视觉领域&#xff0c;评价图像质量的准确性对于许多应用至关重要。通过合适的评价指标&#xff0c;我们可以量化图像的质量&#xff0c;从而更好地了解图像处理算法的效果和改进空间。本文将介绍图像质…

R语言手把手教你进行支持向量机分析

1995年VAPINK 等人在统计学习理论的基础上提出了一种模式识别的新方法—支持向量机 。它根据有限的样本信息在模型的复杂性和学习能力之间寻求一种最佳折衷。 以期获得最好的泛化能力.支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部极小值,从而也保证了它对未知…

从头开始学Spring—02基于XML管理bean

目录 1.实验一&#xff1a;入门案例 2.实验二&#xff1a;获取bean 3.实验三&#xff1a;依赖注入之setter注入 4.实验四&#xff1a;依赖注入之构造器注入 5.实验五&#xff1a;特殊值处理 6.实验六&#xff1a;为类类型属性赋值 7.实验七&#xff1a;为数组类型属性赋值…

【kubeflow文档】kubeflow介绍与架构

1. kubeflow介绍 Kubeflow项目致力于使机器学习&#xff08;ML&#xff09;工作流在Kubernetes上的部署变得简单、可移植和可扩展。目标不是重新创建其他服务&#xff0c;而是提供一种直接的方法&#xff0c;将ML的开源系统部署到不同的基础设施中。无论在哪里运行Kubernetes&a…