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

💞💞 前言

hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
在这里插入图片描述

💥个人主页:大耳朵土土垚的博客
💥 所属专栏:Linux系统编程
这里将会不定期更新有关Linux系统编程有关的内容,希望大家多多点赞关注收藏💖💖

在Linux系统中,有许多基础指令可以用于文件管理、系统操作和网络通信等。下面是一些常见的Linux基础指令:

Linux基础指令

  • 💞💞 前言
  • 1.man指令
  • 2.cp指令(重要)
  • 3.mv指令(重要)
  • 4.cat指令
  • 5.more指令
  • 6.less指令(重要)
  • 7.head与tail指令
    • 7.1head指令
    • 7.2tail指令
  • 8.结语

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命令是什么,可以使用以下命令:
man man

在这里插入图片描述

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

  • 再比如在第1章查看ls指令:
man 1 ls

结果如下:
在这里插入图片描述

2.cp指令(重要)

  • 语法

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

  • 功能

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

  • 说明

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

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

例如:
在这里插入图片描述

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

  • 将文件file1复制到目录dir1中:
cp file1 dir1

结果如下:
在这里插入图片描述

  • 将文件file1复制到文件file3中(file3还不存在):
cp file1 file3

结果如下:
在这里插入图片描述

  • 递归地将目录dir1复制到目录dir2(dir2还不存在)中,包括所有子目录和文件:
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:
mv file1 file2

结果如下:
在这里插入图片描述

  • 将文件file2移动到目录dir1中:
mv file2 dir1

结果如下:
在这里插入图片描述

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

在这里插入图片描述

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

mv -i file1 file2

结果如下:
在这里插入图片描述

这里我们看到;
在这里插入图片描述有询问用户是否覆盖,回答y之后file1就覆盖了之前的文件file2

4.cat指令

  • 语法

cat [选项][文件]

  • 功能

查看目标文件的内容

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

例如:
在这里插入图片描述

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

cat file1

在这里插入图片描述

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

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

tac file1

结果如下:
在这里插入图片描述

5.more指令

  • 语法

more [选项][文件]

  • 功能

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

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

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

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

举例:
我们先可以使用i=1;while [ $i -le 10000 ]; do echo "hello Linux $i"; let i++;done > file1 命令在file1文件中写入10000行hello Linux文本;接下来我们就可以使用more命令一页一页浏览文件

more file1

结果如下:
在这里插入图片描述

  • 我们还可以使用-n选项限定一次显示的行数:
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内容:
less file1

结果如下:
在这里插入图片描述

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

  • 我们还可以使用-N选项来显示行号
less -N file1

结果如下:
在这里插入图片描述

这里可以按q键退出

7.head与tail指令

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

7.1head指令

  • 语法

head [参数] [文件]

  • 功能

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

  • 选项

-n<行数> 显示的行数

例如

  • 使用head默认打印file1文件的前10行内容:
head file1

结果如下:
在这里插入图片描述

  • 使用-n选项打印前n行内容
head -20 file1

结果如下:
在这里插入图片描述

7.2tail指令

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

  • 语法

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

  • 功能

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

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

例如

  • 使用tail指令查看file1倒数十行内容
tail file1

结果如下:
在这里插入图片描述

  • 使用 -n选项显示file1文件倒数20行:
tail -20 file1

在这里插入图片描述

8.结语

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

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

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

相关文章

架构师系列- 定时任务(二)- Quartz框架

quartz特点 Quartz是一个优秀的任务调度框架&#xff0c; 具有以下特点 强大的调度功能&#xff0c;例如支持丰富多样的调度方法&#xff0c;可以满足各种常规及特殊需求&#xff1b;负载均衡高可用 quartz 架构体系 Quartz 设计有四个核心类&#xff0c;分别是Scheduler(调度…

一个简单的java递归下降语法分析器例子

