当前位置: 首页 > 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…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

【Ftrace 专栏】Ftrace 参考博文

ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性&#xff0c;分别代表什么&#xff0c;有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点

中科院1区顶刊|IF14&#xff1a;多组学MR联合单细胞时空分析&#xff0c;锁定心血管代谢疾病的免疫治疗新靶点 当下&#xff0c;免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入&#xff0c;我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...