当前位置: 首页 > article >正文

Linux 命令行的世界 :3.探索操作系统

既然我们已经知道了如何在文件系统中跳转,是时候开始 Linux 操作系统之旅了。然而在开始之前,我们先学习一些对研究Linux 系统有帮助的命令。
ls —列出目录内容
file —确定文件类型
less —浏览文件内容

ls 可能是用户最常使用的命令了,这自有它的道理。通过它,我们可以知道目录的内容,以及各种各样重要文件和目录的属性。只要简单地输入 ls 就能看到在当前目录下所有文件和子目录的列表。除了当前工作目录以外,也可以指定别的目录。

[root@localhost /]# ls /usr/
backups  bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

甚至可以列出多个指定目录的内容。在下面例子中,将会列出用户根目录(用字符“∼”代表)和/usr 目录的内容:

[root@localhost /]# ls ~ /usr/
/root:
anaconda-ks.cfg       rhel-server-7.9-x86_64-dvd.iso  模板  图片  下载  桌面
initial-setup-ks.cfg  公共                            视频  文档  音乐

/usr/:
backups  bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

我们也可以改变输出格式,来得到更多的细节:使用 ls 命令的“-l”选项,则结果以长模式输出。

[root@localhost /]# ls -l
总用量 28
drwxr-xr-x    3 atouser atouser   22 1月  30 1998 ATO
drwxr-xr-x    2 rsync   rsync      6 1月   5 11:00 backup
lrwxrwxrwx.   1 root    root       7 1月   1 1998 bin -> usr/bin
dr-xr-xr-x.   4 root    root    4096 11月 23 16:46 boot
drwxr-xr-x    3 root    root      33 1月   5 10:56 copylog
drwxr-xr-x   19 root    root    3240 11月 23 16:45 dev
drwxr-xr-x. 155 root    root    8192 1月  11 15:34 etc
drwxr-xr-x.  12 root    root     133 1月  11 15:34 home
lrwxrwxrwx.   1 root    root       7 1月   1 1998 lib -> usr/lib
lrwxrwxrwx.   1 root    root       9 1月   1 1998 lib64 -> usr/lib64
drwxr-xr-x.   2 root    root       6 12月 15 2017 media
dr-xr-xr-x    9 root    root    4096 6月  28 2022 mnt
drwxr-xr-x.   3 root    root      16 1月   6 1998 opt
dr-xr-xr-x  399 root    root       0 11月 23 16:45 proc
dr-xr-x---.  14 root    root    4096 2月   8 14:28 root
drwxr-xr-x   48 root    root    1420 2月   8 06:49 run
lrwxrwxrwx.   1 root    root       8 1月   1 1998 sbin -> usr/sbin
drwxr-xr-x.   2 root    root       6 12月 15 2017 srv
dr-xr-xr-x   13 root    root       0 12月  4 09:47 sys
drwxrwxrwt.  18 root    root    4096 2月   8 17:08 tmp
drwxr-xr-x.  14 root    root     170 1月  10 15:56 usr
drwxr-xr-x.  20 root    root     282 1月   1 1998 var


我们将学习一个非常重要的知识点,即大多数命令是如何工作的。命令名经常会带有一个或多个用来更正命令行为的选项,更进一步,选项后面会带有一个或多个参数,这些参数是命令作用的对象。所以大多数命令看起来像这样:command -options arguments。
当然,许多命令也允许把多个短选项串在一起使用。下面这个例子,ls 命令有两个选项,“l”选项产生长格式输出,“t”选项按文件修改时间的先后来排序。

[root@localhost /]# ls -l
总用量 28
drwxr-xr-x    3 atouser atouser   22 1月  30 1998 ATO
drwxr-xr-x    2 rsync   rsync      6 1月   5 11:00 backup
lrwxrwxrwx.   1 root    root       7 1月   1 1998 bin -> usr/bin
dr-xr-xr-x.   4 root    root    4096 11月 23 16:46 boot
drwxr-xr-x    3 root    root      33 1月   5 10:56 copylog
drwxr-xr-x   19 root    root    3240 11月 23 16:45 dev
drwxr-xr-x. 155 root    root    8192 1月  11 15:34 etc
drwxr-xr-x.  12 root    root     133 1月  11 15:34 home
lrwxrwxrwx.   1 root    root       7 1月   1 1998 lib -> usr/lib
lrwxrwxrwx.   1 root    root       9 1月   1 1998 lib64 -> usr/lib64
drwxr-xr-x.   2 root    root       6 12月 15 2017 media
dr-xr-xr-x    9 root    root    4096 6月  28 2022 mnt
drwxr-xr-x.   3 root    root      16 1月   6 1998 opt
dr-xr-xr-x  398 root    root       0 11月 23 16:45 proc
dr-xr-x---.  14 root    root    4096 2月   8 14:28 root
drwxr-xr-x   48 root    root    1420 2月   8 06:49 run
lrwxrwxrwx.   1 root    root       8 1月   1 1998 sbin -> usr/sbin
drwxr-xr-x.   2 root    root       6 12月 15 2017 srv
dr-xr-xr-x   13 root    root       0 12月  4 09:47 sys
drwxrwxrwt.  18 root    root    4096 2月   8 17:08 tmp
drwxr-xr-x.  14 root    root     170 1月  10 15:56 usr
drwxr-xr-x.  20 root    root     282 1月   1 1998 var

加上长选项“–reverse”,则结果会以相反的顺序输出:

[root@localhost /]# ls -lt --reverse
总用量 28
lrwxrwxrwx.   1 root    root       7 1月   1 1998 bin -> usr/bin
lrwxrwxrwx.   1 root    root       8 1月   1 1998 sbin -> usr/sbin
lrwxrwxrwx.   1 root    root       9 1月   1 1998 lib64 -> usr/lib64
lrwxrwxrwx.   1 root    root       7 1月   1 1998 lib -> usr/lib
drwxr-xr-x.  20 root    root     282 1月   1 1998 var
drwxr-xr-x.   3 root    root      16 1月   6 1998 opt
drwxr-xr-x    3 atouser atouser   22 1月  30 1998 ATO
drwxr-xr-x.   2 root    root       6 12月 15 2017 srv
drwxr-xr-x.   2 root    root       6 12月 15 2017 media
dr-xr-xr-x    9 root    root    4096 6月  28 2022 mnt
dr-xr-xr-x  399 root    root       0 11月 23 16:45 proc
drwxr-xr-x   19 root    root    3240 11月 23 16:45 dev
dr-xr-xr-x.   4 root    root    4096 11月 23 16:46 boot
dr-xr-xr-x   13 root    root       0 12月  4 09:47 sys
drwxr-xr-x    3 root    root      33 1月   5 10:56 copylog
drwxr-xr-x    2 rsync   rsync      6 1月   5 11:00 backup
drwxr-xr-x.  14 root    root     170 1月  10 15:56 usr
drwxr-xr-x. 155 root    root    8192 1月  11 15:34 etc
drwxr-xr-x.  12 root    root     133 1月  11 15:34 home
drwxr-xr-x   48 root    root    1420 2月   8 06:49 run
dr-xr-x---.  14 root    root    4096 2月   8 14:28 root
drwxrwxrwt.  18 root    root    4096 2月   8 17:08 tmp

正如我们先前知道的,“-l”选项导致 ls 的输出结果以长格式输出。这种格式包含大量的有用信息。选一个文件,来看下各个输出字段的含义:
drwxr-xr-x.  20 root    root     282 1月   1 1998 var
第一个字符指明文件类型。在不同的类型之间,开头的“-”说明是一个普通文件,“d”表明是一个目录。其后三个字符(rwx)是文件所有者的访问权限,再其后的三个字符(r-x)是文件所属组中成员的访问权限,最后三个字符(r-x)是其他所有人的访问权限。
18      文件硬连接数目。
root   文件所有者的用户名
root   文件所属用户组的名字
282    以字节数表示的文件大小
1月 1 1998     上次修改文件的时间和日期
var    文件名

我们将用file命令来确定文件的类型。可以这样调用命令: file filename

less 命令是一个用来浏览文本文件的程序。less程序为我们检查文本文件提供了方便。

