免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: wolf2602
打印 上一主题 下一主题

Linux爱好者入门教程(随时更新)!! [复制链接]

论坛徽章:
0
21 [报告]
发表于 2003-04-14 11:19 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

Linux下新手装网卡指南
本文出自:http://www.china-pub.com 作者: 杨园

  本文主要面对新新手,不对任何高难度问题进行讨论,包括双网卡,正常编译了driver也不能用的古怪网卡等.本文的主要目的是告诉新新手,Linux下网卡是怎样被驱动的.本文不讨论安装Linux的问题,假设用户已经成功安Linux,就等驱动网卡.
  第一步--不要再问 Linux下能够装XXX卡么? 这样的问题,Linux是个开放的系统,借助于网络上无数的高手,几乎所有的硬件都能找到支持.
  首先需要指出,Linux下对网卡的支持往往是只对芯片的,所以对某些不是很著名的网卡,往往需要知道它的芯片型号以配置Linux.比如我的Accton 网卡,就不存在Linux的driver,但是因为它是NE2000兼容,所以把它当NE2000就可以在Linux下用了.所以当你有一块网卡不能用,在找Linux的driver之前一定搞清楚这个网卡用的什么芯片,跟谁兼容,比如3c509,ne2000,etherexpress等等.这样的型号一般都在网卡上最大的一快芯片上印着,抄下来就是了.
  最普遍使用也许是最好配的网卡也许就是Ne2000兼容卡了,我用它来作例子.注意实际上很多廉价卡都是NE2000兼容的.
  对于NE2000卡,先要作的一件事情,是将网卡设定为Jumpless模式.很多现在的网卡缺省都是PnP模式,这在95下的确能减少很多麻烦,但是Linux不支持,所以Linux下必须是Jumpless模式.一般所有程序将网卡设为Jumpless.当然如果是老卡,本来就不是PnP,不用管这个.注意,这里主要是ISA的NE2000,关于PCI的NE2000,需要另外设置.
  下来就是得弄清楚网卡的IO地址和IRQ.这是两个非常重要的网卡驱动参数.这个最简单就是还用那个网卡的设定程序,设定完Jumpless之后肯定有地方可以软设定IO和IRQ.老一些的卡得跳线,道理一样.另外一个方法是如果网卡能在95或NT下工作,去95下的control panel里看这个卡的properities,查IO和IRQ.
  OK,到现在,你知道了你的卡是NE2000兼容,知道了它是在Jumpless模式下,知道了IO地址和IRQ,就可以安装了.
  Linux系统与95这些系统不同的一点是它是运行在 内核 上的,所谓内核,就是把系统最核心的部分孤立出来编程,将各种驱动程序,内存控制等部分编在一起.于95不同,Linux得内核是公开的,经常更新的,这样不需要更新整个系统,用户只需要把最新的内核原程序download下来编译,就可以得到一个支持更多硬件,更多文件系统,更安全的系统了.所以需要指出,Linux的Driver很少有象95下那样是 安装 的.Linux下的driver大多数都是以C程序形式发布,或者在内核里,或者需要用户自己修改内核代码.总之要让Driver运行,得重新配置编译内核.如何操作Linux内核是学习Linux中非常重要的一节.Linux的新手最好在这里多下点功夫搞清楚.有关核心的问题建议看Linux How To文档中的kernel How to.
  Anyway, Linux已经装好了,那么用的是什么内核呢?一般缺省的Linux内核是从安装盘上来的.那个内核一般包括大多数硬件的驱动程序,比如Ne2000卡.所以未一定要重新编译内核,也许现有的内核就可以驱动.所以下一步就是把网卡插入计算机,看看Linux能否发现它.这可以从Linux的启动画面中看出来,如果你发现如下的一行:
  eth0:NE2000 card found at 0x300 using IRQ 05
