这篇文章是在下载Nvidia显卡驱动时发现的,原名是Appendix H. Tips for New Linux Users。原来的翻译在我的live space博客上,但是我一直没有翻译完,现在转到这里把它给搞定再说。
原文地址:http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/README/appendix-h.html
Nvidia显卡驱动安装帮助附件H
附录H:Linux新手指南
这份安装指南假设用户至少具有对Linux技术与术语有基本的了解。在该部分,我们提供了一些可能对Linux新手有帮助的Tips。鉴于这些tips仅用于安装及设置Nvidia驱动时阐明与帮助用户,它并不能被当作一份Linux操作系统的使用及管理教程。不像其他一些桌面操作系统,在Linux上你很容易就会犯下对操作系统的不可挽回的错误。如果你对Linux的使用并不熟悉,我们强烈建议你在行动前找一份与你的Linux发行版相关的教程。
The command prompt-命令提示符
尽管最新的Linux发行版都带有全新的桌面环境,很多Linux中的任务仍然需要在命令提示符中完成。如果你对Windows操作系统比较熟悉的话,你会发现Linux中的命令提示符与Windows中的命令提示符很相似,尽管语法和使用稍有不同。该部分中的所有命令都是在命令提示符下执行的。某些Linux系统被设置成启动后就进入控制台模式,用户需要以命令提示符形式登录。另外的系统则被设置成启动即进入X Window系统,此时用户必须打开一个终端或者一个控制台窗口来得到一个命令提示符。这项工作一般可以通过在桌面菜单中查找terminal或者console来完成。鉴于命令提示符是可以自定义的,基本的命令提示符一般有一串包含相关信息的短字符串、#,$,%三个字符之一以及一个用于指示用户的输入将被显示的位置的游标(通常是在闪动的)组成。
Navigating the directory structure-游历目录结构
Linux的目录结构是分层的。在目录结构的任意位置运行ls命令,将显示出当前目录的内容。file命令可以显示某个目录中的文件类型。例如:
% file filename
将显示文件filename的文件类型。更改目录由cd命令完成。
% cd dirname
将切换当前工作目录到目录dirname。在目录结构中的任意位置执行pwd将显示当前工作目录的目录名。Linux中有两个特殊的目录名,“.”和“..”,前者代表当前工作目录,后者代表当前工作目录的父目录。对于任何需要以文件名或者目录名作为参数的命令,你既可以给出对象的绝对路径、也可以给出它的相对路径。绝对路径以“/”开头,代表目录结构的顶端或者说根部。相对路径以当前工作目录中的某个目录开始,可能以“.”或者“..”开始。路径的组成元素以“/”隔开。例如,如果当前的工作目录是/home/yegle,用户希望切换到/usr/local目录中去,他可以任选以下两个命令中的一个来做到:
% cd /usr/local
或者
% cd ../../usr/local
File permissions and ownership-文件权限及所有权
所有文件以及文件夹都有与之相关的文件权限及所有权。这可以有效地防止非管理员用户对系统的无意(或恶意)损坏。可以通过在ls命令后加-l选项来了解一个文件或目录的权限及所有权。例如
% ls -l
drwxr-xr-x 2 yegle users 4096 Feb 8 09:32 bin
drwxrwxrwx 10 yegle users 4096 Feb 10 12:04 pub
-rw-r–r– 1 yegle users 45 Feb 4 03:55 testfile
-rwx—— 1 yegle users 93 Feb 5 06:20 myprogram
-rw-rw-rw- 1 yegle users 112 Feb 5 06:20 README
输出结果中,第一部分呢第一列字符给出了文件类型,其中“d”表示一个目录,“-”表示一个正常的文件,“l”表示一个链接文件。接下来的9列给出了文件(夹)的详细权限(将在下文中提到)。第二部分给出了与该文件(夹)相关的文件数,第三部分给出了文件(夹)的拥有者,第四部分给出了该文件夹所属的用户组。第五部分给出了文件(夹)的大小(以字节记),第六、七、八部分给出了文件(夹)的最后修改时间,第九部分是文件(夹)的名称。
如前所述,第一部分的后九列给出了文件(夹)的权限。这几列被分为3组,每3个字节为一组,第一组给出了文件拥有者(这里是yegle)的权限,第二组给出了文件所属用户组的权限,第三组给出了其他用户的权限。r,w,x分别代表读、写、执行权限。例如,用户yegle对testfile有读、写权限,在用户组users中的用户只有读权限,其他用户同样只有度权限。同时,对于文件myprogram,用户yegle有读、写、执行权限(假设myprogram是一个可被执行的程序),同时用户组users和其余的用户没有任何权限(举例来说,文件拥有者不想让任何人执行他的程序)。文件的权限、所有权以及拥有该文件的用户组可以分别通过命令chmod,chown和chgrp来修改。如果一个拥有适当权限的用户想把某README文档的用户/用户组从yegle/user转到/joe/admin,他需要执行以下步骤:
# chown joe README
# chgrp admin README
chmod的语法稍微有些复杂,并且有很多变量。给耽搁文件设置权限的最简单方法是使用3个数字来修改。这三个数字分别代表用户、用户组以及其他用户的权限。各个数字相应地代表了读、写、执行的权限。只允许执行用1表示,只允许写用2表示,只允许读用4表示。要表示这些权限的组合,只需要将相应的权限相加就行即可。读与写的权限用5表示,而读、写、执行权限用7表示。没有权限用0表示。这样,要想修改myprogram的权限,给文件拥有者读、写以及执行权限,给拥有文件的用户组读以及执行权限,其余用户没有权限,你需要这样操作:
% chmod 750 myprogram
The shell
shell(原谅我,不知道怎么翻译更加合适,还是用原词了)提供了一个操作系统与用户之间的界面。shell的作用是将用户在命令提示符下的输入翻译给操作系统,让操作系统作出相应的反应。可用的shelle有很多种,各自之间在语法与兼容性上有些许不同。Linux上使用的两种最主流的shell风格源自Bourne shell(sh)和C-shell(csh)。不同的用户对待不同的shell有着不同的偏好和成见,认为某中shell能更加容易地完成某些工作(至少是在直觉上)。你可以通过输出系统中SHELL变量的值来了解你现在使用的shell名称,在命令行中输入:
% echo $SHELL
你可以简单地通过在命令提示符中输入shell的名称来获得一个新的shell:
% csh
或者
% sh
如果你想在某个特定的shell中运行一个程序,可以通过在你想运行的程序前加上shell名称来完成:
% sh myprogram
用户在登录时的默认shell由用户帐户的创建者决定。不同的shell之间有许多的语法差异,可能区别最大的就是环境变量的设置方法了。
Setting environment variables-设置环境变量
每个会话都和环境变量联系在一起。环境变量由成对的名称和数值组成,用于控制shell,并使程序可以根据shell的行为来决定运行方法。环境变量的一个例子是PATH变量,该变量告诉shell当用户在命令行输入一个程序名时去哪些目录寻找对应的可执行程序。如果你确定某个命令存在,但是shell却告诉你它找不到你试图运行的程序,很可能就是PATH变量出错导致的。环境变量根据shell的不同有不同的设置方法。对于Bourne shell (sh),可以这样来修改:
% export MYVARIABLE=”avalue”
对于C-shell,可以这样修改:
% setenv MYVARIABLE “avalue”
在以上两个例子中,双引号仅在数值中含有空格时才有需要添加。echo命令可用于检查某个环境变量的数值:
% echo $MYVARIABLE
用于设置环境变量的命令中也可以引用其他的环境变量(在变量名前加上符号$),甚至是它本身。例如,要想把/usr/local/bin添加到PATH变量的开头,并添加当前目录“.”,用户需要输入:
% export PATH=/usr/local/bin:$PATH:.
(适用于Bourne shell),或者
% setenv PATH /usr/local/bin:${PATH}:.
(适用于C-shell)
注意在C-Shell中花括号是必需的,用于保护变量名称。
Editing text files-编辑文本文件
Linux上有很多可用的文本编辑器。其中某些需要X window系统,而另外的则被设计于在控制台或者终端中使用。熟练地使用一个基于终端的文本编辑器是一件好事,因为总有些时候那些运行X所需的文件是需要被编辑的。三个最流行的命令行编辑器,vi,pico,emacs,都可以在终端中打开,并可以在打开的同时编辑一个文件。vi被认为是三者中最流行最普遍的。对于Linux新手来说,pico更加直白,虽然它一般没有被安装在系统上。 如果你没有pico,你也许有一个相似的叫nano的编辑器。emacs是一个高可扩展,并且使用广泛的编辑器,但是可能在一个非X环境下有些不够灵巧。各个编辑器的更新版本都带有在线帮助,并且能在手册页和info页上找到离线帮助。(请查看Linux中的man手册和info页章节)很多程序使用EDITOR环境变量来决定当需要进行编辑时调用哪个文本编辑器。
Root user-根用户
在安装时,几乎所有的发行版都会建立一个默认的管理员权限的帐号,用户名是root。系统中有很多工作只能用root用户(或者其他有相似权限的用户)来完成,其中之一就是安装NVIDIA Linux驱动。(译者注:别忘了这是N卡驱动安装指南附录H)我们必须强调一点,由于本身的危险性,root用户非常容易使电脑变得很糟糕,令你的系统不稳定。有三种方法成为root用户。你可以登录为root,或者使用其他用户登录,并在命令行中使用切换用户命令(su),或者在某些系统上使用sudo工具集(该工具集允许用户以root身份运行程序,并且用一个log记录所有操作)。最后一个方法相当有用,它可以防止某些用户不经意地引起对系统的损害却不记得到底做了什么(或者是不承认他所进行过的操作)记住一点,使用root权限的时间应该等于完成某些需要root权限的工作所需的时间(这是sudo工具集的另一优点)。
Booting to a different runlevel-启动到另一运行级别
运行级别自动在系统启动或者关闭时决定Linux上什么服务被启动或关闭。运行级别通常在0到6的范围内,其中运行级别5通常会启动X window系统作为系统服务的一部分(运行级别0实际上就是系统挂起,运行级别6则是系统重启)。最好是在X没有运行的时候安装NVIDIA驱动,并且最好是在启动时就阻止X启动,以防止在安装过程中有问题出现(否则的话你会发现你出现问题的系统会自动尝试启动X,但是在启动过程中就挂起了,使你不能做必要的工作以修复X)。根据你的网络设置,运行级别1,2或者3应该足够你安装显卡驱动了。运行级别3通常包含了网络服务,所以如果你在安装过程中需要的工具在一个远程的文件系统上,运行级别1和2可能会不够使用。如果你的电脑自动启动到一个控制台并包含命令提示符,你不需要哦改变任何东西。如果你的电脑自动启动到一个X系统,有一个图形化的登录窗口和桌面,你必须同时完成离开X以及修改你的默认运行级别两项工作。
在绝大多数发行版上,默认的运行级别存储在/etc/inittab里,尽管如此,你还是需要查询你使用的发行版的指南。决定默认运行级别的一行类似于:
id:n:initdefault:
或者其他相似的内容,其中n决定了运行级别的编号。编辑/etc/inittab文件需要root权限。如果你对这个概念不了解,请阅读编辑文本文件和根用户两个章节。同时,推荐你在编辑前备份一个文件,特别是当你刚开始接触Linux文本编辑器的时候,以免无意中把文件搞乱了:
# cp /etc/inittab /etc/inittab.original
文件需要编辑以使系统启动到适合的运行级别(1, 2, 或者3,在绝大多数系统上):
id:3:initdefault:
在完成修改后,退出X。在完成驱动的安装后,你可以将默认启动级别恢复回原来的样子,编辑/etc/inittab文件或者将原来的备份恢复。
不同的发行版有不同的退出X的方法。在很多系统上,init工具集可以用于改变当前的运行级别。这样可以将系统转换到一个不运行X的运行级别
# init 3
还有很多其他的办法可以用于退出X,请查询你的发行版相关指南。
Linux Manual and Info pages-Linux手册页及Info页
系统手册页或者info页通常在安装过程中被安装到系统上。这些页面是不断更新的,通常包含系统中程序和工具集的详细使用方法。同时,很多程序包含了一个–help选项,可以显示出某个程序常用选项的清单。要阅读某个命令的手册页,在命令提示符中输入:
% man commandname
其中commandname代表你感兴趣的命令的名称。类似地,输入:
% info commandname
将显示commandname命令的info页面。根据程序的不同,其中的某个可能更新更加及时。info界面是交互的,可跳转的。如果你无法找到某个你感兴趣的命令的手册页,你可能需要在MANPATH环境变量中添加元素。请查阅设置环境变量章节。
如果你喜欢这篇日志的话,欢迎订阅我的RSS Feed!
本文来源于一阁Blog。版权所有,转载请确保已阅读该页面。


翻译的不错
谢谢!
how can I download the “guide to new user of Linux”?
不好意思,没明白你说的“guide to new user of linux”是指什么……