Linux基本操作符(1)

W...Y的主页 😊

 代码仓库分享 💕


 


目录

Linux的登录

Linux下基本指令

指令操作的理解

几个与用户操作符 

  ls 指令

 pwd命令

 cd 指令

touch指令

mkdir指令

rmdir指令 && rm 指令


什么叫操作系统,我相信如果是学计算机的都听说过,但是还没有学习过的不知道具体是什么。操作系统就是一款进行软硬件资源管理系统。通俗来讲,我们使用的电脑设备都是由硬件、设备驱动、操作系统以及应用软件构成的。但是如果没有操作系统的承上启下,我们一般人就无法去驾驭并且灵活使用计算机。

那为什么要进行软硬件资源管理呢?我们可以将操作系统比作一个工具,对向上的软件提供良好的稳定服务。

那搭建Linux平台的方法,博主已经给大家分享过了,如果有需要可以访问以下链接:

如何搭建Linux平台 icon-default.png?t=N7T8https://blog.csdn.net/m0_74755811/article/details/132981688?spm=1001.2014.3001.5501

那我们就用博主最推荐的方法来——使用云服务器来开展Linux的内容分享。

Linux的登录

打开我们的xshell,进入页面后我们将我们所购买的云服务器ip地址复制,用shh. root@+ip即可登录,再输入密码就可以登录我们的Linux界面。

还有一种方法就是在xsheel的左上角有一个新建会话,我们可以新建一个属性,名称可以按照自己的意愿起,主机填入自己的IP地址,说明可有可无。点击确定就有自己的一个会话了。每当我们打开xshell都会弹出来这个会话框,我们点击连接然后输入密码即可登录Linux。

当出现一下字母证明成功进入Linux服务器:

Linux下基本指令

指令操作的理解

Linux在操作时是纯指令操作的,其实windows也是支持指令操作的,我们可以打开自己的菜单然后搜索cmd。 我们现在使用的windows系统都是可视化的图形化界面,我们通过鼠标的点击进行操作,但是在之前我们都是纯靠指令,就和键盘鼠标一样,一定是先出现键盘,慢慢发展在出现鼠标,最后又发展有了我们的触摸屏。

几个与用户操作符 

当我们需要知道当前登录Linux系统的用户,我们可以输入whoami,系统返回的就是当前操作用户的用户名

我们也可以使用who来查看当前有几个用户使用这个IP下的服务器,以及登录的时间

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

windows相信大家都比较熟悉,我们使用windows创建一个空文件,这个文件需要占据内存吗?建立一个0kb的文本文件还是要占据磁盘空间的。为什么呢?

因为一个文件还有文件名字、文件创建时间、文件类型……这些信息也是数据,当我们关键后再次打开时,这些东西都还是存在的。

所以文件 = 文件内容 + 文件属性。这些东西都是二进制数据,都要被存储。 

所以我们在之前学习中一般都是文本操作,并没有对文件属性进行操作,或者说操作非常少,但是在Linux中我们就可以对文件的属性进行强有力的操作。

在Linux种,我们使用ls,可以打印当前文件目录下的文件名。

在ls后加 -l可以输出当前目录下的文件的详细属性:

 ls -l也可以用ll直接替代,为什么呢?ll = ls -l

在ls后加入-a:列出目录下的所有文件,包括以 . 开头的隐含文件。

我们在使用ls时只可以看到没有被隐藏的文件,而在ls后加上 -a就可看到被隐藏的文件:

如果还想要看到的更加详细,我们可以进行组合添加。ls -al、ls -la、 ls -l -a、ls -a -l都可以展示所有文件的具体属性(包括被隐藏的)。 这就与我们Windows中的隐藏文件一样。隐藏文件,在Linux中的隐藏文件通常以.开头。

 那我们就会发现,隐藏文件显示出来都有一个共同点,就是都有.与..,那这两个有什么区别呢?

一个.:当前路径

两个点:上级路径

我们先将概念说出,在继续往后学习我们就能知道它们的用途。

 pwd命令

语法: pwd
功能:显示用户当前所在的目录

