[Linux-04] 常用指令

本文详细介绍Linux系统的常见命令,包括运行级别的切换、文件目录操作、时间日期管理、搜索查找及压缩解压等功能。通过实例演示如何找回丢失的root密码,以及如何高效地管理和使用Linux系统。

1、运行级别

1.1 说明

  运行级别说明:

级别说明
0关机
1单用户【找回丢失密码】
2多用户状态没有网络服务
3多用户状态有网络服务
4系统未使用保留给用户
5图形界面
6系统重启

  常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittabid:5:initdefault:这一行中的数字。

1.2 切换到指定运行级别

  基本语法:init [0123456]

  在图形界面的终端界面输入init 3就会进入命令行模式,继续输入init 5就会回到图形界面。

1.2.1 忘记root密码

  如果忘记了root用户的密码,可以先进入单用户模式。演示如下:

  开机,在引导时不断按回车键,会进入以下界面:
在这里插入图片描述
  选择我们的 CentOS 6 操作系统,然后键盘输入 e:
在这里插入图片描述
  选择 kernel 这一行,再输入 e:
在这里插入图片描述
  再这行最后输入数字 1:
在这里插入图片描述
  接着回车:
在这里插入图片描述
  此时按 b 即可进入单用户模式:
在这里插入图片描述
  此时就发现我们是 root 用户,可直接修改密码:
在这里插入图片描述
  (提示密码太简单,可以再输入一次来忽略警告。)

1.2.2 设置开机后默认运行模式

  直接打开文件 /etc/inittab :
在这里插入图片描述
  把数字改成对应的运行级别即可。

2、帮助指令

  当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。

2.1 man

  功能:获得帮助信息。

  基本语法:man [命令或配置文件]
在这里插入图片描述

2.2 help

  功能:获得shell 内置命令的帮助信息

  基本语法:help 命令
在这里插入图片描述

3、文件目录类

3.1 pwd

  显示当前工作目录的绝对路径

  基本语法:pwd
在这里插入图片描述

3.2 ls

  功能:显示当前目录的文件信息。

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

  常用选项:
  -a:显示当前所有文件和目录,包括隐藏的;
  -l:以列表的方式显示信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 cd

  功能:切换到指定的目录

  基本语法:cd [参数]

  cd ~cd:回到自己的家目录;
  cd ..:回到当前目录的上一级目录;

3.4 mkdir

  功能:创建目录(make directory)

  基本语法:mkdir [选项] 要创建的目录

  常用选项:
  -p:创建多级目录
在这里插入图片描述
在这里插入图片描述

3.5 rmdir

  功能:删除空目录(remove directory)

  基本语法:rmdir [选项] 要删除的空目录
在这里插入图片描述
  如果目录不为空,则需要使用rm -rf 要删除的目录来删除。
在这里插入图片描述

3.6 touch

  功能:创建空文件。

  基本语法:touch 文件名称
在这里插入图片描述

3.7 cp

  功能:拷贝文件到指定目录。

  基本语法:cp [选项] source dest

  常用选项:
  -r:递归复制整个文件夹。
在这里插入图片描述
  如果在cp前面加一个反斜杠\cp,则当目的目录有同名文件,会强制覆盖。

3.8

  功能:删除文件或目录。

  基本语法:rm [选项] 要删除的文件或目录

  常用选项:
  -r:递归删除整个文件夹;
  -f:强制删除,且不提示。
在这里插入图片描述
在这里插入图片描述

3.8 mv

  功能:移动文件、目录。

  基本语法:mv source dest

  注意:source 和 dest 名字可以一样也可以不一样,如果移动前后文件都在同一目录下,等价于重命名。
在这里插入图片描述

3.9 cat

  功能:以只读的方式打开文件。

  基本语法:cat [选项] 要查看的文件

  常用选项:
  -n:显示行号
在这里插入图片描述

  一般情况下,cat| more联合使用。

3.10 more

  功能:基于 vi 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

  基本语法:more 要查看的文件

  快捷键:

快捷键说明
空白格向下一页
Enter向下一行
q立即离开 more,不再显示文件内容
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行号
:f输出文件名和当前行号

3.11 less

  功能:less 指令用来分屏查看文件内容,它的功能与more指令类似,但是比more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

  基本语法:less 要查看的文件

快捷键说明
空白格向下翻动一页
[pagedown]向下翻动一页
[pageup]向上翻动一页
/字串向下搜寻[字串],n:向下查找;N:向上查找
?字串向上搜寻[字串],n:向上查找;N:向下查找
q离开less程序

3.12 > 和 >>

  功能:>表示输出重定向,左侧内容覆盖右侧文件;>>表示追加,左侧内容追加到右侧文件的末尾。

  基本语法:ls -l > 文件
在这里插入图片描述

3.13 echo

  功能:类似于 print 把内容输出到控制台。

  基本语法:echo [选项] [输出内容]
在这里插入图片描述

3.14 head

  功能:用于显示文件的开头部分内容,默认显示文件的前 10 行。

  基本语法:head [选项] 文件

  常用选项:
  -n :指定要显示的行数。
在这里插入图片描述

3.15 tail

  功能:输出文件尾部的内容,默认输出文件最后 10 行的内容。

  基本语法:tail [选项] 文件

  常用选项:
  -n :指定要显示的行数
在这里插入图片描述

3.16 ln

  功能:设置软连接,类似于 windows 里的指定快捷方式。

  基本语法:ln -s [原文件或目录] [软连接名]
在这里插入图片描述
  删除软连接注意不要在软连接名后面带斜杠,否则会删除指向目录的内容。

3.17 history

  功能:显示曾经执行过的命令。

  语法:history
在这里插入图片描述
  显示最近使用的 10 条指令:
在这里插入图片描述
  执行编号为 154 的指令:
在这里插入图片描述

4、时间日期类

4.1 date

  基本语法:

  date
  date +%Y
  date +%m
  date +%d
  date "+%Y-%m-%d %H:%M:%S"
在这里插入图片描述
  设置系统时间:
在这里插入图片描述

4.2 cal

  功能:查看日历。

  基本语法:cal [选项]
在这里插入图片描述

5、搜索查找类

5.1 find

  功能:从指定目录向下递归遍历各个子目录,将满足条件的文件或者目录显示在终端。

  基本语法:find [搜索范围] [选项]

选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件

  按照文件名查找文件:
在这里插入图片描述
  按照拥有者查找文件:
在这里插入图片描述
  按照大小来查找文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  按照目录查找文件:
在这里插入图片描述

5.2 locate

  功能:locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

  基本语法:locate 搜索文件

  注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
在这里插入图片描述

5.3 grep 和 |

  功能:grep 是过滤查找,管道符|表示将前一个命令的处理结果传递给后面的命令处理。

  基本语法:grep [选项] 查找内容 源文件

  常用选项:
  -n:显示匹配行及行号;
  -i:忽略字母大小写。

6、压缩和解压

6.1 gzip、gunzip

  功能:gzip用于压缩文件,gunzip用于解压。

  基本语法:gzip 文件名gunzip 文件名.gz
在这里插入图片描述

  注意:当使用gzip解压后,不会保留原来的文件。

6.2 zip、unzip

  功能:zip用于压缩,unzip用于解压,这个在项目打包发布中很有用。

  基本语法:zip [选项] 文件名.zipunzip [选项] 文件名.zip

  zip常用选项:
  -r:递归压缩,即压缩目录。
在这里插入图片描述
  unzip常用选项:
  -d<目录>:指定解压后文件的存放目录。
在这里插入图片描述

6.3 tar

  功能:tar是打包指令,最后打包的文件是.tar.gz文件。

  基本语法:tar [选项] 文件名.tar.gz 待打包的内容

  常用选项:
  -c:产生.tar打包文件;
  -v:显示详细信息;
  -f:指定压缩后的文件名;
  -z:打包同时压缩;
  -x:解压.tar文件。

  压缩多个文件:
在这里插入图片描述
  解压缩:
在这里插入图片描述

