【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…...
告别复杂配置!OSHI+JNA五分钟搞定Windows/Linux/macOS硬件信息采集
五分钟极简指南:用OSHIJNA实现全平台硬件监控零门槛接入 运维工程师小张最近接手了公司混合云环境下的服务器监控任务。当他面对Windows服务器、Linux虚拟机、macOS开发机三种不同系统时,传统方案需要分别调用WMI、/proc文件系统和system_profiler&#…...
电视盒子播放视频总出错?TVBoxOSC让所有格式文件流畅播放
电视盒子播放视频总出错?TVBoxOSC让所有格式文件流畅播放 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 你是否遇到过电视盒子播放视…...
【2024最新】Polars 2.0清洗效率提升417%实测报告:从default配置到生产就绪配置的7阶演进路径
第一章:Polars 2.0大规模数据清洗的性能跃迁本质Polars 2.0 的核心突破并非简单提速,而是通过内存布局重构、零拷贝计算图优化与原生并行执行引擎的深度融合,彻底重构了大规模数据清洗的底层范式。其性能跃迁的本质在于:将传统 Da…...
从噪声到艺术:深入解析扩散模型采样算法的核心步骤
1. 扩散模型:当数学遇见艺术创作 想象一下,你正在看一位画家作画。他一开始只是在画布上随意涂抹颜料,看起来毫无章法。但随着画笔的不断调整,那些混乱的色块逐渐形成了清晰的轮廓,最终变成一幅精美的画作。这正是扩散…...
iOS内购避坑指南:从沙盒测试到正式上线的完整流程(附常见错误解决方案)
iOS内购全流程实战:从沙盒测试到生产环境的避坑手册 当你第一次集成iOS内购(IAP)时,是否遇到过这些场景?用户付款后商品迟迟未到账、沙盒测试时收据验证总是失败、审核阶段一切正常但上线后出现大量丢单...这些问题往往…...
Android Studio 高版本兼容低版本项目配置
AndroidStudio开发工具高版本兼容低版本项目配置:1、 JDK 配置:gradle.properties 文件中指定jdk 版本:org.gradle.java.homeD\:\\ProgramFiles\\JDK\\jdk-11.0.262 配置Gradle 编译版本:3. 显示所有Gradle task 列表设置完成后&a…...
原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验
原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧限制而苦恼吗?高端显卡却…...
手把手教你用Cloudflare免费RPC节点开发以太坊应用
从零构建以太坊DApp:Cloudflare免费RPC节点实战指南 当你在深夜调试智能合约时,是否曾被突然失效的RPC节点打断思路?作为以太坊开发者,稳定可靠的节点连接是开发流程中最基础却最容易被忽视的一环。Cloudflare提供的免费以太坊RPC…...
如何将 iPhone 实况照片传输到电脑:四种最佳方法
实况照片是一种有趣的拍摄形式,它不仅能捕捉静态画面,还能记录下带有动态和声音的短暂瞬间。轻按一张实况照片,它就会 “动起来”,还原拍摄时几秒的动态画面和现场声音。 如果你已经掌握了普通照片从 iPhone 传输到电脑的方法&…...
Vue2集成海康摄像头RTSP流:基于FFmpeg转码与WebSocket实时传输方案
1. 海康摄像头RTSP流播放的技术挑战 海康威视作为国内主流监控设备厂商,其摄像头输出的RTSP流在Web端直接播放存在天然技术屏障。浏览器原生不支持RTSP协议,传统方案需要依赖浏览器插件或转码服务。我在实际项目中发现,直接使用VLC测试RTSP流…...