那就说明Linux发现了NE2000卡,在IO 300, IRQ 05的地方.
  如果Linux没有发现你的网卡,但是你确认你网卡得型号和参数,比如我的网卡是NE2000兼容,IO 0x300, IRQ 05.那么可以修改Linux启动文件专门搜索这个设备.这个文件在/etc/rc.d/rc.modules里对于NE2000,是这样的:
  #/sbin/modprobe ne io=0x300 # NE2000 at 0x300
将最前面的#号去掉,再启动机器试试.
  另外该文件里还可以发现对其它系列网卡比如3C系列的autoprobe.
  OK,到现在启动屏幕上也没有出现
  eth0:NE2000 card found at 0x300 using IRQ 05
这样的好消息,那么你就得编译内核了.
  编译内核之前一定要搞清楚的是网卡的芯片号.比如我有一块SMC的网卡,但是我是无法在Linux的内核配置菜单里找到SMC这样的字样的,Linux不是win95,有那么长一串厂商牌号等.我在这个SMC的卡上找到了digital 21140-AE的字眼,于是我知道这个卡用的是DEC 21140-AE芯片,于是按照这个寻找,就找到了驱动.
  知道了芯片类型,或者兼容类型(比如ne2000)就可以开始编译内核了.具体的针对不同系统的内核编译推荐先看看有关内核编译的文章,这里不多作介绍.
  进入/usr/src/linux
  运行make menuconfig进入菜单配置内核.找到Network Device Support.选则EtherNet,再选则相应的芯片号.如果是ISA系线的NE2000,就选则other ISA cards,选则NE2000/NE1000 ISA support.如果是PCI的网卡,就选则PCI ethernet adapters.注意,PCI卡未必都能这样驱动,很多都不行,得另外找driver.比如Intel PCI EtherExpress Pro 100等.
  有关其它选项希望能多自己摸索.多看看help和how-to.
  配置完内核后,运行make dep;make;make zlilo就可以了.如果内核选项过多会出现过大的情况而无法安装.那么需要把一些不必要的驱动去掉.
  一般这样之后再启动就可以发现网卡了.驱动了网卡,下一步就是设定TCP/IP这些东西.这就不是这里的内容了.
  我的经验,Linux下NE2000兼容卡都比较好设.3c系列的卡也都有支持.至于其它卡比如我的DEC 21140就麻烦很多.
  另外有些卡即使用某种芯片也未必就能用这个芯片的驱动,这种情况就是有驱动程序也不能用,就需要上网查了.
  有关Intel Etherexpress系列卡的配置.Linux内核中有Etherexpress 16的支持,但没有其它卡的driver.在http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html里有关于EtherExpress 100B pro的讨论.在那里可以download到一个c源码的驱动程序,编译进内核就可以了.
  那么,如果以上都试过了,而你的网卡的确还是不能认,那么你需要上网查driver了.在网上查东西是一门看起来简单实际上极体现经验的学问.建议寻找Linux网卡的driver从http://cesdis.gsfc.nasa.gov/linux/drivers/开始.在那里可以发现的针对网卡得驱动有:
DEC DC21*4* Tulip chip based cards
3Com PCI Etherlink PCI and EISA cards
Intel EtherExpress Pro100B, Pro100+ and Pro10+ PCI
3c515 ISA Fast Etherlink card
SMC EtherPower II (EPIC/100 83c170 chip) driver.
RealTek RTL8129/8139 driver.
Lite-On lc82c168 PNIC driver (now merged with the Tulip driver).
Macronix MX98713 and ASIX experimental drivers are now merged with the Tulip driver).
VIA Rhine (VT86C100A and 3043) driver (now released).
Winbond w89c840 driver (beta test). Note: this driver was written without official documentation.
TI ThunderLAN driver (external link -- Caldera/James Banks).
Hewlett Packard 100VG driver updates (external link -- Yaroslav).

Intel EtherExpress Pro/10 PCI driver (remote link).
3c509/3c529/3c579 ISA/MCA/EISA EtherLink III driver update. The driver now detects multiple cards when loaded as a module.
AMD LANCE/PCnet driver update. The driver is now usable as a loadable module.
Cirrus/Crystal/IBM CS8900 series driver (remote link).
PCI NE2000 driver (local page)
PCI NE2000 updates (remote link)

