前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux系统编程】基础指令(二)

【Linux系统编程】基础指令(二)

作者头像
大耳朵土土垚
发布2024-05-03 08:52:01
1060
发布2024-05-03 08:52:01
举报
文章被收录于专栏:c/c++c/c++

1.man指令

在Linux中,man指令用于查看系统命令、库函数和配置文件的帮助手册。

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man

语法:

man [选项][节号] 命令

其中,选项一般不需要指定,而节号可以根据需要选择。 解释一下,man手册一般可以分为8章节(第9章非标准)

常用的节号有: 1:用户命令(用户可以直接使用的命令) 2:系统调用(操作系统提供的接口函数) 3:库函数(C语言库中的函数) 4:设备文件(设备文件的帮助文档) 5:配置文件(配置文件的帮助文档) 6:游戏(Linux系统中的一些小游戏) 7:惯例与协议(Linux系统的惯例和协议) 8:系统管理命令(管理员可以使用的命令)

常用选项

-k 根据关键字搜索联机帮助 num 节号,表示只在第num章节找(注意这里没有-) -a 将所有章节的都显示出来,比如 man printf 它从第一章开始搜索,找到就停止,当使用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

  • 例如要查看man命令是什么,可以使用以下命令:
代码语言:javascript
复制
man man

上图显示man表示man指令用于查看系统命令的帮助手册,并且看到man分为9个章节(第9章非标准);

  • 再比如在第1章查看ls指令:
代码语言:javascript
复制
man 1 ls

结果如下:

2.cp指令(重要)

  • 语法

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

  • 功能

复制文件或目录,用于将一个文件或者目录复制到另一个位置

  • 说明

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

  • 常用选项
  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在。
  • -i 或 --interactive 覆盖文件之前先询问用户。
  • -r递归处理,将指定目录下的文件与子目录一并处理。递归地复制整个目录。

例如:

上图中我们使用tree命令查看到当前所在目录下有file1文件以及dir1目录,dir1目录下包含file2文件,接下来我们使用cp指令来做一些操作:

  • 将文件file1复制到目录dir1中:
代码语言:javascript
复制
cp file1 dir1

结果如下:

  • 将文件file1复制到文件file3中(file3还不存在):
代码语言:javascript
复制
cp file1 file3

结果如下:

  • 递归地将目录dir1复制到目录dir2(dir2还不存在)中,包括所有子目录和文件:
代码语言:javascript
复制
cp -r dir1 dir2

结果如下:

3.mv指令(重要)

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

  • 语法:

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

  • 功能:
  1. 当第二个参数(目标文件)类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  2. 当第二个参数(目标目录)是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
  • 选项
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

例如:

如上图所示当前目录下有dir1目录和file1文件,据此,我们可以通过mv指令进行下列操作:

  • 将文件file1重命名为file2:
代码语言:javascript
复制
mv file1 file2

结果如下:

  • 将文件file2移动到目录dir1中:
代码语言:javascript
复制
mv file2 dir1

结果如下:

  • 交互式地将文件file1重命名为file2,如果目标文件已存在则询问用户是否覆盖:

如上图所示,现在当前1目录下有file1和file2文件,现在我们使用下面的命令:

代码语言:javascript
复制
mv -i file1 file2

结果如下:

这里我们看到;

有询问用户是否覆盖,回答y之后file1就覆盖了之前的文件file2

4.cat指令

  • 语法

cat [选项][文件]

  • 功能

查看目标文件的内容

  • 常用选项
  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

例如:

上图中有file1文件,我们可以通过cat指令来查看file1文件中的内容:

代码语言:javascript
复制
cat file1

此外我们看到cat -n file1可以显示行号

与cat指令相对,tac(恰好是cat字母反过来)指令用于逆序显示文本文件的内容。它的用法与cat指令类似,只是它会按照相反的顺序显示文件的内容。

代码语言:javascript
复制
tac file1

结果如下:

5.more指令

  • 语法

more [选项][文件]

  • 功能

more命令,功能类似cat ; 用于查看文件内容的命令行工具。它允许用户以一页一页的方式浏览文件,使大文件的查看更加方便。

  • 常用选项
  • -n 一次显示n行

在使用more命令时,可以使用以下键盘快捷键进行操作:

空格键:向下滚动一页。 Enter键:向下滚动一行。 q键:退出more指令。 /键:搜索文件内容。 h或?键:显示帮助信息。

举例: 我们先可以使用i=1;while [ i -le 10000 ]; do echo "hello Linux

代码语言:javascript
复制
more file1

结果如下:

  • 我们还可以使用-n选项限定一次显示的行数:
代码语言:javascript
复制
more -10 file1
  • enter键向下滚动一行:
  • 空格键向下滚动一页:
  • q键退出:

使用more命令要知道它只能向下翻,不能往回看

6.less指令(重要)

? less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

? less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,只能往后面看。

?但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

?除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

  • 语法

less [参数] 文件

  • 功能

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

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

例如

  • 我们使用less指令查看刚才的file1内容:
代码语言:javascript
复制
less file1

结果如下:

这里我们就可以使用PgUp和PgDn这两个键来向上或向下查看文件;

  • 我们还可以使用-N选项来显示行号
代码语言:javascript
复制
less -N file1

结果如下:

这里可以按q键退出

7.head与tail指令

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

7.1head指令

  • 语法

head [参数] [文件]

  • 功能

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

  • 选项

-n<行数> 显示的行数

例如

  • 使用head默认打印file1文件的前10行内容:
代码语言:javascript
复制
head file1

结果如下:

  • 使用-n选项打印前n行内容
代码语言:javascript
复制
head -20 file1

结果如下:

7.2tail指令

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

  • 语法

tail [必要参数] [选择参数] [文件]

  • 功能

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

  • 选项
  • -f 循环读取
  • -n<行数> 显示倒数n行内容

例如

  • 使用tail指令查看file1倒数十行内容
代码语言:javascript
复制
tail file1

结果如下:

  • 使用 -n选项显示file1文件倒数20行:
代码语言:javascript
复制
tail -20 file1

8.结语

这些只是一部分常见的Linux基础指令,后续将会继续介绍更多的Linux指令,以上就是今天的所有内容啦 ~ 完结撒花 ~ ???

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.man指令
  • 2.cp指令(重要)
  • 3.mv指令(重要)
  • 4.cat指令
  • 5.more指令
  • 6.less指令(重要)
  • 7.head与tail指令
    • 7.1head指令
      • 7.2tail指令
      • 8.结语
      相关产品与服务
      命令行工具
      腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com