Linux 基本指令

目录

    • 传统艺能
    • Linux 起源
    • 理解与应用
    • OS
    • 为什么要指令操作
    • 基本指令
      • ls命令
      • -a指令
      • 文件路径
    • cd-指令
    • mkdir指令
    • rm指令

传统艺能

小编是双非本科大一菜鸟不赘述,欢迎大佬指点江山(QQ:1319365055)
此前博客点我!点我!请搜索博主 【知晓天空之蓝】

非科班转码社区诚邀您入驻
小伙伴们,打码路上一路向北,背后烟火,彼岸之前皆是疾苦
一个人的单打独斗不如一群人的砥砺前行
这是我和梦想合伙人组建的社区,诚邀各位有志之士的加入!!
社区用户好文均加精(“标兵”文章字数2000+加精,“达人”文章字数1500+加精)
直达: 社区链接点我

倾力打造转码社区微信公众号
Linux 基本指令_第1张图片


Linux 基本指令_第2张图片

今天听了 10 遍印能法师的大悲咒才好歹给我镇住。因为鄙人的 Linux 云服务器是和别人抱团恰的腾讯云,属于白嫖了,所以具体搭建环境的操作不是很懂,本文就直接省略了。

Linux 起源

这篇文章算是入坑 Linux 的第一篇文章,本来想写一个开头篇,但感觉这么写可能会写成一篇历史和人物传记,于是打算整合到这里一起写了。

既然学习Linux,那就要知道什么是Linux:

Linux 是一种自由和开放源码的类 UNIX 操作系统,Linux 英文解释为 Linux is not Unix。Linux 是在 1991 由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。

Linux 基本指令_第3张图片

也就是Linux之父 Linus 的灵感源自于C语言之父和 Unix 之父,他之所以会创造 Linux 正是因为他厌恶 Windows 和乔布斯的 IOS 系统,他觉得对操作系统垄断收费是不合理的,他的愤怒瞬间招来了志同道合的顶级黑客,民间高手,论坛精英等贤士一起开发出了面向大众的免费高性能操作系统—— Linux,最伟大的生产方式==“开源”==也随之诞生,这也是为什么林纳斯是乔布斯的一生之敌,他让乔布斯每年活生生亏损几十亿。

理解与应用

Linux 应用极其广泛,对于 Linux 有人修改操作系统写源代码,有人直接拿来用进行改造与提升做应用级的开发,总之都会选择一款 Linux 内核。现在如雷贯耳的鸿蒙系统,红帽(centos),Ubuntu,kali 都是 Linux 的杰作。而 Linux 应用场景极为丰富,服务器后台,嵌入式,树莓派,物联网,智能家电等等都是基于 Linux 开发的。

对于Linux不得不谈的是“开源”这个概念,我愿称之为最超前最伟大也是最理想的生产方式,以无尽的知识为资本流入,每个人不求回报不遗余力的投入,最后以经济和科技的纯利润流出,我就问还有谁。

代码开源相比代码闭源反而还更安全,更高效,更稳定,因为这个代码会面向全世界的人才,有问题会立马解决并得到优化方案,而闭源面对的是有限的技术力和素质参差不齐的内部人员,这也是为什么很多商业公司闭源代码反而会有代码维护的困扰。

OS

OS 即操作系统,操作系统是在计算机(硬件)之后诞生的,单纯的硬件计算机最开始并不是所有人都能用的而是给科学家用的,虽然就是就是已经具备超过人脑的计算能力但是他的操作十分麻烦,难度高效率低,所以 OS 存在的首要理由就是提高计算机效率

软件是可以操作硬件的,比如使用 cout 在屏幕输出字符串,那么这个过程是怎么实现的呢?其实紫计算机最底层的就是硬件,键盘显示器网卡啥的,硬件层之上是驱动软件层,它是帮助上层实现对硬件基本访问。在鼠标插入到USB接口时的短时间内,我操作鼠标并还没有反应而此时物理层面上他已经连上电脑了,此时就是在等待驱动的行为。
Linux 基本指令_第4张图片
一般而言一种硬件厂商都会提供相应的驱动软件,获取驱动的方式一般而言就是OS提供获取和安装。再上一层就是传说中狭义上的 OS,他包含四个部分进程管理,文件管理,内存管理,驱动管理,再上面的是用户层,包含了图形化,各种库和应用程序

