从零开始学习Linux(1)

news2025/8/7 3:10:40

Linux基本操作


文章目录

  • Linux基本操作
  • 前言
  • 一、操作系统相关知识
    • 1.什么是操作系统?
    • 2.操作系统有什么作用
  • 二、Linux基本操作
    • 1.ls指令
    • 2.pwd命令
    • 3.cd命令
    • 3.热键
    • 4.touch指令
    • 5.nano指令
    • 6.start指令
    • 7.mkdir指令(重要)
    • 8.rmdir指令&&rm指令(重要)
  • 总结

前言

之前的数据结构模块和算法模块会继续给大家更新,同时接下来会给大家分享Linux的学习笔记,希望对大家有所帮助~


一、操作系统相关知识

1.什么是操作系统?

操作系统是一款进行软硬件管理的软件。

2.操作系统有什么作用

操作系统对软硬件合理的进行管理(手段),以达到为上层用户提供良好的稳定的安全的运行环境的目的(目的)。

image-20221117103439238

二、Linux基本操作

接下来的Linux指令类似与windows指令:

1.ls指令

语法: ls [选项][目录或文件]
功能:显示当前所处的目录(只默认显示文件名)
ls -l :显示文件的更多信息(以列表的形式显示文件的属性)

image-20221117104323382

在这里补充一个知识点:
在windows操作系统中创建一个空文件:
1.文件存在的位置于磁盘
2.即使是空文件也依旧会占用磁盘空间的大小
ps:空文件,即使文件中没有内容,但是空文件的文件名,修改时间…都是必然存在的数据,这些称为文件属性数据,他们也会存在磁盘中,所以空文件也会占用磁盘空间的大小)。
文件=内容+属性

image-20221117103513063

ls -l -a:显示更多隐藏文件

image-20221117104356798

ls -la:理论上和上面的指令效果相同

image-20221117104417477

2个“-”之前存在空格键

ll=ls -l

在Linux操作系统下,文件名或者目录名如果以 . 开头,就为隐藏文件或隐藏目录。

隐藏目录下的文件都是隐藏文件。

ls -ld:只显示目录,不显示内容。

image-20221117105152163

常用选项:

-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 一行只输出一个文件 。

2.pwd命令

语法:pwd

作用:显示用户当前所在目录(确定自己所处的路径)

image-20221117104620018

3.cd命令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。 (进入指定目录)

. 当前路径

… 上级路径

cd . 进入当前目录

cd… 进入上级目录

cd ~ 进入当前用户的家目录(pwd查看)

​ root用户家目录为root,普通用户家目录为home

​ windows也有家目录(C盘用户/user)

image-20221117110522094

cd - 回到最近上一次所处路径。

image-20221117110541594

D:\developer_tools\Java\jre1.8.0.131\bin

在windows下的路径:\ 路径分隔符

在Linux下的路径: / 路径分隔符

在Linux系统中/表示Linux下的根目录

image-20221117105538146

Linux的目录结构:整体为一个多叉树的样子。

windows下用路径定位文件/文件夹,在Linux下同样如此

为什么使用路径?

因为子目录(结点)只有一个父目录,也就是说向上找只能找到唯一的父目录,所以路径具有唯一性,使用路径就可以找到我们所找的文件或者目录。

什么叫绝对路径?

从根目录开始,定位文件的路径叫做绝对路径,因为从根目录开始定位的,所以不管你处在那个目录下都可以找到所需要的文件。

什么叫相对路径?

相对路径就是从你所在目录的的上级目录开始定位,一旦当前目录发生改变就找不到所要找的文件。

相对路径只能在特定的路径下有效

当前路径变了相对路径便失效了

ps:绝对路径虽然很暴力,但是很麻烦,一般只在某些配置文件中,进行对某种文件进行配置时采用。

​ 相对路径用法简单,后续指令的操作常用相对路径。

3.热键

在这里补充一个热键:Tab

作用:命令自动补齐

image-20221117110748126

注意事项:需要快速点击Tab按键两次

4.touch指令

语法:touch [选项]… 文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

touch filename:在当前路径下创建一个普通文件(可指定路径)

image-20221117111136209

如果touch命令出现疯狂刷屏,使用Ctrl+C就可终止程序。

补充一个tree命令:以树状结构显示Linux指定的目录结构

image-20221117111411204

如果使用tree出现以下情况:

image-20221117111451021

我们可以使用yum指定安装tree命令:

image-20221117111532500

常用选项:

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

5.nano指令

语法:nano 文件名:用记事本打开文件,可以直接写代码。

image-20221117112002877

写好代码之后下面有很多的功能,*x是保存功能, *x=Ctrl+X;

image-20221117112208837

然后点击y代表yes;

image-20221117112017362

然后我们使用编译指令,Linux使用的是gcc的编译器,指令为gcc 文件名

image-20221117112400161

然后会生成一个a.out文件,我们使用(./a.out)执行当前路径下a.out程序。

​ 上方括号内第一个.代表当前路径

image-20221117112649271

6.start指令

语法:stat 文件名

功能:获取文件的所有属性

image-20221117112828679

任何一个文件都有三种时间(ACM)

1 访问时间(atime:access time):读一次文件的内容,atime就会更新。比如对这个文件运用 more、cat等命令。另外ls、stat命令都不会修改文件的访问时间。
2 修改时间(mtime:modifiy time):mtime是文件内容最后一次被修改时间。例如vi后保存文件。ls -l列出的时间就是这个时间。
3 状态改动时间(ctime:change time):ctime是在写入文件、更改所有者、权限或链接设置时随i节点的内容更改而更改的,是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。

一般根据文件的时间属性可以和find命令结合查询到想要的结果
例如查询最后2小时内更新过的文件 find / -mtime -2
Linux文件属性的查看方法 :

1 ls -lc filename 列出文件的 ctime (最后状态更改时间)
2 ls -lu filename 列出文件的 atime(最后访问时间)
3 ls -l filename 列出文件的 mtime (最后修改时间)
4 stat filename 一次性看到文件的三种时间属性

7.mkdir指令(重要)

语法: mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录

mkdir -p :d1/d2…递归创建一系列目录

常用选项:

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录 。

举例:

mkdir –p test/test1 : 递归建立多个目录 。

image-20221117134137931

8.rmdir指令&&rm指令(重要)

rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令 。

语法: rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

rmdir :删除目录(只可以删除空目录) 几乎没什么作用

rm命令可以同时删除文件或目录

语法: rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者(只要权限够,什么都可以删除。)
功能:删除文件或目录

rm -r:递归删除,和mkdir递归生成一系列目录搭配使用。

rm -rf:递归强制删除(r递归f强制)

image-20221117135110115

