Linux基本指令(二)

发布于:2025-08-12 ⋅ 阅读:(19) ⋅ 点赞:(0)

在这里插入图片描述

在这里插入图片描述

本文将继续上一章的内容,继续深入探究。

一.man

man 是 Linux 系统中一个非常重要的命令,用于显示命令、文件或系统主题的手册页。手册页是系统自带的帮助文档,提供了关于命令、函数、配置文件等的详细信息。

man基本语法

man [选项] [章节] 命令或函数名

选项说明

-k:搜索手册页的名称和描述,相当于执行apropos命令。例如,man -k printf会列出所有与printf相关的手册页。
-f:显示指定命令或函数的简短描述,类似于whatis命令。如man -f ls会显示ls命令的简要说明。
-a:在所有章节中搜索指定的内容,并显示所有匹配的手册页。默认情况下,man只显示第一个匹配的手册页。
-P:指定用于显示手册页的分页程序,默认是less。例如,man -P 'more -s’将使用more命令来显示手册页,并将多个连续的空白行压缩为一行。
-M:指定搜索手册页的路径。可以使用此选项来指定自定义的手册页目录。

章节说明

在man命令中,手册页被分为不同的章节,每个章节包含特定类型的信息,常见的章节有:

  1. 用户命令:普通用户可以使用的命令。
  2. 系统调用:供程序员使用的系统调用函数。
  3. 库函数:C 库函数等。
  4. 特殊文件:设备文件和其他特殊文件的相关信息。
  5. 文件格式和约定:各种文件格式的说明。
  6. 游戏和娱乐:游戏相关的命令和信息。
  7. 杂项:其他杂项内容,如宏、协议等。
  8. 系统管理命令:通常只有管理员才能使用的命令。
    如果不指定章节,man命令会按照默认顺序搜索各个章节,通常先搜索用户命令章节,然后是系统调用、库函数等章节。例如,man printf会先显示printf作为用户命令的手册页,如果没有找到,再搜索其他章节。如果想要查看printf函数在 C 库中的手册页,可以使用man 3 printf。

操作方法

在使用man命令查看手册页时,可以使用以下按键进行操作:
空格键:向下翻一页。
Enter键:向下滚动一行。
b键:向上翻一页。
f键:向下翻一页。
/键:用于搜索文本。输入/后,再输入要搜索的字符串,然后按Enter键,就可以在手册页中查找该字符串,按n键可以查找下一个匹配项。
q键:退出man命令。

二.echo

echo 是一个在Linux 命令行中常用的指令,主要用于将文本内容输出到标准输出(屏幕)或文件中。

基本语法

echo “字符串”

与文件相联系

  1. echo “字符串” > [文件名]
    这样的操作方法,会将字符串直接写入文件当中,不会在显示器展示。
  2. 多次向同一文件使用echo写入字符串时,会实现覆盖写入。即清空文件内容,写入新内容。若不想覆盖,将>改为>>即可。这里涉及到了输出重定向的概念。
  3. 在打印echo向文件中写入的字符串时,不同次的输入会自动添加换行符。

选项说明

  1. -n:不自动添加换行符。
    bash
    echo -n “Hello”
    echo " World"
    输出:Hello World

  2. -e:启用对转义字符的解释。
    echo -e “Line 1\nLine 2”
    输出: Line 1 Line 2

  3. -E:禁用对转义字符的解释(默认行为)。
    常用转义字符(需配合 -e 选项使用)
    转义字符 功能
    \n 换行
    \t 制表符(Tab)
    \ 反斜杠本身
    " 双引号
    \a 发出蜂鸣声
    \b 退格(Backspace)
    \r 回车

三.cat

cat(英文全称为 concatenate,意为连接)是 Linux 系统中最常用的命令之一,主要用于查看文件内容、合并文件和创建简单文件。

基本语法

cat [选项] [文件1] [文件2] …

选项说明

b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

