当前位置: 首页 > news >正文

Linux初识——基本指令

我们在linux下输入各种指令,其实就相当于在windows中的相关操作,比如双击,新建文件夹等。

以下是相关基本指令基本用法

一.ls(显示当前目录下的所有文件和目录)

那如何显示当前目录(我们所在的位置)呢?用指令pwd即可。

1.2  创建一个文件夹/目录

有时候,我们点到文件夹的尽头发现内部无文件了,此时ls发现是空的,为了让其显示,我们可以尝试在此目录下新建一个文件夹,指令:mkdir 文件名

1.3   ls+选项

除此之外,ls大部分还可以后面跟一个选项,比如:ls -l即列出该目录下文件的详细信息。除此之外,还有一些其他的常用选项。

-a:显示当前目录下的所有文件

与ls不同的是,其多了.和..。但我们也能通过颜色判断其是文件夹。稍后再作解释。

1.4   选项的合并

那我们可不可以把两个选项同时使用呢?当然可以即ls -a -l;显示更多文件和文件的更详细的信息。(命令和选项,选项和选项之间必须有至少一个空格隔开,我们建议一个空格即可)

ls除了支持选项进行独立写,也支持合并写,比如ls -al即可达成上面同样的效果(顺序可以随意)

1.5   关于选项 -a

接下来,我们来解释一下刚才ls -l操作看不到的.和..  

在Linux中, 以 . 开头的文件称为隐藏文件,只有用-a操作我们才能看见,包括我们自己创建的隐藏文件也是如此

.114就是新创建的隐藏文件/目录

1.6   -l下显示的其他信息

如图所示,显示了这两个文件的全部信息,那除了名字,剩下这堆信息又代表着什么呢?

这好比我们在windows下新建一个文本文档,虽然我什么也没写,显示的是0kb,但其也会占据此磁盘空间,这是因为其还有文件的属性,包括文件类型,创建时间等。因此我们得出。

文件=文件内容+文件属性。对文件的操作就是对内容操作或对属性操作。

在上面的红框开头,以d开头的文件我们称为目录,以-开头叫普通文件(比如源文件,文本文件等)

二.  pwd(当前的工作路径,即所在目录)

我们在刚才已经演示了用法,在此就不多说了

除此之外,我们还需注意的是,在windows中连续进入几个文件加,上面会显示D:\XX\XXX\XXX.其中,\被称为路径分隔符,在Linux中,路径分割符用/表示,有了分隔符,我们就可以用文件夹(目录)+分隔符来表示一条路径,进而找到我们要找的文件。

有了这个东西,我们可以把ls再完善一下功能,如果我们想显示某一具体文件夹的信息(不一定是当前文件夹),只需 ls -l /文件夹名即可。显示指定目录下的内容。所以,ls的用法通式为:

ls   [选项]   [路径]。

对于一般的路径:/root/../.../....,我们把第一个/称为根目录,剩下的叫路径。

三 . cd(路径切换)

cd+路径 可切换到指定路径下。这个操作类似于windows的双击文件夹操作。

最后一步就是切换到根目录了。

有了cd操作,我们解释一下.和..到底是啥东西。

.和..叫特殊目录,.是当前目录,..是上级目录(对于112,他的上级目录就是root)cd..就是退到上一级目录,相当于windows中的回退。

3.1   ls -d

有时候,我们并不想展开某一个具体文件夹里的内容,只想看看当前路径下的文件夹,但我们用-l他总是会把文件夹展开显示,因此,需要用 -d选项,ls -d 目录即可展示当前路径下的内容而不打开目录,即只查看目录自己。

因此,我们也可以查看根目录本身而不打开根目录的内容。

注意:/里可以放普通文件,也可以放目录,/里面的目录也是如此,所以,Linux的目录结构是一颗多叉树的形状

3.2  绝对路径与相对路径

这颗多叉树的叶子节点,一定是空目录或普通文件,任何一个父节点可能有多个子节点,但任何一个子节点只有一个父节点。也就是说从根目录到目标文件,来回的路径是唯一的。这也告诉我们,可以用路径来定位一个文件的位置。这种路径称为绝对路径。

