|
| 让Linux应用更加得心应手的20招 (一) |
 |
| 时间:2005-04-27 作者:不详 来源:不详 |
 |
1.计算文件数和目录数
下面的语句可以帮你计算有多少个文件和多少个目录 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir 还可以将以上的语句变成script或做个alias
2.显示文件的类型
用命令file可以使你知道某个文件究竟是ELF格式的可执行文件,还是shell script文件或是其他的什么格式,例如:#file startx
3.用dd命令转换数据格式
你大概知道dd命令是用来拷贝数据的。特别是用来制作启动盘。但是dd也 能用于数据转换。在 "endian" 结构的系统上,导出Ingres数据库的内容 时,代码会发生奇怪的转换,它把:“The cat in the hat”转变成了 “hT eac tnit ehh ta”,把数据恢复过来的办法就是采用dd命令: dd if=randys_bad_data of=marcs_good_data conv=swab 最后部分 "conv=swab" 告诉dd采取 "swap bytes" 方式转换。 同样的,如果要吧EBCDIC格式的数据转换为ASCII格式就可以采用如下命 令: dd if=ebcdic_file of=ascii_file conv=ascii dd的man帮助显示出有不少于10种转换,仔细看看,下次遇到同样问题时, 就可以用dd来帮忙了。
4.禁止使用ping命令
ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间 交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测 某一个服务器时,可能在因特网上存在某个非法分子,通过专门的黑客程 序把在网络线路上传输的信息中途窃取,并利用偷盗过来的信息对指定的 服务器或者系统进行攻击,为此我们有必要在Linux系统中禁止使用Linux 命令。在linux里,如果要想使ping没反应也就是用来忽略icmp包,因此 我们可以在Linux的命令行中输入如下命令:echo 1 > /proc/sys/net/ipv4 /icmp_echo_igore_all ;
如果想恢复使用ping命令,就可以输入:echo 0 > /proc/sys/net/ipv4/ icmp_echo_igore_all命令。
5.显示Win9X分区里的长文件名
如果你发现 Win9X 分区里的长文件命不能显示,可以重新用 vfat方式来 mount。对于启动时就mount的分区可以修改文件/etc/fstab,将里面的msdos 字样改为vfat。如果无法用vfat mount, 则要重新编译一下核心,加入对 vfat的支持。
6.Linux里的Norton Commander
在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界 面,实际上功能也很相似甚至更强大,比如可以直接对.tar.gz压缩包里 的文件进行! ! 作(有点像ZipMagic)。
7.启动后直接进入X
编辑/etc/inittab文件,把id:3:initdefautl改为id:4:initdefautl。不 过搜索路径可能会有些问题, 关机时你得直接进入/sbin里去执行shutdown。
8.巧妙使用“Tab”键
大家知道在 Linux字符界面中输入命令时,有时需要输入很多字符,如果 经常这样逐个地输入字符,比较麻烦。假设键入的字符足以确定该目录下 一个惟一的文件时,我们只需按键盘上的 “Tab”键就可以自动补齐该文 件名的剩下部分,例如要把目录/ccc下的文件“ddddddd-1.2.3.tar.gz” 解包时,当我们在命令行中键入到“tar xvfz /ccc/d” 时,如果该文件 是该目录下惟一以“d”打头的文件的话就可以直接按下“Tab”键,这时 命令会被自动补齐为:tar xvfz /ccc/ddddddd-1.2.3.tar.gz,从而提高 了输入效率
9.强行退出X
有时候在X里由于程序出错鼠标键盘都不起作用,这时候不用着急,因为 在Linux下几乎不会像在Win95里那样恶性死机, 你只须键入Ctrl+Alt+Back Space键就可以回到字符界面下了。
10.重装Win9x后lilo失效无法启动Linux
只须先用软盘启动Linux然后运行一次lilo即可。对于RedHat可以用命令 mkbootdisk来制作启动盘,例如:mkbootdisk--devices/dev/fd0 2.0.34 -1。其中2.0.34-1是/lib/modules下的一个目录。
11.去掉引导区内的lilo信息
安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这 时只须用软盘启动dos再运行 fdisk/mbr即可。(用这个方法还可清除任何 引导区病毒哦)
12.查看文件的方法
如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd 如果你想查看文件的后10行,可以使用tail命令,如: tail -10 /etc/ passwd 你知道怎么查看文件中间一段吗?你可以使用sed命令 如: sed -n '5,10p' /etc/passwd 这样你就可以只查看文件的第5行到第10行。
13.消除Xwindows下的死机现象
我们可以用两个常用的方法来消除这种现象:第一,用键盘上的复合键 “Ctrl+Alt+Backspace”来关闭当前正在运行的任务;第二,首先按住键 盘上的“Ctrl+Alt+F2” 复合键,让系统切换到另一个! ! 作台,然后登录 到系统,再执行“#ps -ax/grep startx”命令,这将会列出你的Xserver 的进程标识,接着在命令行中输入如下命令就能消除Xwindows下的死机现 象:#kill -9 PID_Number ,最后通过“Alt+F1”复合键返回到原来的平 台。
14.用当前路径作提示符
对bash来说,在.bashrc里加一行:PS1="$PWD$" 对tcsh来说,在.tcshrc里加一行:set prompt="%/>"
15.快速关闭Linux系统
最新版本的Linux/UNIX系统借鉴了大型机的技术,采用了抗掉电的日志式 文件系统,可以自动跟踪保存用户数据,自动同步刷新文件系统,用户完 全可以随手关闭电源,从而达到快速关闭系统的目的。
16.修复Linux下超级用户的密码
如果超级用户将密码忘记,就无法进入系统,也无法管理和使用系统。本 来这种事不太可能发生,但是在一些Linux单机使用者,尤其是初学者中, 却是比较容易发生。一般的解决方法就是格式化硬盘来重新安装系统,但 这有点儿小题大作了。准备好bootdisk和rootdisk两张软盘,从软驱启动, 启动到root盘并出现shell提示符。将Linux根目录分区mount至/mnt目录, 比如你的Linux在硬盘第一分区,就在命令行中输入mount/dev/hda1 /mnt, 然后进入mnt目录,将其中的etc/passwd文件改名,输入mv /mnt/etc/passwd /mnt/etc/passwd.bak就可以了;接着使用命令cp /etc/passwd /mnt/etc/ passwd将软盘上的/etc/passwd文件复制到硬盘中的etc目录下,这样重新 由硬盘启动,登录时就不会询问超级密码;最后使用mv/etc/passwd.bak passwd命令将passwd文件改回,再运行passwd命令重新设定密码就可以了。
17.一次处理一整个目录
Linux/UNIX的很多常用命令如rm,cp等都有一个参数“-r”,是递归的意 思,命令里加了参数“-r”就可以对目标目录及其下所有子目录进行! ! 作, 如: rm -rf /test(f是“force”意为强行),该命令完全删除根目录下的子目 录test,作用类似于dos下的deltree,当然使用这个命令时要特别小心。 再如:cp -r/test/test1有类似dos下xcopy/s的作用。
18.列出除了某些类型文件的当前目录所有文件
使用Ksh,用ls !(*.Z)可以显示所有文件,除了*.Z文件。 这个命令在一 个目录里有许多种类型的文件的时候很有用。
19.制作LILO启动盘
只要将/etc/lilo.conf中的boot=/dev/hdxx改为/dev/fd0,然后执行lilo -v将LILO写入磁盘,LILO 启动盘就做好了。注意,在启动盘做完后,再 将boot=/dev/fd0改回原来的设置,并再次执行lilo -v 写回主引导记录 或Super Block。
20.使用nohup命令
如果你想进程在你退出系统后还能执行,可以使用NOHUP命令 如: % nohup tar -cf /dev/tape /home & 你退出后再重新登录的话,使用'ps'命令可 以看到进程还在执行。
返回
linux入门 轻松安装、卸载Linux软件
Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中, 我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程 序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工 具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具 是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮 助信息。
软件的安装
Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx. tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多 为以源码形式发送的;第二种方式则是直接以二进制形式发送的。
对于第一种,安装方法如下:
1.首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录 上的,就将软件拷贝至/root中。
#cp xxx.tar.gz /root
2.由于该文件是被压缩并打包的,应对其解压缩。命令为:
#tar xvzf filename.tar.gz
3.执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以 看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的 文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。
4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于 检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安 装所需要的系统信息。为随后的编译工作做准备。命令为:#./configure。
5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编 译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不 同。命令为:#make。
6.成功编译后,键入如下的命令开始安装:
#make install
7.安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。 键入如下命令:
#make clean #make distclean
至此,软件的安装结束。
对于第二种,其安装方法要简单得多。
同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装 该文件。命令如下:
#rpm -i filename.i386.rpm
rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的 安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。
软件的卸载
1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系 统中注册的名称。键入命令:
#rpm -q -a
即可查询到当前系统中安装的所有的软件包。
2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下 命令即可卸载软件:
#rpm -e [package name]
参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行 卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系 而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略 依赖关系,直接开始卸载:
#rpm -e [package name] -nodeps
忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。
返回
Howto 如何制作基于软盘的Linux系统
嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定 制的系统模块组成。由于Linux是开放源代码的! ! 作系统,因此,其在嵌 入式领域有其不可替代的成本和高度灵活性等优势。
将Linux系统裁减到就像DOS一样只要一张软盘就能启动,是制作嵌入 式Linux的基础。网络上有许多实现方法的介绍,但是在实践过程中都或 多或少存在着一些问题或不方便之处。我们结合自己在这方面的实践经验, 详细介绍基于软盘的Linux系统制作过程。
三个基本元素
一个嵌入式Linux系统只需要下面三个基本元素:引导程序、Linux微 内核(由内存管理、进程管理和事务处理构成)和初始化进程。如果要让 它有更多的功能且保持小型化,还可以加上文件系统、TCP/IP网络支持、 GUI(图形用户界面)和设计精简的应用程序,并将其放在ROM、RAM、FLASH 或Disk On Chip中启动。由于嵌入式Linux! ! 作系统的高度灵活性,开发 者可以很容易地对它进行定制或作适当开发,来满足实际应用需要。
将Linux 的系统裁减到只要一张软盘就能启动,不但是制作嵌入式 Linux的基础,而且自己也有广泛的应用前景。这些应用包括简单路由器 管理、三层交换机管理、floppy-boot防火墙管理等。国外有专门的组织 致力于这方面的工作,如LOAF(Linux on a floopy)等组织。 |
|