news 2026/4/23 21:36:49

5、Unix基础操作与效率提升指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5、Unix基础操作与效率提升指南

Unix基础操作与效率提升指南

在Unix系统中,有许多实用的命令和操作技巧可以帮助我们更高效地完成工作。下面将为大家介绍一些Unix的基础操作和提升效率的方法。

1. 时间戳与命令行选项

在Unix系统中,时间戳是从1970年1月1日开始计算的秒数。例如,使用date -r命令可以根据时间戳显示对应的日期和时间:

$ date -r 123456789 Thu Nov 29 13:33:09 PST 1973

这个例子展示了一些命令行选项可以单独使用,而有些则需要提供数据。对于如何了解某个命令的可用选项,后续会详细介绍。

我们可以尝试使用ls命令的不同选项来列出主目录和根目录的内容。通过组合不同的选项,观察输出的变化。

2. Man手册页

Unix系统中的每个命令都有对应的“手册页”(Man pages),它详细描述了命令的使用方法和功能。我们可以使用man命令来查看这些手册页。

例如,查看whoami命令的手册页:

$ man whoami

执行该命令后,Unix会将手册内容发送到一个文本查看程序(通常是less),我们可以通过基本的控制键来滚动文档和搜索特定文本。以下是whoami手册页的部分内容:

WHOAMI(1) BSD General Commands Manual WHOAMI(1) NAME whoami – display effective user id SYNOPSIS whoami DESCRIPTION The whoami utility has been obsoleted by the id(1) utility, and is equivalent to ”id -un”. The command ”id -p” is suggested for normal interactive use. The whoami utility displays your effective user ID as a name. EXIT STATUS The whoami utility exits 0 on success, and >0 if an error occurs. SEE ALSO id(1) BSD June 6, 1993 BSD (END)

Unix的手册页采用标准布局,通常包括“名称”、“概要”和“描述”等部分。whoami命令的手册页很短,因为它的功能很简单,就是显示当前用户的有效ID。

在使用less查看手册页时,有一些常用的键盘快捷键:
| 操作 | 快捷键 |
| ---- | ---- |
| 向下滚动一页 | b |
| 向上滚动一页 | j |
| 向下滚动一行 | k |
| 向上滚动一行 | 无(原文未提及合适对应) |
| 退出less程序 | q |

再来看ls命令的手册页:

$ man ls

手册页的“概要”部分显示了很多命令行选项:

LS(1) BSD General Commands Manual LS(1) NAME ls – list directory contents SYNOPSIS ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file …]

这里方括号表示可选内容,即38个命令行选项和指定文件或目录名都是可选的。当我们不确定如何使用某个命令时,首先应该查看它的手册页。

此外,man命令还可以用于搜索所有Unix命令的文档。使用-k选项加上关键字,就可以查找包含该关键字的命令。例如,查找与文件压缩相关的命令:

$ man -k compress compress(1), uncompress(1) - compress and expand data gzexe(1) – compress executable files in place gzip(1), gunzip(1), zcat(1) – compress or expand files zcmp(1), zdiff(1) – compare compressed files zip(1) – package and compress (archive) files zlib(3) – compression/decompression library znew(1) – recompress .Z files to .gz files zopen(3) – compressed stream open function

输出结果列出了包含关键字的命令及其简要描述。需要注意的是,手册页搜索可能会返回大量结果,如果输出超过一页,需要使用手册页查看程序的命令退出回到命令行提示符(按q退出)。

下面是查看手册页和搜索手册页的流程图:

graph TD; A[开始] --> B[使用man命令查看指定命令手册页]; B --> C[使用less程序查看手册内容]; C --> D{是否需要搜索手册页}; D -- 是 --> E[使用man -k关键字搜索]; D -- 否 --> F[结束]; E --> G[查看包含关键字的命令列表]; G --> F;
3. 目录操作

在开始使用Unix进行实际操作之前,我们需要选择一个合适的地方来存储文件和目录。建议在主目录下创建一个单独的目录,后续可以在其中添加更多子目录。

3.1 目录命名

在图形文件管理器中,我们习惯在文件名或文件夹名中使用空格。在Unix系统中也可以这样做,但会带来一些额外的复杂性。为了避免问题,建议在创建文件或目录时使用下划线代替空格。例如,将“My important text file.txt”改为“My_important_text_file.txt”。

3.2 创建目录

使用mkdir命令可以创建新目录。以下是创建目录的示例:

$ cd $ pwd /Users/nigel $ mkdir Unix_and_Perl $ ls -lp drwx------+ 5 nigel staff 170 Feb 5 12:48 Desktop/ drwx------+ 4 nigel staff 136 Oct 19 2009 Documents/ drwx------+ 4 nigel staff 136 Oct 19 2009 Downloads/ drwx------+ 27 nigel staff 918 Jan 14 13:43 Library/ drwx------+ 3 nigel staff 102 Oct 19 2009 Movies/ drwx------+ 3 nigel staff 102 Oct 19 2009 Music/ drwx------+ 4 nigel staff 136 Oct 19 2009 Pictures/ drwxr-xr-x+ 6 nigel staff 204 Jan 14 13:44 Public/ drwxr-xr-x+ 5 nigel staff 170 Oct 19 2009 Sites/ drwxr-xr-x 2 nigel staff 68 Jul 8 14:10 Unix_and_Perl/

首先使用cd命令回到主目录,使用pwd命令确认当前位置,然后使用mkdir命令创建“Unix_and_Perl”目录,最后使用ls -lp命令列出目录的详细信息,并在目录名后添加斜杠。

还可以在现有目录中创建子目录,使用-p选项可以一次性创建嵌套目录:

$ mkdir Unix_and_Perl/Code $ mkdir -p Unix_and_Perl/Temp/Inside_temp $ cd Unix_and_Perl

如果不使用-p选项创建嵌套目录,会出现错误,如:

mkdir: Temp: No such file or directory

“Code”目录可用于存储后续编写的Unix或Perl脚本,“Temp”目录可用于尝试各种Unix命令。

3.3 删除目录

使用rmdir命令可以删除空目录。例如,删除“Inside_temp”目录:

$ cd Temp $ ls Inside_temp $ rmdir Inside_temp

也可以不进入“Temp”目录,使用相对路径或绝对路径删除目录:

$ rmdir Temp/Inside_temp $ rmdir /Users/nigel/Unix_and_Perl/Temp/Inside_temp

需要注意的是,rmdir命令只能删除空目录,且不能在要删除的目录内部执行删除操作。

下面是目录操作的流程图:

graph TD; A[开始] --> B[选择存储目录的位置]; B --> C[使用mkdir命令创建目录]; C --> D{是否需要创建嵌套目录}; D -- 是 --> E[使用mkdir -p命令创建嵌套目录]; D -- 否 --> F[继续操作]; F --> G{是否需要删除目录}; G -- 是 --> H[使用rmdir命令删除空目录]; G -- 否 --> I[结束]; E --> G; H --> I;

通过以上操作,我们可以更好地管理Unix系统中的目录。在后续的操作中,还有一些提升效率的技巧值得我们学习。

4. 节省按键次数的重要性及方法

在与Unix系统交互时,大部分操作通过键盘完成。减少按键次数有两个重要好处:一是提高工作效率,让我们有更多时间运行命令和获取结果,而不是花费大量时间输入命令名;二是减少打字量,降低患上重复性劳损(RSI)的风险。除了命令名本身较短外,Unix还提供了一些减轻打字负担的方法。

4.1 命令行补全

命令行补全是一项重要的省时技巧,它可以自动补全文件、目录和程序的名称。当我们输入足够的字母能唯一确定某个名称后,按下Tab键,Unix会自动完成剩余部分。

以下是一些命令行补全的示例:
-补全命令名

$ tou<tab> $ touch

在这个例子中,输入“tou”后按Tab键,自动补全为“touch”命令。如果没有其他以“tou”开头的标准Unix命令,就会完成补全。若补全失败,可能是系统中有非标准的以“tou”开头的命令,或者当前目录下有以“tou”开头的文件或目录。当没有可能的补全时,可能会听到提示音。
-补全目录名

$ cd U<tab> $ cd Unix_and_Perl/

这里只输入了“U”和Tab键,就完成了“Unix_and_Perl”目录名的输入,相比输入完整的16个字符,只需要输入5个字符,大大节省了时间。如果补全不成功,可能是当前目录下还有其他以“U”开头的文件或目录,可以逐个多输入一个字母,每次输入后按Tab键尝试补全。
-显示所有可能的补全:按两次Tab键可以显示所有可能的补全列表。例如:

$ ls<tab><tab> ls lsbom lsdistcc lsm lsof lsvfs

在输入“ls”后按两次Tab键,显示了所有以“ls”开头的Unix命令。

命令行补全不仅能节省时间,还能减少输入错误。例如,不使用补全输入长路径时容易出错:

$ ls -l /home/nigel/Work/Project_x/important_file.txt

如果输入错误,如将“nigel”写成“ngiel”,Unix会提示文件或目录不存在,但不会明确指出错误位置。而使用命令行补全,只能输入能补全的目录名,从而避免输入错误。

下面是命令行补全的操作步骤列表:
1. 输入部分文件、目录或程序名称。
2. 按下Tab键尝试补全。
3. 如果补全不成功,多输入一个字母后再次按Tab键。
4. 若想查看所有可能的补全,按两次Tab键。

4.2 命令历史

Unix会存储每次会话中输入的所有命令列表,我们可以使用history命令查看命令历史:

$ history 1 ls 2 cd /home/nigel/Work/Project_x 3 ls -l 4 ls -l /usr 5 ls /bin 6 pwd

要重新执行历史列表中的某个命令,在感叹号后输入该命令的编号即可。例如,重新执行第二条命令:

$ !2 cd /home/nigel/Work/Project_x

Unix会先打印出完整的命令,然后重新执行该命令。

4.3 命令历史的键盘导航

通常我们希望重复最近执行的命令,使用上下箭头键可以更方便地访问命令历史。按一次上箭头键可以访问上一条命令,按两次可以访问倒数第二条命令,依此类推。按向下箭头键可以向前浏览历史记录。

4.4 命令行的快速键盘导航

当使用上箭头键调出上一条命令时,光标会位于命令的末尾。如果想修改命令的某个部分,例如在ls /home/nigel/Work/命令中添加-l选项,可以使用以下快捷键:
| 操作 | 快捷键 |
| ---- | ---- |
| 移动到行首 | Ctrl + a |
| 移动到行尾 | Ctrl + e |
| 删除命令行上一个单词 | Ctrl + w |
| 清屏 | Ctrl + l |

下面是节省按键次数相关操作的流程图:

graph TD; A[输入部分内容] --> B{是否按下Tab键}; B -- 是 --> C{是否补全成功}; C -- 是 --> D[完成输入]; C -- 否 --> E[多输入一个字符再按Tab]; E --> C; B -- 否 --> F{是否使用上下箭头访问历史命令}; F -- 是 --> G[选择历史命令]; G --> H{是否需要修改命令}; H -- 是 --> I[使用快捷键修改]; H -- 否 --> J[执行命令]; F -- 否 --> K[手动输入命令]; K --> J; I --> J; D --> J;

总结

通过本文的介绍,我们了解了Unix系统中的时间戳与命令行选项、Man手册页的使用、目录操作以及节省按键次数的方法。掌握这些基础操作和技巧,能够帮助我们更高效地使用Unix系统,提高工作效率,减少输入错误,同时降低患上重复性劳损的风险。在实际操作中,建议大家多练习这些技巧,养成良好的使用习惯。例如,在输入Unix命令时始终使用命令行补全,利用命令历史和快捷键来提高操作速度。希望这些内容对大家在Unix系统的使用中有所帮助。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:20:05

华硕路由器网络净化方案:AdGuardHome 深度部署实战

在数字时代&#xff0c;家庭网络安全和隐私保护变得愈发重要。Asuswrt-Merlin-AdGuardHome-Installer 为华硕路由器用户提供了一个企业级的网络防护解决方案&#xff0c;通过简单的安装步骤即可实现全网广告拦截、恶意网站防护和隐私保护。 【免费下载链接】Asuswrt-Merlin-AdG…

作者头像 李华
网站建设 2026/4/22 0:14:00

B站视频下载神器:一键保存4K高清内容全攻略

B站视频下载神器&#xff1a;一键保存4K高清内容全攻略 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为B站视频无法离线观看而烦…

作者头像 李华
网站建设 2026/4/23 17:35:25

3D渲染中的w分量:透视除法的秘密

w 分量和“透视除法&#xff08;除以 w&#xff09;”干的事&#xff0c;其实就一句话&#xff1a; 用一种“看起来是矩阵乘法&#xff0c;实际上偷偷做了除法”的方式&#xff0c;把“近大远小”的透视效果塞进渲染流程里。听起来很玄对吧&#xff1f; 什么齐次坐标、四维向量…

作者头像 李华
网站建设 2026/4/20 22:23:52

3D法线之谜:正负方向谁说了算?

摘要 在3D图形中,墙面的法线方向(如(0,0,1)或(0,0,-1))取决于观察视角。法线是垂直于平面的方向向量,其正反方向均数学成立,但实际选择需基于渲染约定: 观察视角决定法线方向:从墙前看时法线朝外(如(0,0,1)),绕到墙后则变为相反方向(如(0,0,-1))。 关键影响:法线…

作者头像 李华
网站建设 2026/4/20 20:22:32

跨平台直播聚合神器:Dart Simple Live完整使用指南

跨平台直播聚合神器&#xff1a;Dart Simple Live完整使用指南 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 还在为频繁切换不同直播平台而烦恼吗&#xff1f;每次想要观看多个平台的直播内…

作者头像 李华
网站建设 2026/4/17 2:09:54

网盘直链下载助手:六大云盘高速下载的终极解决方案

网盘直链下载助手&#xff1a;六大云盘高速下载的终极解决方案 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 还在为网盘下载速度缓慢而烦恼吗&#xff1f;网盘直链下载助手是一款免费开源的…

作者头像 李华