【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 [选项][目录或文件]

【功能】对于目录,该命令会显示该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

在这里插入图片描述

【常用选项】

  1. ls -l 列出文件的详细信息(文件属性);等价于指令ll

在这里插入图片描述

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

在这里插入图片描述

注意:Linux任何一个目录下面有有两个隐藏文件分别是...

  • ..表示当前路径的上级路径
    由上图可知,..的文件类型是一个目录,进入一个目录的命令是cdpwd是查看当前所在路径
    在这里插入图片描述
  • .表示当前路径
    它最常用的一个用法就是执行一个可执行文件
    在这里插入图片描述
  1. ls -F 在每个文件名后附上一个字符以说明该文件的类型

其中

  • *表示可执行的普通文件
  • /表示目录
  • @表示符号链接
  • |表示FIFOs
  • =表示套接字(sockets)

在这里插入图片描述

二、pwd 指令

【语法】pwd

【功能】 显示用户当前所在的目录

在这里插入图片描述

  • /是Linux的路径分隔符,而\是Windows的路径分隔符
  • 如下图所示,/是Linux下的根目录
    在这里插入图片描述
  • 普通用户($)的家目录。whoami命令是查看当前使用的用户
    在这里插入图片描述
  • 超级用户root的家目录
    在这里插入图片描述

【常用选项】

三、cd 指令

【功能】 改变当前路径,进入到指定目录下

注意:Linux的整个目录结构一定是一颗多叉树。它的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非空目录。所以我们对文件的增删查改,本质就是对这颗多叉树的增删查改。

在这里插入图片描述

【常用选项】

  1. cd .. : 返回上级目录

在这里插入图片描述

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

在这里插入图片描述

  1. 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 [选项] 源文件或目录 目标文件或目录

【功能】

  1. 剪切(移动)

在这里插入图片描述

  1. mv命令完成文件重命名,其本质还是剪切在这里插入图片描述

  2. mv对目录操作是不要有-r选项的,只有cprm对目录需要搭配-r使用

在这里插入图片描述
4. 如果是mv 目录1 目录2,它的功能是把目录1剪切到目录2里去

在这里插入图片描述

【常用选项】

  • -f: 如果目标文件已经存在,不会询问而直接覆盖
  • -i:如果目标文件已经存在时,就会询问是否覆盖

九、alias 指令

首先看以下两个问题:

  1. 你是如何看待指令的?
    — 指令和可执行程序都是可以被执行的,因此指令就是可执行程序,和我们自己写的代码编译好的程序没有区别。
  2. 我们在执行指令之前,应该先做什么?
    — 先在系统中查找对应的指令,因此指令一定系统的在某一个特定位置(/user/bin)存在的

在这里插入图片描述
接下来解释alias

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

在这里插入图片描述

从上图可以得出:llls -l的别名

因此,alias的功能就是为指令进行重命名

若要删除别名:

alias 别名 = ’’

十、cat 指令

【语法】 cat [选项][文件]

【功能】 查看目标文件的内容,注意:它不适合看大文件(多行),只适合小文本

【常用选项】

  1. -b对非空输出行编号

在这里插入图片描述

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

在这里插入图片描述

  1. -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时,就可以使用 pageuppagedown或者可以用上下键来往前往后翻看文件,更容易用来查看一个文件的内容!

【常用选项】

  • -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]

  1. 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
  • %Y : 年
  • %m : 月
  • %d : 日

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  1. 时间戳

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

在这里插入图片描述

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

【命令】 date -d@时间戳(时间戳转换为正常时间)

在这里插入图片描述

十七、cal 指令(了解)

【功能】 可以用来显示公历(阳历)日历

在这里插入图片描述

【命令格式】 cal [参数][月份][年份]

【常用选项】

1.-3 显示系统前一个月,当前月,下一个月的月历

在这里插入图片描述

  1. -y 显示当前年份的日历

在这里插入图片描述

十八、find 指令

【语法】 find 路径 选项 文件

【功能】 可以在指定的路径下进行查找文件

【常用选项】

  • -name 按照文件名查找文件

在这里插入图片描述