Intel Etherexpress Pro 100,
DEC 21X4* based board,
3Com EtherLink III PCI/EISA (3c590 3c592,3c595,3c597,3c900 3c905)
Intel EtherExpress Pro/10 PCI9 With i82596 Chip)
TI ThunderLan
PCI NE2000
Packet Engines Yellowfin G-NIC
SMC EtherPower II (EPIC/100 83c170 chip)
RealTek RTL8129/8139

  同时还有一个Ecom EtherLink III family 的setup程序,没有用过,也许不错.
  如果这里你还是没有找到相应的网卡驱动,那么就去search了.我推荐的方法是上Internet Newsgroup查.因为你绝对不是第一个在Linux下用这个网卡的人,你的问题绝对有人在网络上问过.而且有人回答过.那么问题就是如何找到他. 最简单的方法是打开netscape 到www.dejanews.com去.这里的关键是关键字的选则,比如我有个卡的芯片是DEC的21140,那么我考虑到21140已经是个长数字,于是输入21140 linux来搜索,这里Linux是必须的,否则看到上千篇关于21140 win95的驱动问题,是不是很烦?结果21140 linux很快就找到了有关文章.

论坛徽章:
0
22 [报告]
发表于 2003-04-17 09:25 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

很多Linux初学者都有这样的烦恼:好不容易才学会在计算机中安装好Linux,配置好硬件,并能顺利的进入GUI图形用户界面。可是,对于如何在Linux平台中安装软件,对很多新手来说,都是一件十分困难的事情。

Linux平台中的Linux的软件的格式是在太多了,不像在微软的Windows中那样,几乎所有的应用软件都是EXE格式,鼠标双击就能安装。当然,在KDE或者GNOME环境中除了RPM格式有专用的RPM管理工具比较好安装之外,其他诸如GZ,TAR.GZ等压缩软件就不得不使用命令来解压和安装。而Linux命令对Linux初学者来说那更是头痛的事情。

Linux软件的安装、卸载问题一直以来都是困扰Linux初学者的难题。究其原因就是Linux与Windows载系统目录,系统配置,软件编译等方面存在着太大的差别。Linux下的软件的安装主要有以下这两种不同的格式。第一种安装文件名为filename.tar.gz。另外一种安装文件名为filename.i386.rpm。一般来说,以第一种文件格式发行的软件多数为源码形式发送的。第二种则是直接是以二进制形式发行的。i386表示该软件是按INTER386指令集编译而成的。所谓的RPM就是RedHatPackageManager的缩写,由RedHat公司开发的软件包和管理程序。RPM格式的软件对与Linux初学者来说在安装上是非常方便的。RPM的设计目的就是具有方便的升级功能;强大的查询功能;安全的系统校验;允许用户能够使用“纯净”的源代码。


RPM的使用方法很简单,使用简单的命令即可安装一个RPM软件:
rpm-ivhrpmfilename.i386.rpm
级RPM文件命令为:
rpm-Uvhrpmfilename.i386.rpm,系统会自动删除相应的软件包老版本,如果配置文件同新版本不兼容,则会自动将其保存为另外一个oldconfig.rpmsave文件。
查询RPM文件命令为:
rpm-qrpmfilename


具体查询可以参考以下参数来实现不同的查询功能:

rpm-qa查询系统

rpm-qffilename查询包含该文件的软件包

rpm-qF输入为标准输入,如find/usr/bin|rpm-qF

rpm-qP同-p参数,但输入为标准输入

rpm-qp软件包名,查询该软件包

用RPM校验软件包

可用RPM校验软件包大孝文件权限、类型及属主信息,MD5码校验等信息。

Rpm-Vfilename检查校验该软件包中的文件是否存在

Rpm-Vf/bin/vi校验该软件包中的单个文件

Rpm-Va校验安装的所有软件包

