Linux系统简介
=============
路径
====
路径分为绝对路径和相对路径。
绝对路径的起始点为根目录 **/** ,例如 ``/usr/local/bin`` 就是绝对路径,它指向系统中一个绝对的位置,不受其它因素影响。
相对路径的起始点为当前目录,如果您现在位于 ``/usr`` 目录,那么相对路径 ``local/bin`` 所指示的位置为 ``/usr/local/bin``
也就是说,相对路径所指示的位置,除了相对路径本身,还受到当前位置的影响。例如Linux系统中常见的目录 ``/bin`` 、 ``/usr/bin`` 、 ``/usr/local/bin`` ,如果只有一个相对路径 ``bin``\ ,那么它指示的位置可能上面三个目录中的任意一个,也可能是其它目录。
如果我告诉您到 ``bin`` 目录寻一个文件,您可能搞不清楚是哪一个 ``bin`` 目录。只有当前位置确定,相对路径指示的位置才能够确定。
现在我说, ``/usr/local`` 目录下,它的相对路径 ``bin`` 中有某个文件,这样就比较明确了。
在相对路径中 **.** 表示当前目录, **..** 表示当前目录的上一级目录。
假设您安装了一个程序,它的主程序没有被放置到上面三个 ``bin`` 目录中的任何一个,或者其它系统能够到的地方,您就得告诉系统,它的可执行文件在哪里。
可以使用绝对路径,例如: ``/home/user/bin/可执行文件``
或者定位到 ``/home/user/bin`` 目录,使用相对目录来定位它 ``./可执行文件``
如果您定位到了它的子目录,比如 ``/home/user/bin/gui``\ ,您可以使用 **..** 来表示它的上级目录 ``../可执行文件``
路径相关命令 ::
cd (change directory) 更改目录。
pwd (print working directory)显示当前路径。
ls (list) 显示当前目录中的文件列表。
请尝试以下操作: ::
cd /etc 进入“/etc”目录,这里使用的是绝对路径
pwd 显示当前路径,这个命令返回结果“/etc”
cd init.d 进入“/etc”目录的子目录“init.d”,这里使用的是相对路径
cd .. 进入上一级目录“/etc”
cd ../home “/etc” 目录的上一级目录为“/”,它的子目录“home”为“/home”
cd - 回到上一次的目录,我们在“/etc”目录跳转到“/home”目录,所以这次是回到“/etc”目录
cd ~ “~”代表当前用户的“$HOME”目录,也就是“/home/{用户名}”目录。
ls 在任何时候,您都可以使用“ls”命令,来了解当前目录下都有哪些文件。
远程路径:
远程路径的表示方法为 **协议://用户名:密码@位置/路径:端口**
大多数的远程路径可以使用默认端口匿名访问,由此用户名、密码、端口通常不需要填写。例如: ::
/.../index.html
要求身份验证的远程路径,您可以使用下面的方式访问::
ftp://user:passwd@:21
软件
====
Linux中没有 *注册表* 这个概念。安装软件,理论上讲,只要拷贝所有相关文件,并运行它的主程序就可以了。
按照传统,一个软件通常分别拷贝到同级目录下的 **bin**\ shell界面、\ **etc**\ 、\ **lib**\ 、\ **share**\ 等文件夹。
**bin**
可执行文件,程序的可执行文件通常在这个目录下。在环境变量中设定搜索路径,就可以直接执行,而不需要定位其路径。
**etc**
配置文件,大部分系统程序的配置文件保存于 ``/etc`` 目录,便于集中修改。
**lib**
库文件,集中在一起,方便共享给不同程序。相较不同的软件单独保存库文件,能够节约一些磁盘空间。
**share**
程序运行所需要的其它资源,例如图标、文本。这部分文件是专有的,不需要共享;而且目录结构相对复杂,混放在一起比较混乱,所以单独存放。
还有一些软件,占用一个单独的目录,所有的资源都在这个目录中。类似于Windows下的绿软件,不推荐在Linux系统下这样作。
- 执行时,系统不到可执行文件(搜索所有路径,资源开销过大,是不现实的),需要定位其位置,像这样 ``/home/user/bin/可执行文件`` ,不够方便。
- 许多系统软件需要协作运行,配置文件分别保存,定位它们非常麻烦
- 如果程序使用的库文件,像图形库文件,都单独存放,那么磁盘空间的浪费会非常严重。
有一些大型软件,或者您布署的重要应用,您可以将它们单独安装在一个文件夹下。(通常源码安装支持这种方式,将在 软件安装_ 部分介绍)
配置方式
========
Linux下没有类似 *注册表* 的系统,系统和软件都可以通过纯文本的配置文件进行设置。
事实上,图形界面的配置工具,通常就是以图形界面的方式修改配置文件,适合设置一些比较简单的程序。如果软件有几千个可以配置的选项,全部作成菜单,想象一下……开始发抖吧……
图形界面的配置工具,可以看作特定配置文件专用编辑器。您一样可以使用通用文本编辑器来编辑配置文件,比如 Nano、Gedit、Knote、Vim或者Emacs等等。不考虑阅读、修改配置文本占用的时间,直接修改配置文件甚至更迅速。 [#]_
如果只是要修改某一常用选项,而且时常修改,比如主机的IP地址。使用文本编辑器,您要到相应的配置文件,还要在配置文件中到相应的选项,会浪费掉您的时间和耐性。
图形配置工具经常会受各种因素制约,比如网络服务器中不提供图形服务,图形界面不够稳定……这时,您可以使用命令行的配置工具来完成这些工作。
例如: 修改主机IP地址,可以使用ifconfig这个程序,执行下面的命令: ::
ifconfig eth0 192.168.0.1
.. [#] 在以后的章节中,如果我们提示您修改某一文件,例如 ``/etc/fstab`` ,您可以使用任何顺手的文本编辑器打开它。
隐藏文件
========
Linux下,名称中第一个字符为 ``.`` 的文件或者文件夹,系统默认情况下将它们隐藏起来,
您可以尝试以下操作: ::
cd ~ 进入您的用户目录
ls 查看当前目录下的文件列表
ls -a 查看所有文件的文件列表(包括隐藏文件)。
现在,您可以看到许多文件名以 ``.`` 起始的文件或者文件夹了吧?使用 ``ls`` 命令无法显示它们
- 如果您只想查看隐藏文件,而不包括这两个特殊目录,您可以使用 ``ls`` 命令的参数 ``-A`` (\ ``ls -A``\ )
- 每个目录下都包含两个特殊目录 ``.`` 和 ``..`` 。您也许猜到了, ``.`` 代表当前目录, ``..`` 代表上一级目录。目录是一种特殊类型的文件!
文件类型
========
Linux系统主要根据文件头信息来判断文件类型,扩展名并非决定因素。
现在使用 ``ls -l`` 命令,查看详细信息格式的文件列表,您将会看到如下内容: ::
total 5
drwxr-x--- 4 user group 4096 Mar 10 00:37 filename
drwxr-xr-x 21 user group 4096 Mar 10 20:16 文件名
-rw------- 1 user group 524 Mar 10 00:40 a
-rw-r--r-- 1 user group 24 Jun 11 2000 b
drwx------ 2 user group 4096 Mar 9 11:06 c
共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属组、文件大小、创建日期、文件名称
其中要特别留意的是第一列: ::
drwxr-xr-x
一共有10个位置,可以分为4组: ::
d rwx r-x r-x
第一组只有一个字符:
- **d** 文件夹
- **-** 普通文件
- **l** 链接
- **b** 块设备文件
- **c** 字符设备文件。
剩下的3组分别为归属用户、归属组、其它用户或组对于该文件的权限。我们看它的格式
``rwx`` ``rwx`` ``rwx``
- r 可读
- w 可写
- x 可执行
它们的顺便不能颠倒,某一位置为空(\ **-**\ ),则表示不具有相应的权限。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论