import parser.Parser; import parser.RecursiveDescentParser;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class Main {public static void main(String[] args) {// 关键词List<String> keyList new ArrayList<>(Arra…

NXP i.MX8系列平台开发讲解 - 3.10 Linux PCIe资源分配与访问(二)

目录 1. PCIe BFD 2. PCIe 配置空间 2.1 PCIe 配置空间访问 PCIe I/O访问方法 PCIe MMIO访问方法 3. PCIe BAR相关 4. PCIe Capbility 5. PCIe 操作 本文将重点讲解PCIe的资源访问相关内容&#xff0c;对于PCIe资源访问是从Host 端老看可以对PCIe进行配置与访问的资源主…

【opencv 加速推理】如何安装 支持cuda的opencv 包 用于截帧加速

要在支持CUDA的系统上安装OpenCV&#xff0c;您可以使用pip来安装支持CUDA的OpenCV版本。OpenCV支持CUDA加速&#xff0c;但需要安装额外的库&#xff0c;如cuDNN和NVIDIA CUDA Toolkit。以下是一般步骤&#xff1a; 安装NVIDIA CUDA Toolkit: 首先&#xff0c;您需要安装NVID…

深度学习基础之《TensorFlow框架(12)—图片数据》

一、图像基本知识 1、如何转换图片文件 回忆&#xff1a;之前我们在特征抽取中讲过如何将文本处理成数据 思考&#xff1a;如何将图片文件转换成机器学习算法能够处理的数据&#xff1f; 我们经常接触到的图片有两种&#xff0c;一种是黑白图片&#xff08;灰度图&#xff09;…

网站被SmartScreen标记为不安全怎么办?

在互联网时代&#xff0c;网站的安全性和可信度是用户选择是否继续访问的重要因素之一&#xff0c;然而&#xff0c;网站运营者偶尔会发现使用Edge浏览器访问网站时&#xff0c;会出现Microsoft Defender SmartScreen&#xff08;以下简称SmartScreen&#xff09;提示网站不安全…

Windows下搭建Flutter开发环境

IDE:VS code Flutter官网:Flutter: 为所有屏幕创造精彩 - Flutter 中文开发者网站 - Flutter 下载&安装 下载Flutter SDK,如图,建议自行下载安装: SDK还是挺大的,近1G,使用迅雷下载会快不少。 下载完成,解压缩到指定目录即可! 设置Local SDK,按下面步骤操作即…

【数据结构(邓俊辉)学习笔记】绪论05——动态规划

文章目录 0.前言1. Fibonacci数应用1.1 fib&#xff08;&#xff09;&#xff1a;递归1.1.1 问题与代码1.1.2 复杂度分析1.1.3 递归分析 1.2 fib&#xff08;&#xff09;&#xff1a;迭代 0.前言 make it work,make it right,make it fast. 让代码能够不仅正确而且足够高效地…

适合初学者的自然语言处理 (NLP) 综合指南

一、简述 自然语言处理 (NLP) 是人工智能 (AI) 最热门的领域之一&#xff0c;现在主要指大语言模型了。这要归功于人们热衷于能编写故事的文本生成器、欺骗人们的聊天机器人以及产生照片级真实感的文本到图像程序等应用程序。近年来&#xff0c;计算机理解人类语言、编程语言&a…

前端开发攻略---用原生JS在网页中也能实现文本转语音

1、原理 语音合成 (也被称作是文本转为语音&#xff0c;英语简写是 tts) 包括接收 app 中需要语音合成的文本&#xff0c;再在设备麦克风播放出来这两个过程。 Web API中对此有一个主要控制接口 SpeechSynthesis&#xff0c;外加一些处理如何表示要被合成的文本 (也被称为 utte…

Idea:通义千问插件

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、通义千问大模型 二、程序编写助手 三、Idea安装通义千问插件 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、通义千问大模型…

数据结构——二叉树的操作 (层序遍历)(C++实现)

数据结构——二叉树的操作&#xff08;2&#xff09;&#xff08;C实现&#xff09; 统计叶子结点个数统计结点个数层序遍历非递归方式递归方式 我们今天接着来看二叉树的操作&#xff0c;如果还没有看过上一篇的可以点击这里&#xff1a; https://blog.csdn.net/qq_67693066/a…

来自异国的客人 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 100分 题解: Java / Python / C++ 题目描述 有位客人来自异国,在该国使用m进制计数。 该客人有个幸运数字n(n<m),每次购物时,其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。 问: 当其购买一个在我国价值k的产品时,…

【Leetcode每日一题】 穷举vs暴搜vs深搜vs回溯vs剪枝_全排列 - 子集(难度⭐⭐)(65)

1. 题目解析 题目链接&#xff1a;78. 子集 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 算法思路详解&#xff1a; 为了生成数组 nums 的所有子集&#xff0c;我们需要对数组中的每个元素进行“选择”或“不选择…

JavaScript-Vue入门

本文主要测分享Vue的一些基础 Vue简介 Vue.js 是一个构建数据驱动的 web 界面的渐进式框架。它的主要目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 下是一些 Vue 的主要特点和概念&#xff1a; 1. 响应式数据绑定&#xff1a;Vue 使用基于 HTML 的模板语法…

Visual Studio安装MFC开发组件

MFC由于比较古老了&#xff0c;Visual Studio默认没有这个开发组件。最近由于一些原因&#xff0c;需要使用这个库&#xff0c;这就需要另外安装。 参考了网上的一些资料&#xff0c;根据实际使用&#xff0c;其实很多步骤不是必须的。 https://zhuanlan.zhihu.com/p/68117276…

Neo-reGeorg(webshell代理)-php

https://github.com/L-codes/Neo-reGeorg python加载需要的库 pip install requests 生成webshell代理文件 python .\neoreg.py generate -k 123456 其中&#xff0c;123456为密码&#xff0c;可以修改 生成后的文件路径&#xff1a; > neoreg_servers/tunnel.ashx …

Java后台开发的前置说明

1.知识点逻辑 一个部分 都是先挑重点知识点讲解 然后根据这些重点知识点去完成一个项目的开发 然后在到返回来解决这个部分其他细枝末节的知识点 2.软件开发的分工 我们大致可以将软件开发分成四块&#xff1a; 1.前端开发(比如开发电脑中的京东 htmlcssjavascript) 2.移动开…

什么是主数据管理?合理管理主数据,奠定企业数据战略基石

主数据&#xff08;Master Data&#xff09;是指在企业多个业务系统中重复使用、共享的、具有高价值的核心业务实体数据&#xff0c;如客户、产品、供应商、员工等&#xff0c;它们是企业运营和决策的基础&#xff0c;需要保持高度的准确性、一致性和完整性&#xff0c;以确保业…

Scala 05 —— 函数式编程底层逻辑

Scala 05 —— 函数式编程底层逻辑 该文章来自2023/1/14的清华大学交叉信息学院助理教授——袁洋演讲。 文章目录 Scala 05 —— 函数式编程底层逻辑函数式编程假如...副作用是必须的&#xff1f;函数的定义函数是数据的函数&#xff0c;不是数字的函数如何把业务逻辑做成纯函…