核心功能

  1. 查看文件内容
    直接显示文件的全部内容。也就是打印文件内容,这一点可以于echo对比一下。
  2. 合并文件
    将多个文件按顺序合并后输出到标准输出(屏幕)或新文件。
合并 file1.txt 和 file2.txt 并输出到屏幕
 cat file1.txt file2.txt
合并多个文件并保存到新文件
 cat file1.txt file2.txt > merged.txt  # 覆盖写入
 cat file1.txt file2.txt >> merged.txt # 追加写入
  1. 创建文件
    配合重定向符号(>)可快速创建新文件。
    cat > newfile.txt
  2. 注意事项
    大文件慎用:直接用 cat 查看大文件(如日志)会导致屏幕滚动过快,建议用 less。

四.cp

cp 是 Linux系统中用于复制文件和目录的命令。其核心功能包括复制单个文件、批量复制文件、递归复制目录以及保留文件属性等。

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

  2. 功能: 复制文件或目录

  3. 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
    则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存
    在的目录,则会出现错误信息

  4. 常用选项:
    -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
    -i 或 --interactive 覆盖文件之前先询问用户
    -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
    接,则一律视为普通文件处理
    -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
    注意:在使用联合选项-fi时,为了安全考虑,仍然会询问

五.mv

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

语法

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

功能

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
    剪切并重命名

选项说明

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

用法

  1. mv [文件名] …/
    将文件剪切到上级目录,若未指定名字则用原文件名。若上级目录已存在,则放到所存在目录之下。
  2. 重命名相应文件,达到指令简化的效果。

六.head以及tail

head指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

  1. 语法: head [参数]… [文件]…

  2. 功能:
    head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

  3. 选项:
    -n<行数> 显示的行数

tail指令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

  1. 语法: tail[必要参数][选择参数][文件]

  2. 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

  3. 选项:
    -f 循环读取
    -n<行数> 显示行数

wc

wc -n 可以统计行数。

管道

若我们想要读取一个文件当中的中间指令,有两种办法:

  1. 先使用head指令读取前几行,并写入一个新的文件当中,再用tail读取末尾几行指令。当然此方法会创建一个中间文件,所以也引出管道这一概念。
  2. head -n [文件] | tail -n
    这样就可以读取到中间几行。|为管道线,它会将左侧程序的输出交给管道文件,再交给右侧操作,而不会写入到磁盘当中。
    xxx|xxx|xxx|xxx : 管道可以支持流水线工作。

七.more && less

上述说名,cat不适合看大文本,而看大文本文件时,要用到more 和 less 指令。大部分情况下使用less。

more指令

  1. 语法:more [选项][文件]

  2. 功能:more命令,功能类似 cat

  3. 常用选项:
    -n 对输出的所有行编号
    q 退出more

less指令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

  1. 语法: less [参数] 文件

  2. 功能:
    less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
    不会加载整个文件。

  3. 选项:
    -i 忽略搜索时的大小写
    -N 显示每行的行号
    /字符串:向下搜索“字符串”的功能
    ?字符串:向上搜索“字符串”的功能
    n:重复前一个搜索(与 / 或 ? 有关)
    N:反向重复前一个搜索(与 / 或 ? 有关)
    q:quit

琐碎知识

  1. alias
    重命名指令,指令实质上是可执行程序。alias [指令] = [新指令];不用时可以:alias [指令] = 空;
  2. which
    查看指令路径。
    指令在执行前,先在系统中查找,指令在系统的特定路径下。
  3. ctrl + c
    终止程序异常而导致我们无法进行指令输入。
  • 标准输出重定向(>)
    将命令的输出覆盖写入到指定文件中。如果文件不存在,则创建;如果存在,则清空原有内容。
  • 追加输出重定向(>>)
    将命令的输出追加到指定文件的末尾,不会覆盖原有内容。
  • 输入重定向(<)
    将文件内容作为命令的输入。

在这里插入图片描述