当我们想知道现在身处于哪个路径时,我们就可以使用pwd命令符进行。

我们原本身处于/home/why的路径中,当我们进入/home后再次获取路径,系统就会显示当前路径为/home。

这与Windows中的路径非常相似: C:\Program Files (x86)\Microsoft Visual Studio\Installer\ko这个就是Windows中的路径

/home/why是Linux中的路径,它们的分隔符不同,Linux选择的是\正向斜杠分隔符,而Windows选择的是反向斜杠分隔符/。

 cd 指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。

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

cd可以让我们进入目录中,就如同在Windows中一个个点击目录去寻找我们目标文件。

cd . :进入当前路径。这个一般是没有用的,因为我们本来就在当前路径中,所以对路径不会有影响。

cd ..:..的作用就是上一级路径,所以cd ..就是访问上一级路径。目前我们在/home路径中,当我们cd..就会返回上一级中。

 这与windows中的返回到lnstalln功能相同。

现在文件路径已经到了/,如果再继续返回上级路径会是怎么样呢?

很显然没有改变,所以/就是linux下的根目录。几乎所有的文件系统就是一个多叉树,windows也是如此。

 

叶子节点:一定是普通文件,或者是空目录

路上节点,非叶子节点,一定是目录

访问一个文件的本质,需要先找到它,而找到文件的本质就是再一颗多叉树中进行节点的查找。 

那什么是路径,为什么要有路径呢?

路径:用一串特殊符号分割的字符串。两个分隔符之间的一定是目录或者文件夹,而最后一个分隔符后的可能是文件或目录。

 而路径的本质就是多叉树的搜索路径。

路径又分为绝对路径与相对路径。

相对路径:相对于自身的当前所属的目录为参考点,我们定位一个文件的路径为相对路径。

绝对路径:我们将从/目录开始,定位一个叶子文件的方式,形成的路径成为绝对路径。其实也可以理解为自身在根目录的相对路径。

参考上面多叉树的图,我们想要寻找test.c,那绝对路径就是/home/bit/test.c。而如果使用相对路径,假设我们在dev的目录中,那相对路径就是../home/bit/test.c。

绝对路径的优势就是无论我们身处于哪个目录,使用绝对路径都可以找到。而相对路径的局限性就出来了,每一个目录所对应的绝对路径唯一。

为了证明我们的文件系统为树状结构,我们可以引出一个tree命令,在tree后面跟上 节点目录就可以将次目录下的内容以树状的形式表达出来。

 我们打印出在/home/why下的树状结构。

我们需要在Linux中输入yum install -y tree指令,安装后才可以进行树的打印。

 cd - 指令:返回最近访问目录

我们现在的路径为/home/why,当我们直接返回到根目录/,然后再cd -我们就可以直接回到/home/why中。cd ~:进入用户家目录。

我们无论进入到哪个目录中去,只要输入cd ~就会进入到家目录中去。什么是家目录呢?

如果我们的用户是主用户root,那进入的家目录就是/root。如果我们的用户为次用户,进入家目录就是/home/用户名。

 我这个不是主用户,是root的可以实验一下。

总结:默认登录时,默认登录的路径,就是当前登录的家目录。

touch指令

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

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

touch +文件名可以在当前目录下创建一个文件。

我们也可以快速创建多组文件:

 如果我们想要查看某个文件的详细属性时,我们可以输入stat +文件名。

mkdir指令

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

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

mkdir指令与touch非常相似,是创建目录的指令。

创建的文件夹默认为空。那我们可以直接可以创建一个路径呢?答案是不行。只能一个一个创建。

但是我们可以使用mkdir -p +创建路径即可。 

rmdir指令 && rm 指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

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

语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录

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

rmdir只可以删除一个空的文件夹但不能删除文件。 

但是我们可以使用rm指令进行删除。

 但是为什么报错了呢?因为文件夹本来就是一个树状结构,就是递归定义的,所以得深度遍历在删除。

所以得用递归一层层遍历,然后确定要删除即可将路径中的所有文件夹全部删除。但是只有root用户有询问交互,然后回答y/n。普通用户没有这个权限,所以直接就会删除。

