【Linux】常用的基本指令

👦个人主页:Weraphael
✍🏻作者简介:目前正在学习c++和算法
✈️专栏:Linux
🐋 希望大家多多支持,咱一起进步!😁
如果文章有啥瑕疵,希望大佬指点一二
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注😍
目录
- 一、ls 指令
- 二、pwd 指令
- 三、cd 指令
- 四、touch 指令
- 五、mkdir 指令
- 六、rmdir 指令 和 rm 指令
- 七、cp 指令
- 八、mv 指令
- 九、alias 指令
- 十、cat 指令
- 十一、echo 指令和重定向知识
- 十二、more 指令(没less好用)
- 十三、less 指令
- 十四、head 指令
- 十五、tail 指令
- 十六、data 指令
- 十七、cal 指令(了解)
- 十八、find 指令
- 十九、grep指令
- 二十、zip/unzip 指令
- 二十一、tar 指令
- 二十二、bc 指令
- 二十三、uname 指令
- 二十四、重要的几个热键
一、ls 指令
【语法】 ls [选项][目录或文件]
【功能】对于目录,该命令会显示该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

【常用选项】
ls -l列出文件的详细信息(文件属性);等价于指令ll。

ls -a列出目录下的所有文件,包括以.开头的隐含文件。

注意:Linux任何一个目录下面有有两个隐藏文件分别是
.和..
..表示当前路径的上级路径
由上图可知,..的文件类型是一个目录,进入一个目录的命令是cd,pwd是查看当前所在路径
.表示当前路径
它最常用的一个用法就是执行一个可执行文件
ls -F在每个文件名后附上一个字符以说明该文件的类型
其中
*表示可执行的普通文件/表示目录@表示符号链接|表示FIFOs=表示套接字(sockets)

二、pwd 指令
【语法】pwd
【功能】 显示用户当前所在的目录

/是Linux的路径分隔符,而\是Windows的路径分隔符- 如下图所示,
/是Linux下的根目录
- 普通用户(
$)的家目录。whoami命令是查看当前使用的用户
- 超级用户
root的家目录
【常用选项】 无
三、cd 指令
【功能】 改变当前路径,进入到指定目录下
注意:Linux的整个目录结构一定是一颗多叉树。它的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非空目录。所以我们对文件的增删查改,本质就是对这颗多叉树的增删查改。

【常用选项】
cd ..: 返回上级目录

cd ~:进入用户的家目录,单独cd也是默认返回家目录

cd -:返回最近访问目录

这里要提及什么是绝对路径,什么是相对路径
- 绝对路径是指从文件系统的根目录开始的完整路径,可以准确地定位到文件或目录的位置。在类Linux系统中,绝对路径以斜线
/开头。 - 相对路径是相对于当前工作目录或其他基准位置的路径,用于定位文件或目录。它们不是从根目录开始的完整路径,而是通过引用上一级目录
..或当前目录.来构建路径。相对路径更简短,依赖于当前环境的上下文。
例如,考虑以下文件结构:

假设当前工作目录是文件夹A,文件C的绝对路径是/文件夹A/文件夹B/文件C,而相对路径可以是./文件夹B/文件C
四、touch 指令
【语法】 touch [选项] name
【功能】 可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。不过现阶段大家认为touch可以新建文件就行

【常用选项】
-a或--time=atime或--time=access或--time=use只更改存取时间。-c或--no-create不建立任何文档。-d使用指定的日期时间,而非现在的时间。-f此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题-m或--time=mtime或--time=modify只更改变动时间。-r把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t使用指定的日期时间,而非现在的时间。
五、mkdir 指令
【语法】 mkdir [选项] dirname
【功能】 在当前目录下创建名为dirname的目录(文件夹)

【常用选项】
-p:一次可以建立多个目录

六、rmdir 指令 和 rm 指令
rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令。但rmdir只能删除空目录!
因此,常用的还是rm指令:
【功能】 rm命令可以同时删除文件或目录
【语法】 rm 选项 文件名或目录名
【常用选项】
-f:不提示强制删除。- 删除目录一定要有
-r选项
-i删除前逐一询问确认。(超级用户下默认会询问。普通用户不会)
【补充】
通配符:*,表示所有。

七、cp 指令
【语法】 cp [选项] 源文件或目录 目标文件或目录
【功能】 复制文件或目录
【拷贝文件示例】

