在Linux中,分区是这样表示的
/dev/hda
/dev/hda1
/dev/hda2
/dev/hda5
/dev/sdb1
以 /dev/hda5 为例:
因为在Linux中,每一个设备都是用 /dev/ 文件夹下的一个文件来表示,所以 /dev/hda5 中, /dev/ 表示的是根目录下的dev目录,我们来看剩下的部分 hda5 。
前两位的字母 hd 表示这是一块IDE硬盘,如果是 sd ,则代表SATA硬盘,或者闪存等外设。
第三位的字母 a 表示这是该类型接口上的第一个设备。同理, b、c、d…… 分别代表该类型接口上的第二三四……个设备。例如 hdc 表示第二个IDE接口上的主硬盘(每个IDE接口上允许一个主设备和一个从设备)。
第四位的数字 5 ,并不表示这是该硬盘中的第5个分区,而是第一个逻辑分区。因为在Linux中,为了避免不必要的混乱,分区的顺序是不能改变的,分区标识则由它们在硬盘中的位置决定。系统又要为所有可能的主分区预留标识,所以 1-4 一定不会是逻辑分区, 5 则是第一个逻辑分区,以此类推。
[b]PS:举了一个书本的事例,有点象,目录,前言,章节;[/b]
目录通常都是用来作什么
/
根目录,唯一必须挂载的目录。不要有任何的犹豫,选一个分区,挂载它!(在绝大多数情况下,有2G的容量应该是够用了。当然了,很多东西都是多多益善的。
swap
交换分区,可能不是必须的,不过按照传统,并且照顾到您的安全感,还是挂载它吧。它的容量只要大于您的物理内存就可以了,如果超过了您物理内存两倍的容量,那绝对是一种浪费。
/home
前面已经介绍过了,这是您的家目录,通常您自己创建的文件,都保存在这里,您最好给它分配一个分区
/usr
应用程序目录。大部分的软件都安装在这里。如果您计划安装许多软件,建议您也给它分配一个分区
/var
如果您要作一些服务器方面的应用,可以考虑给它分配一个较大的分区
/boot
如果您的硬盘不支持LBA模式(我想那不太可能:),您最好挂载它,如果挂载硬盘的第一个分区,应该比较稳妥。一般来说,挂载的分区只要100M大小就足够了
在文件系统这一环节中,我们建议您选择: ReiserFS
也许您注意到了,Windows中,盘符既用于表示硬件(硬盘上的分区),又用于表示系统中的路径。而Linux中,硬件就是硬件,路径就是路径,不会混淆在一起,简单直接!
[b]PS:死都要记![/b]
路径相关命令
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”命令,来了解当前目录下都有哪些文件。
远程路径:
远程路径的表示方法为 协议://用户名:密码@位置/路径:端口
大多数的远程路径可以使用默认端口匿名访问,由此用户名、密码、端口通常不需要填写。例如:
http://www.ubuntu.org.cn/.../index.html
要求身份验证的远程路径,您可以使用下面的方式访问:
ftp://user:passwd@ftp.ubuntu.org.cn:21
[b]PS:试试身手;[/b]
软件
Linux中没有 注册表 这个概念。安装软件,理论上讲,只要拷贝所有相关文件,并运行它的主程序就可以了。
按照传统,一个软件通常分别拷贝到同级目录下的 bin、etc、lib、share等文件夹。
bin
可执行文件,程序的可执行文件通常在这个目录下。在环境变量中设定搜索路径,就可以直接执行,而不需要定位其路径。
etc
配置文件,大部分系统程序的配置文件保存于 /etc 目录,便于集中修改。
lib
库文件,集中在一起,方便共享给不同程序。相较不同的软件单独保存库文件,能够节约一些磁盘空间。
share
程序运行所需要的其它资源,例如图标、文本。这部分文件是专有的,不需要共享;而且目录结构相对复杂,混放在一起比较混乱,所以单独存放。
还有一些软件,占用一个单独的目录,所有的资源都在这个目录中。类似于Windows下的绿色软件,不推荐在Linux系统下这样作。
执行时,系统找不到可执行文件(搜索所有路径,资源开销过大,是不现实的),需要定位其位置,像这样 /home/user/bin/可执行文件 ,不够方便。
许多系统软件需要协作运行,配置文件分别保存,定位它们非常麻烦
如果程序使用的库文件,像图形库文件,都单独存放,那么磁盘空间的浪费会非常严重。
有一些大型软件,或者您布署的重要应用,您可以将它们单独安装在一个文件夹下。(通常源码安装支持这种方式,将在 软件安装 部分介绍)
[b]PS:可记[/b]
文件类型
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 可执行
它们的顺便不能颠倒,某一位置为空(-),则表示不具有相应的权限。
Tip
Linux下的可执行文件并不是由扩展名(例如 .exe )决定的,而是由其可执行权限位决定。
[b]Ctrl+S[/b]
出于意外,有时您会按下 Ctrl+s 这个组合键,Shell便被冻结。尝试使用 Ctrl+q 组合键,看能否恢复正常。
[b]任务管理[/b]
&
在命令的末尾加上一个 & 符号,表示背景任务,例如:
wget http://www.download.net/xxx/mp3 &
;
使用 ; 将多个命令连结起来,则表示任务按顺序执行
&&
使用 && 将多个命令连结起来,则表示只有前面的命令执行成功,后面的命令才能得以执行
``
`<命令>` ,如果一个命令中包含以 `` (Esc键下方的按键)括起来的子命令,那么子命令将被优先执行,执行结果被代入上一级命令继续执行,例如创建一个以当前时间命名的文件:
touch `date +%m.%d_%H:%M:%S`
touch 命令能够创建一个文件,它的操作对象,为 date +%m%d%H%M%S 命令的输出 06.06_06:06:60
这样,我们创建了一个名为 06.06_06:06:60 的文件(六月六日六时六分刚过六十秒-_-!)
Ctrl+z
将当前Shell中的任务挂起
这个时候任务的状态为
[1]+ Stopped xxx
bg
将挂起的任务背景运行。这时它的状态为
[1]+ xxx &
fg
将背景任务调到前台执行
jobs
方括号中的数字为命令的任务编号,您可以使用 jobs 命令来查看所有背景任务
如果后台运行多个任务,您可以在 bg 或者 fg 后跟任务编号,作为操作对象,例如:
bg 2
[b]管道、重定向[/b]
>
重定向符号,它的作用是将命令的输出重定向到一个文件中。比如我们想把命令 ls 的结果保存为 FileList 文件,作一个清单,我们可以使用重定向符号来完成它:
ls -l > FileList
>>
作用与 > 基本相同,不同点在于, >> 以追加的方式,将命令的输出写入文件的末尾。
<
是从文件到命令的重定向,将文件的内容作为命令的输入。
|
为管道符号,它的作用是将前一个命令的输出,作为下一个命令的输入。假设一个目录下的文件太多,使用 ls 命令不能够在屏幕中完全显示,这个时候您可以将 ls 命令的输出,通过管道符号,作为浏览器 less 的输入。就可以使用浏览器的功能翻页、查找:
ls -al | less
Tip: less 浏览器的键绑定几乎与 man 相同,请参阅 在线帮助系统。
/dev/hda
/dev/hda1
/dev/hda2
/dev/hda5
/dev/sdb1
以 /dev/hda5 为例:
因为在Linux中,每一个设备都是用 /dev/ 文件夹下的一个文件来表示,所以 /dev/hda5 中, /dev/ 表示的是根目录下的dev目录,我们来看剩下的部分 hda5 。
前两位的字母 hd 表示这是一块IDE硬盘,如果是 sd ,则代表SATA硬盘,或者闪存等外设。
第三位的字母 a 表示这是该类型接口上的第一个设备。同理, b、c、d…… 分别代表该类型接口上的第二三四……个设备。例如 hdc 表示第二个IDE接口上的主硬盘(每个IDE接口上允许一个主设备和一个从设备)。
第四位的数字 5 ,并不表示这是该硬盘中的第5个分区,而是第一个逻辑分区。因为在Linux中,为了避免不必要的混乱,分区的顺序是不能改变的,分区标识则由它们在硬盘中的位置决定。系统又要为所有可能的主分区预留标识,所以 1-4 一定不会是逻辑分区, 5 则是第一个逻辑分区,以此类推。
[b]PS:举了一个书本的事例,有点象,目录,前言,章节;[/b]
目录通常都是用来作什么
/
根目录,唯一必须挂载的目录。不要有任何的犹豫,选一个分区,挂载它!(在绝大多数情况下,有2G的容量应该是够用了。当然了,很多东西都是多多益善的。
swap
交换分区,可能不是必须的,不过按照传统,并且照顾到您的安全感,还是挂载它吧。它的容量只要大于您的物理内存就可以了,如果超过了您物理内存两倍的容量,那绝对是一种浪费。
/home
前面已经介绍过了,这是您的家目录,通常您自己创建的文件,都保存在这里,您最好给它分配一个分区
/usr
应用程序目录。大部分的软件都安装在这里。如果您计划安装许多软件,建议您也给它分配一个分区
/var
如果您要作一些服务器方面的应用,可以考虑给它分配一个较大的分区
/boot
如果您的硬盘不支持LBA模式(我想那不太可能:),您最好挂载它,如果挂载硬盘的第一个分区,应该比较稳妥。一般来说,挂载的分区只要100M大小就足够了
在文件系统这一环节中,我们建议您选择: ReiserFS
也许您注意到了,Windows中,盘符既用于表示硬件(硬盘上的分区),又用于表示系统中的路径。而Linux中,硬件就是硬件,路径就是路径,不会混淆在一起,简单直接!
[b]PS:死都要记![/b]
路径相关命令
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”命令,来了解当前目录下都有哪些文件。
远程路径:
远程路径的表示方法为 协议://用户名:密码@位置/路径:端口
大多数的远程路径可以使用默认端口匿名访问,由此用户名、密码、端口通常不需要填写。例如:
http://www.ubuntu.org.cn/.../index.html
要求身份验证的远程路径,您可以使用下面的方式访问:
ftp://user:passwd@ftp.ubuntu.org.cn:21
[b]PS:试试身手;[/b]
软件
Linux中没有 注册表 这个概念。安装软件,理论上讲,只要拷贝所有相关文件,并运行它的主程序就可以了。
按照传统,一个软件通常分别拷贝到同级目录下的 bin、etc、lib、share等文件夹。
bin
可执行文件,程序的可执行文件通常在这个目录下。在环境变量中设定搜索路径,就可以直接执行,而不需要定位其路径。
etc
配置文件,大部分系统程序的配置文件保存于 /etc 目录,便于集中修改。
lib
库文件,集中在一起,方便共享给不同程序。相较不同的软件单独保存库文件,能够节约一些磁盘空间。
share
程序运行所需要的其它资源,例如图标、文本。这部分文件是专有的,不需要共享;而且目录结构相对复杂,混放在一起比较混乱,所以单独存放。
还有一些软件,占用一个单独的目录,所有的资源都在这个目录中。类似于Windows下的绿色软件,不推荐在Linux系统下这样作。
执行时,系统找不到可执行文件(搜索所有路径,资源开销过大,是不现实的),需要定位其位置,像这样 /home/user/bin/可执行文件 ,不够方便。
许多系统软件需要协作运行,配置文件分别保存,定位它们非常麻烦
如果程序使用的库文件,像图形库文件,都单独存放,那么磁盘空间的浪费会非常严重。
有一些大型软件,或者您布署的重要应用,您可以将它们单独安装在一个文件夹下。(通常源码安装支持这种方式,将在 软件安装 部分介绍)
[b]PS:可记[/b]
文件类型
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 可执行
它们的顺便不能颠倒,某一位置为空(-),则表示不具有相应的权限。
Tip
Linux下的可执行文件并不是由扩展名(例如 .exe )决定的,而是由其可执行权限位决定。
[b]Ctrl+S[/b]
出于意外,有时您会按下 Ctrl+s 这个组合键,Shell便被冻结。尝试使用 Ctrl+q 组合键,看能否恢复正常。
[b]任务管理[/b]
&
在命令的末尾加上一个 & 符号,表示背景任务,例如:
wget http://www.download.net/xxx/mp3 &
;
使用 ; 将多个命令连结起来,则表示任务按顺序执行
&&
使用 && 将多个命令连结起来,则表示只有前面的命令执行成功,后面的命令才能得以执行
``
`<命令>` ,如果一个命令中包含以 `` (Esc键下方的按键)括起来的子命令,那么子命令将被优先执行,执行结果被代入上一级命令继续执行,例如创建一个以当前时间命名的文件:
touch `date +%m.%d_%H:%M:%S`
touch 命令能够创建一个文件,它的操作对象,为 date +%m%d%H%M%S 命令的输出 06.06_06:06:60
这样,我们创建了一个名为 06.06_06:06:60 的文件(六月六日六时六分刚过六十秒-_-!)
Ctrl+z
将当前Shell中的任务挂起
这个时候任务的状态为
[1]+ Stopped xxx
bg
将挂起的任务背景运行。这时它的状态为
[1]+ xxx &
fg
将背景任务调到前台执行
jobs
方括号中的数字为命令的任务编号,您可以使用 jobs 命令来查看所有背景任务
如果后台运行多个任务,您可以在 bg 或者 fg 后跟任务编号,作为操作对象,例如:
bg 2
[b]管道、重定向[/b]
>
重定向符号,它的作用是将命令的输出重定向到一个文件中。比如我们想把命令 ls 的结果保存为 FileList 文件,作一个清单,我们可以使用重定向符号来完成它:
ls -l > FileList
>>
作用与 > 基本相同,不同点在于, >> 以追加的方式,将命令的输出写入文件的末尾。
<
是从文件到命令的重定向,将文件的内容作为命令的输入。
|
为管道符号,它的作用是将前一个命令的输出,作为下一个命令的输入。假设一个目录下的文件太多,使用 ls 命令不能够在屏幕中完全显示,这个时候您可以将 ls 命令的输出,通过管道符号,作为浏览器 less 的输入。就可以使用浏览器的功能翻页、查找:
ls -al | less
Tip: less 浏览器的键绑定几乎与 man 相同,请参阅 在线帮助系统。