rm -rf:这个指令是强制删除指令,界面就不会有交互直接删除。

删除文件直接使用rm -f + 文件名指令,强制删除不会有交互,但是用rm +文件名会有交互询问。


以上是本次Linux部分基本操作符,也是本次全部内容。更多Linux操作符在下次博客中,尽情期待!!!

感谢大家观看,一键三连支持一下吧!!!

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

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

相关文章

LeetCode每日一题:1993. 树上的操作(2023.9.23 C++)

目录 1993. 树上的操作 题目描述: 实现代码与解析: 模拟 dfs 原理思路: 1993. 树上的操作 题目描述: 给你一棵 n 个节点的树,编号从 0 到 n - 1 ,以父节点数组 parent 的形式给出,其中 p…

Euro-NCAP-HWA测试流程中文版V1.1(2023发布)

定义 在本协议中,使用了以下术语: Vehicle undertest (VUT) – 指根据本规程测试的车辆,车上有碰撞前的碰撞缓解或避免系统 Global VehicleTarget (GVT) – 指本协议中使用的车辆目标,其定义见TB025—Euro-NCAP全球车辆目标规范v1.0 辅助其他车辆(SOV)--指最新的 AEB …

基于微信小程序的校园商铺系统,附源码、数据库

文章目录 第一章 简介第二章 技术栈第三章:总体设计第四章系统详细设计4.1 前台功能模块4.2后台功能模块4.2.1管理员功能模块 五 源码咨询 第一章 简介 今天,为大家带来的事基于微信小程序的校园商铺系统。本系统的主要意义在于,全力以赴为用…

JAVA学习-全网最详细

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

小程序中如何导出会员卡的档案信息

对于医院、美容院等特殊商家,可能需要在给会员添加一些档案。例如今天客户是什么情况,做了什么服务,解决了什么问题。添加这些档案后,系统会保存这些信息,供下次来的时候使用,或者为商家日后做营销提供依据…

社区团购美团和多多买菜小程序购物车

概述 微信小程序购物车列表demo 详细 需求 显示食物名称、价格、数量。 点击相应商品增加按钮,购买数量增加1,点击食物减少按钮,购买数量减一 显示购买总数和总金额 查看当前购买的商品 效果图(数据来自本地模拟) 目录结构 实现过程 主要wxml <view classfoods>…

实现爬虫加速的可实现办法

网络爬虫在数据采集和信息监测中发挥着重要作用。然而&#xff0c;由于网络环境复杂和大量数据需求&#xff0c;爬虫速度可能面临挑战。本文将为您分享一些实现爬虫加速的可行方法&#xff0c;帮助您让爬虫快如闪电&#xff01;让我们一起探索吧&#xff01; 一、多线程并发请…

第一百五十四回 如何实现滑动菜单

文章目录 概念介绍实现方法示例代码体验分享 我们在上一章回中介绍了滑动窗口相关的内容相关的内容&#xff0c;本章回中将介绍如何实现 滑动菜单.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的滑动菜单表示屏幕上向左或者向右滑动滑动时弹…

扩散模型:DDPM代码的学习(基于minist数据集)

文章目录 序言一参考资料①代码来源②相关概念理解③公式推导及训练流程讲解④搜索问题的网站⑤模型运行的环境 二代码解读①模型②训练③测试 三主要训练过程的解析 序言 本文主要对一个基于minist数据集搭建的DDPM模型代码中各个模块的含义进行解析&#xff0c;初步记录了自…

自拟实现消息队列(MQ)基于Rabbit MQ(含概念和源码)巨详细!!!!!含思维导图

MQ目录 MQ基本概念什么是MQ&#xff1f;MQ的应用场景 首先先明白需求持久化分析那么MQ如何设计持久化&#xff1f; 可靠性分析高效性分析MQ核心概念&#xff08;装配层&#xff09;实现MQ组件思维导图创建项目导入数据库下载SqLite。 创建组件实体类创建交换机&#xff08;要加…

php框架thinkPHP6的安装教程