RPM软件总体来说在安装使用方面还是简单的,为了能更快速的安装Linux软件,在这里推荐大家使用一个Linux下当然软件安装辅助软件,FISH(FulxoInstallSHield),该软件就是让你安装应用程序更加地方便,因为在Linux当中,因为文件格式的不同而使软件安装方法的不同,例如RPM,Debian格式,gzip格式,tar格式等等,FISH可以自动容易地识别这些格式,就像在Windows中那样能自动帮你安装应用软件。并且,FISH能在KDE,GNOME等多个桌面环境中运行,也能在Linux终端的,命令栏中运行,FISH无论是对Linux新手还是Linux高手都是十分适用的,FISH能为你节约在Linux下安装应用软件的时间。下面就让我们来看一看在Linux系统中使用FISH(FulxoInstallSHield)和传统的Linux软件安装方法的比较。

FISH的下载:

FISH是一个免费的的自由软件,在其网站上提供了最新版本的下载。fish.sourceforge.net/download.html

FISH体积很小,不足60KB。

FISH的编译和安装

下载FISH到本地硬盘后可以运行

tarzxvffish-0.0.1.tar进行解压到一个目录中。

然后进入该目录cd../fish-0.0.1中

对比:FISH的编译和安装过程事实上也是传统的Linux下软件的解压和安装方法。没有尝试过在Linux下安装*.tar软件的朋友注意了,现在我们就介绍传统的Linux下软件的解压和安装方法,让大家熟悉一下。

在Linux中,使用命令tarzxvffile.tar.gz(file.tar.gz就是目标软件的完整名字)就可以解压这个压缩包里面的东西了。

注意,在解压.tar.gz后缀名的软件包的时候可以加上如下的参数:如zxvf,zvf

x解开备份文件

v处理文件时显示更多的帮助信息

f后面跟着filename,他是要读入或者写入的备份文件的文件名。解压缩时,filename就是要解开的软件包的完整名字

z解开压缩后的备份文件



相反的,如果我们需要把Linux中某个一个目录下的所有文件给做成一个.tar.gz的软件包,则应当进行如下操作。

假如在目录xxx下,有三个文件,t0.c,t1.c,Makefile那我们可以在当前目录下输入如下命令:

tarcvfxxx.tarxxx|gzip-5>;xxx.tar.gz

上面的命令实际上是先把三个文件用tar打包成xxx.tar然后用gzip压缩成xxx.tar.gz。通过这两个步骤,打包压缩文件就完成了。

tar后面的vf就是参数:

v处理文件时显示更多的帮助信息

f后面跟着filename,它是要读入或者写入的备份文件的文件名。

gzip后面的-5可以是-1-2...,-9。

其中,-1压缩速度最快,但效果不好,反之-9压缩是速度最慢压缩的效果却最好。

现在就可以对FISH进行编译安装了:

运行下面的命令

%./configure
%make
%makeinstall  


FISH的使用

基本用法:

使用FISH来安装RPM文件是一个不错的选择,FISH支持正常的RPM格式的文件,FISH能自动的安装RPM格式的文件。

下面是如何利用FISH来安装RPM文件

使用FISH来安装RPM文件最重要的是要告诉FISH要安装的RPM文件在什么地方和要FISH执行什么样的命令:

fish--analyse--depfile

上面是让FISH来分析某个RPM文件包的从属关系,其中directoryname就是该RPM文件包所在的目录,filename就是该RPM压缩包的文件名。由此可见,使用FISH来安装所需要记住的参数并不多,使用FISH来安装是比较适合Linux初学者的。

对比:从网上或者光盘上下载Linux软件包,.rpm结尾的文件是很常见的,这些文件的安装要使用RPM套件管理系统,才能安装。在

一般情况下,安装rpm包是很容易的,如过你有一个包test.i386.rpm,你可以这样来安装:

rpm-itest.i386.rpm

fish--depfile-i

上面命令是让FISH来安装某个RPM文件,这个命令主要是使用存储在filename中的文件从属信息来安装RPM压缩包要想得到更多的关于FISH的帮助信息,请输入fish--help就能获取。