Linux 基本指令_第5张图片
所以 OS 核心功能就是对下管理好底层的软硬件资源,对上要给用户提供一个良好稳定高效的运行环境。如果 OS 是银行的话,Linux 其实就是工商银行,农业银行,建设银行……中的一种。

为什么要指令操作

对于非专业人员来讲指令操作没有必要,对于专业人员也是可有可无,但是要学习 OS 原理,指令编程必须掌握,因为指令操作更加亲近操作系统,要想真正去学习 OS 必须学习指令操作

你说图形化界面不香吗?对,香是香,但是图形化界面终究来自于指令,指令来自于键盘。最早人们就开始思考如何将数据交给计算机,自然就想到了打字机,刚开始所有 OS 都支持指令操作,后面乔布斯在苹果引入了图形化界面才开始逐渐起势。

基本指令

ls命令

ls,全拼 list files,命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录),参数包括:

-a 显示所有文件及目录 (隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R 若目录下有文件,则以下之文件亦皆依序列出

这里我用 ls 试一试:
在这里插入图片描述
发现是有文件存在的,文件 test.cpp 存在于 newfolder 的目录下,我们用 pwd 指令可以查看到该文件的访问路径。既然如此,那我去这个访问目录里面创建一个新的文件 .txt,他的大小为 0 kb,那么此时磁盘中是否占用空间呢?答案是一定的,因为文件有属性数据(文件名,创建时间啥的),属性数据也是数据,所以总结一句就是文件 = 文件内容+文件属性

-a指令

-a 指令查看 Linux 系统中的隐藏文件,即 . 开头的文件,Windows 中也存在这种隐藏文件:
在这里插入图片描述
如上这些都是隐藏文件,但多实验几组不难发现,基本上每一组都是:

. … 其他隐藏文件名

开头两个点是啥玩意儿呢?它是每个目录下都会存在的两个隐藏文件 . 和 … ,他们分别被称为当前路径和上级路径。这也就告诉我们要想回到上级目录就需要借助它,Linux 中这样操作:
在这里插入图片描述

cd … 即回到上级目录,cd 可以暂且理解为切换目录指令,cd 后面跟任意路径可以跳转。

文件路径

从这里也可以看出,Linux 的路径分隔符就是反斜杠 / 。最后我们回到 / 时就没办法回退了,最后剩下的这个 / 就不是路径分割符了,它被称为根目录。从根目录开始,可逐个展开,每个节点对应一个文件也可以是一个目录,所以 Linux 目录结构是我们的老朋友树状结构——多叉树。

当我们需要寻找某个目标文件时,我们有两种方法,通过绝对路径相对路径,绝对路径是指从根目录开始层层下寻找到该文件的路径,而相对路径是指相对我当前所处位置寻找过去的路径。如果是日常使用,我推荐使用相对路径,因为这很简单,但是如果需要添加配置文件之类的,我推荐使用绝对路径,因为不会出错正确性高。
在这里插入图片描述

cd-指令

cd -他是一个快捷指令,他的意思是跳转到上一次我所处的路径,还有 cd / 指令,估计一眼就能看出来他什么用吧,每次就是跳转到根目录。
Linux 基本指令_第6张图片

在Linux操作系统中,有很多的文本编辑器,最为重要的就是vi文本编辑器,下面来介绍一个简单的nano文本编辑器。nano的使用简单,我们可以直接加上文件名就能够打开一个旧文件或新文件,我们可以打开一个旧文件编辑它,也可以打开一个新文件,即不管这个文件存不存在都是可以打开的!

mkdir指令

mkdir 即 make directory,命令用于创建目录

mkdir dirname

当前格式就可以在当前目录下创建一个名为 dirname 的子目录。

如果我想创建一个套娃路径,类似 dir1/dir2/dir3/dir4…… 这么一长串的目录该怎么办呢?当然不会一个一个去建,我们采用:

mkdir -p dir1/dir2/dir3/dir4

rm指令

现在普通文件和目录我们都可以创建了,但是要想进行删除该怎么办呢?这就要用到 rm 指令了。

对于目录的删除我们使用 rmdir,特点是只能删除空目录,所以并不常用,我们删除文件 rm + 文件名可以直接将文件删掉,我们要是想删目录不能直接用 rm + 目录名,因为目录可能是一个包含其他目录的树形结构,我们需要递归删除,采用格式:

rm -r dirname

我们还有 force 强制删除指令,对象是文件和目录 :

rm -rf file
Linux 基本指令_第7张图片

今天就到这里吧,润了家人们。

你可能感兴趣的:(Linux,C++,linux,服务器,c++)