实验所有虚拟主机用户和密码如下:
H-server--1主机:
用户:root 密码:123456
第一步、打开拓扑,启动虚拟主机
第二步、目录介绍及相关命令实例
#cd /
#ls -l
1.‘/’ 根目录。
包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。
2./boot 引导程序,内核等存放的目录。这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件。
3./sbin 超级用户可以使用的命令的存放目录。
4./bin普通用户可以使用的命令的存放目录。
5./lib 根目录下的所程序的共享库目录。
6./dev 设备文件目录。在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备
7./home普通用户的家目录($HOME目录。在Linux机器上,用户主目录通常直接或间接地设置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都拥有自己的根目录,目录以用户名作为名字存放在/home下面,有利于数据的维护。
8./root用户root的$HOME目录。系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。
9./etc全局的配置文件存放目录。
10./usr这个目录中包含了命令库文件和在通常操作中不会修改的文件。这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录。
11./usr/lib目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。
12./usr/bin一般使用者使用并且不是系统自检等所必需可执行文件的目录。此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。
13./usr/sbin管理员使用的非系统必须的可执行文件存放目录。
14./usr/share存放共享文件的目录。
#cd /usr/share
#ls
比如:i18n 是操作系统国际化所需要的资源的目录。
15. /usr/include C程序语言编译使用的头文件。
16./usr/local
#cd /usr/local
#ls
17./proc 特殊文件目录。
#cd /proc
#ls
注:这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当查看它们时,实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。例如:
├1/关于进程1的信息目录。每个进程在/proc下一个名为其进程号的目录。
├cpuinfo处理器信息,如类型、制造商、型号和性能。
├devices当前运行的核心配置的设备驱动的列表。
├dma 显示当前使用的DMA通道。
├filesystems 核心配置的文件系统。
├interrupts 显示使用的中断,and how many of each there have been.
├ioports 当前使用的I/O端口。
├kcore 系统物理内存映像。与物理内存大小一样,但实际不占这么多内存;
├kmsg 核心输出的消息。也被送到syslog 。
├ksyms 核心符号表。
├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。
├meminfo 存储器使用信息,包括物理内存和swap。
├modules 当前加载了哪些核心模块。
├net 网络协议状态信息。
├self 到查看/proc 的程序的进程目录的符号连接。
├stat 系统的不同状态
├uptime 系统启动的时间长度。
├mounts 系统已经挂载的数据
└version 核心版本。
#cd /proc/1
#ls -l
1) 查看系统挂载信息
#cd /proc
#cat mounts
2) 查看cpu 信息
#cd /proc
#cat cpuinfo
3) 查看内存信息
#cd /proc
#cat meminfo
4) 查看已加载模块
#cd /proc
#cat modules
5) 查看磁盘状态信息
#cd /proc
#cat diskstats
6) 查看内核命令行参数
/proc/cmdline - 系统启动时输入的内核命令行参数
#cd /proc
#cat cmdline
7) 查看进程信息
/proc 文件系统可以用于获取运行中的进程的信息。在 /proc 中有一些编号的子目录。每个编号的目录对应一个进程 id (PID)。这样,每一个运行中的进程 /proc 中都有一个用它的 PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。让我们试着查找一个运行中的进程
上述命令显示有一个正在运行的httpd PID 是 1316。相对应的,/proc 中应该有一个名叫 1316的目录[在实际实验时进程号不一定是1316]
#cd /proc/1316 (注:这是一步操作,也可以分解成两步操作,cd /proc/ cd 1316)
#ls
文件 "cmdline" 包含启动进程时调用的命令行。"envir" 进程的环境变量。 "status" 是进程的状态信息,包括启动进程的用户的用户ID (UID) 和组ID(GID) ,父进程ID (PPID),还有进程当前的状态,比如"Sleeping"和"Running"。每个进程的目录都有几个符号链接,"cwd"是指向进程当前工作目录的符号链接,"exe"指向运行的进程的可执行程序,"root"指向被这个进程看作是根目录的目录 (通常是"/")。目录"fd"包含指向进程使用的文件描述符的链接。 "cpu"仅在运行 SMP 内核时出现,里面是按 CPU 划分的进程时间。
#cat cmdline
#cat environ
#cat status
从上图 可以看出,该进程的状态处于Sleeping ,父进程是 1.说明系统是被root启动的
从刚才httpd 的进程结构看,1316 有4个子进程(注:上面的ps -aef | grep httpd)。
我们进入其中1个进程(在实际实验时进程号不一定是1335)
#cd /proc
#cd 1335
从上图可以看出,进程状态是Sleeping ,父进程是1316
/proc/self 是一个有趣的子目录,它使得程序可以方便地使用 /proc 查找本进程的信息。/proc/self 是一个链接到 /proc 中访问 /proc 的进程所对应的 PID 的目录的符号链接
1460 是调用ls –ld self 命令所产生的进程号
比如如上图,cmdline 只能是cat self/cmdline
8) 查看机器、网络的主机名、域名
/proc/sys/kernel - 这个目录包含反通用内核行为的信息。 /proc/sys/kernel/domainname, hostname 存放着机器/网络的域名和主机名。这些文件可以用于修改这些名字。
#hostname
# cat /proc/sys/kernel/domainname
domainname.com
# cat /proc/sys/kernel/hostname
server
# echo "server1" > /proc/sys/kernel/hostname
#hostname
server1
这样,通过修改 /proc 文件系统中的文件,我们可以修改主机名。很多其他可配置的文件存在于 /proc/sys/kernel/。
18./opt可选择的文件目录。这个目录表示的是可选择的意思,一些自定义软件包或者第三方工具,就可以安装在这里。比如在Fedora Core 5.0中,OpenOffice就是安装在这里。一些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以把它们的安装路径设置成/opt这样来安装。这个目录的作用一点类似/usr/local。
19./mnt 临时挂载目录。这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们最好在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?
20./media 挂载的媒体设备目录。挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。
21./var内容经常变化的目录。此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。
#cd /var
#ls
22. /tmp临时文件目录。该目录存放系统中的一些临时文件,文件可能会被系统自动清空。系统直接把tmpfs类型的文件系统挂载到这个目录上,tmpfs文件系统由Linux内核支持,在这个文件系统中的数据,实际上是内存中的,由于内存的数据断电易失,当系统重新启动的时候我们就会发现这个目录被清空了。
#cd /tmp
#ls
23./lost+found 恢复文件存放的位置。当系统崩溃的时候,在系统修复过程中需要恢复的文件,可能就会在这里被找到了,这个目录一般为空。
第三步、有些目录初学者容易混淆,这里简单区分一下:
1. /bin,/sbin与/usr/bin,/usr/sbin:
/bin一般存放对于用户和系统来说“必须”的程序(二进制文件)
#cd /bin
ls
比如mv ,pwd ,ps 都在本目录
/sbin一般存放对于系统管理的“必需”的程序(二进制文件,一般普通用户不会使用,根用户使用。
#cd /sbin
#ls
比如防火墙程序iptables 等都在这个目录
/usr/bin一般存放的只是对用户和系统来说“不是必需的”程序(二进制文件)。
/usr/sbin一般存放对于系统管理的不是必需的程序(二进制文件)。
#cd /usr/sbin
#ls
2. /lib与/usr/lib:
/lib和/usr/lib的区别类似/bin,/sbin与/usr/bin,/usr/sbin。
/lib一般存放对于用户和系统来说“必须”的库(二进制文件)
#cd /lib
#ls
从上图可以看出,ld库,pam库已经解析库都在基本的库目录下。
/usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。
#cd /usr/lib
#ls
从上图可以看出,X11和usb 相关的库这个目录下。
其他还一些目录例如/home/user/bin,/home/user/opt,/home/user/etc,/usr/local/etc等等,其作用都是类似于/etc,/bin等目录的,可能只是层次概念不同了,使用Linux时间长了,会逐渐体会到其中的含义。
第四步、实验结束,关闭虚拟机。