当前位置:首页 > 技术 > 正文内容

Linux 常见命令行导航与文本文件处理详解

访客 技术 2026年8月6日 1

工作目录查询

使用 pwd 指令能够获取当前终端会话所在的具体路径。该功能常用于确认操作上下文,避免误入错误目录。

[admin@linux-server ~]$ pwd
/home/admin

目录跳转指令

cd 是用于变更活动目录的核心命令。以下是几种常用的模式:

  • 回退上一步cd - 会立即跳回到上一次操作的目录位置。
  • 上级目录cd .. 进入父级文件夹。
  • 用户主目录cd ~ 或单独输入 cd 均直接返回当前用户的家目录。
  • 切换至他人目录cd ~username 可跳转到指定用户的主目录空间。

文件列表详情

借助 ls 指令可以枚举当前目录下的对象信息。通过组合参数可以获得更丰富的数据:

  • -a:列出所有条目,包含以 . 开头的隐藏项。
  • -l:展示详细列表,包括权限、所有者、大小及修改时间。
  • -d:仅显示目录本身的元数据,而非目录内部的内容。

示例代码展示了如何查看某关键配置目录的属性:

[admin@linux-server ~]$ ls -ld /etc/resolv.conf
-rw-r--r-- 1 root root 86 Oct 25 10:00 /etc/resolv.conf

内容预览工具

针对不同类型的文本体量,有不同的查看策略:

小型文件查看 (cat)

适合阅读篇幅较短的资料。若开启 -n 标志,每行输出前将增加行号标记。

[admin@linux-server ~]$ cat -n /etc/motd
     1  Welcome to Ubuntu Server LTS
     2  System uptime is available via uptime command.

分页浏览 (more)

适用于较长文档的阅读控制:

  • 空格键:向前翻动一屏。
  • 回车键:默认滚动单行(可通过环境变量调整行数)。
  • =:打印光标所在的行号。
  • q:立即退出查看器。

首尾截取 (head/tail)

这两个命令分别提取文件的头部或尾部数据:

  • head:取前 N 行。head -n 5 filename
  • tail:取后 N 行。最强大的功能在于 -f 参数,可模拟实时日志监控。

实时跟踪认证日志的示例:

[admin@linux-server ~]$ tail -f /var/log/auth.log
Oct 25 14:20:01 server sshd[1234]: Accepted password for admin from 192.168.1.1
Oct 25 14:21:15 server systemd[1]: Started Session 500 of user admin.

文本转换与统计

tr 工具主要用于字符集转换。它能管道接收标准输入并进行符号映射:

[admin@linux-server ~]$ echo "debug_mode=true" | tr a-z A-Z
DEBUG_MODE=TRUE

wc 则负责字数统计,可精确计算行数、单词数和字节数。

[admin@linux-server ~]$ wc -l /etc/shadow
24 /etc/shadow

元数据与列处理

stat 提供比 ls 更底层的文件系统状态信息,涵盖 inode 编号、存储块大小及各项时间戳(访问、修改、变更):

[admin@linux-server ~]$ stat /opt/app/config.yaml
File: '/opt/app/config.yaml'
Size: 1248        Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 44125       Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   admin)   Gid: ( 1000/   admin)

在处理结构化数据(如分隔符分割的文件)时,cut 极为高效。通过 -d 设定分隔符,-f 选定字段:

[admin@linux-server ~]$ head -1 /etc/hosts
127.0.0.1	localhost
[admin@linux-server ~]$ cut -f 1 -d $'\t' /etc/hosts
127.0.0.1
::1	localhost

差异比对

diff 用于检测两个文本内容的异同。常用选项如下:

  • --brief:仅提示是否存在差异,不展示具体差别。
  • -c:输出统一格式的差异对比,标注上下文行。

简易比对场景演示:

[admin@linux-server test]# diff --brief v1.conf v2.conf
Files v1.conf and v2.conf differ

[admin@linux-server test]# diff -c v1.conf v2.conf
*** v1.conf	2023-01-01 12:00:00.000000000 +0800
--- v2.conf	2023-01-02 12:00:00.000000000 +0800
***************
*** 1,3 ****
setting=A
option=false
! version=1.0
  status=ok
--- 1,3 ----
 setting=A
 option=false
! version=1.1
  status=ok

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。