1&#xff0c;composer官网下载最新版本 composerhttps://getcomposer.org/download/ 2&#xff0c;双击下载后的运行文件&#xff0c;一直点击next就行了 上面这个路径根据自己安装的php版本位置选择&#xff08;没有的可以下载一个phpstudy&#xff09;&#xff0c;最后需要…

SQL死锁进程内容查询语句

1.方式1 SELECT object_name(A.resource_associated_entity_id) as TABLENAME, A.request_session_id AS SPID,DB_NAME(B.dbid) AS DBName,B.blocked,B.dbid,B.program_name,B.waitresource,B.lastwaittype,B.loginame,B.hostname,B.login_time,B.last_batch--,B.* FROM sy…

Mybatis自动映射Java对象 与 MySQL8后的JSON数据

文章目录 Mybatis自动映射Java对象 与 MySQL8后的JSON数据1.转化成为正常Json类型1.1 JsonTypeHander1.2 ListJsonTypeHandler 负责List<T> 类型1.3 实体类1.4 mapper1.5 测试类 2. 存储为携带类型的Json Mybatis自动映射Java对象 与 MySQL8后的JSON数据 1.转化成为正常…

一、imx6ull 最新交叉编译工具下载地址,及安装方法

IMX6ULL为Cortex-A7单核处理器&#xff0c;架构为32位&#xff0c;支持硬件浮点功能。所以下载如下图所示交叉编译工具 linaro GNU-A 针对Cortex-A系列版本 ARM官方稳定版本&#xff0c; ARM官网下载地址:https://developer.arm.com/downloads/-/gnu-a 百度网盘地址&#xff…

vuejs - - - - - 使用code编辑器codemirror

使用code编辑器codemirror 0. 效果图1. 依赖安装2. 组件封装3. 组件使用 0. 效果图 列表实现参考: 列表实现代码 1. 依赖安装 npm install codemirror codemirror-editor-vue3 jsonlint-mod 2. 组件封装 code-mirror-editor.vue <template><VueCodeMirrorclas…

4 vCPU 实例达成 100 万 JSON API 请求/秒的优化实践

“性能工程” &#xff08;Performance engineering&#xff09;是个日渐流行的概念。顾名思义“性能工程”是包含在系统开发生命周期中所应用的一个技术分支&#xff0c;其目的就是确保满足非功能性的性能需求&#xff0c;例如&#xff1a;性能、可靠性等。由于现代软件系统变…

Java函数式接口(Consumer、Function、Predicate、Supplier)详解及代码示例

函数式接口 java.util.function : Consumer :消费型函数接口 void accept(T t) Function :函数型接口 R apply(T t) Predicate :判断型接口 boolean test(T t) Supplier :供给型接口 T get() Consumer - 消费型函数接口 该接口代表了一个接受一个参数并且不返回结果的操作。…

蓝桥杯 题库 简单 每日十题 day10

01 最少砝码 最少砝码 问题描述 你有一架天平。现在你要设计一套砝码&#xff0c;使得利用这些砝码 可以出任意小于等于N的正整数重量。那么这套砝码最少需要包含多少个砝码&#xff1f; 注意砝码可以放在天平两边。 输入格式 输入包含一个正整数N。 输出格式 输出一个整数代表…

如何看待unity新的收费模式

Unity的由来&#xff1a; Unity 是一款跨平台的游戏引擎&#xff0c;由 Unity Technologies 公司开发和维护。Unity 的起源可以追溯到 2002 年&#xff0c;当时 Unity Technologies 创始人之一的 David Helgason 在丹麦创建了一个名为 Over the Edge Entertainment 的游戏开发…

Android跨进程通信:Binder机制原理

目录 1. Binder到底是什么&#xff1f; 2. 知识储备 2.1 进程空间划分 2.2 进程隔离 & 跨进程通信&#xff08; IPC &#xff09; 2.3 内存映射 2.3.1 作用 2.3.2 实现过程 2.3.3 特点 2.3.4 应用场景 2.3.5 实例讲解 ① 文件读 / 写操作 ② 跨进程通信 3. Bi…