论坛徽章:
0
23 [报告]
发表于 2003-04-18 08:52 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

[quote]原帖由 "lwj2003429"]斑竹升级频率能不能快点???[/quote 发表:

嘿嘿。。。。我尽量!!好吧!!!

论坛徽章:
0
24 [报告]
发表于 2003-05-07 13:43 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

磁盘管理

  

  在Linux系统中,如何有效地对存储空间加以使用和管理,是一项非常重要的技术。本章讲述如何查看系统中存储空间的使用情况、如何进行文件的转储、以及如何进行软盘的格式化。

  磁盘空间管理

  系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。Linux系统提供了一组有关磁盘空间管理的命令。

  df命令

  功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

  语法:df [选项]

  说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。

  该命令各个选项的含义如下:

  -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

  -k 以k字节为单位显示。

  -i 显示i节点信息,而不是磁盘块。

  -t 显示各指定类型的文件系统的磁盘空间使用情况。

  -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

  -T 显示文件系统类型。

  例1:列出各文件系统的磁盘空间使用情况。

  $ df

  Filesystem 1 K-blocks Used Available Use% Mounted on

  /dev/hda2 1361587 1246406 44823 97% /

  df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。

  例2:列出各文件系统的i节点使用情况。

  $ df -ia

  Filesystem Inodes IUsed IFree Iused% Mounted on

  /dev/ hda2 352256 75043 277213 21% /

  none 0 0 0 0% /proc

  localhost:(pid221) 0 0 0 0% /net

  例3:列出文件系统的类型。

  $ df -T

  Filesystem Type 1K-blocks Used Available use% Mounted on

  /dev/hda2 ext2 1361587 1246405 44824 97% /

  本例中的文件系统是ext2类型的。

  du命令

  du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。

  功能:统计目录(或文件)所占磁盘空间的大小。

  语法:du [选项] [Names…]

  说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。

  该命令的各个选项含义如下:

  -s 对每个Names参数只给出占用的数据块总数。

  -a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

  -b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。

  -k 以1024字节为单位列出磁盘空间使用情况。

  -c 最后再加上一个总计(系统缺省设置)。

  -l 计算所有的文件大小,对硬链接文件,则计算多次。

  -x 跳过在不同文件系统上的目录不予统计。

  下面举例说明du命令的使用:


  例1:查看/mnt目录占用磁盘空间的情况。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*

  drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/

  -rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack

  drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/

  1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->;/home/wei/

  dev:

  tota1 0

  lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->;/dev/hdb

  var:

  tata1 37

  -r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*
 

  例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。

  $ du

  l ./dev

  38 ./var

  48 .

  输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。

  注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

  $ du –s /mnt

  /mnt

  例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。

  $ du -ab

  8 ./dev/cdrom

  l032 ./dev

  36064 ./var/rawrite. exe

  37088 ./var

  6229 ./s1ack

  1l0 ./aa

  l0 ./wei

  45493 .

  磁 盘 操 作

  dd命令

  功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

  语法:dd [选项]

  if =输入文件(或设备名称)。

  of =输出文件(或设备名称)。

  ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

  skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

  obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。

  bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

  cbs = byte 一次转换bytes字节。

  count=blocks 只拷贝输入的blocks块。

  conv = ASCII 把EBCDIC码转换为ASCIl码。

  conv = ebcdic 把ASCIl码转换为EBCDIC码。

  conv = ibm 把ASCIl码转换为alternate EBCDIC码。

  conv = block 把变动位转换成固定字符。

  conv = ublock 把固定位转换成变动位。

  conv = ucase 把字母由小写转换为大写。

  conv = lcase 把字母由大写转换为小写。

  conv = notrunc 不截短输出文件。

  conv = swab 交换每一对输入字节。

  conv = noerror 出错时不停止处理。

  conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。

  例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:

  $ dd if =/dev/fd0 of = /tmp/tmpfile

  拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:

  $ dd if = /tmp/tmpfile of =/dev/fd0

  软盘拷贝完成后,应该将临时文件删除:

  $ rm /tmp/tmpfile

  例2:把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。

  (注意:软盘中的内容会被完全覆盖掉)

  $ dd if = net.i of = /dev/fd0 bs = 16384

  例3:将文件sfile拷贝到文件 dfile中。

  $ dd if=sfile of=dfile

  fdformat 命令

  软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。

  功能:低级格式化软盘

  语法:format [-n] device

  说明:该命令的作用是对软盘进行格式化。

  -n 软盘格式化后不作检验。

  device 指定要进行格式化的设备,通常是下述设备之一:

  /dev/fd0d360

  /dev/fd0h1200

  /dev/fd0D360

  /dev/fd0H360

  /dev/fd0D720

  /dev/fd0H720

  /dev/fd0h360

  /dev/fd0h720

  /dev/fd0H1440

论坛徽章:
0
25 [报告]
发表于 2003-05-07 13:44 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

与系统管理有关的命令

wall命令

这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:

# wall < 文件名

这样就能对所有的用户发送信息了。

在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。

例如:

# wall ‘Thank you!’

Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…

Thank you!

#

执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。

write命令

write命令的功能是向系统中某一个用户发送信息。

该命令的一般格式为:

write 用户帐号 [终端名称]

例如:

$ write xxq

hello

此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键即可。

上述命令执行的结果是,用户xxq的屏幕上会显示:

message from test@test.tlc.com.cn tty1 at 15:51…

hello

EOF

mesg指令

mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:

# mesg y

否则,输入:

# mesg n

对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。

如果mesg后不带任何参数,则显示当前的状态是y还是n,如:

$ mesg

is y

或:

# mesg

is n

sync命令

sync命令是在关闭Linux系统时使用的。

用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。

sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:

sync

shutdown命令

shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。该命令的一般格式为:

shutdown [选项] [时间] [警告信息]

命令中各选项的含义为:

- k 并不真正关机,而只是发出警告信息给所有用户。

- r 关机后立即重新启动。

- h 关机后不重新启动。

- f 快速关机,重启动时跳过fsck。

- n 快速关机,不经过init程序。

- c 取消一个已经运行的shutdown。

需要特别说明的是,该命令只能由超级用户使用。

例1:系统在十分钟后关机,并且马上重新启动。

# shutdown – r +10
 

例2:系统马上关机,并且不重新启动。

# shutdown – h now


free命令

free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。该命令的一般格式为:

free [-b | -k | -m]

命令中各选项的含义如下:

-b 以字节为单位显示。

-k 以K字节为单位显示。

-m 以兆字节为单位显示。

例:

$ free

total used free shared buffers cached

Mem: 63076 32020 31056 8204 16360 6048

-/+ buffers/cache: 9612 53464

Swap: 64476 2240 62236

uptime命令

uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。该命令的一般格式为:

uptime

例:

# uptime

4:43pm up 1 day, 5:51, 2 user, load average: 0.01, 0.01, 0.00

与用户有关的命令

passwd命令

出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。该命令的一般格式为:

passwd [用户名]

其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。该命令的使用方法如下:

输入passwd< Enter>;;

在(current) UNIX passwd:下输入当前的口令

在new password:提示下输入新的口令(在屏幕上看不到这个口令):

系统提示再次输入这个新口令。

输入正确后,这个新口令被加密并放入/etc/shdow文件。选取一个不易被破译的口令是很重要的。选取口令应遵守如下规则:

口令应该至少有六位(最好是八位)字符;

口令应该是大小写字母、标点符号和数字混杂的。

超级用户修改其他用户(xxq)的口令的过程如下,

# passwd xxq

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

#

su命令

这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。

该命令的一般形式为:

su [选项] [? ] [使用者帐号]

说明:若没有指定使用者帐号,则系统预设值为超级用户root。

该命令中各选项的含义分别为:

? c 执行一个命令后就结束。

? 加了这个减号的目的是使环境变量和欲转换的用户相同。

? m 保留环境变量不变。

例1: 变成root用户

$ su ?

password: 【输入超级用户的密码】

例2: 变成xu使用者,并执行一个命令就结束。

$ su -xu ? c “rmdir cat1”

其他命令

echo命令

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为:

echo [ -n ] 字符串

其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

例1:

$ echo ‘Thank you !’

Thank you !

例2:

$ echo Thank you !

Thank you !

cal命令

cal命令的功能是显示某年某月的日历。该命令的一般格式为:

cal [选项] [月 [年]]

命令中各选项的含义为:

- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。

- y 显示出整年的日历。

 

例1 显示1999年11月的日历。

$ cal 11 1999

November 1999

Su Mo Tu We Th Fr Sa

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30

例2 显示1999年11月的每一天是一年中的第几天。

$ cal – j 11 1999

November 1999

Sun Mon Tue Wed Thu Fri Sat

305 306 307 308 309 310

311 312 313 314 315 316 317

318 319 320 321 322 323 324

325 326 327 328 329 330 331

332 333 334

date命令

date命令的功能是显示和设置系统日期和时间。该命令的一般格式为:

date [选项] 显示时间格式(以+开头,后面接格式)

date 设置时间格式

命令中各选项的含义分别为:

-d datestr, --date datestr 显示由datestr描述的日期

-s datestr, --set datestr 设置datestr 描述的日期

-u, --universal 显示或设置通用时间

时间域

% H 小时(00..23)

% I 小时(01..12)

% k 小时(0..23)

% l 小时(1..12)

% M 分(00..59)

% p 显示出AM或PM

% r 时间(hh:mm:ss AM或PM),12小时

% s 从1970年1月1日00:00:00到目前经历的秒数

% S 秒(00..59)

% T 时间(24小时制)(hh:mm:ss)

% X 显示时间的格式(%H:%M:%S)

% Z 时区

日期域

% a 星期几的简称( Sun..Sat)

% A 星期几的全称( Sunday..Saturday)

% b 月的简称(Jan..Dec)

% B 月的全称(January..December)

% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)

