1. SWAP & GRUB
SWAP 分区: 在硬件条件有限的情况下,为了运行大型的程序,Linux 在硬盘上划出一个区域来当作临时的内存,而Windows 操作系统把这个区域叫做虚拟内存,Linux 把它叫做交换分区swap。在安装Linux 建立交换分区时,一般将其设为内存大小的2 倍,当然也可以设为更大。 GRUB: 是一种引导装入器(类似在嵌入式中非常重要的bootloader)——它负责装入内核并引导Linux 系统,位于硬盘的起始部分。由于GRUB多方面的优越性,如今的Linux 一般都默认采用GRUB来引导Linux 操作系统。但事实上它还可以引导Windows 等多种操作系统。
2. Linux 中的文件属性
- rwx rwx rwx owner group non-group r:read w:write x:exe 首先,Linux 中文件的拥有者可以把文件的访问属性设成3 种不同的访问权限:可读(r)、可写(w)和可执行(x)。文件又有3 个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。第一个字符显示文件的类型: “-”表示普通文件; “d”表示目录文件; “l”表示链接文件; “c”表示字符设备; “b”表示块设备; “p”表示命名管道比如FIFO 文件(First In First Out,先进先出); “f”表示堆栈文件比如LIFO 文件(Last In First Out,后进先出)。第一个字符之后有3个三位字符组: 第一个三位字符组表示对于文件拥有者(u)对该文件的权限; 第二个三位字符组表示文件用户组(g)对该文件的权限; 第三个三位字符组表示系统其他用户(o)对该文件的权限; 若该用户组对此没有权限,一般显示“-”字符。
3. 环境变量Environment Variable
环境变量实际上就是用户运行环境的参数集合。Linux是一个多用户的操作系统。而且在每个
用户登录系统后,都会有一个专有的运行环境。通常每个用户默认的环境都是相同的,而这
个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法
就是修改相应的系统环境变量。
常见的环境变量如下。
PATH是系统路径。
HOME是系统根目录。
HISTSIZE是指保存历史命令记录的条数。
LOGNAME是指当前用户的登录名。
HOSTNAME是指主机的名称,若应用程序要用到主机名的话,通常是从这个环境变量中来
取得的。
SHELL是指当前用户用的是哪种Shell。
LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
MAIL是指当前用户的邮件存放目录。
设置环境变量方法如下。
通过etho显示字符串(指定环境变量)。
通过export设置新的环境变量。
通过env显示所有环境变量。
通过set 命令显示所有本地定义的Shell变量。
通过unset命令来清除环境变量。
读者可以试着用“env”命令查看“su - root”和“su root”的区别。
4. ldd & ldconfig
ldd 是用来检查可执行文件所需要的共享库。例如:
$ ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001c000)
libc.so.6 => /lib/libc.so.6 (0x40020000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
我们在 /bin/ls 程序上运行 ldd 命令,就可以检查该程序所使用的共享库。注意在 ldd
命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux
的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文
件中包含有默认的共享库搜索路径,例如:
/usr/X11R6/lib
/usr/lib
/usr/i486-linux-libc5/lib
/usr/lib/qt-2.0.1/lib
/usr/lib/qt-1.44/lib
/usr/lib/qt-2.1.0/lib
/usr/kerberos/lib
/usr/lib/qt-1.45/lib
通常情况下,许多开放源代码的程序或函数库都会默认将自己安装到 /usr/local 目录下
的相应位置(/usr/local/include、 /usr/local/bin 或 /usr/local/lib 等),以便与系统自身的程
序或函数库相区别。而许多 Linux 系统的 /etc/ld.so.conf 文件中默认又不包含
/usr/local/lib。因此,往往会出现已经安装了共享库,但是却无法找到共享库的情况。这时,
就应该检查 /etc/ld.so.conf 文件,如果其中缺少 /usr/local/lib 目录,就应该添加进去。
在修改了 /etc/ld.so.conf 文件或者在系统中安装了新的函数库之后,还要运行一个命
令,即 ldconfig。该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少
共享库系统的库搜索时间,共享库系统维护了一个共享库 so 名称的缓存文件。因此,在安
装新的共享库之后,一定要运行 ldconfig 刷新该缓存。
阅读(1210) | 评论(0) | 转发(0) |