【Linux学习笔记】基础命令2

  • [1. rmdir指令 && rm指令](#1. rmdir指令 && rm指令)
    • [1.1. 基础概念](#1.1. 基础概念)
    • [1.2. 命令用法](#1.2. 命令用法)
      • [1.2.1. rmdir命令](#1.2.1. rmdir命令)
      • [1.2.2. rm命令](#1.2.2. rm命令)
      • [1.2.3. rm命令的注意事项](#1.2.3. rm命令的注意事项)
  • [2. man命令](#2. man命令)
  • [3. cp指令](#3. cp指令)
    • [3.1. cp指令基础概念](#3.1. cp指令基础概念)
    • [3.2. cp命令的用法](#3.2. cp命令的用法)
  • [4. mv命令](#4. mv命令)
  • [5. cat命令](#5. cat命令)
  • [6. more命令 && less命令](#6. more命令 && less命令)
    • [6.1. more命令](#6.1. more命令)
    • [6.2. less命令](#6.2. less命令)
  • [7. head命令和tail命令](#7. head命令和tail命令)
    • [7.1. head命令](#7.1. head命令)
    • [7.2. tail命令](#7.2. tail命令)
    • [7.3. 利用head 和 tail 显示中间的文件内容](#7.3. 利用head 和 tail 显示中间的文件内容)
  • [8. date命令](#8. date命令)

1. rmdir指令 && rm指令

1.1. 基础概念

在Linux系统中,rmdir和rm命令用于删除目录和文件。这两个命令对于初学者来说非常重要,因为它们涉及到文件和目录的操作和管理。

下面是一些关于rmdir和rm命令的基本知识:

  1. rmdir命令:
    • rmdir命令用于删除空的目录。
    • 语法:rmdir [选项] <目录名>
    • 常用选项:
      • -p:递归删除目录及其父目录。当指定的目录为空时,其父目录也会被删除,直到顶级目录或非空目录为止。
      • -f:强制删除目录,无需确认提示。
    • 注意事项:
      • 只能删除空的目录。如果目录中有文件或其他目录,需要先进行相应的操作。
      • 删除操作不可撤销,请谨慎使用。
  1. rm命令:
    • rm命令用于删除文件或目录。
    • 语法:rm [选项] <文件或目录名>
    • 常用选项:
      • -i:交互式删除,每次删除操作都会提示确认。
      • -r:递归删除目录及其内容。
      • -f:强制删除,无需确认提示。
    • 注意事项:
      • 可以删除文件和目录,但需要谨慎使用。在删除操作前最好先确认目标文件或目录。
      • 对于删除目录,需要确保目录为空或使用递归选项-r或-p来删除非空目录及其内容。

1.2. 命令用法

1.2.1. rmdir命令

下面展示一下指令的使用:

假设我现在创建了几个目录,而我想删除,怎么操作呢? 可以使用rmdir命令(rm 你可以记作remove的意思)

  1. 删除普通文件
  1. 删除带有目录的目录
  1. 删除带有普通文件的目录
  1. 删除空目录

注意的是rmdir命令删除的是空目录

两点要求:

  1. 空的
  2. 是目录

1.2.2. rm命令

对于rmdir命令,我个人比较推荐rm命令。下面来讲rm的各种指令。

有这样的一个场景:

  1. 删除普通文件

rm指令默认删除的是普通文件

  1. 删除空目录

但rm命令也是可以删除目录的,用rm + -r命令即可

  1. 删除带目录的目录

同第2点一样的道理

  1. 删除带普通文件的目录

同上!

这里的rm -r的意思就是递归删除目录及其目录里面的文件

再来看这样的一些场景:

  1. 假如我的普通文件很多,我想删除

回看上面的rm指令,默认是删除普通文件的,但是系统是要询问你的。

面对这样的情况,可以输入rm -f + 文件名的命令来进行强制删除,这样系统就不会询问你。

  1. 删除很多的目录

同样的,我也是不想系统每次删除都要我去输入yes,所以直接选择使用 -f强制命令,但是注意文件的删除要 + -r 进行递归删除。

1.2.3. rm命令的注意事项

在Linux中, "/"这样的一个符号代表的是根目录,学了上面种种的rm命令,是否也能对根目录进行删除呢?

答案是可以的,但是是强烈不建议做的,因为这等同于删库跑路,很可刑!

2. man命令

**Linux中的man命令是一个非常有用的工具,用于查看命令、函数和文件的帮助文档。**对于初学者来说,掌握man命令可以帮助了解Linux系统的基本工具和命令。

在Linux系统中,几乎所有的命令和函数都带有帮助文档,这些文档可以通过man命令来查看。要查看某个命令的帮助文档,只需要在终端中输入"man 命令名"即可。

man命令的输出分为多个部分,包括命令的名称、格式、描述、参数说明、选项解释、示例和使用案例等。这些信息可以帮助初学者了解命令的作用、用法和参数含义,从而更好地使用Linux系统。

除了查看命令的帮助文档,man命令还可以查看其他类型的帮助文档,如函数文档、文件格式等。例如,输入"man 2 intro"可以查看关于Linux系统调用的一篇入门文章。

总之,man命令是Linux系统中非常有用的工具,对于初学者来说,掌握它可以更好地了解Linux系统的基本工具和命令。

只要记住man命令就是一个在线手册即可,不懂就去查。

例如我想查C语言库中的printf函数:

其中左上角的数字代表的该命令在第几号手册。

man手册有9个手册,每个手册都有不同的 查询内容

3. cp指令

3.1. cp指令基础概念

在Linux中,cp命令是用于复制文件和目录的基本命令。它允许您将一个文件或目录从一个位置复制到另一个位置。

基本语法如下:

bash 复制代码
cp [options] source destination

这里的source 是原始文件或目录的路径,destination是目标文件或目录的路径。

以下是一些cp命令的常见选项:

  1. -r 或 --recursive:递归复制目录及其内容。这个选项允许您将一个目录及其下的所有文件和子目录复制到目标位置。
  2. -f 或 --force:强制复制,如果目标文件已存在,不会询问用户是否覆盖。使用这个选项,将会直接覆盖目标文件,而不会询问您是否确定覆盖。
  3. -i 或 --interactive:在覆盖目标文件前询问用户是否确定。如果您不太确定是否要覆盖目标文件,使用这个选项将允许您在覆盖之前确认您的操作。
  4. -p 或 --preserve=timestamps:保留原始文件的访问时间、修改时间和状态信息。这个选项可以保持复制后的文件与原始文件在时间戳和其他属性上的一致性。
  5. -u 或 --update:只复制比目标文件更新的文件。如果目标文件比源文件更新,这个选项将不会执行复制操作。
  6. -v 或 --verbose:显示详细的输出,展示复制过程。使用这个选项,将在控制台上显示复制过程中的详细信息,便于了解复制的进度和结果。

这些选项可以根据您的需求进行组合使用。

3.2. cp命令的用法

默认场景如下:

  1. 直接复制普通文件

cp1.txt 直接复制到 cp3目录下

那么现在的cp3目录就有了普通文件cp1.txt,然后我再次复制会如何?

输入y代表yes,会直接覆盖原来的cp1.txt普通文件。

  1. 复制空目录

剩余两种情况就同rm指令一样的,无需多言!

4. mv命令

  1. 类似windows系统下的crtl + x ,剪切功能

剪切目录示范:

这里的剪切无需像rm命令和cp命令那样 + -r递归删除

  1. 重命名功能

普通文件重命名示范:

5. cat命令

语法:cat [选项][文件]

功能:查看目标文件的内容常用选项:

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

cat命令示范:

  • cat [文件名]

输入这样的一串命令cnt=0; while [ c n t − l e 100 ] ; d o e c h o " h e l l o w o r l d [ cnt -le 100 ] ; do echo "hello world [ cnt−le100];doecho"helloworld[cnt]"; let cnt++; done > test.txt

生成1到100放到test.txt中,用cat打印相对应的信息

  • cat -n [文件名]

加上 -n 显示行数

cat命令并不适合查看大文本,适合看小文本或者代码片段!!!

如果想反向显示文件内容,可以输入 tac + 文件名进行操作,下面是示范:

6. more命令 && less命令

上面的cat命令不适合查看大文本,如果要查看大文本推荐使用more命令或者less命令

6.1. more命令

  • more + 文件名

批量显示文件内容,下面是示范内容:

其中按 Enter 键 会往下翻动,但是按方向键 上 和 下 是无法往上往下反动的。

  • / + 搜索内容

**当输入 more 命令,在显示的内容中 输入 / + 文件内容,可以快速定位到想要搜索的位置,**下面是示范:

more + -数字 指定显示的百分比,示例:

6.2. less命令

less命令和more命令都是用查看大文本的,功能几乎一致。

  1. less命令可以上下翻,more命令不可以
  2. less也可以指定搜索内容
  3. less也可以指定文件内容显示的百分比

7. head命令和tail命令

7.1. head命令

  • head命令是正向显示文件内容的前10行,下面来看示范:
  • head -n 正向显示文件内容前n行

7.2. tail命令

  • tail命令同head命令差不多,tail主要的操作是反向显示文件内容前10行或者前n行
  • tail -n 反向显示文件内容前n行

7.3. 利用head 和 tail 显示中间的文件内容

head可以正向显示文件内容,tail可以反向显示文件内容,借助一个文件我们可以做到显示中间的文件内容

例如:我想要显示文件的 25 - 29行

上面显示中间内容是要借助临时文件的,那有上面办法不借助临时文件呢?

答案是借助管道!下面是使用示范:

你还可以根据你自己的需要,通过管道层层加码。

8. date命令

date 命令是一个打印时间的命令,示范如下:

  • 直接输入date
  • 格式化输出时间

date + % + 字母,其中时分秒为首字母大写,年是首字母大写,月和日是小写,如上所示。

  • 时间戳

通过date + %s,可以打印出时间戳

这个数字代表的意思是从1970年1月1日 00:00开始累计的秒数,读者可以自行多输入几次,会发现时间戳有所不同。

  • 格式化输出时间 + 时间戳用法

-d + @ + 时间戳,可以打印精准到秒的时间。

相关推荐
爱吃喵的鲤鱼1 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler13 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
懒惰才能让科技进步23 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope39 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen42 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
准橙考典1 小时前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法
hong1616881 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js