Linux基础指令详解(1)

 操作系统的概念

     百度百科

操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。 [12]

操作系统是人与计算机之间的接口,也是计算机的灵魂。 [14]

看到上面对操作系统概念的定义我们看到了操作系统的重要性,它是计算机的灵魂。

操作系统一般也由四个重要的组成部分构成,分别是进程管理  文件管理  内存管理 驱动管理

操作系统的工作就是去把这四个部分协调起来进行执行。

我们再来看下面的这个图。

 

这个就是我们操作系统在计算机中的地位,我们又可以分为对硬件和对我们的用户。

什么是操作系统

我们知道我们现在的计算机有好多的作用,比如我们现在是可以用它来打游戏,这个操作我们是对用户的,我们也知道我们的计算机是由CPU,磁盘 ,硬盘,显示器等硬件组成,我们玩游戏的时候总不是用我们的手去扣这些硬件,要不然我们在峡谷的时候放个大招还有扣扣我们的CPU,那LOL总冠军就是那些手快的了对吧,所以我们的操作系统可以帮我们来完成这些。

那我们就可以将这些分为对上和对下

  1. 对上:给用户提供一个良好的,稳定的,高效的运行环境
  2. 对下:管理好底层的硬件

这个就是我们操作系统在计算机内充当的角色。

指令详解

这也是我们今天主要讲解的内容就是我们的指令部分,这里指令我们就讲经常用的几个指令。

1.ls指令

ls [选项][文件或者目录]

ls : 显示该目录下的所有文件和目录

        对于文件,会列出文件的详细信息

常用选项:

