Linux基本操作符(1)

news2024/12/28 22:04:23

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.coloradmin.cn/o/1040851.html

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

相关文章

Stm32_标准库_TIM中断_PWM波形_呼吸灯

基本原理 PWM相关物理量的求法 呼吸灯代码 #include "stm32f10x.h" // Device header #include "Delay.h"TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_OCInitTypeDef TIM_OCInitStructuer;//结构体 GPIO_InitTypeDef GPIO_InitStructur…

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

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

buildroot移植Qt5无法显示字体问题

报错:QFontDatabase: Cannot find font directory /usr/lib/fonts. Note that Qt no longer ships fonts. Deploy some (from DejaVu Fonts for example) or switch to fontconfig. 原因:很明显是Qt没有找到字库文件; 解决方法: 1…

排查内存泄露

1 通过Performance确认是否存在内存泄露 一个存在内存泄露的 DEMO 代码&#xff1a; App.vue <template><div><button click"myFn" style"width: 200px; height: 200px;"></button><home v-if"ishow"></hom…

VUE使用DXFParser组件解析dxf文件生成图片

<template><div><input type"file" change"handleFileChange" /></div><el-table :data"tableData" style"width: 100%"><el-table-column prop"Control_No" label"序号" width…

图像处理与计算机视觉--第四章-图像滤波与增强-第一部分

目录 1.灰度图亮度调整 2.图像模板匹配 3.图像裁剪处理 4.图像旋转处理 5.图像邻域与数据块处理 学习计算机视觉方向的几条经验: 1.学习计算机视觉一定不能操之过急&#xff0c;不然往往事倍功半&#xff01; 2.静下心来&#xff0c;理解每一个函数/算法的过程和精髓&…

C语言入门Day_25 函数与指针小结

目录 前言&#xff1a; 1.函数 2.指针 3.易错点 4.思维导图 前言&#xff1a; 函数就像一个“有魔法的加工盒”&#xff0c;你从入口丢一些原材料进去&#xff0c;它就能加工出一个成品。不同的函数能加工出不同的成品。 入口丢进去的瓶子&#xff0c;水和标签就是输入&a…

win使用git(保姆级教程)

序言 上学期间用的git并不多&#xff0c;但是从研三实习以及后面工作来看&#xff0c;git是一项必备技能&#xff0c;所以在此来学习一下。 下载git安装包 打开网站&#xff0c;根据需求来下载&#xff1b;一般按照如下方式进行下载&#xff1a; 然后安装的时候记得按下图勾…

NebulaGraph实战:3-信息抽取构建知识图谱

自动信息抽取发展了几十年&#xff0c;虽然模型很多&#xff0c;但是泛化能力很难用满意来形容&#xff0c;直到LLM的诞生。虽然最终信息抽取质量部分还是需要专家审核&#xff0c;但是已经极大的提高了信息抽取的效率。因为传统方法需要大量时间来完成数据清洗、标注和训练&am…

32.栈的应用补充-表达式求值

目录 一. 前缀表达式与后缀表达式 二. 中缀表达式转后缀表达式的手算方法 三. 后缀表达式的手算方法 四. 后缀表达式的机算方法 五. 中缀表达式转前缀表达式的手算方法 六. 前缀表达式的机算方法 七. 中缀表达式转后缀表达式的机算方法 八. 中缀表达式的机算 一. 前缀表…

ElementUI首页导航和左侧菜单静态页面的实现,以及Mockjs和总线的介绍

目录 前言 一. Mock.js 1.1 什么是Mock.js 1.2 Mockjs的安装与配置 1.2.1 安装Mock.js 1.2.2 引入Mock.js 1.3 Mockjs的使用 1.3.1 定义数据测试文件 1.3.2 mock拦截ajax请求 二. 首页导航以及左侧菜单的搭建 2.1 什么是总线 2.2 创建三个vue组件 首页AppMain.vue组…

Learn Prompt- Midjourney Prompt:Prompt 提示语

基础结构​ 一个基本的提示可以简单到一个单词、短语或表情符号。非常短的提示将在很大程度上依赖于 Midjourney 的默认样式。 完整 prompt&#xff1a;可以包括一个或多个图像链接、多个文本短语或单词&#xff0c;以及一个或多个后缀参数 Image Prompts: 可以将图像 URL 添加…

Vue中前端导出word文件

很多时候在工作中会碰到完全由前端导出word文件的需求&#xff0c;因此特地记录一下比较常用的几种方式。 一、提供一个word模板 该方法提供一个word模板文件&#xff0c;数据通过参数替换的方式传入word文件中&#xff0c;灵活性较差&#xff0c;适用于简单的文件导出。需要…

Postgresql源码(113)表达式JIT计算简单分析

相关 《Postgresql源码&#xff08;85&#xff09;查询执行——表达式解析器分析&#xff08;select 11如何执行&#xff09;》 《Postgresql源码&#xff08;113&#xff09;表达式JIT计算简单分析》 1 普通表达式计算 普通表达式计算发生在优化器preprocess_expression中&am…

uni-app 使用 scss 实现推荐标签区域显示效果

效果图 <view class"tag-box"><view class"tag-tip"><view>店家</view><view>推荐</view></view> </view> 方法一 只需修改 $tagFontSize(字体大小) 即可 /* 推荐标签区域 */ .tag-box {$tagFontSize:…

uni-app:实现元素中实现竖直居中

效果展示 前&#xff1a; 后&#xff1a; 未实现前代码 <template><view class"container"><view class"centered-element">我是要被居中的元素</view></view> </template><script>export default {data() {r…

算法与数据结构-堆

文章目录 什么是堆如何实现一个堆&#xff1f;如何基于堆实现排序&#xff1f;1. 建堆2. 排序 什么是堆 堆是一种特殊的树&#xff0c;特殊点有二&#xff0c;如下&#xff1a; 堆是一个完全二叉树&#xff1b;堆中每一个节点的值都必须大于等于&#xff08;或小于等于&#…

【Vue】Mock.js介绍和使用与首页导航栏左侧菜单搭建

目录 一、Mock.js 1.1 mockjs介绍 1.2 mock.js安装与配置 1.2.1 安装mock.js 1.2.2 引入mock.js 1.3 mock.js的使用 1.3.1 准备模拟数据 1.3.2 定义拦截路由 1.3.3 测试 二、首页导航栏左侧菜单搭建 2.1 自定义界面组件 (完整代码) 2.2 配置路由 2.3 组件显示折叠和…

uniapp ui安装

安装 ui uni-app官网 (dcloud.net.cn) 安装 pages.js配置 使用 <template><view class"bg"><div class"title"><uni-data-selectv-model"value":localdata"range"change"change">asa</uni-da…

GiliSoft USB Lock v10.5.0 电脑USB设备管控软件

网盘下载 软件功能特性 禁止USB / SD驱动器 禁用从USB / SD磁盘读取&#xff0c;禁用写入USB / SD磁盘&#xff0c;阻止非系统分区。它不允许任何类型的USB / SD驱动器访问您的计算机&#xff0c;除非您授权它或它已在可信设备白名单。 CD锁&#xff0c;块媒体和蓝光光盘 禁用…