或者还可以复制到别的目录下:

【拷贝目录示例】
注意:无论是删除目录还是拷贝目录,都要有-r选项

【常用选项】
-f:强行复制文件或目录,不论目的文件或目录是否已经存在-i:覆盖文件之前先询问用户-r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
八、mv 指令
【语法】 mv [选项] 源文件或目录 目标文件或目录
【功能】
- 剪切(移动)

-
mv命令完成文件重命名,其本质还是剪切
-
mv对目录操作是不要有-r选项的,只有cp和rm对目录需要搭配-r使用

4. 如果是mv 目录1 目录2,它的功能是把目录1剪切到目录2里去

【常用选项】
-f: 如果目标文件已经存在,不会询问而直接覆盖-i:如果目标文件已经存在时,就会询问是否覆盖
九、alias 指令
首先看以下两个问题:
- 你是如何看待指令的?
— 指令和可执行程序都是可以被执行的,因此指令就是可执行程序,和我们自己写的代码编译好的程序没有区别。 - 我们在执行指令之前,应该先做什么?
— 先在系统中查找对应的指令,因此指令一定系统的在某一个特定位置(/user/bin)存在的

接下来解释alias:
在前面我们说过,ls -l是等价于ll的,我们可以使用 which来查看ll的系统所在路径:

从上图可以得出:ll是ls -l的别名
因此,alias的功能就是为指令进行重命名
若要删除别名:
alias 别名 = ’’
十、cat 指令
【语法】 cat [选项][文件]
【功能】 查看目标文件的内容,注意:它不适合看大文件(多行),只适合小文本
【常用选项】
-b对非空输出行编号

-n对输出的所有行编号(包括空行)

-s不输出多行空行,有连续的多行空格只会输出一行空格

十一、echo 指令和重定向知识
echo + 字符将字符输出到屏幕(默认换行)

echo +字符+ > (重定向操作符) + 文件名(没有文件会自动创建)将本来应该显示到屏幕的字符重定向到文件,原来文件的内容将会先清空,后写入

echo +字符+ >>(追加重定向操作符) + 文件名将本来应该显示到屏幕的字符重定向到文件,原来文件的内容将不会被清空然后覆盖内容

- 因此,创建文件不仅可以用
touch指令,还可以用重定向

当然以上指令还可以清空文本文件的内容:

- 输入重定向
<,本来应该从键盘文件读取,现在不用从键盘读取,从指定的文件读取输入重定向

十二、more 指令(没less好用)
【语法】 more [选项][文件]
【功能】 类似cat,但它比cat指令更适合看大文本,enter进入下一页,按q退出,而它不能忘回翻看,而less可以做到
【常用选项】
-n对输出的所有行编号(参考cat)-num占满一整个屏幕,打印到num行。
十三、less 指令
【语法】 less [参数] 文件
【功能】
less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后面看。而less想怎么发就怎么翻- 但若使用了
less时,就可以使用pageup和pagedown或者可以用上下键来往前往后翻看文件,更容易用来查看一个文件的内容!
【常用选项】
-i忽略搜索时的大小写-N显示每行的行号/字符串:向下搜索“字符串”的功能?字符串:向上搜索“字符串”的功能n:重复前一个搜索(与 / 或 ? 有关)N:反向重复前一个搜索(与 / 或 ? 有关)- q:退出
十四、head 指令
【语法】 tail[必要参数][选择参数][文件]
【功能】 用来显示文件开头的内容。
【常用选项】
head -num [文件]最多显示文件的头num行,如果不跟此选项,默认显示前10行

十五、tail 指令
【语法】 tail[必要参数][选择参数][文件]
【功能】 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
【常用选项】
tail-num [文件]最多显示文件的尾num行,如果不跟此选项,默认显示尾10行

- 管道
|

十六、data 指令
【功能】 显示时间

date指定格式显示时间: date +%Y:%m:%d
date用法: date [OPTION]... [+FORMAT]
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
- %Y : 年
- %m : 月
- %d : 日

- %H : 小时
- %M : 分钟
- %S : 秒

- %X : 相当于
%H:%M:%S

- %F : 相当于
%Y-%m-%d

- 时间戳
【命令】date +%s(将时间转化为时间戳)

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
【命令】 date -d@时间戳(时间戳转换为正常时间)

十七、cal 指令(了解)
【功能】 可以用来显示公历(阳历)日历

【命令格式】 cal [参数][月份][年份]
【常用选项】
1.-3 显示系统前一个月,当前月,下一个月的月历

-y显示当前年份的日历

十八、find 指令
【语法】 find 路径 选项 文件
【功能】 可以在指定的路径下进行查找文件
【常用选项】
-name按照文件名查找文件

【区分】
find在指定的路径下查找which只能在指令路径/usr/bin,搜索指令文件
whereis在系统特定的路径下查找,既可以找到可执行程序,也可以找到手册、安装包、压缩包等之类的
十九、grep指令
【语法】 grep [选项] 搜寻字符串 文件
【功能】 在文件中搜索字符串,将字符串所在的行打印出来

【常用选项】
-v反向选择,过滤搜索字符串的那一行

-n打印搜索字符串所在的行,并顺便输出行号

-i忽略搜索字符串的大小写

二十、zip/unzip 指令
【zip语法】 zip 打包文件.zip 打包后的文件或目录
【zip功能】 将目录或文件打包成zip格式,不容易造成文件丢失
【unzip语法】 zip 打包文件
【unzip功能】 解包
【zip常用选项】 -r 递归处理,将指定目录下的所有文件和子目录一并处理

【unzip常用选项】 -d解压到某个目录(路径)

二十一、tar 指令
【语法】 tar [选项] 文件与目录 ....参数
【常用选项】
-c:建立一个压缩文件的参数指令
-x:解开一个压缩文件的参数指令
-t :查看压缩包里面的文件
-z :是否同时具有gzip的属性?亦即是否需要用gzip压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

查看压缩包里面的文件:

二十二、bc 指令
【功能】 就是一个Linux环境下的计算器

二十三、uname 指令
【语法】 uname [选项]
【功能】 uname用来获取电脑和操作系统的相关信息,可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
【常用选项】
-a详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

-r显示内核版本号(面试)

