Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103363995
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-03-22 09:57:20

用惯了Windows操作系统的用户,就像Matrix中那些舍不得拔掉插头的人们一样,一旦接触Linux这样的操作系统,总是以Windows的思维方式和眼光来使用和看待Linux,往往闹出很多有趣的笑话。下面我们就来看一看Windows用户入门Linux都会遇到哪些问题,如何解决这些问题。

cd到哪里去了

接触Linux/Unix较少的人,进入Linux的某个目录,常常会敲入cd命令查看当前路径。结果当再次运行某个命令时,才发现自己已经换了地点,用了ls/dir后才回到主目录。

在Linux下,用pwd命令可以查看当前绝对路径,没有任何参数的cd会返回用户目录。还有“~”符号也是指向用户目录的快捷方式。例如,在任何位置运行“~myapp”都会执行用户目录下的myapp文件。

当前目录下的文件找不到

大概很多Linux新手都碰到过这样的问题:明明这个执行文件就在当前目录下,可敲入文件名称系统却提示找不到该命令?

在Linux下,系统只依据环境变量$PATH来搜索可执行命令,即便该命令就在当前目录也不例外。在执行当前目录下的文件时,需要在前面加上“./”,如./myapp。另外一种解决办法是,在/etc/profile中修改$PATH变量,在最后加上“ :. ”。这样,系统就多了一个搜索执行文件的位置,就是“.”,也就是当前目录。该变量生效后,就可以如Windows一样随意执行当前文件了。

下载的程序不能执行

一些下载文件通常做成可执行文件,如J2sdk的bin文件。可下载之后执行该程序,系统却提示没有该命令或访问拒绝。难道是下载文件有问题?

这是Windows用户入门Linux最易受到困扰的地方。Linux并不像Windows那样以文件后缀名来判断该文件是否可执行,而是根据文件权限设置。若当前用户拥有相对应的x权限,那么该文件就是可执行的。例如文件a,所有者是root,权限是rwxr--r--,那么就只有root有x权限,可以执行它。对其它用户来说,该文件是不可执行的。所以如果执行某些文件失败,应当首先检查它的权限,可以使用chmod +x 文件名,然后再执行。

没有deltree命令

如何将整个目录删除,是Windows用户在Linux中碰到的又一大问题。根据说明,Linux下删除文件就是rm命令,可是键入rm 目录名后,提示目录不能删除。

Linux中,rm可以执行能想到的任何删除操作。以至于有经验的Linux用户反而害怕rm命令的强大,通常会在环境配置文件/etc/bashrc中加上alias rm rm -i,用rm -i参数取代默认的rm命令,这样在删除文件之前会让用户确认一次。删除子目录可以用“rm -rf 目录名”,它不管有多少子目录、多少文件一下子都可删得干干净净。

在哪里设置文件的隐含属性

在Linux为何不能设置隐含属性的文件?

其实在Linux中只要是以.开头的文件,都是自动隐藏的。不信可用ls -a查看主目录下是不是多了很多诸如.bashrc、.profile之类的文件,它们早就在那里,只是没发现而已。

找不到动态连接库

在运行某些程序的时候,会提示libxx.xx.so无法找到。so文件就是Windows下的dll动态链接库,是不是因为vbrun之类的库没有安装?

这样解释基本上正确,但也不尽然。在使用源代码编译安装的时候,可能未指定lib安装目录,那么默认就会安装到$PREFIX b下,也就是软件安装目录下的lib目录。如果一些其它软件试图调用这个目录下的某个libiray,就可能出现上述情况,因为系统默认存放so文件的地方是 /usr b。

解决的办法有两个,第一种是创建软连结的方式,在/usr b下生成一个指向该文件的连接,如ln -s /usr/myapp b/my.so/usr b/my.so。这样,当软件在/usr b下找到my.so调用时,它实际是调用了 /usr/myapp b/my.so文件。第二种方法是修改系统寻找so文件的路径,编辑/etc/ldconf加入相应的路径。也可以运行命令 “ldconfig 路径名”。

怎样查找包含指定字符串的文件

Linux中的find命令很强大,可为什么不支持查找含有某些字符串的文件?

Linux中的find是不支持这种查找方式。但Linux下可以很方便地用grep配合实现这样的功能。例如,想要查找系统中所有包含“linux”字样的文件,可以使用下面命令:

find / -name "*" -exec grep -l "linux" {} \

系统引导出了问题不能使用

fdisk /mbr和sys c:

Linux可以从任何环境启动,只要它自身的系统文件没有受到破坏。如果制作了一张GRUB启动盘,这张盘就可以在任何地方启动任何类型的Linux。例如,如果位于硬盘第二个分区的Linux无法引导,可以使用GRUB启动,输入下面代码:

root (hd0,1)
kernel /boot mlinuz-2.4.x ro root=/dev/hda1
initrd /boot/initrd-2.4.x.img
boot

其中一些内核文件依据系统而有所差别,不清楚的时候可以按Tab键查看所有可能的项目。

链接

Linux小辞典(3)

X-Window

Unix的图形窗口环境,它又被称作X11或X,是许多用户界面都需要的底层编程环境。

KDE

KDE(K Desktop Environment)是Linux最主要的用户界面(窗口管理器)之一,是用Qt构建的。其网址为,最新版本为3.3。

GNOME

GNOME(GNU Network Object Model Environment)是一种用于Linux的用户界面(窗口管理器),是用Gtk构建的。其网址为,最新版本为2.0。

XFree86 X+Free +Intel x86

XFree86是Linux的一个X-Window系统版本。被GNOME、KDE和其它Linux用户界面/窗口管理器所使用。其网址为,最新版本是4.3。

Virtual Desktop

虚拟桌面是一种将用户的工作区扩展到计算机屏幕边界以外的方法。该桌面可以上下左右滚动,就好像一个更大的桌面放置在玻璃屏幕后面,并且可以四处移动以显示图标、窗口及其它一些“在幕后”或视野以外的对象。

Window Manager

窗口管理器,一个图形用户界面(GUI)。它运行于X-Window之上,以便为用户提供窗口、图标、任务栏和其它桌面对象。

Kernel

内核是操作系统的核心,其它所有组件都依赖于它。内核管理诸如底层硬件交互及资源共享之类的任务,包括内存分配、输入/输出、安全性和用户访问。内核的版本序列使用三个数字表示,例如2.4.10。版本号分为两种,一种是产品序列用偶数表示;另一种是测试版用奇数表示。版本号越高表示功能越多。目前 Linux主要发行版本使用的是2.4.xx内核。

LILO

LILO(LInux LOader)是Linux装载程序。它是一种使用最多的分区引导管理器实用程序,能够引导到Linux以外的操作系统。

GURB

GURB(Grand Unified bootload)是一个多重启动管理器。它可以在多个操作系统共存时选择引导哪个系统。和LILO相比,GRUB可以引导根分区在8.4GB以外的操作系统,不需要打补丁。GURB被认为是LILO替代者。

阅读(228) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~