有绝对就有相对,那什么是相对路径呢?

假设我现在在112中新建一个txt文件(112中同时有一个lesson2的文件夹)

正常来说,我们想找到这个文件,就会用绝对路径表示:ls /root/112/hello.txt。但我们学过..是上级目录,因此,可用..代替:现在我们的位置是/root/112/lesson2,因为hello.txt在112中,所以我们要回退一个。即ls  ../hello.txt。这个就是相对路径,相对是相对于当前路径的意思。之前的cd ..就是相对路径。在实际命令行操作的时候,经常使用相对路径,因为很方便。但绝对路径无论何时都能找到指定文件,在配置文件中使用居多。

在Linux下,任何一个目录都有.和..空目录也是如此,.相当于指向自己的指针,..相当于指向上一级路径的指针。 特殊地,根目录的.和..都指向自己。

3.3  cd -  :跳转到最近的上一次路径,比如

3.4 cd ~

结果发现,无论当前在哪个路径,经过cd ~后都会回到/root,我们称为家目录

对于家目录的定义:对于root用户,首次登录所处的路径。对于普通用户,首次登录所处的路径(/home/用户名)。相当于windows的用户里叫桌面的文件夹。

所以,cd ~是回到用户自己的家目录下。root用户可以随便去普通用户的家目录下,相当于超级管理员,而普通用户只能去自己的家目录。

四 .touch指令(新建普通文件)
语法:touch 文件名

注意,在同一路径下不允许出现相同名字的文件或目录

五. mkdir(新建一个目录)

语法:mkdir 目录名  表示在当前路径下新建一个新目录,当然,也可以用相对路径在其他位置新建目录

但有时候我们想一次性新建一串目录比如:

这是不被允许的,我们只能新建一个然后cd进去继续新建,但是有一个选项可以帮助我们一次性完成,即在上图的mkdir后加-p即可。

六   rmdir和rm(删除命令)

rmdir不能删除普通文件,也不能删除非空文件,通常用来删除空目录。

rm可以删除普通文件,也可以删除非空目录,但需要加-r选项,他会把从他开始的所有子目录都删除,是一个递归的过程。但是在进行删除过程中会一直问你是否确定删除,直到递归结束,此时如果我们不想重复性地回答他,直接采用强制删除 rm -rf 目录即可。注意:不要强制删除根目录。

七 . *(通配符)

表示的是任意内容,用法为,xxx* 即代表了xxx后加任意名字的文件的所有文件比如:

file*代表着file后+任意为名字的文件的名字 ,*可以和ls rm搭配使用。如果是只写一个*,比如rm -rf * ,即强制删除当前目录下的任意名字的文件和目录 ,ls同上。(touch命令是新建普通文件的指令,语法为touch 文件名)。

八. 热键

8.1 Tab键

其功能如下:

第一个,命令补齐。比如我们在询问身份时往往会这样

但假设我们忘记了询问的命令了(如图所示,只记得是who什么什么)此时我们就可以连按两下tab,他就会显示以who开头的所有命令,如果我此时再输入一个a然后再按一下tab,发现直接显示whoami,这就是命令补齐。

第二个,路径补齐。

假设我们现在想知道上一级目录里除了lesson2还有什么,我们输入完ls ../后按下tab,就会显示112下的所有目录和文件,我们在输入new后再按下tab就会把剩余的目录补齐。(最后的什么也没显示是因为newdir下无目录和文件)

8.2 ctrl+c

在windows中是复制的快捷键,在linux中是强制终止运行,适用于我们输错了指令导致失控的情况下。

九.man指令

man相当于指令手册一样,当我们忘记了一些要用的指令时,可以用man指令查找,比如我想查关于ls 的相关指令,即man ls即可(以下是运行结果)pwd等等也可以。

除此之外,man也可以:man 数字 指令。数字相当于手册的章节,我们不输数字时默认在1号,像c语言的库函数在3号,我们要查函数就需要man 3 函数。当然,如果我们不输数字,他会从1号开始找,1号找不到找2号,直到找到为止。

十. cp指令(拷贝)

语法:cp 要拷贝的文件名/目录 拷贝成新的文件名/目录

拷贝后,文件里的内容也会拷贝,代码也会拷贝。不仅如此,也可以目录之间的拷贝,但需要加选项-r ,即递归式的拷贝。

注意:cp进行拷贝时需用相对路径或绝对路径进行拷贝

这里是把dir3中的test.txt拷贝到了dir4中

如果是拷贝目录的话,即cp -r 目录名1 目录名2,如果目录名2在当前路径存在那么就会在目录2中创建一个目录1的文件夹并把内容拷贝到其中,如果目录2名字不存在,那他就会在当前目录创建一个名为目录2的文件夹并把内容拷贝到其中。

这里我先把dir3的文件删除了,然后分别把dir4拷贝到dir3中,以及把dir4拷贝到当前目录中(di34是新的名字)。

相关文章:

Linux初识——基本指令

我们在linux下输入各种指令,其实就相当于在windows中的相关操作,比如双击,新建文件夹等。 以下是相关基本指令基本用法 一.ls(显示当前目录下的所有文件和目录) 那如何显示当前目录(我们所在的位置&…...

c/c++ 里的进程间通信 , 管道 pipe 编程举例

&#xff08;1&#xff09;以下是一个网上的使用 pipe 编程的范例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h>int main() {int pipefd…...

【C++笔记】红黑树(RBTree)深度剖析和AVL树的对比分析

【C笔记】红黑树(RBTree)深度剖析和AVL树的对比分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】红黑树(RBTree)深度剖析和AVL树的对比分析前言一.红黑树的定义1.1 红黑树的概念1.2红黑树的规则1.3 红黑树对比A…...

Pytorch初学

创建虚拟环境 python控制台&#xff0c;jupyter notebook,python文件运行的差异&#xff0c;后续结合使用三者。 jupter主要可以对代码进行分割单独运行&#xff0c;主要做一些探索性工作。 数据集的常见存储模式 1、以标签命名图像。 2、单独存储图像的地址。 加载数据集…...

Golang学习笔记_20——error

Golang学习笔记_17——方法 Golang学习笔记_18——接口 Golang学习笔记_19——Stringer 文章目录 error1. 接口2. 创建3. 自定义错误4. 处理错误5. 实现Error接口 源码 error 在Go语言中&#xff0c;error 是一个内建的接口类型&#xff0c;用于表示和处理错误情况。它是Go语言…...

基于Vite+TS初始项目 | 不断更新

1 创建项目 1.1 初始化项目 # 创建项目 pnpm create vite# 使用vue-ts模板创建项目 pnpm create vite xyz-vue-app-ts --template vue-ts1.2 添加ts类型检查命令 添加 "type-check" 类型检查命令 {"name": "xyz-vue-app-ts-test","scri…...

R语言装环境Gcc报错以及scater包的安装

error: ‘timespec_get’ has not been declared in ‘::’ 80 | using ::timespec_get; 在conda 的虚拟环境中升级gcc的版本 conda install -c conda-forge gcc11 gxx11终极方法&#xff0c;在R的最新版本和环境下装啥都能成功&#xff01;&#xff01; 比如beyondcell的方法…...

关于量子神经网络的思考

其实在写这篇文章之前想了很多&#xff0c;主要是想法太超前&#xff0c;有可能颠覆未来机器智能行业甚至是影响世界。 1、计算机的历史 计算机的历史可以追溯到20世纪中叶&#xff0c;最早的电子计算机如ENIAC和EDVAC采用了冯诺依曼架构&#xff08;John von Neumann Archit…...

注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

这是小卷对分布式系统架构学习的第9篇文章&#xff0c;第8篇时只回答了注册中心的工作原理的内容&#xff0c;面试官的第二个问题还没回答&#xff0c;今天再来讲讲各个注册中心的原理&#xff0c;以及区别&#xff0c;最后如何进行选型 上一篇文章&#xff1a;如何设计一个注册…...

使用 Conda创建新的环境遇到的问题

下载速度很慢 1、更新 conda update -n base -c defaults conda2、清理缓存 conda clean --all解决方法 方法 1&#xff1a;关闭严格的渠道优先级 检查是否开启了严格渠道优先级&#xff1a; conda config --show channel_priority 如果返回 strict&#xff0c;说明启用了严…...

Flutter项目开发模版,开箱即用(Plus版本)

前言 当前案例 Flutter SDK版本&#xff1a;3.22.2 本文&#xff0c;是由这两篇文章 结合产出&#xff0c;所以非常建议大家&#xff0c;先看完这两篇&#xff1a; Flutter项目开发模版&#xff1a; 主要内容&#xff1a;MVVM设计模式及内存泄漏处理&#xff0c;涉及Model、…...

Spring Boot + Jasypt 实现application.yml 属性加密的快速示例

Jasypt(Java Simplified Encryption)是一个专为Java应用程序设计的开源加密库,旨在简化加密和解密流程,保护敏感数据如密码、API密钥等。 jasypt-spring-boot-starter允许开发者在Spring Boot应用中轻松地实现加密和解密功能。 本篇介绍使用 jasypt-spring-boot-starter 以…...

arcgisPro加载CGCS2000天地图后,如何转成米单位

1、导入加载的天地图影像服务&#xff0c;一开始是经纬度显示的。 2、右键地图&#xff0c;选择需要调整的投影坐标&#xff0c;这里选择坐标如下&#xff1a; 3、点击确定后&#xff0c;就可以调整成米单位的了。 4、切换后结果如下&#xff1a; 如有需要&#xff0c;可调整成…...

多模态论文笔记——GLIDE(DALL·E 2模型核心部件)

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍了OpenAI的DALLE 2模型中重要的组成部分&#xff0c;用于图像生成的GLIDE模型及其论文。 文章目录 论文背景扩散模型&#xff08;Diffusion Models&…...

mybatisPlus动态sql语句 ${ew.sqlSegment}

mybatis-plus的${ew.sqlSegment}&#xff0c;${ew.sqlSelect}&#xff0c;${ew.customSqlSegment} ew是mapper方法里的Param(Constants.WRAPPER) Wrapper queryWrapper对象 简答介绍&#xff1a; ${ew.sqlSelect}&#xff1a;拼接select SQL主体 Select("select ${ew.…...

【工具】HTML自动识别用户正在讲话 以及停止讲话

【工具】HTML自动识别用户正在讲话 以及停止讲话 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>语…...

小程序与内嵌网页的数据通信

小程序与内嵌网页的数据通信 前言 微信小程序提供了web-view组件&#xff0c;允许开发者在小程序中嵌入网页。然而&#xff0c;由于小程序和网页运行在不同的环境中&#xff0c;它们之间的通信就需要依赖特定的机制来实现。然而我们日常的需求中&#xff0c;很多的时候都涉及…...

Android - NDK:编译可执行程序在android设备上运行

在android开发中&#xff0c;调试时会把C代码直接编译成可执行程序&#xff0c;运行在android设备上以确认其功能是否正常。 1、基于NDK编译可执行文件 2、push到 /data/local/tmp目录下 3、设置权限&#xff0c;执行。 ndk工程中build.gradle设置 groovy plugins {id com.a…...

快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)

1 关于Let’s Encrypt与Cerbot DNS验证 Let’s Encrypt 是一个提供 免费证书 的 认证机构。 Cerbot 是 Let’s Encrypt 提供的一个工具&#xff0c;用于自动化生成、验证和续订证书。 DNS验证是 Cerbot 支持的验证方式之一。相比 HTTP 验证或 TLS-ALPN 验证&#xff0c;DNS …...

shell技能树-扩展变量

扩展变量是指在shell脚本中用于实现条件判断和变量操作的特殊语法。 表格总结&#xff1a; 前三个 存在或者非空时&#xff0c;优先使用待测变量&#xff0c;否则使用默认值&#xff08;或报错&#xff09;。 最后一个 存在或者非空时&#xff0c;优先使用默认值&#xff0c…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...