【区分】

  • find 在指定的路径下查找
  • which 只能在指令路径/usr/bin,搜索指令文件
    在这里插入图片描述
  • whereis 在系统特定的路径下查找,既可以找到可执行程序,也可以找到手册、安装包、压缩包等之类的
    在这里插入图片描述

十九、grep指令

【语法】 grep [选项] 搜寻字符串 文件

【功能】 在文件中搜索字符串,将字符串所在的行打印出来

在这里插入图片描述

【常用选项】

  • -v 反向选择,过滤搜索字符串的那一行

在这里插入图片描述

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

在这里插入图片描述

  1. -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主机所用的操作系统的版本、硬件的名称等基本信息。

【常用选项】

  1. -a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

在这里插入图片描述

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

在这里插入图片描述

二十四、重要的几个热键

  1. Ctrl + c终止因为程序或者指令异常,而导致无法进行指令输入。
  2. Tab具有『命令补全』和『档案补齐』的功能
  3. Ctrl + d『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
  4. ctrl + ins复制
  5. shift + ins粘贴

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# Microsoft消息队列服务器的使用 MSMQ

先安装消息队列服务器 private static readonly string path ".\\Private$\\myQueue";private void Create(){if (!MessageQueue.Exists(path)){MessageQueue.Create(path);}}private void Send(){Stopwatch stopwatch new Stopwatch();stopwatch.Start();Message…

K8s的详细介绍

1.编写yaml文件的方式 2.yaml里面的内容介绍 Pod实现机制&#xff1a;&#xff08;1&#xff09;共享网络&#xff08;2&#xff09;共享存储 共享网络:通过Pause容器&#xff0c;把其他业务容器加入到Pause容器里面&#xff0c;让所有业务容器在同一个名称空间中&#xff0c;…

【Spring Cloud 三】Eureka服务注册与服务发现

系列文章目录 【Spring Cloud一】微服务基本知识 Eureka服务注册与服务发现 系列文章目录前言一、什么是Eureka&#xff1f;二、为什么要有服务注册发现中心&#xff1f;三、Eureka的特性四、搭建Eureka单机版4.1Eureka服务端项目代码pom文件配置文件启动类启动项目查看效果 E…

海量小文件传输慢的原因以及对应的优化方案

在日常工作中&#xff0c;我们经常遇到需要传输一些小文件的情况&#xff0c;但是当小文件的数量很多的时候&#xff0c;为什么小文件传输的速度就会变得很慢呢&#xff1f;为什么复制许多较小的文件时&#xff0c;小文件传输效率就会降低呢&#xff1f;针对这些问题&#xff0…

Mybatis插件

文章目录 1. 如何自定义插件1.1 创建接口Interceptor的实现类1.2 配置拦截器1.3 运行程序 2. 插件原理2.1 解析过程2.2 创建代理对象2.2.1 Executor2.2.2 StatementHandler2.2. 3ParameterHandler2.2.4 ResultSetHandler 2.3 执行流程2.4 多拦截器的执行顺序 3. PageHelper3.1 …

聊天系统登录后端实现

定义返回的数据格式 # Restful API from flask import jsonifyclass HttpCode(object):# 响应正常ok 200# 没有登陆错误unloginerror 401# 没有权限错误permissionerror 403# 客户端参数错误paramserror 400# 服务器错误servererror 500def _restful_result(code, messa…

Matlab Optimization Toolbox中的遗传算法工具包(GA)

matlab optimization 中使用了GA求解器 默认的是小于等于 找到GA 工具包 找到 APP选择 Optimization Tool 选择Solver ga - Genetic Algorithm 应用GA solver 定义适应度函数(Fitness function)与问题约束(Constraints) example one 优化函数 sin(x) 2 * cos(x)极其重要的…

windows10 设置代理

场景&#xff1a;同一个办公室&#xff0c;只有A的电脑有权限访问网站 http://10.129.129.129:5601&#xff0c; 那办公室其他B,C同学想访问 http://10.129.129.129:5601&#xff0c;需要怎么处理&#xff1f; A 同学电脑安装代理软件&#xff1a; 1. 下载wproxy IMFirewall, …

iMX6ULL驱动开发 | 让imx6ull开发板支持usb接口FC游戏手柄

手边有一闲置的linux开发板iMX6ULL一直在吃灰&#xff0c;不用来搞点事情&#xff0c;总觉得对不住它。业余打发时间就玩起来吧&#xff0c;总比刷某音强。从某多多上8块儿大洋买来一个usb接口的游戏手柄&#xff0c;让开发板支持以下它&#xff0c;后续就可以接着在上面玩童年…

信息学奥赛一本通——1258:【例9.2】数字金字塔

文章目录 题目【题目描述】【输入】【输出】【输入样例】【输出样例】 AC代码 题目 【题目描述】 观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。 在上面…

Java-很深我只知其一-泛型

Java-很深我只知其一-泛型 目录 泛型历史 泛型类/泛型接口 泛型方法 泛型属性 泛型约束 泛型历史 JAVA 泛型&#xff08;generics&#xff09;是 JDK 5 中引入的一个新特性, 允许程序员在编程时指定类型参数&#xff0c;使编译器可以在编译代码时检测到非法的类型。泛型的…

小研究 - 主动式微服务细粒度弹性缩放算法研究(四)

微服务架构已成为云数据中心的基本服务架构。但目前关于微服务系统弹性缩放的研究大多是基于服务或实例级别的水平缩放&#xff0c;忽略了能够充分利用单台服务器资源的细粒度垂直缩放&#xff0c;从而导致资源浪费。为此&#xff0c;本文设计了主动式微服务细粒度弹性缩放算法…

Java 版 spring cloud + spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

基于以太坊+IPFS的去中心化数据交易方法及平台

自己的论文&#xff0c;哎费事 目录 基于以太坊IPFS的去中心化数据交易方法及平台 基于以太坊IPFS的去中心化数据交易方法及平台 摘要&#xff1a; 数据交易过程中存在数据权属不明和数据安全问题。本文开发了一种基于以太坊IPFS的去中心化数据交易方法及平台。方法包括&am…

IPv4网络用户访问IPv6网络服务器

NAT64静态映射为一对一的对应关系&#xff0c;通常应用在IPv4网络主动访问IPv6网络的场景中。 要求位于IPv4网络中的PC通过IPv4地址1.1.1.10能够直接访问位于IPv6网络中Server。 操作步骤 配置FW。 # 配置接口GigabitEthernet 0/0/1的IPv4地址。 <FW> system-view [F…

IP 工具

什么是IP 工具 IP 工具是用于轻松扫描和排除网络 IP 地址空间故障的网络工程工具。IP 工具使网络管理员能够审核、跟踪和监视 IP 地址、子网以及使用 IP 的设备和主机的性能。这个全面的网络工程工具集包括高级 IP 工具&#xff0c;如 Ping、系统资源管理器、MAC 地址解析器和…

设计模式行为型——解释器模式

目录 什么是解释器模式 解释器模式的实现 解释器模式角色 解释器模式类图 解释器模式举例 解释器模式代码实现 解释器模式的特点 优点 缺点 使用场景 注意事项 实际应用 什么是解释器模式 解释器模式&#xff08;Interpreter Pattern&#xff09;属于行为型模式&…

《零基础入门学习Python》第075讲:GUI的终极选择:Tkinter12

Tkinter 的基本组件我们已经介绍得七七八八了&#xff0c;剩下的一些我们在这节课全部都会讲解完毕。 &#xff08;一&#xff09;Message组件 Message&#xff08;消息&#xff09;组件是 Label 组件的变体&#xff0c;用于显示多行文本消息。众所周知&#xff0c;我们的Lab…

【腾讯云 Cloud Studio 实战训练营】Redisgo_task 分布式锁实现

文章目录 前言问题场景腾讯云 Cloud Studio Redisgo_task长短类型分布式场景介绍Redisgo_task实现原理SetNx(valueexpire)原子性子协程Done()时间点子协程中的Ticker Redisgo_task唯一外部依赖Redisgo_task Lock结构Redisgo_task架构健壮性设计Redisgo_task可扩展性Redisgo_tas…

MyBatis-Plus 和达梦数据库实现高效数据持久化

一、添加依赖 首先&#xff0c;我们需要在项目的 pom.xml 文件中添加 MyBatis-Plus 和达梦数据库的依赖&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifac…