首页 > 系统相关 >Linux终端之旅: 文件与目录编辑

Linux终端之旅: 文件与目录编辑

时间:2024-10-24 12:19:07浏览次数:8  
标签:文件 之旅 写入 cat 命令 内容 终端 Linux

         在 Linux 终端的世界里,文件和目录管理是最基础也是最重要的技能之一。无论是从创建、修改、删除文件到调整权限、组织目录结构,这些操作都是我们与系统进行交互的核心。作为学习 Linux 的一部分,我将在这篇博客中深入探索如何通过命令行高效地编辑、管理文件和目录。

***注意***:linux下,一切皆文件。键盘、显示器都是文件。

1.重定向操作

在 Linux 中,重定向操作是将命令的输出或输入重定向到文件或其他目标

(1)> (输出重定向)
将命令的输出 重定向 到指定文件如果文件不存在会先创建一个新文件;如果文件存在,则会先清空原有内容再输出

(2)>> (追加重定向)
将命令的输出追加到文件末尾。如果文件不存在,会先创建一个新文件;如果文件存在,则不会覆盖原有内容,而是追加到文件末尾。

(3)< (输出重定向)

<后面通常跟会一个文件,将文件的的内容作为命令的输入。

这里先简单了解一下定义,我们在文章的后面会结合命令来帮助小伙伴们进一步理解。

2.cat(concatenate files and print)

cat主要用来查看文件内容。适合查看内容较少的纯文本文件, 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往会看不清所显示的具体内容,可以按Ctrl+C组合键中断命令执行。

(1)cat

键盘文件上读取内容,输入什么打印什么,ctrl+c可以退出。

(2)cat 文件名

从指定文件读取内容

也可以用输入重定向形式:cat < 文件名

可以说,cat读取后面所跟文件的内容,后面没有文件则默认从键盘文件读取内容,这可以说是linux下一切接文件的一种说明。

多提一点我们所使用的xshell输入命令的黑屏也是一个文件,通过ll /dev/pts命令调用,下面黄色字体的“1”便是正在使用的命令输入屏。

我们想该文件中写入一行字符串,可以看到字符串在命令行中输出了,这表明我们在输入命令的地方也是一个文件,linux下一切皆文件 

 

(3)cat [参数]

(4)tac 

cat是正向打印内容,而tac是反向打印内容

3.which

3.1什么是指令?

在介绍这个命令前,我们先来思考一下什么是指令?

 结论是:指令本质上就是程序,就是文件。

 例如,在windows系统下,我们选择桌面上一个图标,右击鼠标,找到属性,找到快捷方式下的目标,将这个路径复制下来

在文件夹中寻找 ,可以看到后缀为.exe,说明这是一个程序,回车可以启动应用,也就是说我们通过双击点击图标启动应用实际上就是双击运行这个程序。

 而在linux中,指令都存在usr/bin/路径下,使用ls /usr/bin/即可看到

 

绿色代表可执行程序,可以看到ls实际上也是一个可执行程序

3.2which [参数] 文件名

小提示:"[]"中的内容是选择项,可用可不用

which命令的功能是查找命令文件,快速搜索二进制程序所对应的位置

--color=auto表示该命令输出的内容会有颜色区分,例如目录是蓝色,可执行程序是绿色。

alias的作用是取别名,我们在这不做过多介绍,感兴趣的小伙伴可以自行去了解

4.less和more

在Linux中,`less` 和 `more` 是两个用于分页显示文件内容的命令行工具。它们都允许你在终端中查看大文件,而不用一次性加载全部内容。虽然它们的功能类似,但`less`更为强大和灵活。

向log.txt中写入一万行代码创建一个大文件

 

4.1more

- 基本功能:只能向前翻页查看文件内容,不支持向后翻页。
- 按键操作:
  - 空格键:向前翻一页
  - 回车键:向前翻一行
  - q:退出

按空格向前翻页


- 限制:无法向后翻页,只能向前浏览文件内容。

4.2less

- 功能:支持向前和向后翻页,还可以搜索内容,功能比`more`更丰富。
- 按键操作:
  - 空格键:向前翻一页

  - 回车键:向前翻一行
  - b:向后翻一页
  - k:向上翻一行

  - 上下键:向上下翻一行
  - /:搜索关键字
  - n:跳到下一个匹配项
  - q:退出

按n查下一个999

- 优势:支持向前、向后翻页,还可以通过搜索快速定位到特定内容。`less`不会将整个文件加载到内存,而是根据需要动态加载,适合查看大文件。

在实际使用中,`less` 被更多地推荐,尤其是在处理大文件时。

5.echo

echo主要功能是将指定的字符串输出到终端或文件中

默认情况下和使用“>”时,echo向显示器、指定文件写入是一个输出重定向操作文件不存在则先新建再写入,文件已有内容先清空再写入。

(1)默认向显示器写入

写入文件时会先清空文件已有的内容。
语法:echo [字符串]

(2)文件存在写入指定文件

文件不存在则新建一个文件再写入,写入文件时会先清空文件已有的内容

语法:echo [字符串] > 文件

 

(3)直接使用 “> 文件“ 清空或新建一个文件文件

清空文件:

新建文件:

(4)使用ls将当前目录下的内容写入文件

(5) 追加重定向“>>”

追加重定向再原文件基础上追加内容,不会清空已有内容

(6)结合参数使用

语法:echo [参数] [字符串] > 文件

 -e \n:换行符

6.head和tail 

6.1 head

head的功能是显示文件开头的内容,默认为前10行。

(1)head 文件名 

(2)head 参数 文件名 

 

6.2 tail

tail命令的功能是查看文件尾部内容,例如默认会在终端界面上显示指定文件的末尾10行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。

 (1)tail 文件名

(2)tail 参数 文件名

 

6.3管道(区间查找)

在Linux中,管道(pipe)用于将一个命令的输出作为另一个命令的输入。管道通过符号 | 来表示,它使得多个命令可以组合起来运行,从而形成一种“命令链”,避免了手动将数据从一个命令传递给另一个命令的过程。

基本语法:

command1 | command2 | command3

这里,command1 的输出被传递给 command2,command2 的输出又传递给 command3,依此类推。

取[2000,2020]之间的数,先取出前2020行输出传给tail,tail取输出的2020行的后21行,得到所求的区间

将上图的结果传给tac,反向打印

7.date

在Linux中,`date` 命令用于显示当前的日期和时间。你还可以使用它来设置系统时间,或者按照特定的格式显示日期和时间

(1)date

(2)date自定义格式

常用选项:
   - `%Y`:年份(四位)
   - `%m`:月份(两位)
   - `%d`:日(两位)
   - `%H`:小时(24小时制)
   - `%M`:分钟
   - `%S`:秒
   - `%A`:星期几
   - `%B`:月份名称

   例如,显示日期为 "年-月-日 时:分:秒" 格式:

 连字符可以自定义设置

(3)date + 参数


   你还可以使用 `-d` 选项来显示特定的日期或时间。例如:

(4)时间戳

时间戳是自1970年1月1日以来的秒数。
   使用 %s 可以显示Unix时间戳:

还可以将时间戳转换为时间

由于与西方有时间差,所以这里是北京时间8点开始

7.cal(Calendar)

cal命令的功能是用于显示系统月历与日期信息。

(1)cal

(2)cat 年

 (3)cal 参数

8.文件查找

(1)find

find命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一。

语法格式:find 路径 参数 文件名

find与which的区别:

find在系统目录树下直接查找,可以查任意文件

which值用来查系统自带的可执行程序

which等同于find在usr/bin/目录下按名称查找

which XXX = find /usr/bin/ -name XXX

(2)whereis

whereis命令的功能是显示命令及相关文件的路径位置信息,可用于找到命令(二进制程序)命令源代码man帮助手册等相关文件的路径位置信息

语法:whereis [参数] 命令

 

9.grep(global search regular expression and print out the line)

grep叫行文本过滤工具,其功能是在文件中搜索字符串,将找到的行打印出来. (1)grep 字符串 文件名

 

 (2)grep [参数] 字符串 文件名

通过这段旅程,我们不仅了解了如何管理文件和目录,还逐渐体会到 Linux 命令行的强大与灵活。每一个命令背后,都是对系统的直接操作与控制,这种简洁高效的方式让我对 Linux 有了更深的理解。掌握文件和目录管理只是开始,未来的终端之旅将带我探索更多精彩的功能。

标签:文件,之旅,写入,cat,命令,内容,终端,Linux
From: https://blog.csdn.net/wangchen_0/article/details/143129055

相关文章

  • linux硬盘日志清理
    日志文件清理#!/bin/bash#定义需要检查的目录directories=("/home/logs/archived"\"/data/logs")#获取当前硬盘分区的使用情况df_output=$(df--output=pcent/data|tail-n1|tr-d'%')#获取当前时间current_time=$(date"+%Y-%m-%d%H:......
  • 【Linux】线程ID、线程封装(详解)
    线程ID认识线程ID怎么查看一个线程的ID呢?                                                       线程库NPTL提供了pthread_self函数,可以获得线程......
  • linux shell 脚本语言教程(超详细!)
    Shell编程详细指南什么是Shell?Shell是用户与操作系统内核之间的接口,允许用户通过命令行输入来控制操作系统。它充当命令解释器,读取用户输入的命令并执行相应的操作。Shell提供了强大的脚本编程能力,可以自动化许多任务。常见的Shell有Bash(BourneAgainShell)、Zsh(ZShell)......
  • Windows、macOS和Linux系统安装Python的指南
    在不同的操作系统上安装Python通常涉及几个简单的步骤。以下是在Windows、macOS和Linux系统上安装Python的指南:Windows系统安装Python:下载Python安装程序:访问Python官方网站 python.org。选择适合Windows的Python版本(确保下载最新稳定版)。运行安装程序:双击下载的.exe文......
  • [linux]常用指令
    命令初体验体验Linux命令的使用执行命令时,如果提示信息出现乱码,是由于编码问题导致的,执行命令修改Linux的编码即可命令1:把配置写入指定文件命令2:重新加载指定文件Linux命令格式:command[-options][parameter]command:命令名[-options]:选项,可同来......
  • [linux]快速入门
    学习目标通过学习能够掌握以下的linux操作操作系统按照应用领域的不同,操作系统可以分为几类桌面操作系统服务器操作系统移动设备操作系统嵌入式操作系统不同领域的主流操作系统桌面操作系统Windows(用户数量最多)MacOS(操作体验好,办公人士首选)Linux(用户数量少)......
  • Linux系统性能优化实战指南
    引言Linux,作为开源操作系统的代表,凭借其高效、稳定、灵活的特性,在服务器、嵌入式设备、云计算等多个领域占据主导地位。然而,随着业务的发展和系统负载的增加,Linux系统的性能优化成为运维和开发人员必须面对的重要课题。本文将从硬件资源优化、内核参数调整、文件系统优化、......
  • linux提交之6e90b6-开源之耻!
    本周合并到Linux6.12-rc4内核中的一个补丁删除了一些内核维护者,使其不再出现在官方MAINTAINERS文件中,该文件可识别所有驱动程序和子系统维护者。其中包括宏碁Aspire1EC驱动程序、CirrusLogicCLPS711XARM架构、Baikal-T1PVT硬件监控器驱动程序、LibataPATA驱动程......
  • 宝塔linux面板安装(宝塔面板linux如何搭建网站)
    宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。 Linux面板(Centos/OpenCloud/Alibaba稳定......
  • centos(linux): systemctl列出所有运行中/自启动的服务
    一,列出所有服务:systemctllist-units--type=service二,列出所有运行中的服务1,用--state指定状态systemctllist-units--type=service--state=running2,直接grepsystemctllist-units--type=service|greprunning三,列出所有自启动的服务1,列出所有自启动的单元......