帮助指令 man ,help及文档常用管理指令

简介: 这篇文章介绍了Linux系统中常用的帮助指令`man`和`help`,以及文件目录操作、文本处理、命令历史查看等基础管理指令的使用方法。

帮助指令 man,help

1. man

当我们想要了解某个命令如何使用,及选项的含义是什么以及配置文件的帮助信息时,可以使用 man [命令或配置文件],这样便可以获得到帮助提示信息了。

语法格式:man [命令或者配置文件]

比如,常用的ls命令,我们想要查看其选项参数有哪些,可以使用man ls来查看帮助信息。

在这里插入图片描述

在这里插入图片描述

通过键盘上的上下键来进行帮助信息滚动,然后使用q来进行退出

2. help

help 指令,用于获得shell内置命令的帮助信息。

语法格式:help 命令

Shell 内置命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件,比如我们常常使用的切换目录 cd命令(tip:可以通过type 命令来确定一个命令是否为Shell内置命令)。

   type cd # 查看命令是否为Shell内建命令
   help cd # 查看cd命令的帮助信息

在这里插入图片描述

文件目录类常用指令

1. pwd 指令

pwd指令,用于显示当前工作目录的绝对路径。

语法格式:pwd

比如,我们切换到home目录下,然后查看当前目录的绝对路径

cd /home # 切换目录到home目录下
ls # 查看信息
pwd #查看当前工作目录的绝对路径

在这里插入图片描述

2. ls 指令

ls指令,用于查看当前工作目录下的文件和目录名信息。

语法格式:ls [选项] [目录名或者文件名]

常用选项:

  1. -a : 显示当前目录的所有文件和目录,包括隐藏的目录和文件。
  2. -l : 以列表的方式显示信息。
cd /home #切换工作目录
ls # 查看当前目录下的子文件和目录信息
ls -a  # 查看所有当前目录下的子文件和目录信息
ls -l  # 以列表的方式显示信息

在这里插入图片描述

3. cd 指令

cd 指令,就是切换工作目录和路径的指令,它可以是绝对路径和相对路径名的切换。

语法格式:cd [参数]

选项参数列表及用法说明:

在这里插入图片描述

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

3.1 家目录和根目录的区别

~ 代表是home目录,也就是家目录, / 代表的是根目录 。用户登录后在 家目录 ,可使用pwd命令查看,普通用户为 /home/用户名,root用户为/root 。根目录是在最顶端的目录。

比如,我们切换到某一普通用户的目录下,然后使用cd ~即回到家目录,看最终的目录是否回到了home目录。

cd /home # 切换到home目录
ls
cd cat/ # 切换到cat 目录
pwd # 查看当前目录的绝对路径
cd ~ # 切换工作目录到家目录
pwd # 查看当前目录的绝对路径

在这里插入图片描述

测试cd ..返回上级目录

cd /home/cat # 切换到home下的cat目录
pwd
cd .. # 返回到上级目录
pwd
cd .. # 返回到上级目录
pwd 
cd .. # 根目录为顶级目录,无法再返回上级目录

在这里插入图片描述

4. mkdir 和 rmidr 以及 touch 指令

4.1 mkdir 创建目录

mkdir指令用于创建目录。

语法格式:mkdir [选项] 要创建的目录名

常用选项 -p ,创建多级目录。

例如:在home目录下创建一个目录test1为单级目录,然后再创建一个car目录,里面包括一个parts子目录。

cd /home
ls
mkdir test1 # 创建test1单级目录
ls 
mkdir -p car/parts # 创建一个多级目录
ls
cd car/ # 进入到car目录中查看子目录parts是否创建成功
ls

在这里插入图片描述

4.2 rmdir 删除空目录

rmdir指令的作用为删除空目录。

语法格式:rmdir [选项] 要删除的空目录

rmdir 删除的是空目录,如果目录下存在内容时无法删除,删除非空目录时,使用rm -rf 要删除的目录名来进行删除。

例子:删除刚刚创建的test1目录,以及car目录(包含一个子目录parts)中所有的内容

cd /home # 切换到home目录下
rmdir test1 # 删除test1目录
ls
rm -rf car # 删除car目录下的所有内容(rmdir只能删除空目录,所以rmdir不适用,使用rm 指令)
ls

在这里插入图片描述

4.3 touch 创建空文件

touch 指令用于创建空文件。

语法格式:touch 文件名称

在根目录下创建一个a.txt的文件

cd ~ # 切换到根目录下
ls
touch a.txt # 创建a.txt的空文件
ls

在这里插入图片描述

5. cp 和 rm 指令

5.1 cp 指令

cp 指令拷贝文件到指定目录。

语法格式:cp [选项] source dest,(source即为源文件名,dest为目的文件名)。

常用选项:-r ,递归复制整个文件夹。

注意,使用递归复制某个文件夹时,如果在复制的过程中,出现重名的文件,想跳过重名文件不覆盖,且不进行信息提示的话,使用\cp -r XXXX

在home目录下创建一个car目录,然后在car目录里面新建一个test.txt文件和一个test目录,同时在home目录下面新建一个demo目录,最后将car目录及其中中的内容拷贝到demo目录中。

cd /home
ls
mkdir car #新建car目录
ls
cd car/ 切换到car目录中
mkdir test # 新建test子目录
touch test.txt # 新建test.txt文件
ls
cd /home 
mkdir demo #新建demo目录
cp -r car demo #将car中的所有内容拷贝到demo目录中去(选项参数-r,递归拷贝)
cd demo/ #切换到demo目录中进行查看
ls
cd car/
ls

在这里插入图片描述

5.2 rm 指令

rm 指令移除文件或者移除目录。

语法格式:rm [选项] 要删除的文件或者目录名

常用选项:

  1. -r : 递归删除整个文件夹
  2. -f : 强制删除不提示

例子:将刚刚创建的demo目录删除,包括其中的内容,以及car目录也进行删除。

cd /home
ls 
rm -rf demo
rm -rf car
ls

在这里插入图片描述

6. mv 指令

mv 指令移动文件与目录或者重命名

语法格式:

mv oldNameFile newNameFile # 重命名
mv /temp/movedfile /targetFolder #移动文件

将根目录下的a.txt文件重命名为b.txt,然后将b.txt移动到文档目录下

cd ~ #切换到根目录下
ls #查看当前目录的内容
mv a.txt b.txt #将a.txt文件重命名为b.txt
ls
mv b.txt /root/文档 #将b.txt文件移动到root下面的文档目录中去
ls
cd /root/文档
ls

在这里插入图片描述

7. cat 指令

cat 查看文件内容

语法格式:cat [选项] 要查看的文件

常用选项:-n ,显示行号

参数说明:

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 --show-ends : 在每行结束处显示 $。
  • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
  • -A, --show-all:等价于 -vET。
  • **-e:**等价于"-vE"选项;
  • **-t:**等价于"-vT"选项;

cat 只能浏览文件,而不能修改文件,为了浏览方便一般结合 |more指令。

cat -n /etc/profile |more

比如,查看Hello.java,并且查看时想看到它的编号

cat -n Hello.java

在这里插入图片描述

8. more 和 less 指令

8.1 more指令

more指令时一个基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容。more指令中内置了若干快捷键。

more与cat类似,但是more指令是以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,按 h 。

语法格式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

常用操作命令:

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • \= 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

8.2 less 指令

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

less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

语法格式:less [选项参数] 文件

参数说明

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

9. echo 指令

echo指令,输出内容到控制台。

语法格式:echo [选项] 输出内容

比如输出"helloworld ",echo helloworld,选项参数可以通过man指令来进行查看。

echo的详细用发可以参考 Shell echo命令 | 菜鸟教程 (runoob.com)

10. head 和 tail 指令

head指令用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

语法格式:

head 文件 # 查看文件前10行内容
head -n X 文件 # 查看文件前X行内容,x可以是任意行数

tail 用于输出文件中尾部的内容,默认情况下,tail指令显示文件的末尾10行内容。(与head指令恰好相反)

tail 文件 # 查看文件末尾10行内容
tail -n X 文件 # 查看文件末尾X行内容,x可以是任意行数
tail -f 文件 # 追踪文档更新

例子:查看/etc/profile的前5行和末尾5行的内容信息

head -n 5 /etc/profile
tail -n 5 /etc/profile

在这里插入图片描述

11. > 输出重定向 和 >> 追加指令

语法格式:

  1. ls -l>文件,将列表的内容写入到文件中(覆盖写模式)。
  2. ls -al>>文件,将列表的内容追加到文件中(末尾追加模式)。
  3. cat 文件1>文件2,将文件1的内容覆盖到文件2中去。
  4. echo "内容">>文件,将“内容”追加到文件末尾中去。

例如:在home目录下创建一个demo目录,然后里面分别创建a.txt文件(空文件)和b.txt文件(有一段字符‘test01’),然后分别进行上面语法格式的练习。

cd /home
mkdir demo
cd demo/
touch a.txt # 创建一个空的文件a.txt
vim b.txt   # 使用vim编辑器,创建b.txt并且编辑其中的文本内容
ls 
ls -l>a.txt # 将列表中的内容写入到文件a.txt中
vim a.txt   # 使用vim编辑器查看a.txt中的内容
ls -al>>a.txt # 将列表中的内容追加到a.txt中
vim a.txt
cat a.txt>b.txt # 将a.txt的内容覆盖到b.txt中
vim b.txt
echo helloworld >> b.txt #对b.txt文件末尾追加hellowold
vim b.txt

在这里插入图片描述

只要记住一个>是覆盖模式,两个>的话就是追加写模式即可。

12. ln 指令

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

软连接也称为符号连接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

软链接

  • 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 2.软链接可以 跨文件系统 ,硬链接不可以
  • 3.软链接可以对一个不存在的文件名进行链接
  • 4.软链接可以对目录进行链接

硬链接

  • 1.硬链接,以文件副本的形式存在。但不占用实际空间。
  • 2.不允许给目录创建硬链接
  • 3.硬链接只有在同一个文件系统中才能创建

语法格式:ln -s [原文件或目录][软链接名]

命令参数

  • 必要参数:

    • –backup[=CONTROL] 备份已存在的目标文件

    • -b 类似 –backup ,但不接受参数

    • -d 允许超级用户制作目录的硬链接

    • -f 强制执行

    • -i 交互模式,文件存在则提示用户是否覆盖

    • -n 把符号链接视为一般目录

    • -s 软链接(符号链接)

    • -v 显示详细的处理过程

  • 选择参数:

    • -S "-S<字尾备份字符串> "或 “–suffix=<字尾备份字符串>”

    • -V “-V<备份方式>“或”–version-control=<备份方式>”

    • –help 显示帮助信息

    • –version 显示版本信息

例子,为Hello.java 创建一个软连接demoLink,然后查看信息。

ln -s Hello.java demoLink #为Hello.java 创建一个软连接demoLink
ls
ll # ls -l 的缩写,就是按列表的形式查看当前目录的内容信息

在这里插入图片描述

12. history 指令

history指令,用于查看已经执行过的历史命令,也可以执行历史指令。

语法格式:

history # 显示所有的历史指令
history X # 显示最近使用过的X个指令
-a 写入命令记录
-c 清空命令记录
-d 删除指定序号的命令记录
-n 读取命令记录
-r 读取命令记录到缓冲区
-s 将指定的命令添加到缓冲区
-w 将缓冲区信息写入到历史文件

在这里插入图片描述

在这里插入图片描述


相关文章
|
存储 Shell 开发者
E906的指令|学习笔记
快速学习 E906的指令
547 0
|
存储 缓存 数据处理
sed指令用法详解
sed指令用法详解
370 0
|
7月前
|
Linux
认识Linux指令之 “cat” 指令
认识Linux指令之 “cat” 指令
认识Linux指令之 “cat” 指令
|
Linux Shell
4.2.2 基础指令的操作
4.2.2 基础指令的操作
98 0
|
Kubernetes API 容器
2022-10-13-k8s的操作指令
2022-10-13-k8s的操作指令
106 0
|
Linux 程序员 Shell
【Linux常见指令以及权限理解】基本指令(3)(一)
【Linux常见指令以及权限理解】基本指令(3)(一)
78 0
|
Shell Linux Windows
【Linux常见指令以及权限理解】基本指令(3)(二)
【Linux常见指令以及权限理解】基本指令(3)(二)
75 0
|
Linux Shell C语言
【Linux常见指令以及权限理解】基本指令(2)
【Linux常见指令以及权限理解】基本指令(2)
59 0
|
安全 Linux Windows
【Linux常见指令以及权限理解】基本指令(1)
【Linux常见指令以及权限理解】基本指令(1)
108 0
|
自然语言处理 算法 编译器
PHP的可执行的指令序列是什么意思?底层原理是什么?
PHP的可执行的指令序列是什么意思?底层原理是什么?