当前位置: 首页 > article >正文

Linux常见指令合集+知识点

Linux有一条设计理念:Linux中一切皆文件;这样的设计理念让Linux可以用一种统一的方式对Linux中的不同文件/设备进行管理;(也就是键盘、显示器等在Linux中也算文件)

文件=内容+属性,指令一般都是对文件进行操作所以文件操作也分为:

1.文件内容操作   2.文件属性操作

以下指令功能说明中的目录就代表文件夹的意思,[选项]就是在原指令的基础上扩展了一些功能

01. pwd指令

语法:直接pwd

功能:显示用户所在的目录 

结果显示的/root/study中的'/'是路径分隔符

路径分隔符号:

a. 每个路径分隔符号之间一定是一个目录(文件夹)

b. 末端文件可能是一个目录或者普通文件

注意:Linux 路径分隔符' / 'windows下的路径分隔符是反斜杠' \ ',上面的/root/study就是一个路径,在系统中查找某个文件的位置时我们也是使用路径进行查找因为路径具有唯一性(每个文件都只会有一个父目录)


02. ls指令

语法:ls [选项][目录文件]

功能:如果是目录,该命令列出该目录下的所有子目录与文件。如果是文件,该命令将列出文件名和文件信息

直接在当前目录下使用可以不加[目录文件]

显示的内容:蓝色的是目录,白色的是文件

常用选项:

  • -a:列出目录下的所有文件,包括以蓝色点 . 开头的隐藏文件

一个 表示当前目录 ,两个. . 表示上一级目录

所以平时看到指令中出现 . 就表示当前路径下,. . 就表示上级路径

  • -l(小写的L):列出文件的详细信息

详细信息中以d开头的是目录,以 - 开头的是普通文件(文本文件、二进制可执行文件、图片等)

其实ls -l 还可以简写成 ll 即两个小写的L ,效果和使用 ls -l 一样

  • -a 和 -l 可以组合使用,-al 功能:显示该目录下的包含隐藏文件在内的所有内容的详细信息展示

-al和-la都可以,顺序不强制要求,功能是一样的

-d:将目录像文件一样展示信息,而不是展开显示目录中的文件。如:ls -d [指定目录]

显示的内容为蓝色,说明其属性是一个目录

-d 和 -l 一起使用,-ld:显示该目录的详细属性


03. cd指令

Linux系统中,磁盘上的文件和目录被组成一棵 目录树 每个节点都是目录或文件
也就是说Linux系统的目录结构是一颗多叉树

例如下图: 


 语法:cd [目录]

功能:进入到某个目录

举例:

  • cd .. : 返回上级目录
  • cd /root/study/linux/ : 通过绝对路径进入目录
  • cd ../day02/ : 通过相对路径进入目录
  • cd ~:进入用户家目录
  • cd -:返回最近一次访问的目录,可实现两个目录的来回切换

绝对路径:从根目录开始到所找文件/目录的完整路径

相对路径:以当前目录为参照点,查找目标文件的路径

无论是相对路径还是绝对路径都是唯一的

举例:假设现在有一个study目录结构如下:

study目录下有两个目录 ml 和 study_in ,以及一个文件test.txt,目录ml里有一个文件m.txt

查找目标文件m.txt

绝对路径:/root/study/ml/m.txt

相对路径(假设现在在study_in目录下):../ml/m.txt

..表示上一级目录,通过..进入到上一级目录,再从上一级目录进入到ml目录获取到m.txt文件


什么是家目录?:任何一个用户首次登录,所处的路径就是自己的家目录,也就是当你一登上,直接使用pwd命令出现的目录就是你的家目录,比如我是root用户家目录就是/root

我的系统上的一个普通用户的家目录:

在Linux下,root账号也就是超级管理员账号的默认家目录就是/root,普通用户的默认家目录就是/home/XXX,XXX为用户名,

为什么会有不同的用户呢?因为Linux是一个多用户操作系统,windows其实也是,当你登录windows时,先确认你是谁,再根据用户名,找到该用户目录下的"桌面文件夹",最后将桌面文件夹显示为图形化界面

在 Linux中使用 whoami 命令可以知道当前正在使用的用户:

是root账户就会显示root

是普通用户就会显示用户名:


04. touch指令

语法:touch [文件名](加后缀)

功能:创建文件

使用touch创建tmp.c文件,ls查看该目录发现多了新文件tmp.c


05. mkdir指令(重要)

语法:mkdir [选项] dirname

功能:在当前目录下创建一个dirname的目录

创建一个叫做w的目录 

常用选项:

  • -p:递归建立多个目录

创建a目录的同时在a目录内创建b目录再在b目录下创建c目录,使用tree命令就可以树状显示打印目录结构,如果无法运行可以执行 yum install -y tree 语句进行安装,就可以使用tree命令了,使用方式:tree [指定目录] ,以树形结构展示文件和目录结构


06. rmdir指令和rm指令(重要)(删除命令)

rmdir是一个和mkdir相对应的命令。mkdir建立目录,rmdir删除目录

语法:rmdir [选项] [dirame]

功能:删除名为dirame的空目录

ls查看删除了之前创建空目录w

常用选项:

  • -p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除掉

rm命令可以同时删除目录和文件

语法:rm [选项][目录/文件]

功能:删除目录或文件

常用选项:

  • -f:即使文件属性为只读,亦直接删除,可理解为强制删除,系统不会询问确认
  • -i:删除前逐一询问确认
  • -r:删除目录及其下所有文件,递归删除,用于删除目录

 正常删除普通文件:

强制删除,不询问确认,直接删除:

 如果删除目录,必须有-r,可在-r的基础上添加选项增加功能

rm -rf [目录名] = 强制删除目录不询问确认

rm -ri [目录名] = 递归删除目录中的内容前逐一询问是否删除


 07. man指令(重要):

Linux的命令有很多参数,我们不可能全记住,但可以使用man命令访问Linux手册页,就像是存在于Linux中的一个可以随时帮助你的男人

语法:man [选项] 命令

常用选项:

  • -k:根据关键字搜索链接帮助
  • num:只在第num章节找
  • -a:将所有章节的都显示出来,比如 man printf 它默认从第一章开始搜索,找到就停止,用a选项,当按下q退出,他会继续往后面搜索,知道所有章节都搜索完毕

解释一下,man手册分为8章

使用man man命令就可以查看手册的内容

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)[最重要查2号手册]

3 是库函数,如printf,fread

4 是特殊文件,也就是/dev下的各种设备文件

5 配置文件或者是某些文件的格式,如/etc/passwd

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 系统管理员可用的管理命令,这些命令只能由root使用,如ifconfig

9 跟kernel有关的文件


输入 man+数字+命令/函数 即可以查到相关的命令和函数。若不加数字,那Linux man命令默认从数字较小的手册中寻找相关命令和函数。例如:我们输入 man ls,它会在左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“man ifconfig”它会在左上角显示“IFCONFIG(8)”。

所以当你明确自己要查找的内容应该在哪个章节时,最好使用命令:man [章节号] 命令/函数


08. cp指令(重要)

语法:cp [选项] [源文件或目录] [目标文件或目录]

功能:复制文件或目录,且可以复制同时进行重命名

常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

示例:将m.txt文件复制到study_in目录中,使用相对路径复制,cp [文件] [目录]

如果使用 cp [文件] [文件] 就是将前一个文件的内容复制覆盖后一个文件的内容

cp -r [目录] [目录] 就是将前一个目录复制一份到后一个目录下,如果被复制的目录下有内容的话要加 -r,表示递归复制,且这里的目录可以用相对路径表示也可以用绝对路径表示


09. cat指令

语法:cat [选项] [文件]
功能: 查看目标文件的内容
常用选项
  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

普通查看: cat 文件名

 

打印行号查看:cat -n 文件名

补充:cat指令倒过来的tac指令的功能就是让内容倒着打印显示


10. mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录

语法: mv [选项] 源文件或目录 目标文件或目录 

功能:

1. 根据 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中

2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中,相当于平时用的剪切的功能

常用选项

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

示例:文件重命名 mv  [文件] [文件] ,使用mv将 one.txt 文件重命名为 two.txt

 

 文件移动:将two.txt移动到 tmp 目录下

 不仅要移动文件还要重命名的情况:mv src path/newname

将demo.c文件移动到tmp文件夹并改名demo2.c 


重新认识指令

现在已经基本知道了常规的一些文件操作指令,那么到底什么是指令呢?

指令的本质其实都是程序——指令、程序、可执行程序都是一回事   指令就是程序

又因为在Linux下一切皆文件,也可以说大部分指令就是文件(有些文件不在磁盘上)

安装和卸载其实就是把可执行程序拷贝/删除到系统路径,使用 which+指令 就可以看到该指令在系统中的所在路径

比如常用的ls指令就在/usr/bin/ls路径下

alias指令

alias也是Linux一个命令,功能是给其他命令起一个别名!别名就相当于该命令的一个外号

比如我可以给 ls -al命令取一个别名lsal,那么使用lsal就可以得到和ls -al一样的效果


编辑文件内容指令:

nano指令:

语法:nano [文件]

功能:编辑文件内容

进入后可直接在内容编辑区进行编辑,下方的^G、^X等是操作提示,其后跟着的单词表示该按键代表的功能,比如^X就表示同时按下Ctrl+X就可以退出编辑界面,编辑完毕后,退出界面会询问你是否保存文件内容,按照提示给出回复即可

按下Ctrl+G可以进入帮助页面有更多的指令提示,可根据指令提示及进行操作


vim指令:

语法:vim [文件]

功能:编辑文件内容

进入后默认为命令模式,在此模式中,可输入 Vim 命令,让 Vim 完成不同的工作,比如按下键盘上的 "i" 就会进入编辑(insert)即可开始对文件内容进行编辑

修改完毕按下Esc退出编辑模式,返回命令模式,vim命令较多,需要可网上直查,这里不一一罗列,最后还有一种模式,末行模式,在命令模式下按下冒号 ":" 字符 再在 : 后跟命令,此模式主要用来进行文字编辑辅助功能,常用的有:

操作说明
:w保存当前文件
:q结束vim(退出不保存)
:wq保存当前文件并退出(其后可加上!强制保存退出)

相关文章:

Linux常见指令合集+知识点

Linux有一条设计理念:Linux中一切皆文件;这样的设计理念让Linux可以用一种统一的方式对Linux中的不同文件/设备进行管理;(也就是键盘、显示器等在Linux中也算文件) 文件内容属性,指令一般都是对文件进行操…...

nginx 基于IP和用户的访问

nginx的下载 yum install nginx.x86_64 -y 启动服务 systemctl enable --now nginx.service 查看服务目录 [rootwebserver ~]# rpm -ql nginx /usr/bin/nginx-upgrade /usr/lib/systemd/system/nginx.service /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx…...

【Linux】系统程序−进度条

文章目录 一、准备知识1.回车与换行1.1 回车1.2 换行 2. 行缓冲区3. 倒计时程序 二、进度条程序1. 版本1 一、准备知识 在讲解进度条之前,先讲解几个概念 1.回车与换行 1.1 回车 回车:\r 作用:将光标移动到当前行的行首(水平回…...

Axure应用交互设计:动态面板嵌套实现超强体验感菜单表头

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:动态面板嵌套 主要内容:利用动态面板多层嵌套实现菜单表头 应用场景:广泛应用于表单表…...

Linux(6)——第一个小程序(进度条)

目录 一、行缓冲区的概念 二、\r与\n 三、进度条代码书写与展示 1.如何表示进度条是在加载的 2.整体框架 3.书写 3.1makefile: 3.2process.h: 3.3process.c: 3.4main.c: 3.5美化 一、行缓冲区的概念 首先,我们来见一见行缓冲区,…...

CentOS:搭建国内软件repository,以实现自动yum网络安装

centosgit仓库_寂寞沙冷州的技术博客_51CTO博客 yum 很慢 centos yum安装慢_mob64ca1417b0c6的技术博客_51CTO博客 yum配置,文件,命令详解-CSDN博客 yum仓库简介_yum库是什么-CSDN博客 rootwww:/etc/yum.repos.d# pwd /etc/yum.repos.d ###创建下面这个.…...

[Git] 认识 Git 的三大区域 文件的修改和提交

文章目录 认识 Git 的三大区域:工作区、暂存区、版本库工作区、暂存区、版本库的关系流程图解 (概念) 将文件添加到仓库进行管理:git add 和 git commit场景一:第一次添加文件到仓库查看提交历史:git log(进阶理解&…...

RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)

视频讲解: RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头) 总共开发板有4个USB的A口,1个USB的TypeC口,我们插上两个USB3.0的U盘和一个USB2.0的UVC摄像头来进行测试 lsusb -tv 可以看到有3个US…...

【520 特辑】用 HTML/CSS/JavaScript 打造浪漫炫酷的表白网页

一、前言 在 520 这个充满爱意的日子里,程序员该如何用代码表达浪漫?本文将分享一个结合动画特效与交互设计的 520 表白网页案例,通过 HTML/CSS/JavaScript 实现动态爱心、渐变背景、浮动文字等炫酷效果,手把手教你用技术传递心意…...

小米2025年校招笔试真题手撕(二)

一、题目 给一个长度为n的序列和一个整数x,每次操作可以选择序列中的一个元素,将其从序列中删去,或者将其值加一。 问至少操作多少次,可以使操作后的序列(可以为空)中数字之和是x的倍数。 输入描述&#…...

弱网服务器群到底有什么用

在当今数字化的时代,大家都在追求高速、稳定的网络体验,但你是否想过,弱网服务器群其实也有着不可小觑的作用。让我们来聊聊什么是弱网服务器群。简单来说,它是一组在网络条件相对较差情况下运行的服务器集合。 弱网服务器群组是一…...

部署Gitlab-CE with Docker私有云环境

应用环境 Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-139-generic x86_64) Docker version 28.1.1, build 4eba377 文章目录 拉取容器镜像生成Run脚本参数解读实例脚本环境配置管理员密码遗忘服务邮箱配置邮件测试 运维问题集锦(1) 端口映射关系(2) 服务日志(3) 分支受保护 项目操作…...

拉普拉斯高斯(LoG)滤波器掩模的注意事项

目录 问题: 解答: 一、高斯函数归一化:消除幅度偏差 1. 归一化的定义 2. 为何必须归一化? 二、拉普拉斯系数和为零:抑制直流项干扰 1. 拉普拉斯算子的特性 2. 系数和不为零的后果 三、直流项如何影响零交叉点&…...

铠大师:让用户畅享多元应用,助力鸿蒙生态发展

在全球信息技术产业格局加速重构的背景下,中国科技力量正以开放包容的姿态重塑操作系统生态范式。 5月19日,华为在成都举办的nova14系列及鸿蒙电脑新品发布会上,正式对外发布搭载了鸿蒙系统的笔记本电脑HUAWEI MateBook Pro与HUAWEI MateBoo…...

RocketMQ核心特性与最佳实践

目录 1. 引言 2. RocketMQ核心特性 2.1 架构演进 2.2 核心组件 2.3 消息模型 2.4 高级特性 3. RocketMQ与其他MQ产品选型对比 3.1 功能特性对比 3.2 适用场景对比 3.3 选型建议 4. RocketMQ部署最佳实践 4.1 部署模式选择 4.2 硬件配置建议 4.3 操作系统优化 4.4…...

springboot配置redis lettuce连接池,以及连接池参数解释

文章目录 前置基本配置参数解释 前置 javaspringbootredislettuce 连接池 有很多连接池,比如 jedis,lettuce,redission,springboot 默认使用 lettuce 连接池 lettuce 连接池的特点是:一个 lettuce 连接可以被多个线…...

基于aspnet,微信小程序,mysql数据库,在线微信小程序汽车故障预约系统

详细视频:【基于aspnet,微信小程序,mysql数据库,在线微信小程序汽车故障预约系统。-哔哩哔哩】 https://b23.tv/zfqLWPV...

如何使用AI搭建WordPress网站

人工智能正迅速成为包括网页设计在内的许多行业在其功能设置中添加的一种工具。在数字设计和营销领域,许多成熟的工具都在其产品中添加了人工智能功能。WordPress 也是如此。作为目前最流行的网站建设工具之一,WordPress 的人工智能插件越来越多也就不足…...