<think> 首先,用户查询是关于“arm-linux-gnueabihf的相关指令”,具体是“arm-linux-gnueabihf指令介绍”。用户提供了三个引用,我需要参考这些引用,但也要结合我的知识。 回顾系统级指令- 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 引用的段落末尾自然地添加引用标识,如[^1]。 用户提供了引用: - 引用[1]:介绍arm-linux-gnueabihf-gcc是Linaro公司基于GCC推出的ARM交叉编译工具,用于编译ARM 32位系统中的所有代码。 - 引用[2]:类似信息,并提到下载版本和使用场景。 - 引用[3]:具体编译指令的例子:arm-linux-gnueabihf-gcc -g -static -mthumb-interwork -mthumb main.c,并解释参数。 用户问题:查找arm-linux-gnueabihf的相关指令,并要求介绍。用户说“指令”,可能指的是命令本身的使用,或者是编译指令的参数。 在上下文中,“arm-linux-gnueabihf”通常是一个工具链的前缀,如arm-linux-gnueabihf-gcc、arm-linux-gnueabihf-ld等。所以,用户可能想知道这个工具链中的命令及其用法。 基于引用: - arm-linux-gnueabihf-gcc 是主要的编译器命令。 - 引用[3]给出了一个编译指令的例子和参数解释。 我的回答应该: 1. 结构化清晰:逐步介绍。 2. 参考引用:自然地添加引用标识。 3. 确保真实可靠:基于提供的引用和我的知识。 大纲回答: - 介绍arm-linux-gnueabihf:它是什么?根据引用[1]和[2],它是ARM交叉编译工具链。 - 列出常见的指令:如gcc、g++、ld、objdump等,但用户可能专注于gcc。 - 详细解释arm-linux-gnueabihf-gcc命令:参数、用法、示例。 - 参考引用[3]给出具体参数解释。 - 生成相关问题。 步骤: 1. 开头解释arm-linux-gnueabihf是什么。 2. 介绍主要指令:arm-linux-gnueabihf-gcc。 3. 详细说明参数:使用引用[3]的信息。 4. 提供示例。 5. 结束时生成相关问题。 添加引用标识: - 当引用具体段落时,在末尾添加[^n]。 生成相关问题: - 基于主题,如交叉编译、工具链优化等。 最终结构: - 回答部分:介绍、指令详细。 - 相关问题部分:列出几个问题。 </think> ### arm-linux-gnueabihf工具链指令介绍 `arm-linux-gnueabihf` 是 ARM 架构的交叉编译工具链前缀,主要用于在 x86 或 x64 主机上编译和链接针对 ARM 32 位嵌入式 Linux 系统的代码(包括裸机程序、U-Boot、Linux 内核、文件系统和应用程序)。它由 Linaro 公司基于 GCC 开发,支持硬件浮点单元(HF),能显著提升浮点运算性能[^1][^2]。以下是常用指令的详细介绍: #### 1. **主要编译指令:`arm-linux-gnueabihf-gcc`** 这是最常用的编译器命令,用于将 C 语言源代码编译为 ARM 可执行文件。基本语法为: ``` arm-linux-gnueabihf-gcc [选项] 源文件 -o 输出文件 ``` **常用参数详解(基于引用[3])**: - `-g`:添加调试信息(如 GDB 调试符号),方便在目标设备上调试程序。 - `-static`:使用静态链接方式,将所有库嵌入可执行文件,避免运行时依赖动态库。 - `-mthumb`:生成 Thumb 指令集代码,减少代码尺寸(适用于资源受限的嵌入式设备)。 - `-mthumb-interwork`:支持 ARM 和 Thumb 指令集混合使用,提升兼容性。 - `-O<level>`:优化级别(如 `-O1`、`-O2`),例如 `-O2` 启用常用优化以提升性能。 - `-I<路径>`:添加头文件搜索路径,例如 `-I/usr/local/include`。 - `-L<路径>`:添加库文件搜索路径,例如 `-L/usr/local/lib`。 - `-l<库名>`:链接指定库(如 `-lm` 链接数学库)。 **示例命令**: ``` arm-linux-gnueabihf-gcc -g -static -mthumb-interwork -mthumb -O2 main.c -o output.elf ``` 此命令编译 `main.c`,生成静态链接、支持 Thumb 混合指令的优化可执行文件 `output.elf`,并包含调试信息[^3]。 #### 2. **其他常用工具链指令** `arm-linux-gnueabihf` 工具链还包括多个辅助命令: - `arm-linux-gnueabihf-g++`:C++ 编译器,用法类似 `gcc`,用于编译 C++ 代码。 - `arm-linux-gnueabihf-ld`:链接器,用于将目标文件链接为可执行文件,例如: ``` arm-linux-gnueabihf-ld -T script.ld obj1.o obj2.o -o program.elf ``` - `arm-linux-gnueabihf-objdump`:反汇编工具,用于分析二进制文件,例如: ``` arm-linux-gnueabihf-objdump -d output.elf > disassembly.txt ``` - `arm-linux-gnueabihf-strip`:移除调试符号以减小文件大小,例如: ``` arm-linux-gnueabihf-strip output.elf ``` - `arm-linux-gnueabihf-readelf`:查看 ELF 文件头信息,例如: ``` arm-linux-gnueabihf-readelf -h kernel.bin ``` #### 3. **使用场景与注意事项** - **下载与安装**:工具链可从 Linaro 官网下载,支持 Linux(解压版)和 Windows(安装版)。Linux 主机推荐使用解压版,解压后添加路径到 `PATH` 环境变量即可调用指令[^2]。 - **适用平台**:主要用于 ARMv7-A 或 ARMv7-R 架构的嵌入式 Linux 设备(如 Raspberry Pi、BeagleBone)。 - **性能优化**:通过参数如 `-mthumb` 和 `-O2` 平衡代码大小与执行速度,硬件浮点支持(HF)可加速数学运算[^1]。 如需进一步验证参数,可运行 `arm-linux-gnueabihf-gcc --help` 查看完整选项列表。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值