【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…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...
