Linux目录和文件查看命令

news2024/11/27 13:48:54

一、Linux 的目录结构

Linux 的目录结构是一个树状结构,以根目录(/)为起点,以下是常见的 Linux 目录结构的主要内容:

/   根路径
├── bin: 存放系统指令(命令),如ls、cp、mv等,这些命令可以被所有用户执行。
├── boot: 存放启动相关的文件,包括内核(kernel)和引导程序。
├── dev: 存放设备文件,包括硬盘、键盘、鼠标等设备的文件。
├── etc: 存放系统的配置文件,例如网络配置、用户配置等。
├── home: 存放普通用户的家目录,每个用户在此目录下有各自的子目录。
├── lib: 存放系统程序运行时需要的函数库文件。
├── media: 用于挂载可移动介质(如光盘、U盘)的挂载点。
├── mnt: 通常用于挂载临时文件系统,例如其他硬盘分区或者NFS网络共享。
├── opt: 用于安装额外的软件包的目录。
├── proc: 虚拟文件系统,存储当前正在运行的进程和内核信息。
├── root: 超级用户(root)的家目录。
├── sbin: 存放系统指令(命令),只能由超级用户执行,如ifconfig、fdisk等。
├── tmp: 存放临时文件,重启后会清空该目录。
├── usr: 存放系统软件资源,包括二进制指令和库文件。
└── var: 存放经常变化的文件,如日志、备份文件等。
    ├── cache: 应用程序的缓存文件。
    ├── log: 系统日志文件。
    ├── spool: 打印队列和邮件队列等临时性数据。
    ├── tmp: 存放临时文件。
    └── www: 存放网站文件,如Web服务器的相关文件。
 ls /      # 查看根目录

  • 蓝色:目录(文件夹)
  • 绿色:可执行文件。
  • 红色:压缩文件或归档文件。
  • 棕色:设备文件(如硬盘、U盘等)。
  • 黑色:普通文件。
  • 浅蓝色:链接文件(软链接或硬链接)。
  • 灰色:其他类型的文件,如套接字(socket)等。

二、目录与文件查看命令

1、ls 命令:

作用:
  • 列出目录中的文件和子目录。
格式:
  • ls [选项] [文件/目录]
常用参数:
  • -l:以长格式显示文件信息
  • -a:显示所有文件,包括隐藏文件(以“.”开头的文件)
  • -d:仅显示目录本身,而不是显示目录中的文件和子目录
  • -R:递归地显示目录及其子目录中的文件和子目录
用法示例:
1)ls:列出当前目录的文件和子目录

2)ls -a /home/user/:显示 /home/user/ 目录下所有文件和子目录,包括隐藏文件
  • . 表示当前目录,即 /home/user/
  • .. 表示当前目录的父级目录,即 /home/  (简单理解为出现了..就代表当前目标存在父级目录)

通过显示 ..ls -a 命令帮助你识别当前目录的父级目录,方便导航和操作文件系统的目录结构 

3)ls -l:以长格式显示当前目录的文件和子目录 

解释:drwxr-xr-x. 2 user user 6 10月 8 16:45 公共 

  • d:表示这是一个目录。
  • rwxr-xr-x:这是文件权限的部分,以三组三个字符(rwx)的形式表示。第一组代表所有者(user)的权限,第二组代表所属组(user)的权限,第三组代表其他用户的权限。每个字符的含义是:
    • r:读取权限,表示可以读取文件或访问目录内的文件列表。
    • w:写入权限,表示可以编辑、修改或删除文件。
    • x:执行权限,对于文件表示可以执行,对于目录表示可以进入并访问其内容。
  • 2:表示该目录中的链接数。
  • user user:表示所有者(user)和所属组(user)的用户名。
  • 6表示文件夹中的项目数(包括子目录和文件),但是如果不是目录而是文件这个的数字就 代表指向该文件的硬链接数量
  • 10月 8 16:45:表示最后修改的日期和时间。
  • 公共:目录的名称。
4)ls -d /home/user/:显示 /home/user/ 目录本身,而不是其中的文件和子目录(作用:判断目录是否存在)

5) ls -ld /home/user/(将 -d 和 -l 组合使用):显示指定目录的详细信息,并且不会显示目录内的文件和子目录的详细信息。
  • ls:列出目录内容和文件信息。
  • -l:以长格式(详细信息)显示文件和目录。
  • -d:显示目录本身的详细信息,而不是列出目录中的内容。

所以,ls -ld /home/user/ 命令会以详细的长格式显示 /home/user/ 目录的信息,而不显示该目录下的文件和子目录的详细信息。

解释: drwx------. 16 user user 4096 10月 8 17:01 /home/user/

  • d 表示这是一个目录。
  • rwx------. 表示对于拥有该目录的用户(user),具有读、写和执行权限;对于该用户所在的组(user),没有任何权限;对于其他用户,也没有任何权限。
  • 16 表示该目录下的子项目(包括子目录和文件)的数量,不包括 "." 和 ".." 目录。
  • user user 表示该目录所属的用户和组。即该目录被 user 用户所拥有,user 组为其所属组。
  • 4096 表示该目录的容量大小为 4096 bytes,即 4KB。
  • 10月 8 17:01 表示该目录的最后修改时间为 10 月 8 日 17 点 01 分。
6)ls -R /home/user/:递归地显示 /home/user/ 目录及其子目录中的所有文件和子目录。

2、cd 命令:

作用:
  • 进入指定的目录。
格式:
  • cd [目录]
用法示例:
1)切换到上级目录:

cd ..

2)切换到当前用户的主目录(通常是 /home/username/):

cd  或 cd ~

3)切换到绝对路径指定的目录:

cd /var/log/   或 cd /  # 直接切换到根目录

4)切换到当前工作目录下的子目录:

cd 子目录名

5)切换到上次工作的目录:

cd -

6)使用主目录中定义的快捷方式切换目录,例如切换到桌面目录:

cd ~/桌面

3、pwd 命令:

作用:
  • 显示当前所在的目录路径。
格式:
  • pwd
用法示例:
1)pwd:显示当前所在的目录路径

4、mkdir 命令:

作用:
  • 创建一个新目录。
格式:
  • mkdir [选项] 目录
常用参数:
  • -p:递归创建多级目录,如果父级目录不存在也会创建
用法示例:
1)mkdir ~/桌面/newdir:在 桌面 目录中创建新目录 newdir

2)mkdir -p ~/桌面/dir1/dir2:递归创建多级目录

5、rmdir 命令:

作用:
  • 删除一个空目录。
格式:
  • rmdir 目录
用法示例:
1)rmdir ~/桌面/newdir:删除 桌面 目录中的 newdir 目录

6、touch 命令:

作用:
  • 创建一个新文件或更新现有文件的时间戳。
格式:
  • touch [选项] 文件
常用参数:
  • -c:仅在文件不存在时才创建文件
用法示例:
1)touch /home/user/桌面/file.txt :创建一个名为 file.txt 的新文件

因为这里是在桌面上创建文件可以将路径改成系统提供的快捷方式:touch ~/桌面/file.txt

2)touch -c /home/user/existingfile.txt:仅在文件 existingfile.txt 不存在时才创建文件

7、cat 命令:

作用:
  • 查看文件内容,将文件内容输出到终端中。
格式:
  • cat [选项] 文件
常用参数:
  • -n:显示行号
  • -b 参数用于在显示文件内容时,对非空行进行编号
用法示例:

 假设有一个名为 file.txt 的文件,其中内容如下:

Line 1 

Line 2 

Line 3
1)cat /home/user/桌面/file.txt:查看 /home/user/桌面/ 目录中的 file.txt.txt 文件的内容

2)cat -n /home/user/桌面/file.txt:显示 /home/user/桌面/目录中的 file.txt.txt 文件的内容,并附带行号

3)cat -b /home/user/桌面/file.txt:显示 /home/user/桌面/目录中的 file.txt.txt 文件的内容,并附带行号(仅非空行才有行号)

8、tac 命令:

作用
  • tac 命令用于逆序输出指定文件的内容,按行从最后一行到第一行进行输出。
格式
  • tac [选项] 文件
常用参数
  • -b, --before:在每行前面不加空格。
  • -r, --regex:将模式视为正则表达式。
用法示例:
1)运行 tac file.txt 命令将输出:

9、more 命令

作用
  • more 命令用于分页显示长文本文件的内容。它允许你按需查看文件的一部分内容,并在需要时逐页滚动浏览。
格式
  • more [选项] 文件
常用按键
  • 按下空格键(Space)会向下滚动一页内容
  • 按下回车键(Enter)则会向下滚动一行内容
  • b 键,它被用于往回查看一页内容
  • 按下 q 键可以退出 more 命令,停止显示更多内容
用法示例:
1)more file.txt

10、echo 命令

作用:
  • echo 命令用于在终端中显示文本内容或将文本输出到文件。
格式:
  • echo [选项] [文本] 

 其中,选项可以用来对输出进行一些控制,文本是要显示或输出的内容。

选项: 
  • -e:启用转义字符解析。例如,\n 将被解析为换行符。
  • -n:禁止添加结尾的换行符。默认情况下,echo 输出文本后会自动添加一个换行符 \n
  • -E:禁用转义字符解析。默认情况下,echo 会将部分特殊字符进行转义解析,如 \n 被解析为换行符。
用于重定向输出的特殊符号:
  • >:将命令的输出重定向到一个文件,如果文件不存在,则会创建一个新文件;如果文件已存在,则会先清空文件内容再写入新的输出。

    例如,使用 echo "Hello" > output.txt 将文本 "Hello" 写入到名为 "output.txt" 的文件中。如果该文件已存在,则会被清空。

  • >>:将命令的输出追加到一个文件末尾,如果文件不存在,则会创建一个新文件。

    例如,使用 echo "World" >> output.txt 将文本 "World" 追加到名为 "output.txt" 的文件末尾。如果该文件不存在,则会创建一个新文件并写入内容。

用法示例:
1)显示文本:
echo Hello, World!

输出:Hello, World!

2)将文本输出到文件:
echo Hello, Echo! > output.txt

将文本 Hello, Echo! 写入到文件 output.txt 中(若文件已存在,则会覆盖原有内容)。

3)追加文本到文件:
echo New content >> output.txt

将文本 New content 追加写入到文件 output.txt 的末尾(若文件已存在)。 

4)显示特殊字符:
echo "Hello\tWorld!"

输出:Hello World!,这里的 \t 表示水平制表符。

11、less 命令

作用:
  • 浏览和查看文本文件的内容
基本格式为:
  • less [选项] [文件名]
  • 选项:less 命令支持多种选项,用于控制浏览和搜索等功能。常见的选项包括:

    • -N:显示行号。
    • -i:忽略搜索时的大小写。
    • -F:以智能方式判断是否需要使用 less,适用于非交互式环境。
    • -q:在只有一个文件时,禁止提示 "Press RETURN"。
    • 等等,还有其他选项可供使用。
  • 文件名:指定要浏览的文本文件的名称或路径。

在打开文件后,您可以使用以下命令来浏览和搜索文件:
  • 向下滚动页面:
    • 使用下箭头键、空格键、PageDown 键:向下滚动一页。
    • 使用上箭头键、Backspace 键、PageUp 键:向上滚动一页。
    • 使用向下滚轮(如果可用):滚动几行。
  • 退出 less
    • 按下 q 键:退出 less 并返回到终端。
    • 按下 Ctrl + C:强制退出 less
  • 搜索文本:
    • 在 less 中按下 / 键,然后输入要搜索的关键词,按下回车键进行搜索。
    • 使用 n 键:在文件中查找下一个匹配项。
    • 使用 N 键:在文件中查找上一个匹配项。
  • 跳转到特定行:
    • 按下 g 键:跳转到文件的开头。
    • 按下 G 键:跳转到文件的末尾。
    • 输入行号 + g 键:跳转到指定的行号。
用法示例:
1)less -N output.txt

12、head 命令

作用:
  • head 命令用于显示文件的开头几行内容,默认情况下,它显示文件的前 10 行
基本格式:
  • head [选项] [文件名]
  • 选项:head 命令支持以下一些常用选项:

    • -n NUM 或 --lines=NUM:显示文件的前 NUM 行内容(NUM 是一个整数)。
    • -c NUM 或 --bytes=NUM:显示文件的前 NUM 字节内容(NUM 是一个整数)。
    • -q 或 --quiet:当处理多个文件时,不显示文件名。
    • -v 或 --verbose:当处理多个文件时,显示文件名。
    • 等等,还有其他选项可供使用。
  • 文件名:要显示开头内容的文件名称或路径。

用法示例:
1)head -n 5 file.txt:显示文件 file.txt 的前 5 行内容

 默认情况下,如果没有指定行数,head 命令将显示文件的前 10 行。您可以根据需要调整要显示的行数。

13、tail 命令 

作用:
  • tail 命令用于显示文件的末尾几行内容,默认情况下,它显示文件的最后 10 行
基本格式:
  • tail [选项] [文件名]
  • 选项:tail 命令支持以下一些常用选项:

    • -n NUM 或 --lines=NUM:显示文件的最后 NUM 行内容(NUM 是一个整数)。
    • -c NUM 或 --bytes=NUM:显示文件的最后 NUM 字节内容(NUM 是一个整数)。
    • -f 或 --follow:实时跟踪文件的变化,类似于 tail -f 命令。
    • -q 或 --quiet:当处理多个文件时,不显示文件名。
    • -v 或 --verbose:当处理多个文件时,显示文件名。
    • 等等,还有其他选项可供使用。
  • 文件名:要显示末尾内容的文件名称或路径。

用法示例:
1) tail -n 5 file.txt:示文件 example.txt 的最后 5 行内容

默认情况下,如果没有指定行数,tail 命令将显示文件的最后 10 行。您可以根据需要调整要显示的行数。

2) tail -f ping.txt:实时跟踪文件的变化

这在查看日志文件或监视文件更新时非常有用。

14、grep 命令

作用:
  • grep 是一个强大的文本搜索工具,用于在文件中查找指定的模式或字符串
基本格式:
  • grep [选项] 模式 [文件名]
  • 选项:grep 命令支持许多选项来控制搜索的行为,以下是一些常用的选项:

    • -i:忽略大小写进行匹配。
    • -r 或 --recursive:递归地搜索指定目录及其子目录下的文件。
    • -l:只显示包含匹配模式的文件名,而不显示匹配的具体内容。
    • -n:显示匹配行的行号。
    • -v:显示不包含匹配模式的行。
    • -c:显示匹配模式的行数统计。
    • -E:支持使用扩展正则表达式进行匹配
    • 等等,还有其他选项可供使用。
  • 模式:要搜索的模式或字符串。

  • 文件名:要进行搜索的文件名称或路径。可以指定多个文件,也可以使用通配符进行文件匹配。

用法示例:
1)grep "hello" file.txt:在文件 file.txt 中搜索包含字符串 "hello" 的行

2)grep -i "hello" file.txt:忽略大小写进行匹配

3)grep -E [正则] file.txt:使用正则表达式进行匹配
  • 匹配 h 或 t 开头的字符
grep -E '^h|^t' ./file.txt    

  • 匹配包含特定单词的行:
grep -E 'apple' file.txt

上述命令会匹配并显示 file.txt 文件中所有包含 "apple" 的行。 

  • 忽略大小写进行匹配:
grep -Ei 'hello' file.txt

加上 -i 选项可以忽略大小写,使得匹配不区分大小写。

 

  • 匹配特定模式的行:
grep -E '[0-9]{3}-[0-9]{4}' file.txt

上述命令会匹配并显示 file.txt 文件中符合 "XXX-XXXX" 格式的行,其中 "X" 表示数字。

  • 反向匹配:
grep -Ev 'apple' file.txt

  • 使用正则表达式的元字符:
grep -E '\b[A-Za-z]+\b' file.txt

不写了,正则表达式有很多种组合,需要用到的时候直接上网查找即可。

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

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

相关文章

ARM-流水灯

.text .global _start _start: 1、设置GPIOE寄存器的时钟使能 RCC_MP_AHB$ENSETR[4]->1 0x50000a28LDR R0,0X50000A28 LDR R1,[R0] 从R0起始地址的4字节数据取出放在R1 ORR R1,R1,#(0X3<<4) 第4位设置为1 STR R1,[R0] 写回2、设置PE10、PE8、PF10管脚为输出模式 …

Observability:使用 OpenTelemetry 对 Node.js 应用程序进行自动检测

作者&#xff1a;Bahubali Shetti DevOps 和 SRE 团队正在改变软件开发的流程。 DevOps 工程师专注于高效的软件应用程序和服务交付&#xff0c;而 SRE 团队是确保可靠性、可扩展性和性能的关键。 这些团队必须依赖全栈可观察性解决方案&#xff0c;使他们能够管理和监控系统&a…

学习记忆——数学篇——案例——算术——记忆100内质数

文章目录 质数表歌诀记忆法100以内的质数歌谣质数口决一百以内质数口诀100以内素数歌 规律记忆法100以内6的倍数前、后位置上的两个数&#xff0c;只要不是5或7的倍数&#xff0c;就一定是质数个数没有用该数除以包括7在内的质数 分类记忆法数字编码法谐音记忆法 100以内的质数…

Matlab随机变量的数字特征

目录 1、均值&#xff08;数学期望&#xff09; 2、中位数 3、几何平均数 4、调和平均数 5、数据排序 6、众数 7、极差&#xff08;最大值和最小值之差&#xff09; 8、方差与均方差&#xff08;标准差&#xff09; 9、变异系数 10、常见分布的期望与方差的计算 11、协方…

ElasticSearch 学习8 :ik分词器的扩展,及java调用ik分词器的analyzer

1.前言&#xff1a; 上篇已经说过ik的集成&#xff0c;这篇说下ik的实际使用 2.2、IK分词器测试 IK提供了两个分词算法ik_smart 和 ik_max_word ik_smart&#xff1a;为最少切分ik_max_word&#xff1a;为最细粒度划分。 2.2.1、最小切分示例 #分词器测试ik_smart POST _…

互联网项目有哪些值得做的

互联网已经融入了我们生活的方方面面&#xff0c;从电商巨头到科技创新&#xff0c;互联网带来的变革和便利无处不在。而在这个信息广泛的时代&#xff0c;越来越多的人开始思考如何利用互联网去创造价值。现如今&#xff0c;互联网项目的形式多种多样&#xff0c;有些让我们的…

剑指offer——JZ79 判断是不是平衡二叉树 解题思路与具体代码【C++】

一、题目描述与要求 判断是不是平衡二叉树_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;…

【Java 进阶篇】深入了解HTML表单标签

HTML&#xff08;Hypertext Markup Language&#xff09;表单标签是网页开发中的重要组成部分&#xff0c;用于创建各种交互式元素&#xff0c;允许用户输入、提交和处理数据。本文将深入探讨HTML表单标签&#xff0c;包括如何创建表单、各种输入元素、表单属性以及一些最佳实践…

C++学习day2

作业&#xff1a; 1> 思维导图 2>自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和…

jenkins工具系列 —— 插件 使用Changelog获取commit记录

文章目录 安装changelog插件重启jenkins配置 ChangelogExecute shell 使用 changelog邮件中html格式也可以使用构建测试&#xff08;查看构建项 -> 控制台输出&#xff09; 安装changelog插件 插件文件可通过 V 获取 点击 左侧的 Manage Jenkins —> Plugins ——> …

Docker安装——Ubuntu (Jammy 22.04)

一、为什么要用 Ubuntu&#xff1f;(centos和ubuntu有什么区别&#xff09; 使用lsb_release命令&#xff1a;lsb_release -a &#xff0c;即可查看ubantu的版本&#xff0c;但是为什么要使用ubantu 呢&#xff1f; 区别&#xff1a;1、centos基于EHEL开发&#xff0c;而ubunt…

2023年10月8日

三盏灯流水 .text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[5:4]->1 0x50000a28 LDR R0,0X50000A28 LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1 ORR R1,R1,#(0x3<<4) 第4位设置为1 STR R1,[R0] 写回2.设置PE10管脚为…

SketchyCOCO数据集进行前景图像、背景图像和全景图像的分类

SketchyCOCO数据集进行前景图像、背景图像和全景图像的分类 import os import shutildef CopyFile(src, dst, filename):if not os.path.exists(dst):os.makedirs(dst)print(create dir: dst)try:shutil.copy(src\\filename, dst\\filename)except Exception as e:print(cop…

经典算法-----农夫过河问题(深度优先搜索)

目录 前言 农夫过河问题 1.问题描述 2.解决思路 位置编码 获取位置 判断是否安全 深度优先遍历&#xff08;核心算法&#xff09; 3.完整代码 前言 今天我们来解决一个有意思的问题&#xff0c;也就是农夫过河问题&#xff0c;可能这个问题我们小时候上学就听说过类似的…

分布式缓存-Redis集群

单点Redis的问题 数据丢失问题 Redis是内存存储&#xff0c;服务重启可能会丢失数据 并发能力问题 单节点Redis并发能力虽然不错&#xff0c;但也无法满足如618这样的高并发场景 故障恢复问题 如果Redis宕机&#xff0c;则服务不可用&#xff0c;需要一种自动的故障恢复手段…

机器学习|深度学习|重磅推出---全网最全Numpy简明教程(一)

本教程面向初学者的Numpy简明教程&#xff0c;学好Numpy才能在深度学习、机器学习、AI等领域进军&#xff0c;如果感觉此文不错&#xff0c;欢迎和博主交流探讨 文章目录 1、Numpy介绍2、创建ndarray数组2.1、np.array2.2、np.ones2.3、np.zeros2.4、np.full2.5、np.eye2.6、np…

ChatGPT私有数据结合有什么效果?它难吗?

ChatGPT的出现可谓是惊艳了全世界&#xff0c;ChatGPT的问答能力通过了图灵测试&#xff0c;使其回答问题的方式与人类几乎无法区分。大家不甘于只在官方的对话页面问答&#xff0c;想利用 GPT 模型的自然语言能力结合私有数据开拓更多的应用场景。 | ChatGPT私有数据结合特点 …

ARM:使用汇编完成三个灯流水亮灭

1.汇编源代码 .text .global _start _start: 设置GPIOF寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<5)STR R1,[R0]设置GPIOE寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设…

day24-JS进阶(构造函数,new实例化,原型对象,对象原型,原型继承,原型链)

目录 构造函数 深入对象 创建对象三种方式 构造函数 new实例化执行过程(important!) 实例成员&静态成员 实例对象&实例成员 静态成员 内置构造函数 基本包装类型 Object Object.keys(obj)返回所有键组成的字符串数组 Object.values(obj)返回所有值组成的字…

C# 替换字符串最后一个逗号为分号

使用场景&#xff0c;sql语句的insert into table(c1,c2,c3) values (v1,v2,v3),(v1,v2,v3),(v1,v2,v3), 为了提高执行效率&#xff0c;在一个insert into中执行时&#xff0c;在循环中拼接语句&#xff0c;最后一个逗号需要替换为分号才能执行。 public static string Replace…