没有合适的资源?快使用搜索试试~ 我知道了~
首页夺回计算机主权:Linux命令行的力量与自由
夺回计算机主权:Linux命令行的力量与自由
需积分: 10 1 下载量 13 浏览量
更新于2024-07-19
收藏 7.5MB PDF 举报
《TheLinuxCommandLine中文版》是一本深入解析Linux命令行操作的教程,作者并未局限于讲述Linux内核的历史或GNU项目的起源,而是着重探讨了为何在当今个人计算机普及的时代,掌握命令行工具的重要性。在20世纪70年代末,随着微处理器的出现,普通人开始接触计算机,但那时的计算机权力高度集中在大型企业与政府手中,用户受限于有限的功能。 作者强调了Linux在争取个人计算机管理权中的角色,特别是其提倡的“自由”理念,即用户应有权了解并控制自己的计算机,这是通过理解命令行实现的。通过命令行,用户可以深入了解计算机的工作机制,而非仅仅依赖图形用户界面(GUI)。电影中的黑客场景展示了命令行在高级操作中的高效性,它能够让用户直接、高效地与计算机交互,就像人类通过文字进行沟通一样。 尽管很多现代用户可能仅熟悉GUI,但命令行界面其实是一种强大的工具,它提供了深度的系统控制和自动化能力,适合进行复杂任务和脚本编写。在学习和使用命令行时,读者不仅能提升技术技能,还能理解计算机底层的工作原理,从而更好地管理和定制自己的计算环境。 书中第一章,作者将以生动的故事引导读者进入Linux命令行的世界,揭示这个看似陌生但实际上充满潜力的领域。无论是初次接触Linux的新手,还是希望深化技能的老手,这本书都将是理解并掌握Linux命令行操作的重要指南,帮助用户夺回并享受计算机管理的自主权。
资源详情
资源推荐
1 文件的硬链接数目。参考随后讨论的关于链接的内容。
root 文件属主的用户名。
root 文件所属用户组的名字。
32059 以字节数表示的文件大小。
2007-04-
03 11:05
上次修改文件的时间和日期。
oo-cd-
cover.odf
文件名。
字段字段 含义含义
确定文件类型确定文件类型
随着探究操作系统的进行,知道文件包含的内容是很有用的。我们将用 file 命令来确定文件的类型。我们
之前讨论过, 在 Linux 系统中,并不要求文件名来反映文件的内容。然而,一个类似 “picture.jpg” 的
文件名,我们会期望它包含 JPEG 压缩图像,但 Linux 却不这样要求它。可以这样调用 file 命令:
file filename
当调用 file 命令后,file 命令会打印出文件内容的简单描述。例如:
[me@linuxbox ~]$ file picture.jpg
picture.jpg: JPEG image data, JFIF standard 1.01
有许多种类型的文件。事实上,在类 Unix 操作系统中比如说 Linux 中,有个普遍的观念就是“一切皆文
件”。 随着课程的进行,我们将会明白这句话是多么的正确。
虽然系统中许多文件格式是熟悉的,例如 MP3和 JPEG 文件,但也有一些文件格式比较含蓄,极少数文件
相当陌生。
用 less 浏览文件内容用 less 浏览文件内容
less 命令是一个用来浏览文本文件的程序。纵观 Linux 系统,有许多人类可读的文本文件。less 程序为我
们检查文本文件 提供了方便。
什么是“文本”
在计算机中,有许多方法可以表达信息。所有的方法都涉及到,在信息与一些数字之间确立一种关系,
而这些数字可以 用来代表信息。毕竟,计算机只能理解数字,这样所有的数据都被转换成数值来表示。
有些数值表达法非常复杂(例如压缩的视频文件),而其它的就相当简单。最早也是最简单的一种表达
法,叫做 ASCII 文本。ASCII(发音是”
As-Key”)是美国信息交换标准码的简称。这是一个简单的编
码方法,它首先 被用在电传打字机上,用来实现键盘字符到数字的映射。
The Linux Command Line 中文版
- 15 -本文档使用 看云 构建
更多资源请访问
鸿鹄论坛:http://bbs.hh010.com/
文本是简单的字符与数字之间的一对一映射。它非常紧凑。五十个字符的文本翻译成五十个字节的数
据。文本只是包含 简单的字符到数字的映射,理解这点很重要。它和一些文字处理器文档不一样,比如
说由微软和 OpenOffice.org 文档 编辑器创建的文件。这些文件,和简单的 ASCII 文件形成鲜明对
比,它们包含许多非文本元素,来描述它的结构和格式。 普通的 ASCII 文件,只包含字符本身,和一
些基本的控制符,像制表符,回车符及换行符。纵观 Linux 系统,许多文件 以文本格式存储,也有许
多 Linux 工具来处理文本文件。甚至 Windows 也承认这种文件格式的重要性。著名的 NOTEPAD.EXE
程序就是一个 ASCII 文本文件编辑器。
为什么我们要查看文本文件呢? 因为许多包含系统设置的文件(叫做配置文件),是以文本格式存储的,
阅读它们 可以更深入的了解系统是如何工作的。另外,许多系统所用到的实际程序(叫做脚本)也是以这
种格式存储的。 在随后的章节里,我们将要学习怎样编辑文本文件,为的是修改系统设置,还要学习编写
自己的脚本文件,但现在我们只是看看它们的内容而已。
less 命令是这样使用的:
less filename
一旦运行起来,less 程序允许你前后滚动文件。例如,要查看一个定义了系统中全部用户身份的文件,输
入以下命令:
[me@linuxbox ~]$ less /etc/passwd
一旦 less 程序运行起来,我们就能浏览文件内容了。如果文件内容多于一页,那么我们可以上下滚动文
件。按下“q”键, 退出 less 程序。
下表列出了 less 程序最常使用的键盘命令。
表 4-3: less 命令
命令命令 行为行为
Page UP or b 向上翻滚一页
Page Down or space 向下翻滚一页
UP Arrow 向上翻滚一行
Down Arrow 向下翻滚一行
G 移动到最后一行
1G or g 移动到开头一行
/charaters 向前查找指定的字符串
n 向前查找下一个出现的字符串,这个字符串是之前所指定查找的
The Linux Command Line 中文版
- 16 -本文档使用 看云 构建
h 显示帮助屏幕
q 退出 less 程序
命令命令 行为行为
less 就是 more(禅语:色即是空)less 就是 more(禅语:色即是空)
less 程序是早期 Unix 程序 more 的改进版。“less” 这个名字,对习语 “less is more” 开了个玩笑,
这个习语是现代主义建筑师和设计者的座右铭。
less 属于”页面调度器”程序类,这些程序允许通过页方式,在一页中轻松地浏览长长的文本文档。然而
more 程序只能向前分页浏览,而 less 程序允许前后分页浏览,它还有很多其它的特性。
旅行指南旅行指南
Linux 系统中,文件系统布局与类 Unix 系统的文件布局很相似。实际上,一个已经发布的标准, 叫做
Linux 文件系统层次标准,详细说明了这种设计模式。不是所有Linux发行版都根据这个标准,但 大多数都
是。
下一步,我们将在文件系统中游玩,来了解 Linux 系统的工作原理。这会给你一个温习跳转命令的机会。
我们会发现很多有趣的文件都是普通的可读文本。将开始旅行,做做以下练习:
1. cd 到给定目录
2. 列出目录内容 ls -l
3. 如果看到一个有趣的文件,用 file 命令确定文件内容
4. 如果文件看起来像文本,试着用 less 命令浏览它
记得复制和粘贴技巧!如果你正在使用鼠标,双击文件名,来复制它,然后按下鼠标中键,粘贴文件名到
命令行中。
在系统中游玩时,不要害怕粘花惹草。普通用户是很难把东西弄乱的。那是系统管理员的工作! 如果一个
命令抱怨一些事情,不要管它,尽管去玩别的东西。花一些时间四处走走。 系统是我们自己的,尽情地探
究吧。记住在 Linux 中,没有秘密存在! 表4-4仅仅列出了一些我们可以浏览的目录。闲暇时试试看!
表 4-4: Linux 系统中的目录
目录目录 评论评论
/ 根目录,万物起源。
/bin 包含系统启动和运行所必须的二进制程序。
/boot
包含 Lin
ux 内核,最初的 RMA 磁盘映像(系统启动时,由驱动程序所需),和
启动加载程序。有趣的文件: /boot/grub/grub.conf or menu.lst, 被用来配置
启动加载程序。 /boot/vmlinuz,Linux 内核。
The Linux Command Line 中文版
- 17 -本文档使用 看云 构建
更多资源请访问
鸿鹄论坛:http://bbs.hh010.com/
/dev
这是一个包含设备结点的特殊目录。“一切都是文件”,也使用于设备。 在这个目
录里,内核维护着它支持的设备。
/etc
这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启
动时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读的文本文
件。有意思的文件:虽然/etc 目录中的任何文件都有趣,但这里只列出了一些我一
直喜欢的文件: /etc/crontab, 定义自动运行的任务。 /etc/fstab,包含存储设
备的列表,以及与他们相关的挂载点。/etc/passwd,包含用户帐号列表。
/home
在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通只能
在他们自己的目录下创建文件。这个限制保护系统免受错误的用户活动破坏。
/lib 包含核心系统程序所需的库文件。这些文件与 Windows 中的动态链接库相似。
/lost+found
每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个
目录。当部分恢复一个损坏的文件系统时,会用到这个目录。除非文件系统 真正的
损坏了,那么这个目录会是个空目录。
/media
在现在的 Linux 系统中,/media 目录会包含可移除媒体设备的挂载点, 例如
USB 驱动器,CD-ROMs 等等。这些设备连接到计算机之后,会自动地挂载到这个
目录结点下。
/mnt 在早些的 Linux 系统中,/mnt 目录包含可移除设备的挂载点。
/opt
这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中
的商业软件产品。
/proc
这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系
统。 反而,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核
的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
/root root 帐户的家目录。
/sbin
这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级
用户保留。
/tmp
这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置,导致
系统每次 重新启动时,都会清空这个目录。
/usr
在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程
序和文件。
/usr/bin /usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。
/usr/lib 包含由/usr/bin 目录中的程序所用的共享库。
目录目录 评论评论
The Linux Command Line 中文版
- 18 -本文档使用 看云 构建
/usr/local
这个/usr/local 目录,是非系统发行版自带,却打算让系统使用的程序的安装目
录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系
统中,会存在这个目录, 但却是空目录,直到系统管理员放些东西到它里面。
/usr/sbin 包含许多系统管理程序。
/usr/share
/usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像
默认的配置文件,图标,桌面背景,音频文件等等。
/usr/share/doc
大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们
可以找到按照软件包分类的文档。
/var
除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是
说, 它们的内容不会改变。/var 目录是可能需要改动的文件存储的地方。各种数
据库,假脱机文件,
用户邮件等等,都驻扎在这里。
/var/log
这个/var/log 目录包含日志文件,各种系统活动的记录。这些文件非常重要,并且
应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系
统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。
目录目录 评论评论
符号链接符号链接
在我们到处查看时,我们可能会看到一个目录,列出像这样的一条信息:
lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so
注意看,为何这条信息第一个字符是“l”,并且有两个文件名呢? 这是一个特殊文件,叫做符号链接(也
称为软链接或者 symlink )。 在大多数“类 Unix” 系统中, 有可能一个文件被多个文件名所指向。虽然
这种特性的意义并不明显,但它真地很有用。
描绘一下这样的情景:一个程序要求使用某个包含在名为“foo”文件中的共享资源,但是“foo”经常改
变版本号。 这样,在文件名中包含版本号,会是一个好主意,因此管理员或者其它相关方,会知道安装了
哪个“foo”版本。 这又会导致一个问题。如果我们更改了共享资源的名字,那么我们必须跟踪每个可能
使用了 这个共享资源的程序,当每次这个资源的新版本被安装后,都要让使用了它的程序去寻找新的资源
名。 这听起来很没趣。
这就是符号链接存在至今的原因。比方说,我们安装了文件 “foo” 的 2.6 版本,它的 文件名是 “foo-
2.6”,然后创建了叫做 “foo” 的符号链接,这个符号链接指向 “foo-2.6”。 这意味着,当一个程序
打开文件 “foo” 时,它实际上是打开文件 “foo-2.6”。 现在,每个人都很高兴。依赖于 “foo” 文件
的程序能找到这个文件,并且我们能知道安装了哪个文件版本。 当升级到 “foo-2.7” 版本的时候,仅添
加这个文件到文件系统中,删除符号链接 “foo”, 创建一个指向新版本的符号链接。这不仅解决了版本
升级问题,而且还允许在系统中保存两个不同的文件版本。 假想 “foo-2.7” 有个错误(该死的开发
者!),那我们得回到原来的版本。 一样的操作,我们只需要删除指向新版本的符号链接,然后创建指向
The Linux Command Line 中文版
- 19 -本文档使用 看云 构建
更多资源请访问
鸿鹄论坛:http://bbs.hh010.com/
剩余384页未读,继续阅读
tmykja58639
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ExtJS 2.0 入门教程与开发指南
- 基于TMS320F2812的能量回馈调速系统设计
- SIP协议详解:RFC3261与即时消息RFC3428
- DM642与CMOS图像传感器接口设计与实现
- Windows Embedded CE6.0安装与开发环境搭建指南
- Eclipse插件开发入门与实践指南
- IEEE 802.16-2004标准详解:固定无线宽带WiMax技术
- AIX平台上的数据库性能优化实战
- ESXi 4.1全面配置教程:从网络到安全与实用工具详解
- VMware ESXi Installable与vCenter Server 4.1 安装步骤详解
- TI MSP430超低功耗单片机选型与应用指南
- DOS环境下的DEBUG调试工具详细指南
- VMware vCenter Converter 4.2 安装与管理实战指南
- HP QTP与QC结合构建业务组件自动化测试框架
- JsEclipse安装配置全攻略
- Daubechies小波构造及MATLAB实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功