Linux常见指令解析

基础命令行

1、rm可以删除文件(rm -d /path/to/directory或者rm -r /path/to/directory)

2、ls是展开文件 在linux中,“ll”是“ls -l”命令的别名,ls命令用于显示指定工作目录下之内容,参数“-l”表示除文件名称外,将文件型态、权限、拥有者、文件大小等资讯详细列出。

3、Mkdir是创建目录(无法使用vim)

4、Touch是创建文件(可以使用vim)

5、cd是查看文件 在最后加左下划线/ cd ..是退回上一级目录

6、ctrl+l或者是clear可以清除当前页面

7、显示当前路径:pwd 命令

8、查找所有路径用whereis 查找当前运行路径用which

9、切换root账户用su - 创建root用户用useradd -m root 更改密码用sudo passwd root

Su - nowcoder切换回nowcoder用户

10、Make 在编译大型项目的时候使用makefile,所需要的时间也比较长。尤其是在做测试的时候,需要使用很多次make指令,这需要耗费大量的时间。

使用make -j命令可以缩短这部分时间。使用方法就是在-j后面加一个数字,比如 -j10,意为在编译文件的时候用10个线程进行编译.

11、tree查看树状结构

12、Tar -xzf ...是解压缩操作

13、Sudo 是允许系统管理员让普通用户执行一些或者全部root命令的一个工具

14、重启用sudo reboot

15、移动文件到另外一个文件夹

mv [选项] 源文件 目标文件夹 比如mv example.txt /target/directory/

16、安装使用sudo apt install ...

卸载用sudo apt-get remove

17、cp是复制

语法:cp 【-r】 表示递归复制目录 【-r】选项,可选,用于复制文件夹使用,表示递归 参数1,Linux 路径,表示被复制的文件或文件夹 参数2,Linux 路径,表示要复制去的地方

编辑器命令行

基础命令

Vi/vim进入编辑操作

i是开始编辑

esc然后shift+:然后wq!退出编辑模式 (非管理员需要加感叹号)

wq是保存退出

q!是不保存退出

Ctrl+z可以强制退出

vim netrw

vim netrw在文件打开时关闭netrw缓冲区 vim netrw是一个用于在Vim编辑器中浏览文件系统的插件。当使用netrw打开文件时,可以通过以下步骤关闭netrw缓冲区:在Vim中,按下Esc键,确保处于正常模式。输入命令:bd,按下Enter键。这将关闭当前的netrw缓冲区。netrw插件的优势是它提供了一个方便的界面来浏览和管理文件系统,可以在Vim中直接进行文件操作,而无需切换到终端。它支持文件和目录的创建、复制、移动、删除等操作,还可以通过FTP和HTTP进行远程文件的访问。netrw插件的应用场景包括但不限于:

在Vim中快速浏览和编辑本地文件。

在Vim中进行文件和目录的管理和操作。

在Vim中通过FTP和HTTP访问远程文件。

在Vim中进行文件的比较和合并操作。

补充命令行

echo指令

echo命令是linux中最基础的命令,在写shell脚本的时候,会经常被用到,echo命令功能非常丰富,下面我们结合实际案例进行详细介绍。

echo命令的基本用法,很简单,就是echo命令后面跟上要输出的文本

-n 不要在最后自动换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

--help 显示帮助

--version 显示版本信息

每一个shell支持的echo指令可能都不太相同。

-n 不输出最后的\n

-e解释转义字符

-E不解释转义字符

示例:echo "i am a boy" // 执行后会打印 i am a boy

i am a boy

Linux export 命令

用于设置或显示环境变量。

在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

-f  代表[变量名称]中为函数名称。

-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p  列出所有的shell赋予程序的环境变量。

gcc命令

gcc 命令:用来编译C和C++文件

-v 同时显示编译器的代码

-x<语言> 指定语言

--help 显示帮助信息

--version 显示版本信息

-o<文件> 将输出输入到指定文件

-E 只进行预处理

-S 只进行预处理、编译 编译而不进行汇编和链接

-c 只预处理、编译、汇编,但不链接

-D 使用-D name[=definition]预定义名为name的宏,若不指定值则默认宏的内容为1

-l(小写的L) 使用-l libname或者-llibname,使链接器在链接时搜索名为libname.a/libname.so(静态/动态)的库文件

-L 使用-Ldir添加搜索目录,即链接器在搜索-l选项指定的库文件时,除了系统的库目录还会(优先)在-L指定的目录下搜索

-I(大写的i) 使用-I dir,将目录dir添加为头文件搜索目录

-include 使用-include file,等效于在被编译的源文件开头添加#include "file"

-static 指定静态链接(默认是动态链接)

-O0~3 开启编译器优化,-O0为不优化,-O3为最高级别的优化