在计算机中,有许多方法可以表达信息。所有的方法都涉及到,在信息与一些数字之间确立一种关系,而这些数字可以用来代表信息。最早也是最简单的一种表达法,叫做 ASCII 文本。文本是简单的字符与数字之间的一对一映射。它非常紧凑。五十个字符的文本翻译成五十个字节的数据。文本只是包含简单的字符到数字的映射,理解这点很重要。

为什么我们要查看文本文件呢?因为许多包含系统设置的文件(叫做配置文件),是以文本格式存储的,阅读它们可以更深入的了解系统是如何工作的。另外,许多系统所用到的实际程序(叫做脚本)也是以这种格式存储的。

less命令是这样使用的:
less filename

一旦运行起来,less 程序允许你前后滚动文件。例如,要查看一个定义了系统中全部用户身份的文件,输入以下命令:
less /etc/passwd

如果文件内容多于一页,那么我们可以上下滚动文件。按下“q”键,退出 less 程序。

下一步,我们将在文件系统中漫游,来了解 Linux 系统的工作原理。这会可以先温习下跳转命令。我们会发现很多有趣的文件都是纯人类可读文本。下面旅行开始,做做以下练习:
1. cd 到给定目录
2. 列出目录内容 ls -l
3. 如果看到一个有趣的文件,用 file 命令确定文件内容
4. 如果文件看起来像文本,试着用 less 命令浏览它

在系统中漫游时,不要害怕四处看看。普通用户是很难把东西弄乱的。那是系统管理员的工作!如果一个命令抱怨一些事情,不要管它,尝试一下别的东西。花一些时间四处看看。系统是我们自己的,尽情地探究吧。

列出了一些我们可以浏览的目录。随意尝试!
/    根目录,万物起源
/bit    包含系统启动和运行所必须的二进制程序
/boot    包含Linux 内核、初始RAM磁盘映像和 启动加载程序
/dev    这是一个包含设备节点的特殊目录。“一切都是文件”也适用于设备
/etc    这个目录包含所有系统层面的配置文件
/root    root账户的根目录
/usr    包含普通用户所需要的所有程序和文件
/var    存放动态文件,包含各种数据库、假脱机文件、用户邮件等
/var/log    包含日志文件、各种系统活动的记录。

完整的 Linux 文件系统层次体系标准可通过以下链接找到:https://www.pathname.com/fhs/


http://www.kler.cn/news/233933.html

相关文章:

  • 【心得】关于STM32中RTC的校准方法
  • 【数学建模】【2024年】【第40届】【MCM/ICM】【B题 搜寻潜水器】【解题思路】
  • 离线数仓(一)【数仓概念、需求架构】
  • 回归预测模型:MATLAB多项式回归
  • 中国判决生效,诺基亚全面与中国手机签署授权协议,降低专利费
  • STM32的ADC电压采集
  • Python和Java的区别(不断更新)
  • 算法学习——LeetCode力扣字符串篇
  • DolphinScheduler-3.2.0 集群搭建
  • Golang-Map有序输出——使用orderedmap库实现
  • 机器学习复习(8)——逻辑回归
  • Springboot启动出现Waiting for changelog lock...问题
  • docker进阶 问题1
  • vue3 可视化大屏自适应屏幕组件
  • (四)elasticsearch 源码之索引流程分析
  • 学习总结15
  • 【MySQL】数据库的基础——数据库的介绍、MySQL的介绍和架构、SQL分类、MySQL的基本使用、MySQL的存储引擎
  • Matlab使用点云工具箱进行点云配准ICP\NDT\CPD
  • 软件应用实例分享,电玩计时计费怎么算,佳易王PS5游戏计时器系统程序教程
  • 【工具】Android|Android Studio 长颈鹿版本安装下载使用详解
  • windows安装sqlite
  • C语言实现memcpy、memmove库函数
  • C++初阶:适合新手的手撕vector(模拟实现vector)
  • YOLOv5改进 | 融合改进篇 | 华为VanillaNet + BiFPN突破涨点极限
  • 探索Xposed框架:个性定制你的Android体验
  • go语言实现LRU缓存
  • Qt:QFileDialog
  • java Servlet 云平台教学系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc
  • 【深度学习】:实验6布置,图像自然语言描述生成(让计算机“看图说话”)
  • 算法学习——LeetCode力扣双指针篇