打破双亲委派模型的实践:JDBC与Tomcat的深度解析

一、JDBC如何打破双亲委派模型 1. JDBC SPI机制的核心矛盾 Java数据库连接(JDBC)是打破双亲委派模型的经典案例,其根本原因在于基础类库需要加载实现类的矛盾: 核心接口位置:java.sql.Driver等接口位于rt.jar中,由启动类加载器…...

《打破枷锁:Python多线程GIL困境突围指南》

GIL,这个Python解释器层面的独特机制,虽在一定程度上守护了内存管理的秩序,却也成为了多线程并行的紧箍咒,限制了Python在多核处理器上的性能发挥。今天,让我们深入剖析GIL的本质,探寻突破这一枷锁的有效策…...

Java并发编程:全面解析锁策略、CAS与synchronized优化机制

一、六种锁策略场景化解析 1. 乐观锁 vs 悲观锁:图书馆借书的两种策略 核心差异:对资源是否会被抢占的预期不同。 乐观锁(假设冲突概率低) → 行为:直接去书架上拿书(围绕加锁要做的工作更少&#xff09…...

2025第三届黄河流域网络安全技能挑战赛--Crypto--WriteUp

2025第三届黄河流域网络安全技能挑战赛–Crypto–WriteUp Crypto sandwitch task from Crypto.Util.number import * import gmpy2 flag bflag{fake_flag} assert len(flag) 39 p getPrime(512) q getPrime(512) n p * q e 0x3 pad1 beasy_problem pad2 bHow_to_so…...

[爬虫知识] IP代理

相关实战案例:[爬虫实战] 代理爬取:小白也能看懂怎么用代理 相关爬虫专栏:JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 引言:爬虫与IP封锁的攻防战 对网络爬虫而言,遇到的一个较棘手的问题就是封IP:请…...

6个月Python学习计划 Day 1 - Python 基础入门 开发环境搭建

6个月Python学习计划:从入门到AI实战(前端开发者进阶指南) 🎯 今日目标 理解 Python 的背景和用途安装 Python 开发环境熟悉基本语法:变量、数据类型、打印输出动手编写第一个 Python 程序 🧠 学习内容详…...

GraphPad Prism工作表的基本操作

《2025新书现货 GraphPad Prism图表可视化与统计数据分析(视频教学版)雍杨 康巧昆 清华大学出版社教材书籍 9787302686460 GraphPadPrism图表可视化 无规格》【摘要 书评 试读】- 京东图书 GraphPad Prism中包含5种工作表,每种工作表的基本操…...

Maven插件之docker-maven-plugin

介绍 在持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了实现…...

成年后还能学习多少知识,由大脑的这个数量决定

撰文|Anne Trafton 编译|郑添惺 审校|clefable 麻省理工学院(MIT)的一些神经科学家发现,成年的大脑中含有数百万个“静默突触”(silent synapses)。它们是神经元之间未成熟的神经突…...

Flask 会话管理:从原理到实战,深度解析 session 机制

1、Flask中session 的实现原理:服务器与客户端的协作 HTTP 协议是无状态的——服务器无法区分两次请求是否来自同一用户。这意味着,用户登录后跳转到其他页面时,服务器会“忘记”用户身份。 为解决这一问题,Web 开发中引入了会话…...

MySQL连接错误解决方案:Can‘t connect to MySQL server on ‘localhost‘ (10038)

错误描述 当您尝试连接MySQL数据库时,可能会遇到以下错误提示: 这个错误表明客户端无法连接到本地MySQL服务器。 可能的原因 MySQL服务未启动 MySQL配置问题 防火墙或安全软件阻止连接 端口被占用或未正确配置 网络连接问题 解决方案 方法一&am…...

【跨端框架检测】使用adb logcat检测Android APP使用的跨端框架方法总结

目录 Weex 跨端框架使用了uni-app的情况区分使用了uni-app还是Weex 判断使用了Xamarin判断使用了KMM框架判断使用了 ​​Ionic 框架判断使用了Cordova框架判断使用了Capacitor 框架使用了React Native框架使用了QT框架使用了Cocos框架使用了Electron 框架使用了flutter 框架使用…...