-Os 优化生成代码的尺寸,使能所有-O2的优化选项,除了那些让代码体积变大的

-Og 优化调试体验,在保留调试信息的同时保持快速的编译,对于生成可调试代码,比-O0更合适,不会禁用调试信息。

-Wall 使编译器输出所有的警告信息

-march 指定目标平台的体系结构,如-march=armv4t,常用于交叉编译

-mtune 指定目标平台的CPU以便GCC优化,如-mtune=arm9tdmi,常用于交叉编译

其中GCC -c选项:生成目标文件

所谓目标文件,其本质为二进制文件,但由于尚未经过链接操作,所以无法直接运行。简单地理解,汇编其实就是将汇编代码转换成可以执行的机器指令。大部分汇编语句对应一条机器指令,有的汇编语句对应多条机器指令。相对于编译操作,汇编过程会简单很多,它并没有复杂的语法,也没有语义,也不需要做指令优化,只需要根据汇编语句和机器指令的对照表一一翻译即可。通过为 gcc 指令添加 -c 选项(注意是小写字母 c),即可让 GCC 编译器将指定文件加工至汇编阶段,并生成相应的目标文件

gcc生成文件类型:

(1)以.c文件结尾的文件名,表示C语言源文

(2)以.a文件结尾的文件名,表示目标文件构成的库文件

(3)以.o文件结尾的文件名,表示源文件编译的目标文件

(4)以.h文件结尾的文件名,表示头文件

(5)以.s文件结尾的文件名,表示汇编语言源文件

(6)以.S文件结尾的文件名,表示经过预编译的汇编源代码文件

(7)以.C,.cc,.cxx文件结尾的文件名,表示C++源代码文件

(8)以.i文件结尾的文件名,表示经过预处理的C源代码文件

(9)以.ii文件结尾的文件名,表示经过预处理的C++源代码文件

MD指令

        在计算机上,"md" 通常是 "make directory" 的缩写,用于创建新目录(文件夹)。在不同的操作系统中,该命令可能会有所不同。

        在 Windows 操作系统中,mdmkdir 命令用于创建新目录。使用方法是在命令提示符或 PowerShell 中输入 md 命令,后跟要创建的目录路径。例如:

md new_folder

         这将在当前目录下创建一个名为 "new_folder" 的新目录。在 Linux 和 Unix 操作系统中,mkdir 命令用于创建新目录。使用方法与 Windows 中的 md 命令类似。例如:

mkdir new_folder

         这将在当前目录下创建一个名为 "new_folder" 的新目录。在使用这些命令时,请确保你有适当的权限来在指定位置创建目录。

uboot下的md指令

        在 U-Boot 中,md 是 "memory display" 的缩写,用于在控制台上显示内存的内容。这个命令通常用于调试和查看内存中的数据。以下是在 U-Boot 中使用 md 命令的基本语法:

