【Linux】基本指令
Hello everbody!这次咱们紧接着上一篇文章,继续介绍Linux操作系统的一些基本指令。这些指令是入门级别的,比较基础的。相当于windows中文件的复制,重命名,创建文件,创建目录之类的,还有如何在Linux中写c语言的代码。希望大家在阅读过这篇文章后能够对Linux系统有更加深入的认识。当然Linux的指令有很多,短短一两篇文章难以介绍清楚,后期我会继续更新有关Linux系统的相关知识,也请大家持续关注我更新的文章呦
\(0^◇^0)/。
1.cd命令
1.1cd -命令

例如目前咱们在/root路径下。

随后进入dir文件夹中,路径就变成了/root/dir

随后反复执行cd -命令,路径就会在/root与/root/dir之间来回跳转。
总结:cd -命令的作用是:跳转到我们最近一次所处的路径下。
1.2cd ~命令
cd ~命令的作用是进入用户家目录。
首先我们要知道的是:任何用户首次登陆,所处的路径都是自己的家目录。

在这里咱们可能会有些疑问:1.用户是谁?2.什么是用户的家目录?

1.想要知道当前的用户是谁,只需要执行whoami命令。当前是root用户。
2.而用户家目录只需要在用户前面加一个斜杠(/)即可。即:/root
当然在咱们windows系统下也有自己的用户家目录:

需要打开c盘,找到用户文件夹,我的是李星宇。你们应该有自己的名字。
顺便说一下,作为扩展知识:在咱们的家目录中,有一个桌面,类型是文件夹。在我们的电脑开机时,Windows系统会根据用户名找到用户家目录中的桌面文件夹,并以图形化界面的形式显示到咱们的桌面上。这一点Linux并没有Windows做的好。
2.which命令
在介绍这个命令之前咱们得重新对指令有一个更深的认识:
指令都是程序——指令,程序,可执行程序都是一回事。
程序的安装和删除就是把可执行程序拷贝到系统路径下或是从系统路径下删除。

which命令:要求系统打印出我所指定的指令名称在系统中所处的路径。
3.alias命令

alias命令的作用是给其他指令起一个别名。

由这张图片可以看出:ll是ls -l的别名。


这里还有一个小细节:大家看一看这两条指令的区别,一条是通过绝对路径执行ls指令。一条是直接执行ls指令。但执行的结果有所不同。
通过绝对路径执行ls指令结果没有颜色,而直接执行ls指令的结果有颜色。这是为什么呢?
要解答这个问题我们需要回到which指令上:

在which指令执行的结果中有一条这样的语句:alias ls='ls --color=auto'。也就是说ls是ls --color=auto的别名,系统在执行ls指令时会把ls替换成ls --color=auto。而通过绝对路径执行ls 指令(/usr/bin/ls)则不会替换。

而我们人为的替换掉就会得到想要的结果。
4.stat命令

stat命令是用于显示文件或文件夹更加详细的属性。
5.mkdir命令
在上一篇文章中我们已经讲过mkdir指令可以创建一个文件夹。
那mkdir指令是否可以创建一个路径呢?自然是可以的。只不过需要添加一个 -p选项。

但是虽然创建好了一个路径,却不能清晰的看出这些文件夹里面多叉树的结构。不着急,tree命令可以解决这个问题!
6.tree命令


我们知道 .表示当前路径。tree .就是要求系统打印出当前路径的多叉树的结构。
当然用tree命令来显示根目录(/)的结构时就会出现类似无限打印的情况,因为Linux系统中有很多的文件和文件夹。
所以这时我们可以按ctrl+c来终止异常的指令(按一次不行就多按几次):

7.rmdir命令
rmdir指令只能删除空目录:

这条指令应该比较容易理解,我就不过多赘述了。
8.rm命令

rm指令可以删除文件,删除时需要用户确认是否删除。确认答:y。否认答:n。
当然rm也可以删除目录但后面需要跟一个选项:-r


当然如果在删除是你十分确定要删除不需要系统再次向你确认了,可以加一个f选项,可以理解为force的缩写,就是强制的意思。
讲到这里我需要提醒一下:如果你是root用户,在执行删除命令时需要十分谨慎。因为root用户是超级用户,他的权力非常大,在Linux系统中,只要愿意,什么都可以删。如果由于操作不当,删除了根目录(/),那么整个系统就挂掉了。恢复系统也是十分困难,因为指令都用不了了,也不能安装指令。只有考虑重装系统了,如果之前的系统有十分重要的数据就会十分麻烦。

还需要补充一点的是:在Linux系统中*表示通配符,可以匹配任意文件名。如果你要删除一个目录中的所有文件,可以用rm *或rm -f *。
9.cp命令
cp src dst 是将src文件拷贝到dst目录下。
src,dst都可以携带绝对路径或是相对路径进行拷贝。

当然也可以拷贝目录,需要加上-r选项:



..的意思是上一级路径,cp -r dir ../dir111 的意思是将目录dir拷贝到上一级路径并将其重命名为dir111。
10.mv命令
mv的作用是重命名和剪切(文件夹和文件皆可剪切)。

mv ../a ./dirplus的意思是将上一级路径的a目录剪切到当前路径并重新命名为dirplus。
11.在Linux上快速写出代码


首先用touch指令创建一个test.c文件。(注意后缀一定要跟.c不然程序编译不成功)
nano是记事本的意思,就是在test文件中写内容。

我们随便写一点内容。
然后用gcc编译器编译咱们刚写的内容:

成功之后会出现一个叫a.out的可执行程序。

然后我们执行./a.out就可以了!注意在a.out前加上./就是告诉系统这个可执行程序就在当前路径下,不然系统找不到。

12.cat命令

cat命令比较简单,就是把文件里面的内容打印出来。

cat -n就是在打印的时候把行号带上。

cat -s就是把该去的空行去掉,使文件内容更加美观。

tac就是把文件里面的内容倒着打印出来。
13.结语
好啦!今天就先介绍到这里,希望大家在仔细阅读过这篇文章后有所收获!
相关文章:
【Linux】基本指令
Hello everbody!这次咱们紧接着上一篇文章,继续介绍Linux操作系统的一些基本指令。这些指令是入门级别的,比较基础的。相当于windows中文件的复制,重命名,创建文件,创建目录之类的,还有如何在Linux中写c语言…...
JS中数组的相关方法介绍
push() 将一个或多个元素添加到数组的末尾,并返回新的长度。 let arr [1, 2, 3]; arr.push(4); // arr 现在是 [1, 2, 3, 4] pop() 删除并返回数组的最后一个元素 let arr [1, 2, 3, 4]; let last arr.pop(); // last 现在是 4,arr 现在是 [1, …...
mybtis动态SQL注解 脚本动态SQL\方法中构建SQL\SQL语句构造器
mybtis动态SQL注解 动态SQL注解脚本动态SQL方法中构建SQLSQL语句构造器 动态SQL注解 分类: 脚本动态SQL:XML配置方式的动态SQL,是用<script>的方式把它照搬过来,用注解来实现。适用于xml配置转换到注解配置方法中构建SQL&…...
TikTok电商加快闭环,独享IP为运营带来哪些好处?
近日有消息称TikTok电商在加快闭环,以后商家可能无法继续在TikTok上为其他电商平台或独立站引流了。如今“TikTok Shop Shopping Center”平台正在构建,将各种购物渠道整合为一体,这可能是一种趋势,意味着TikTok逐渐从社交应用转型…...
LaTeX系列4——列表
无序列表 \documentclass[UTF-8]{ctexart}\begin{document} \begin{itemize}\item{列表项1}\item{列表项2}\item{列表项3} \end{itemize} \end{document} 有序列表 \documentclass[UTF-8]{ctexart}\begin{document} \begin{enumerate}\item{列表项1}\item{列表项2}\item{列表…...
JNI笔记
JNI笔记 背景Demo代码JNI.javaMainActivity.javaAndroid.mkApplication.mkcom_stone_javacallc_JNI.hjavacallc.cbuild.gradle 背景 Demo代码 代码结构 JNI.java package com.stone.javacallc;/*** Created by stoneWang* Created on 2024/1/16* java调用C*/ public class …...
使用nginx的proxy_cache实现静态资源的缓存
nginx的版本 ./nginx -v nginx version: nginx/1.9.15需求 要求nginx缓存静态资源,如js、css、图片等,避免对静态资源的访问直接穿透到后端的j2ee应用侧,提高后端j2ee应用的运行效率。 配置方法 针对js、css、图片文件 分别增加缓存路径的…...
【Golang】Perl 正则表达式语法的支持示例
背景 在 Golang 中,标准库的正则表达式包 regexp 是基于 RE2 语法的,并不直接支持 Perl 正则表达式的全部功能。虽然 Golang 的标准库并不直接提供对 Perl 正则表达式的支持,但是您可以使用第三方库来实现与 Perl 兼容的正则表达式功能。 一…...
手写一个std::function
前言 在《std::function从实践到原理》中我们分析了std::function的实现原理,但这只是纸上谈兵。要想理解为什么这么实现,最好的办法还是想想要是自己手写一个要怎么实现。本文不想直接呈现最终版本,因为那样读者看不到某段代码是为了什么才…...
04--MySQL函数的使用
1、SQL函数的使用 当我们学习编程语言的时候,经常会遇到函数。函数的好处是,它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了编写代码的效率,又提高了可维护性。在SQL中函数主要要对数据进行处理&…...
imgaug库指南(28):从入门到精通的【图像增强】之旅(万字长文)
引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…...
精确掌控并发:漏桶算法在分布式环境下并发流量控制的设计与实现
这是《百图解码支付系统设计与实现》专栏系列文章中的第(16)篇,也是流量控制系列的第(3)篇。点击上方关注,深入了解支付系统的方方面面。 本篇重点讲清楚漏桶原理,在支付系统的应用场景&#x…...
【Redis】Redis面试热点
Redis 集群有哪些方案? 主从复制:解决了高并发问题 哨兵模式:解决了高并发,高可用问题 分片集群:解决了海量数据存储,高并发写的问题 主从复制 图示: 主从复制:单节点 Redis 并发…...
构建中国人自己的私人GPT-有道GPT
创作不易,请大家多鼓励支持。 在现实生活中,很多人的资料是不愿意公布在互联网上的,但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢?于是我们构建自己或公司的私人GPT变得非常重要。 先看效果 一、…...
data = self._data_queue.get(timeout=timeout)
目录 解决方法 freeze_support 解决方法 opencv 升级 方法3 OMP_NUM_THREADS: 报错: data self._data_queue.get(timeouttimeout) 解决方法 freeze_support data self._data_queue.get(timeouttimeout)RuntimeError: DataLoader worker (pid(s)…...
推挽输出、开漏输出、上拉输入、下拉输入、浮空输入。
一、推挽输出 推挽输出的内部电路大概如上图中黄色部分,输出控制内有反相器,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。 当写入1时,经过反向器后为0,P-MOS导通,N-MOS截至…...
【Java JVM】栈帧
执行引擎是 Java 虚拟机核心的组成部分之一。 在《Java虚拟机规范》中制定了 Java 虚拟机字节码执行引擎的概念模型, 这个概念模型成为各大发行商的 Java 虚拟机执行引擎的统一外观 (Facade)。 不同的虚拟机的实现中, 通常会有 解释执行 (通过解释器执行)编译执行 (通过即时编…...
【Emgu CV教程】5.4、几何变换之图像翻转
今天讲解的两个函数,可以实现以下样式的翻转。 水平翻转:将图像沿Y轴(图像最左侧垂直边缘)翻转的操作。原始图像中位于左侧的内容将移动到目标图像的右侧,原始图像中位于右侧的内容将移动到目标图像的左侧。垂直翻转:将图像沿X轴…...
2024年AMC8历年真题练一练和答案详解(10),以及全真模拟题
六分成长继续为您分享AMC8历年真题,最后两天通过高质量的真题来体会快速思考、做对题目的策略。 题目从575道在线题库(来自于往年真题)中抽取5道题,每道题目均会标记出自年份和当年度的序号,并附上详细解析。【使用六…...
echarts业务中常用属性设置记录
1.legend计算占比 //在data中定义两个字段 total:0, znum:0 //计算上面两个值 this.data.forEach(val > this.total parseInt(val.value)); for (let i 0; i < nv.length; i) {if (i ! nv.length - 1) {this.znum this.znum Number(parseFloat((nv[i].value / this.t…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
