Linux的使用
时间:2007-02-17 来源:PHP爱好者
1、在Linux下玩DOOM游戏出问题的解决办法?
要正确的音效输出,必需使用2.90版或以后的声音驱动程序;它支持即时“DOOM模式”,音效样本是16bit的,如用8bit声卡,可用一些程序让声音出现,如果DOOM动作不流畅,把音效取消(将sndserver文件改名)会有一些改进,DOOM预设是不支持音乐(如同DOS版)的,musserver程序将增加Linux下的音乐支持,它可以在中找到。
2、Linux下的应用程序是否也存在2000年问题?
应该没有,但是有2161年问题。和其它操作系统一样,Linux的系统时间是一个整数,目前是32位的。它表示从1970年1月1日0点0分0秒开始算起的秒数。2^32/3600/24/365是它溢出的大致年数,这个数是136。1970+136=2106!
3、Linux与DOS下执行程序有何异同?
在Linux下要执行一个程序,就像DOS下那样,键入它的名字即可。如果这个程序被放在 PATH指定的目录中,该程序就会被启动。不同的是,Linux不像DOS那样,可以执行放在现行目录下的程序,除非已经加入PATH中了,在Linux下,若要执行现行目录下的程序,可以这样做:./.
Linux还可以同时执行数个程序,可以在同一行上键入数个命令:
$ command1 ; command2 ; ... ; commandn
Linux还可以将一个原本在背景执行的线程提升到前景并继续执行,而且Linux还可以使你有多个session,就如同有好几台电脑在同时工作!
有关Session的操作有:
1)切换 session 1..8:
$ ... .
2)开始一个新的 session , 但不离开原本 session :
$ su - 例如: $ su - root
这相当有用,比如当你要mount一个磁盘(机)时。因为只有 root可以作这件事。
3)结束一个 session:
$ exit
4)在前景执行一个线程:
$ progname [-switches] [parameters] [output]
5)在背景启动一个线程(在背景执行)要加上 '&' 这个符号:
$ progname [-switches] [parameters] [output] &
6)查看有多少线程正在执行:
$ ps
这样会列出一个表格,每一个线程都会有一个 PID 来识别(一个数字)。
7)删除一个线程:
$ kill
有时你需要用该方法来结束一些线程,一个线程可能需要以下方法才可以结束:
$ kill -15
$ kill -9
4、Linux的shell下有关“工作”的操作有哪些?
Shell是Linux下与DOS 的COMMAND.COM相等的东西,它允许你暂停某个线程的执行,或是把前景换到背景、背景换到前景执行,线程也称作'工作'。
1)查看有多少工作:
$ jobs这样列出来的工作是以一个 shell 分配的数字来区别的, 而不是用 PID.
2)暂停一个前景的线程:
$ (但不总是有效 )
3)暂停前景的程序:
$
(ditto)
4)将一个被暂停的程序移到背景继续执行:
$ bg
5)把一个背景执行中的程序提升到前景:
$ fg
6)再一次的, 要砍掉一个线程:
$ kill %
这里的 可能是 1, 2, 3, ... 有了这些命令,你就可以在同一个时间格式化磁盘,压缩档案, 编译一个程序, 还可以解压缩, 而且你仍然还是看到提示号和游标在等待你的命令。
5、怎样改变Linux文件的模式和权限?
使用chmod命令,它是"Change mode"的缩写。这个命令能轻松改变任何文件的模式,以便让你授权的人能读、修改或执行这个文件。有三个基本级别的用户,即:文件拥有者(user),拥有者所在组(group)和其他人(other)。同时也有三个级别的权限:读(read),写(write)和执行(execute)。用户类型可略写为:"u"代表用户,"g"表示拥有者所在的组,"o"为所有其他的用户,"a"表示任何人。而权限也同样缩写为:"r"表示读,"w"表示写,"x"表示可执行。例如要改变文件harold.cat的权限以允许组外用户可读,可键入:chmod o+r harold.cat,chmod命令能允许同时改变多个文件,例如去掉允许任何人对.cat文件写的权限、去掉组外用户的所有权限:chmod a-w,o-rx*.cat
6、Linux与DOS文件常用指令比较,Linux下怎样压缩一个文件?
下面左边是DOS 命令,右边是Linux下具同样功能的指令:
COPY: cp
DEL: rm
REN: mv
TYPE: more, less, cat
例如:
DOS Linux
C:GUIDO>copy joe.txt joe.doc $ cp joe.txt joe.doc
C:GUIDO>copy *.* total $ cat * > total
C:GUIDO>copy fractals.doc prn $ cat fractals.doc | lpr
C:GUIDO>del temp $ rm temp
C:GUIDO>del *.bak $ rm *~
C:GUIDO>ren paper.txt paper.asc $ mv paper.txt paper.asc
C:GUIDO>type letter.txt $ more letter.txt
C:GUIDO>type letter.txt $ less letter.txt
C:GUIDO>type letter.txt > nul $ cat letter.txt >/dev/null
n/a $ more *.txt *.asc
n/a $ cat section*.txt
Linux命令中.* 表示所有隐藏文件;*.* 就是"某些字元" +一个点 + "某些字元" 的文件名称;例如p*r可以满足peter和piper;picked和peck也可以表示为 *c*。Linux还有另外一组万用字元[],使用方法是:
[abc]* 表示以a,b,或是c开头的文件;
[I-N]* 表示由I,J,K,L,M,或 N 开头的文件;
Linux下压缩一个文件用compress。压缩后的文件名以.z结尾,占用更少的空间,但这也和文件类型有关。例如,TIFF图像文件能压缩到原来的5%,数据库输出能压缩到原来的25%。要压缩一个或多个文件,用compress filenames。要解压一个文件,用uncompress filenames或compress -d filenames,两者结果完全一样。要解压的文件都以.z结尾,因此不必把它加到命令行中去。
7、Linux和DOS目录异同点?
DOS 用 表示根目录,Linux则是/.;DOS用 来分隔每一层次目录,Linux 用 /. ,例如: DOS: PROGRAMSC++SOURCESHELLO.CPP
Linux: /home/guido/papers/geology/mid_eocene.tex
相同的是,“..”表示上一层目录,“.”表示现行目录。值得注意的是:Linux系统并不允许你在任何地方cd、rd或是md,每个user都有个自己的目录称作home(这是系统管理者分配的),例如我的home是/home/guido。
Linux和DOS目录指令比较:
DIR: ls, find, du
CD: cd, pwd
MD: mkdir
RD: rmdir
例如:
DOSLinux
C:GUIDO>dir $ ls
C:GUIDO>dir file.txt $ ls file.txt
C:GUIDO>dir *.h *.c $ ls *.h *.c
C:GUIDO>dir/p $ ls | more
C:GUIDO>dir *.tmp /s $ find / -name "*.tmp"
C:GUIDO>cd $ pwd
n/a - see note $ cd
n/a - see note $ cd ~
n/a - see note $ cd ~/temp
C:GUIDO>cd other $ cd /other
C:GUIDO>cd ..temptrash $ cd ../temp/trash
C:GUIDO>md newprogs $ mkdir newprogs
C:GUIDO>md progsturbo $ mkdir /progs/turbo
C:GUIDO>rd newprogs$ rmdir newprogs
C:GUIDO>rd progsturbo $ rmdir /progs/turbo
( ~ 是 home 的一个缩写,cd ~ 可瞬间回到自己的home,不论你在哪里,cd ~/tmp 会带你到/home/your_home/tmp)
8、不想让别的用户看到/etc目录,怎样做?
chmod 770 /etc 使 /etc 看起来象drwxrwx--- root root /etc
9、Linux和DOS的FORMAT命令区别
DOS的FORMAT A: 实际上作了以下工作:
1)物理格式化磁盘;
2)建立 A: 这个目录 (=Linux中的建立一个文件系统);
3)使这个磁盘能被使用者使用(=Linux中的mount一个驱动器)。
这三步在 Linux 中是分开的,在 Linux中可以建立和使用MS-DOS格式的磁盘,还可用其它格式的(例如最常用的ext2),以下是做一张可用的磁盘方法:
1)先 su 为 root
2)格式化一张1.44M的软盘(A:)
# fdformat /dev/fd0H1440
3)建立一个文件系统:
# mkfs -t ext2 -c /dev/fd0H1440(建立一个ext2的文件系统)
或 # mformat a:(建立一个 MS-DOS 的文件系统)
在使用这张磁盘前,需要先将这个磁盘连通驱动器mount,mount 一个驱动器:
# mount -t ext2 /dev/fd0 /mnt
或 # mount -t msdos /dev/fd0 /mnt
现在可以使用这张磁盘了,当要拿出磁盘前,一定要umount!
# umount /mnt
现在可以把磁盘拿出来了。
fdformat和mkfs最好只对未格式过化的磁盘用、已作过的就不需要用这两条命令了。
如要使用B驱动器,用fd1H1440 和 fd1 替换前文中的fd0H1440和fd0。这样,以前对A:,B:的工作现在都移转对/mnt操作了,例如:
DOS Linux
C:GUIDO>dir a: $ ls /mnt
C:GUIDO>copy a:*.* docstemp $ cp /mnt/* /docs/temp
C:GUIDO>copy *.zip a:zip $ cp *.zip /mnt/zip
C:GUIDO>a: $ cd /mnt
A:> /mnt$
使用硬盘的方法类似于软盘,例如可以 mount一个硬盘或光驱,稍微变一下 /dev 下的 device,例如mount一个光驱:# mount -t iso9660 /dev/cdrom /cdrom
10、如何在Linux下读取软盘DOS系统的文件?
有两种方法:
1)将含DOS文件的系统挂到Linux的文件系统上,通过mount命令来实现,mount命令的语法是:mount device mount-point device是指要挂上的设备,如果是软盘,一般是/dev/fd0或者/dev/fd1,表示第一个软驱或第二个。mount-point是希望将文件系统挂上的目录,这个目录必须是在mount之前已经存在,并且一定要是空目录。比如要将系统的第一个软驱中的软盘挂到Linux文件系统中,可以打入如下命令:
root> mount /dev/fd0 /mnt/floppy 然后就可以通过对/mnt/floppy这个目录来访问软盘了。
2)通过Linux提供的mtool工具来实现的。这些命令使你不需要mount也能访问DOS的文件系统,这样的命令都以m开头,如mdir,mformat,mdel等等。
(注:第一种方法适合所有Linux支持的文件系统,包括光驱等其他一些设备,可用-t指明想要的文件系统类型。另外,光驱mount以后,不能随便拆除的,必须先umount文件系统才可取出光盘)
11、Linux中AUTOEXEC.BAT 和CONFIG.SYS是什么?
DOS中有AUTOEXEC.BAT 和CONFIG.SYS,当启动 DOS 时,它们负责系统的一些设置工作,如设定环境变量PATH、FILES等等,甚至可以调入其它必需在开机时载入的程序。
Linux中也有一些类似的文件,但操作它们时,需要特别谨慎,它们是:
FILES NOTES
/etc/inittab don't touch for now!
/etc/rc.d/* ditto
如果想设定PATH或其它的环境变量、修改login时的信息、调入一个程序,见下面:
FILES NOTES
/etc/issue sets pre-login message 设定login前的信息
/etc/motd sets post-login message 设定login后的信息
/etc/profile sets PATH and other variables, etc. 设定环境变量
/home/your_home/.profile does whatever you want 这里可以随意加入你想要的
如果最后那个文件(~/.profile)存在,(注意它是隐藏文件,功能类似DOS的AUTOEXEC.BAT),则在login后、它的内含命令就会被执行。例如这个.profile:
# I am a comment
echo Environment:
printenv | more # 相当于DOS下的SET命令
alias d='ls -l' # easy to understand what an alias is
alias up='cd ..'
echo "I remind you that the path is "$PATH
echo "Have a good day, "$LOGNAME
PATH 和 LOGNAME,正如你所预料的,是两个环境变量。
Linux下所有的事都可以按照你的要求作安排,大多数程序都有其自己的初始化设置文件,这些都可以由你来修改,它们通常都以 .prognamerc的形式存在于home目录中,需要知道的设置文件有:
..xinitrc: 用来初始化 X Window System;
..fvwmrc: 初始化 fvwm 这个 window manager,可以在/usr/lib/X11/fvwm/system.fvwmrc 找到范例;
..xfm/*: xfm (一个 file manager) 的设定文件;
..Xdefault: 由 rxvt(一个终端模拟程序)所使用。
对于其它设定文件,参见Man page。
php爱好者站 http://www.phpfans.net c/vc/c++/java.