md [options] address [# of objects] [format]

  • address:要显示的内存地址。
  • # of objects:要显示的对象数量。
  • format:显示的格式,通常是十六进制(hexadecimal)格式。

        例如,要在 U-Boot 中显示从地址 0x1000 开始的内存内容,显示10个对象(每个对象的大小取决于系统的字长),可以输入以下命令:

md 0x1000 10

        你也可以指定显示的格式。例如,要以十六进制格式显示从地址 0x1000 开始的内存内容,可以输入以下命令:

md 0x1000 10 hex

        这将显示地址范围从0x1000到0x101F的16字节的内存内容,以十六进制格式显示。

        请注意,在 U-Boot 中使用 md 命令时需要小心,确保你知道要查看的内存地址范围,并避免对关键数据造成不可逆的影响。

mw指令

       在U-Boot中,mw 是 "memory write" 的缩写,用于向内存中写入数据。这个命令通常用于调试和修改内存中的数据。以下是 mw 命令的基本语法:

mw [options] address value [count]

  • address:要写入的内存地址。
  • value:要写入的值。
  • count:可选参数,指定要写入的字节数。

例如,要在 U-Boot 中将值 0x55 写入地址 0x1000 处的内存,可以输入以下命令:

mw 0x1000 0x55

       这会将值 0x55 写入地址 0x1000 处的内存。如果指定了 count 参数,mw 命令将在指定的地址开始处写入连续的多个值。例如,要在 U-Boot 中将值 0x55 写入地址 0x1000 处的内存,连续写入5个值,可以输入以下命令:

mw 0x1000 0x55 5

       这会将值 0x55 连续写入地址 0x1000 开始的5个内存地址中。请注意,在 U-Boot 中使用 mw 命令时需要小心,确保你知道要写入的内存地址和值,并避免对关键数据造成不可逆的影响。

Cat指令

        在 Linux 和类 Unix 系统中,cat 是一个常用的命令,用于显示文件的内容。它的名称来自 "concatenate"(连接)的缩写,原本用于连接文件,但现在更常用于简单地显示文件的内容。

cat 命令的基本语法如下:

cat [OPTION]... [FILE]...

其中:

  • OPTION 是可选的命令选项,用于指定 cat 命令的行为。
  • FILE 是一个或多个要显示内容的文件的路径。

例如,要显示一个名为 example.txt 的文件的内容,可以使用以下命令:

cat example.txt

cat 命令还可以用于将多个文件的内容连接在一起,并将结果输出到标准输出流。例如:

cat file1.txt file2.txt

这将先显示 file1.txt 文件的内容,然后显示 file2.txt 文件的内容。

cat 命令的常见选项包括:

  • -n:显示每行的行号。
  • -b:显示非空行的行号。
  • -s:合并连续的空行为一个空行。
  • -v:显示非打印字符的可视化表示。

       除了显示文件内容外,cat 命令还有其他一些用途,例如创建文件、将文件内容重定向到其他文件等。

repo指令

        在许多Linux发行版中,特别是那些使用基于Debian或Ubuntu的包管理系统的发行版,repo指令通常是一个用于管理软件源的命令。它通常用于添加、删除、更新和搜索软件源。

        以下是一些常见的repo指令:

  1. 添加软件源:要添加一个软件源,可以使用repo指令,通常需要root权限。例如:

    sudo add-apt-repository <repository>

    其中<repository>是软件源的地址或标识符。

  2. 删除软件源:要删除已添加的软件源,可以使用repo指令。例如:

    sudo add-apt-repository --remove <repository>

    这将删除指定的软件源。

  3. 更新软件源列表:要更新系统中可用的软件源列表,可以使用repo指令。例如:

    sudo apt update

    这将更新软件包管理系统的软件源列表。

  4. 搜索软件源:要搜索软件源中可用的软件包,可以使用repo指令。例如:

    apt search <keyword>

    这将搜索包含指定关键字的软件包。

注意事项

(1)所有的单独的文件中间一定要用空格隔开

(2)*可以代表诸如此类的所有文件,比如说*.o就是所有后缀为.o的文件

(3)./是当前目录 ../是上一级目录

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

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

相关文章

STM32之不使用MicroLIB

一、microlib介绍 microlib 是缺省 C 库的备选库,功能上不具备某些 ISO C 特性。 microlib 进行了高度优化以使代码变得很小,功能比缺省 C 库少,用于必须在极少量内存环境下运行的深层嵌入式应用程序。 二、不使用microlib的原因 由于microlib不支持C++开发,因此在使用C…

Java中函数式编程2

Java中的函数参数 在Java中&#xff0c;函数参数有以下三种形式&#xff1a; lambda表达式。方法引用。匿名内部类。 函数参数无论怎么表示&#xff0c;其原则为&#xff1a;1. 参数列表和返回值类型 与 要表示的抽象函数的相同。2. 方法体内部如果要使用外部变量&#xff0c…

element plus el-date-picker type=“datetime“ 限制年月日 时分秒选择

如何限制el-date-picker组件的时分秒选中&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 文档 文档在这里&#xff1a;DateTimePicker 日期时间选择器 | Element Plus 它提供的disabled-date给我们来限制日期选择 nice&#xff01;&…

mysql面试题四(事务)

目录 1.什么是数据库的事务 1. 原子性&#xff08;Atomicity&#xff09; 2. 一致性&#xff08;Consistency&#xff09; 3. 隔离性&#xff08;Isolation&#xff09; 4. 持久性&#xff08;Durability&#xff09; 2.事务的并发问题 1. 脏读&#xff08;Dirty Read&am…

探讨并行速率的评估方法及实验方案

引言 基础概念 并行计算的类型&#xff08;数据并行、任务并行&#xff09; 加速比 并行效率 如何评估并行算法 Amdahl定律与Gustafson定律的介绍 工具与平台 CPU/GPU/TPU等硬件平台的选择 软件和编程框架&#xff08;如OpenMP, MPI, CUDA&#xff09; 实验案例 简单…

2024年3月洗衣机大家电线上电商(京东天猫淘宝)销量排行榜

鲸参谋监测的线上电商&#xff08;京东天猫淘宝&#xff09;平台3月份的洗衣机大家电销售数据已出炉&#xff01; 根据鲸参谋数据显示&#xff0c;今年3月份&#xff0c;线上电商平台洗衣机的销量累计约224万件&#xff0c;环比增长了29%&#xff0c;环比增长了约29%&#xff…

ubuntu在线安装mysql数据库

1、命令 在ubuntu上安装mysql数据库&#xff0c;通过命令行的方式在线安装。 命令如下&#xff1a; # 更新系统软件包列表 sudo apt update# 安装MySQL Server sudo apt install mysql-server# 安装完成后&#xff0c;启动MySQL服务 sudo systemctl start mysql# 设置MySQL服…

网络变压器在网络分析仪上能通过测试,装上设备后网速达不到呢?

Hqst华轩盛(石门盈盛)电子导读&#xff1a;今天和大家一起探讨网络变压器在网络分析仪上能通过测试&#xff0c;装上设备后网通设备网速达不到的可能原因及其处理方式 一、出现这种情况可能有以下原因&#xff1a; 1.1. 设备兼容性问题&#xff1a;设备其它元器件与 网络…

14、ESP32 经典 Bluetooth

ESP32 上的内置经典蓝牙相比低功耗蓝牙较为简单&#xff0c;可以和 Android 智能手机之间交换数据。下面是官方例程&#xff1a; #include <Arduino.h> #include "BluetoothSerial.h"// 检查蓝牙是否正确启用 #if !defined(CONFIG_BT_ENABLED) || !defined(CO…

MATLAB绘制复杂分段函数图像

MATLAB绘制复杂分段函数图像 clc;close all;clear all;warning off;%清除变量 rand(seed, 200); randn(seed, 200) % 定义 x 范围和分辨率 x linspace(-2, 2, 1000); % 初始化 y 数组 y zeros(size(x)); % 分段定义函数 y(x < 0) x(x < 0).^2; y(x > 0 …

一个例子搞懂模型训练和参数更新的过程

模型训练和更新参数的过程是机器学习中的核心。这个过程通常涉及多个步骤&#xff0c;包括前向传播、损失计算、反向传播和参数更新。下面我将通过一个简单的线性回归模型的例子来解释这些步骤&#xff1a; 线性回归模型示例 假设我们有一个简单的线性关系 y w x b ywxb yw…

使用Termux在Android设备上编译运行SpecCPU2006

Spec CPU 2006 的使用说明&#xff08;曲线救国版&#xff09; 因本部分实验用到的Spec CPU2006依赖于多个编译工具包&#xff0c;因此对源码的编译要在配置好环境的Linux设备上运行&#xff0c;根据实验发现&#xff0c;现有的环境&#xff08;包括adb和termux&#xff09;都不…

FreeRTOS之动态创建任务与删除任务

1.本文是利用FreeRTOS来动态创建任务和删除任务。主要是使用FreeRTOS的两个API函数&#xff1a;xTaskCreate()和vTaskDelete()。 任务1和任务2是让LED0、LED1闪烁。任务3是当按键按下时删除任务1。 使用动态创建任务时&#xff0c;需要动态的堆中申请任务所需的内存空间&…

Jmeter redis连接测试

Jmeter连接redis获取数据&#xff0c;一直连不上报错。最后只能通过java代码连接测试&#xff0c;最后只能自己动手。 import redis.clients.jedis.*;import java.io.IOException; import java.util.HashSet; import java.util.Set;/*** 单机版的Jedis连接池的用法*/ public c…

Flask实战

from flask import Flask appFlask(__name__)点击Flask同时点击键盘ctrl即可查看Flask的默认初始化函数 def __init__(self,import_name: str,static_url_path: str | None None,static_folder: str | os.PathLike[str] | None "static",static_host: str | None …

安装docker的PHP环境NLMP环境在国产deepin操作系统上

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

JavaScript(五)-正则表达式

文章目录 正则表达式正则表达式的介绍语法元字符修饰符 正则表达式 正则表达式的介绍 什么是正则表达式 正则表达式&#xff08;Regular expression&#xff09;是用于匹配字符串中字符组合的模式&#xff0c;在JavaScript中&#xff0c;正则表达式也是对象通常用来查找、替…

UE5数字孪生系列笔记(四)

场景的切换 创建一个按钮的用户界面UMG 创建一个Actor&#xff0c;然后将此按钮UMG添加到组件Actor中 调节几个全屏的背景 运行结果 目标点切换功能制作 设置角色到这个按钮的位置效果 按钮被点击就进行跳转 多个地点的切换与旋转 将之前的目标点切换逻辑替换成旋转的逻…

驱动开发platform传地址,led点灯

除了platform传地址&#xff0c;其他的跟指定入口地址和指定出口地址没区别 platform和指定入口地址不能同时存在&#xff0c;一直报错模块初始化重定义&#xff0c;半个小时搞完程序没问题&#xff0c;这个重复定义因为代码太多没看懂错误&#xff0c;删了又加没试出来怎么改…

气象观测站点数据下载与处理

一、下载途径 全国400多个气象站气候数据&#xff08;1942-2022&#xff09; 王晓磊&#xff1a;中国空气质量/气象历史数据 | 北京市空气质量历史数据 气象数据免费下载网站整理 中国气象站观测的气象数据怎么下载 二、R语言处理 2.1 提取站点文件 library(dplyr) library(…