-a :  列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :  将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
-i :  输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k:   k 字节的形式表示文件的大小。 ls –alk 指定文件
-l :  列出文件的详细信息。
-n : 用数字的 UID,GID 代替名称。 (介绍 UID GID
-F : 在每个文件名后附上一个字符以说明该文件的类型, “*” 表示可执行的普通文件; “/” 表示目录; “@”
示符号链接; “|” 表示 FIFOs “=” 表示套接字 (sockets) 。(目录类型识别)
-r :  对目录反向排序。
-t : 以时间排序。
-s:  l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R:  列出所有子目录下的文件。 ( 递归 )
-1 : 一行只输出一个文件。

这是我们ls的后面加上的指令。我们来到我们的xshell上来看看。

我们首先什么都不干,直接ls来看看是个什么情况。

可以发现这个什么都没有,这是因为我们在当前路径下什么都没有,这就和我们在windows下创建一个新的目录,发现里面什么都没有。

 这个就是在windows下的操作,那我们这里需要在用的指令就是在该目录下创建一个文件,这样就行了。

vocal,果然这个是有用的,那我们这个时候就可以来看看ls加上一些选项的结果,这里我们就只讲最重要的几个,我们首先来看的就是ls加上-l的结果。

 

相比之下我们可以看到ls加上-l(记住这里是有空格的)后可以看到更多的属性,ls是只显示文件名的。

Linux隐藏文件 

我们都知道在windows是有隐藏的文件,不信我们来看。

那我们Linux下怎样的才算是隐藏文件的!答案是带·的就是隐藏文件。

我们可以touch一个带.的文件来看看。

我们这里也是创建一个.youcannotsee的文件,但是ls -l 只后我们也没能看到我们的隐藏文件。这个时候我们就可以换个指令就是ls -a就行了。

a就有all的意思就是把所有文件都显示出来,那我们来看看。

 

这里我们要扩展一些关于文件的东西,我们在windows下的文件是不是有文件内容还有文件属性,哪些是文件属性呢,文件的属性有时间,大小等,我们的Linux下的文件是怎么样的呢。

文件 = 文件内容 + 文件属性

我们ls -l就可以显示出文件和文件的属性,我们可以通过上面的图看到我们有创建属性和大小,这些都是文件的属性,这里也抛出一个问题,我们创建一个文件,如果这个文件里内容为空,那他是文件吗答案是: 它百分之百是文件,因为文件是由文件内容和属性组成的。

我们也可以把ls -a -l 一起用,下面这张图前面的内容我们会在后面讲,这里大家只要知道这是文件的属性就OK了

 

可以看到显示的东西更多了。

一个点(.)和两个点(..) 

我们每次ls -al的时候都可以看到两个点和一个点,这里的点是什么意思呢,我们这里也来详细的解释一下

 

  •  . 当前路径
  •  .. 上级路径 

我们在Windows下返回上级路径是通过这个的。

点红圈圈这个就行了。

 

我们就可以返回上级路径了。我们这里还要知道一个指令就是pwd

pwd: 显示当前路径

还有就是cd指令,cd指令我们就可以认为是我们在Windows下双击文件夹的感觉。

 所有pwd就是显示当前的路径,我们如果cd 一个点就是还是在当前路径,cd .. 就是返回上级的路基了。

 

那我们在Linux下和Windows的路径有什么不一样,爱找不同的人就是肯定能发现Linux路径分隔符是/ 在Windows下就是\ 

上面的  / 就称作为路径分隔符 

我们如果cd和路径一起用的话,是不是就可以找到我们想去的文件目录下了

vocal 发现新大陆了!来吧 展示。

因为我这里之前是创建过文件的,所有大家哪里尝试的时候就没有,但是大家可以创建文件来用,我们后面如果想去这个目录下的话就可以直接cd进入就OK了。

那一个点有什么用,我们来看下面的操作。

 

我们这里用到的gcc先不管,nano来讲解一下‘,它就是相当于编辑器,我们可以来看看

nano + 文件名之后就会有下面的内容。

 

我们在这里就可以写内容和代码,写好之后ctrl + x就是保存,然后要进行的操作就是Y在加上Enter就可以了,然后我们gcc + 文件名 (gcc后面会讲)。

 

所有我们如果要运行a.out就得这样写。

 

这个就是要执行我们当前目录下的文件 这里的一个点就是当前路径下。

绝对路径和相对路径 

其实绝对路径我们认为就是从根节点开始往下找的就是绝对路径,那么刚开始这个到底是从哪里开始的呢,我们又要引出下面的概念就是我们的整个目录其实就是一个多叉树。

 大家可以看上面这个图我们如果是从/开始往下走就是唯一的路径,我们称之为绝对路径。

这个时候我们就来详细的解释一下cd这个指令了。

cd

改变工作目录。将当前工作目录改变到指定的目录下。 

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~ :进入用户家目
cd - :返回最近访问目录

 这个就是cd的全部选项,我们需要全部记下来。

上面的大家看看应该就能明白了,有了cd指令我们就可以进入我们想要进入的文件和目录下面了

就可以来去自如了。

那这个从当前路径来去自如到其他目录下这个路径我们就叫它为相对路径。

日常使用我们用的就是相对路径。

 创建操作

touch指令

touch [选项] 文件

touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

-a    --time=atime --time=access --time=use 只更改存取时间。
-c    --no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。
-m    --time=mtime --time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间

和之前一样我们只讲一些基础的操作,比如创建文件。

会这个操作就可以了,下面我们再来讲讲创建目录。

mkdir指令

mkdir [选项] dirname...

在当前目录下创建一个名为 “dirname”的目录

mkdir这个指令我们只要掌握它能创建目录,递归创建的话只需要加上-p就可以了。

我们如果想创建一个目录里有目录的就可以这样创建。

 所以必须加上-p才可以,我们再来看看删除的指令。

基本删除指令

rmdir : 只能删除空目录,其他的都不能删除

目录里不能有内容,否则无法进行删除。

rm : 就可以删除普通文件。 

 

如果我们想要删除目录的时候,我们来看看。

发现他不让我进行删除,这个时候我们需要加上-r就可以了。

 

但是发现他每次都要问我是不是要删除,会觉得很烦,我们这样强制的删除就是加上f就可以了。

 

我们这里在讲一个通配符  它表示可以代表任何,比如我们这里把当前内容全部进行删除,可以这样写。

我们这里删除的是当前的路径,一定要看仔细,可不能删除根目录下的。

这样12_10下的所有东西就都被删除了。

那我们今天的内容就到此结束了,我们下次再见。

 

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

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

相关文章

【Python网络爬虫入门教程1】成为“Spider Man”的第一课:HTML、Request库、Beautiful Soup库

Python 网络爬虫入门:Spider man的第一课 写在最前面背景知识介绍蛛丝发射器——Request库智能眼镜——Beautiful Soup库 第一课总结 写在最前面 有位粉丝希望学习网络爬虫的实战技巧,想尝试搭建自己的爬虫环境,从网上抓取数据。 前面有写一…

论文阅读——Deformable ConvNets v2

论文:https://arxiv.org/pdf/1811.11168.pdf 代码:https://github.com/chengdazhi/Deformable-Convolution-V2-PyTorch 1. 介绍 可变形卷积能够很好地学习到发生形变的物体,但是论文观察到当尽管比普通卷积网络能够更适应物体形变&#xff…

Numpy数组的去重 np.unique()(第15讲)

Numpy数组的去重 np.unique()(第15讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

Linux权限详解

Linux权限 文章目录 Linux权限一、root账号与普通账号二、Linux权限管理三、权限权值表示方法四、文件访问权限的设置方法五、粘滞位六、权限总结 前言: 我们在学习Linux的时候,我们知道在Linux下一切皆文件,而不同的文件对于不同的用户有不同…

第二十一章总结。。

计算机网络实现了堕胎计算机间的互联,使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序,这些程序借助于网络协议,相互之间可以交换数据,编写网络应用程序前,首先必须明确网络协议…

掌握iText:轻松处理PDF文档-基础篇

关于iText iText是一个强大的PDF处理库,可以用于创建、读取和操作PDF文件。它支持PDF表单、加密和签署等操作,同时支持多种字体和编码。maven的中央仓库中的最新版本是5.X,且iText5不是完全免费的,但是基础能力是免费使用的&…

2023-12-10 LeetCode每日一题(爬楼梯)

2023-12-10每日一题 一、题目编号 70. 爬楼梯二、题目链接 点击跳转到题目位置 三、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 示例 2: 提…

gin投票系统2

投票系统 数据库的建立 先分析需求,在sql中建立数据库,关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表” 成功后目前有四个表: vote,user,vote_opt,vote_opt_user 建立数据库,可以…

Flink基本转换算子map/filter/flatmap

map map是大家非常熟悉的大数据操作算子,主要用于将数据流中的数据进行转换,形成新的数据流。简单来说,就是一个“一一映射”,消费一个元素就产出一个元素。 我们只需要基于DataStream调用map()方法就可以进行转换处理。方法需要…

案例026:基于微信小程序的原创音乐系统的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

汽车网络安全--关于UN R155认证的思考

1.UN R155概述 2020年6月25日,联合国颁布了全球首个汽车网络安全强制性法规 -- UN 155,详细规定了关于评估网络安全措施的审核条款、制造商和供应商降低网络安全风险的方法以及实施风险评估的义务等。 法规适用于与信息安全相关的M类(4轮及以上载客汽车)、N类(四轮载货汽车)…

SpringBoot项目连接Graylog

直接用logback将控制台输出的日志发送到graylog上 1.导入logback依赖 <dependency> <groupId>de.siegmar</groupId> <artifactId>logback-gelf</artifactId> <version>1.1.0</version> </dependency> 2.创建logback-spring.x…

golang学习笔记——编写最简单的命令行工具

编写最简单的命令行工具 用户输入bufio 使用go语言编写最简单的命令行工具 mkdir hello-cli-demo cd hello-cli-demo # 查看环境变量 go envgo mod初始化 go mod init gitcode.com/m打开vscode&#xff0c;创建main.go package mainimport ("fmt""bufio&qu…

快速测试 3节点的redis sentinel集群宕机2个节点以后是否仍能正常使用

有同事问我&#xff0c;三个redis sentinel节点&#xff0c;宕机两个节点以后&#xff0c;是否还能够正常的通过redis sentinel正常访问redis的数据。我想了想&#xff0c;理论上是可以的&#xff0c;但是我没试过&#xff0c;今天有时间就测试了一下。搭建环境和测试代码的过程…

Java并发(十七)----变量的线程安全分析

1、成员变量和静态变量是否线程安全 如果它们没有共享&#xff0c;则线程安全 如果它们被共享了&#xff0c;根据它们的状态是否能够改变&#xff0c;又分两种情况 如果只有读操作&#xff0c;则线程安全 如果有读写操作&#xff0c;则这段代码是临界区&#xff0c;需要考虑线…

深入了解Python pydash库

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在数据处理和分析领域&#xff0c;Python一直是一种强大的编程语言。然而&#xff0c;在处理大规模数据集和执行复杂操作时&#xff0c;有时候需要更高效的工具。在本文中&#xff0c;我们将深入探讨pydash库&am…

语义分割 简介及数据集简介

参考文章 MS COCO数据集介绍以及pycocotools简单使用-CSDN博客

[MySQL--进阶篇]存储引擎的体系结构、简介、特点、选择

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录&#xff1a;不要在乎别人怎么看你&#xff0c;因为他们根本就没有时间&#xff0c;他们只关心他们自己。 ⭐个人主页&#xff1a;欧_aita ψ(._. )>⭐个人专栏&#xff1a; 数据结构与算法 MySQL数据库 存储引擎 前言MySQL体…

李宏毅gpt个人记录

参考&#xff1a; 李宏毅机器学习--self-supervised&#xff1a;BERT、GPT、Auto-encoder-CSDN博客 用无标注资料的任务训练完模型以后&#xff0c;它本身没有什么用&#xff0c;GPT 1只能够把一句话补完&#xff0c;可以把 Self-Supervised Learning 的 Model做微微的调整&am…

32.768KHz时钟RTC晶振精度PPM值及频差计算

一个数字电路就像一所城市的交通&#xff0c;晶振的作用就是十字路口的信号灯&#xff0c;因此晶振的品质及其电路应用尤其关键。数字电路又像生命体&#xff0c;它的运行就像人身体里的血液流通&#xff0c;它不是由单一的某个器件或器件单元构成&#xff0c;而是由多个器件及…