二十四、重要的几个热键
Ctrl + c:终止因为程序或者指令异常,而导致无法进行指令输入。Tab:具有『命令补全』和『档案补齐』的功能Ctrl + d:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exitctrl + ins:复制shift + ins:粘贴
相关文章:
【Linux】常用的基本指令
👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…...
栈溢出几种情况及解决方案
一、局部数组过大。当函数内部的数组过大时,有可能导致堆栈溢出。 二、递归调用层次太多。递归函数在运行时会执行压栈操作,当压栈次数太多时,也会导致堆栈溢出。 三、指针或数组越界。这种情况最常见,例如进行字符串拷贝&#…...
go 内存分配
关注 go 语言内存分配策略,主要是想了解 go 的性能。申请不同大小的内存,性能开销是有差别的,申请内存越大,耗时也越久,性能也越差。 内存分配 参考 Go1.17.13 版本源码,从内存分配大小上区分了 tiny、sm…...
Maven pom.xml文件中build,plugin标签的具体使用
<build> 标签 <build> 标签是 pom.xml 文件中一个重要的标签,用于配置 Maven 项目的构建过程。在 <build> 标签下,可以配置构建相关的设置,包括源代码目录、输出目录、插件配置等。 以下是 <build> 标签的详细使用方…...
批量插入数据、MVC三层分离
八、批量插入数据 1、使用Statement() 2、使用PreparedStatement() 3、使用批量操作API 4、优化 九、MVC三层分离...
【IMX6ULL驱动开发学习】21.Linux驱动之PWM子系统(以SG90舵机为例)
1.设备树部分 首先在 imx6ull.dtsi 文件中已经帮我们定义好了一些pwm的设备树节点,这里以pwm2为例 pwm2: pwm02084000 {compatible "fsl,imx6ul-pwm", "fsl,imx27-pwm";reg <0x02084000 0x4000>;interrupts <GIC_SPI 84 IRQ_TYP…...
el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。
加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法filter-method不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。直接监听级联选择的v-model绑定的值是无法检测到用户自己输入的。 解决思路: el-cascader 没有提供…...
大数据技术之Clickhouse---入门篇---SQL操作、副本
星光下的赶路人star的个人主页 积一勺以成江河,累微尘以崇峻极 文章目录 1、SQL操作1.1 Insert1.2 Update 和 Delete1.3 查询操作1.4 alter操作1.5 导出数据 2、副本2.1 副本写入流程2.2 配置步骤 1、SQL操作 基本上来说传统关系型数据库(以 MySQL 为例…...
【Rust 基础篇】Rust Sized Trait:理解Sized Trait与动态大小类型
导言 Rust是一门以安全性和性能著称的系统级编程语言。在Rust中,类型大小的确定在编译期是非常重要的。然而,有些类型的大小在编译期是无法确定的,这就涉及到了Rust中的动态大小类型(DST)。为了保证在编译期可以确定类…...
前端框架学习-Vue(三)
目录 初识VueVue模板语法数据绑定el和data的两种写法事件的基本使用$emit在子组件中定义方法,执行父组件的方法 Vue中的事件修饰符:键盘事件计算属性监视属性条件渲染列表渲染表单数据收集过滤器 笔记内容来自:尚硅谷Vue2.0Vue3.0全套教程丨v…...
HTML <rt> 标签
实例 一个 ruby 注释: <ruby> 漢 <rt> ㄏㄢˋ </rt> </ruby>浏览器支持 元素ChromeIEFirefoxSafariOpera<rt>5.05.538.05.015.0 Internet Explorer 9, Firefox, Opera, Chrome 以及 Safari 支持 <rt> 标签。 注释…...
VMware Linux Centos 配置网络并设置为静态ip
在root用户下进行以下操作 1. 查看子网ip和网关 (1)进入虚拟网络编辑器 (2)进入NAT设置 (3)记录子网IP和子网掩码 2. 修改网络配置文件 (1)cd到网络配置文件路径下 [rootlo…...
【Leetcode 30天Pandas挑战】学习记录
这个系列难度比较低,一题写一篇其实没必要,就全部放到一篇吧 题目列表: 595. Big Countries1757. Recyclable and Low Fat Products 595. Big Countries 原题链接:595. Big Countries Table: World ---------------------- | C…...
微信小程序使用 canvas 2d 实现签字板组件
本文是在微信小程序中使用 canvas 2d 来实现签字板功能; 效果图: 代码: 1、wxml <view><canvas id"canvas"type"2d"bindtouchstart"start"bindtouchmove"move"bindtouchend"end&qu…...
区块链赋能新时代司法体系,中移链打造可信存证服务
近期,某百万级粉丝网红的法律维权之路引发社会关注。其在面对网络造谣行为时积极搜集证据,使用区块链技术将相关信息上链保全,然后将造谣者全部起诉,一系列操作被广大网友喻为是教科书式网络维权。 科技在发展,时代在…...
ELK报错no handler found for uri and method [PUT] 原因
执行后提示no handler found for uri and method post,最新版8.2的问题? 原因: index.mapping.single_type: true在索引上 设置将启用按索引的单一类型行为,该行为将在6.0后强制执行。 原 {type} 要改为 _doc,格式如…...
Sublime操作技巧笔记
同时选中2个文件:自动切换成左右2个界面 格式化代码ctrlshifth: 使用快捷键ctrl shift p调出控制台,输入install package,然后输入html-css-js prettify,进行下载。具体的快捷键在preference > package setting &g…...
JVM | 基于类加载的一次完全实践
引言 我在上篇文章:JVM | 类加载是怎么工作的 中为你介绍了Java的类加载器及其工作原理。我们简单回顾下:我用一个易于理解的类比带你逐步理解了类加载的流程和主要角色:引导类加载器,扩展类加载器和应用类加载器。并带你深入了解…...
Termux实现电脑端远程操作【开启SSH的完整教程】
文章目录 前言一、安装软件1、安装2、启动服务3、特别说明4、添加key二、电脑端连接1、查看ip2、电脑端连接总结前言 上篇文章【安卓手机变身Linux服务器】讲了如何将你的上古安卓手机变废为宝,这节着重为大家解决一个痛点:“手机上操作实在是不方便”。 一、安装软件 1、安…...
java(Collection类)
文章目录 Collection接口继承树Collection接口及方法判断删除其它 Iterator(迭代器)接口迭代器的执行原理 foreach循环Collection子接口1:ListList接口特点List接口方法List接口主要实现类:ArrayListList的实现类之二:LinkedListList的实现类…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...