rm -rf ./* 表示删除当前所有内容。

常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

命令可以同时删除文件或目录

语法: rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者(只要权限够,什么都可以删除。)
功能:删除文件或目录

rm -r:递归删除,和mkdir递归生成一系列目录搭配使用。

rm -rf:递归强制删除(r递归f强制)

[外链图片转存中…(img-N5er0VAr-1668666705727)]

rm -rf ./* 表示删除当前所有内容。

常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

总结

今天涉及到Linux操作系统的一些基本知识和少数基本操作,明天将会继续更新关于Linux的相关操作,如果有难点会画图帮助大家理解,希望对大家有所帮助,我们明天见~

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

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

相关文章

蓝牙学习二(连接和通讯简述)

1.简介 蓝牙的通信是双向的,为了创建和维护一个BLE通信连接,在蓝牙中引入了“角色”这一概念,一个BLE设备不是主机(集中器)就是从机(外围设备)角色,这是根据是谁发起这个连接来确定的…

JVM - G1收集器、Region、停顿时间模型、垃圾回收(建议收藏)

​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) Region 使用G1收集器时,java堆的内存会划分为多个大小相等的独立区域(Region),Region中也有新生代和老年代的概念,但是新生…

Source Insight是一个面向项目开发的程序编辑器和代码浏览器丨产品简介

Source Insight是为大型、高要求的现实世界编程项目而设计的。事实上,今天,重要的技术公司正在使用Source Insight来开发一些最大、最成功的商业硬件和软件产品。 代码分析 Source Insight会在您工作时动态解析您的源代码并维护自己的符号信息数据库&a…

Redis实战篇(六)用户签到、UV统计

一、用户签到 1、BitMap用法 我们按月来统计用户签到信息,签到记录为1,未签订则记录为0。 把每一个bit位对应每月的一天,形成映射关系。用0和1标识业务状态,这种思路称为位图(BitMap)。 Redis中利用strin…

qt qml

QT Quick是QT提供的一种高级用户界面工具包,包含对QML完美支持. Qt Quick 就是使用 QML 构建的一套类库。 Qml模块本身并没有涉及图形显示,所有的图形处理都由Qt Quick模块完成。 QMl是一种高效的开发UI 的语言。QML(Qt Meta-Object Languag…

对接建行支付

前两篇文章介绍了对接微信支付和农行支付的方法,这篇文章介绍一下建行支付。 使用场景: 在微信公众号中调用微信付款,或者公众号内页面调用龙支付或者H5页面支付。 一、微信支付 参考建行给的接口文档 交易流程如下: 按照接口要求…

sync_binlog和innodb_flush_log_at_trx_commit的区别

innodb_flush_log_at_trx_commi 这个指的是写redo及后续操作,ib_logfile这个文件的刷新方式。 sync_binlog纯粹指的是binlog ,如 mysql-bin0003等。 基于innodb_flush_log_at_trx_commit 的三个参数的解释。 Innodb_flush_log_at_trx_commit 0 redolo…

代码随想录59——单调栈:503下一个更大元素II、42接雨水

文章目录1.503下一个更大元素II1.1.题目1.2.解答2.42接雨水2.1.题目2.2.解答2.2.1.双指针for循环解法2.2.3.单调栈解法1.503下一个更大元素II 参考:代码随想录,503下一个更大元素II;力扣题目链接 1.1.题目 1.2.解答 做本题之前建议先做 73…

Spring Boot 集成freemarker模板引擎

前言 J2EE的领域中包含5大引擎,分别为模板引擎、流程引擎、搜索引擎、规则引擎、报表引擎。每种引擎都能解决某一方面的问题,模板引擎解决的是用户界面与业务数据分离,流程引擎解决的是驱动业务按照一定的流程执行,搜索引擎解决的…

局部线性分析(机器学习)

目录 局部线性嵌入(LLE) 局部线性嵌入(LLE)算法的主要步骤分为三步 效果如下 局部线性嵌入(LLE) 局部线性嵌入(LLE)是一种非线性降维算法 它能够使降维后的数据较好地保持原有流…

大学生HTML个人网页作业作品:基于html css实现围棋网页(带报告4800字)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

动静态链接动静态库制作与使用

前置知识 程序的编译与链接:动静态库属于程序链接阶段的概念,如果对程序的编译链接过程不太熟悉,可以先看一下着篇文章gcc&动静态链接:这篇文章讲解了如何在Linux环境下用gcc完成编译链接的每一步操作 链接库 在链接的过程…

Java对象内存结构和创建过程

文章目录对象的内存布局对象头Mark WordKlass Pointer实例数据对齐数据对象的创建总结对象的内存布局 我们的对象一般存储在我们的堆内存中,我们把实例对象可以划分为对象头,实例数据,对齐填充 对象头(object header&#xff09…

SpringBoot+Vue项目流浪狗领养管理系统的设计与实现

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JDK版…

图像运算和图像增强十

图像运算和图像增强十 图像锐化之 Sobel、Laplacian 算子实现边缘检测 (1)Sobel算子(一阶微分算子) Sobel算子是一种用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导。该算子用于计算图像明暗程度近似值,根据图像边缘旁…

top命令应用(查看进程实时动态信息)

记录:321 场景:在CentOS 7.9操作系统上,top命令是查看进程实时动态信息工具。查看进程状态、进程使用内存状况、进程使用CPU状况、进程PID等。 版本: 操作系统:CentOS 7.9 1.top命令介绍 top命令,查看…

内存、指针与数组

C语言的指针可以当成一个特殊的数据类型(像int一样的数据类型),可以说其唯一的作用就是为了存储地址,其他的都可以当作它的衍生用法。 指针的诸多功能都是基于其能直接操作指定内存空间存储的值,每个程序运行都会由操作…

git新建仓库提交项目代码+常用命令

一:新建仓库 输入一下仓库名称,归属和路径都是生成的不需要自己去编辑 点击创建就创建了一个新的仓库,下面就是仓库刚创建好的样子 二:向仓库里提交项目代码 首先打开你要提交的项目文件: 根据官方的提示去提交代码&…

Linux:shell编程2(内含:1.设置环境变量+2.位置参数变量+3.预定义变量+运算符+4.条件判断)

写在开头: 小技巧:除了赋值不加空格,其他的,例如是[ ] ()等都需要空格! 1.设置环境变量: 注:类似于C语言全局变量 案例1:在/etc/profile文件中定义TOMCAT_HOME环境变量。 解释&…

洛谷 模拟 普及-

文章目录💥前言😉解题报告💥一、快乐水🤔一、题意及思路:😎二、源码:😮三、代码分析:💥二、漂亮的绝杀🤔一、题意及思路:😎二、源码:&…