% d 一个月的第几天(01..31)

% D 日期(mm/dd/yy)

% h 和%b选项相同

% j 一年的第几天(001..366)

% m 月(01..12)

% w 一个星期的第几天(0代表星期天)

% W 一年的第几个星期(00..53,星期一为第一天)

% x 显示日期的格式(mm/dd/yy)

% y 年的最后两个数字( 1999则是99)

% Y 年(例如:1970,1996等)

需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

例1:用指定的格式显示时间。

$ date ‘+This date now is =>;%x ,time is now =>;%X ,thank you !’

This date now is =>;11/12/99 ,time is now =>;17:53:01 ,thank you !

例2:用预定的格式显示当前的时间。

# date

Fri Nov 26 15:20:18 CST 1999

例3:设置时间为下午14点36分。

# date -s 14:36:00

Fri Nov 26 14:15:00 CST 1999

例4:设置时间为1999年11月28号。

# date -s 991128

Sun Nov 28 00:00:00 CST 1999

clear命令

clear命令的功能是清除屏幕上的信息,它类似于DOS中的 cls命令。清屏后,提示符移动到屏幕左上角。

例如:$ clear

论坛徽章:
0
26 [报告]
发表于 2003-07-08 22:11 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

哈哈。。。。。。。受用^_^!

论坛徽章:
0
27 [报告]
发表于 2003-07-18 09:01 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

原帖由 "zhanglw" 发表:
好帖子,继续啊......
另外想让楼主有空介绍一下linux一些环境配置的问题以及各个重要的配置文件。
    坛子里有呀!你搜索一下找找看 :wink:

论坛徽章:
0
28 [报告]
发表于 2003-10-02 20:06 |显示全部楼层

Linux爱好者入门教程(随时更新)!!

原帖由 "ohwww" 发表:
非常感谢.顶
楼主可以把这些资料打包下载一下吗?

自力更生。丰衣足食 哈哈。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP