【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…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
