LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 713|回复: 2

初学者必读:Linux技巧小总结

[复制链接]
发表于 2005-4-14 21:29:08 | 显示全部楼层 |阅读模式
By lanf, 出处:http://tech.ccidnet.com/pub/article/c302_a199589_p1.html



1、处理特殊的文件名

假设Linux系统中有一个文件名叫“-aaa”,如果我们想对它进行操作,例如现在要删除它,如果我们按照一般的删除方法在命令行中输入rm -aaa命令,界面将会提示我们是无效选项(invalid option),原来由于文件名的第一个字符为 - ,Linux把文件名当作选项了,我们可以使用“--”符号来解决这个问题,例如我们可以输入rm -- -aaa命令来删除-aaa文件。如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来。

2、修复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命令重新设定密码就可以了。

3、直接进行Linux的安装工作

通常我们在安装某个操作系统软件时,需要该系统的引导盘启动才能安装。但我们在安装Linux操作系统时,可以利用该系统光盘中的一个名为loadlin.exe的DOS软件,将Linux核心直接调入内存,并由Linux核心代替当前操作系统来接管计算机,并进入Linux的安装界面。在安装Linux时,我们只要在运行对话框中输入loadlin E:imagesvmlinuz root=/dev/ram initrd=E:imagesinitrd.img这个命令就可以直接安装Linux了;其中E是光驱盘符,E:imagesvmlinuz为Linux核心名。

4、快速启动Linux系统

随着个人计算机配置的日益提高,在自己的计算机上安装Linux系统已经不是什么新鲜的事了。假设我们的计算机上同时装有windows和Linux两个操作系统,应该如何启动Linux呢?是否每次都需要重启计算机,通过LiLo引导?其实如果我们在dos下,有一种简单快速启动Linux的方法,那就是load Linux。loadlin.exe是在dos下的可执行程序,它可以在纯dos环境下迅速启动Linux,而且无需重启计算机,通常我们可以在光盘的/kernels目录下可以找到这个程序。如果不知这个程序被放置于安装盘的何处,可以使用“find -name loadlin*”命令来寻找。找到之后将其复制到dos分区中,同时还需要复制一份你所使用的Linux内核文件。可以通过windows直接从光盘复制,也可在Linux环境下使用mcopy命令将文件copy到dos分区;接着再编写一个Linux.bat的批处理文件,文件内容如下:c:loadlin c:vmlinuz root=/dev/hda1 ro

   其中我们假设loadlin.exe和vmlinuz这两个内核文件都在c盘根目录,而root为Linux根设备,而且Linux处于硬盘第一分区,所以设备名为/dev/hda1,ro意为readonly。以后在dos下要启动Linux时,运行Linux.bat就可以了。这样启动Linux快速高效,大大的减少了系统自检时等待的时间。

5、消除Xwindows下的死机现象

   如果我们在Xwindows状态下运行Linux时,由于硬件本身的问题或者自己操作上的不当,有时侯可能会导致系统突然失去响应,也就是我们常见到的一种死机现象,其实此时系统并没有死机。我们可以用两个常用的方法来消除这种现象:第一,用键盘上的复合键Ctrl+Alt+Backspace来关闭当前正在运行的任务;第二,首先按住键盘上的Ctrl+Alt+F2复合键,让系统切换到另一个操作台,然后登陆到系统,再执行#ps -ax|grep startx命令,这将会列出你的Xserver的进程标识(PID),接着在命令行中输入如下命令就能消除Xwindows下的死机现象:#kill -9 PID_Number,最后通过Alt+F1复合键返回原来的平台。

6、快速关闭Linux系统

   旧版本的的Linux/UNIX系统必须先运行shutdown命令,然后才能关闭电源,但最新版本的Linux/UNIX系统已经在这个方面作了很大的改进,再也没有必要象以前那样关机了。因为新版本的系统借鉴了大型机的技术,采用了抗掉电的日志式文件系统,可以自动跟踪保存用户数据、自动同步刷新文件系统,用户完全可以随手关闭电源,从而达到快速关闭系统的目的了。

7、巧妙使用rm命令

我们知道在Linux字符界面中,要删除一个文件的话可以使用rm命令,删除一个目录可以使用rmdir命令。但由于rmdir命令只能删除空白的目录,假使某个目录下面有文件,就只能先用rm命令来把目录中的文件删除掉才可以,所以通常需要rmdir与rm这两个命令配合使用才能彻底删除一个完整的目录。但用这种方法来对付几级子目录还能凑合,如果一个目录中含有若干个子目录,而且这若干子目录中又包含了若干级子目录,再使用这种方法不把你累死才怪。现在我们可以使用带-r参数的rm命令来删除一个非空目录,例如我们在命令行中输入rm -r bbb这样的命令,表示系统将把bbb目录中包含的所有文件和子目录全部删除掉。

8、善用虚拟操作台

当我们登录进Linux系统后,如果再按一下键盘上的Alt+F2键,这时我们又可以看到一个Shell提示符,其实这个就是第二个虚拟操作台。通常,新安装的Linux系统共有四个虚拟操作台,我们可以分别用复合键Alt+F1、Alt+F2、Alt+F3、Alt+F4来访问它们。使用虚拟操作台频率最多的地方就是,当某一个程序出错锁住输入时或者Linux系统突然失去响应时,就可以切换到其他虚拟操作台登录进入后杀掉这个出错的进程任务。

9、增加虚拟缓存

如果计算机上的SWAP(交换空间)不够了,只要我们的硬盘上还有空余的空间,我们就可以把这些剩余空间利用起来,我们可以直接使用命令:mkswap /dev/hda(假设Linux的驱动器是/dev/hda),swapon /dev/hda;要自动启动Swap,可以把新的分区加入到etc/fstab中去,照着原来swap的写就行了。用"free"检查swap的大小,Linux支持最多16个交换分区,每个交换分区最大128M,没有空闲分区的时候,可以用个大文件来建立。下面是执行的一系列命令:

#dd if=/dev/zero of=swapfile bs=1024 count=8192

#mkswap swapfile 8192

#sync

#swapon swapfile



10、巧妙使用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 ,从而提高了输入效率。

11、多用拷贝与粘贴来提高操作速度

Linux系统安装后,每次启动到字符界面时都会自动运行一个叫gpm的程序, 该程序运行后就可以用鼠标来拷贝与粘贴了。 具体做法是按住鼠标左键拖动让要拷贝的地方突出显示, 这时突出显示的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了。如果我们在Xwindow下运行Linux系统,拷贝与粘贴的操作与在普通的Win9x系统下一样。

12、加快Linux存取数据

如果我们想快速提高Linux下的硬盘读取数据,可以在Linux下进行一些设置,让Linux在32位输入输出方式和DMA通道方式下进行工作。设置时,在Linux命令界面中输入命令/sbin/hdparm -cl /dev/hda来打开32bit传输方式,输入命令/sbin/hdparm -dl /dev/hda来打开DMA传输方式,接着再输入命令/sbin/hdparm -kl /dev/hda来使硬盘在Reset之后仍然保持上述的设置,通过这些设置,我们就能提高Linux的读盘速度到1倍以上。
 楼主| 发表于 2005-4-14 21:31:13 | 显示全部楼层
问:如何删除文件名中带有不可见字符的文件?
答:列出文件名并转储到一个临时文件,例如tmp,命令如下:
#ls -l >tmp
然后编辑该文件,加入“rm”命令,删除上述文件的格式,具体如下:
#vi tmp
[rm -r *******
]
再通过下面的命令给文件加上执行权限:
#chmod +x tmp
最后执行 $ tmp即可。

问:如何在Red Hat中设置滚轮鼠标(mc1011)?
答:进入X-Window后,选择鼠标的配置,再选择“wheel mouse(ps/2)”就可以了。如果鼠标表现异常,重启计算机即可。

问:因为习惯在Windows 2000下操作,所以在Linux下总是会误操作,按下“Ctrl+Alt+Del”重启系统。请问如何使“Ctrl+Alt+Del”失效?
答:修改/etc/inittab文件,在“ca::ctrlaltdel:/sbin/shutdown -t3 -r now”前加上#,然后保存退出,执行下面的命令,参数q代表修改生效:
#telinit q

问:如何以指定的颜色深度启动X-Window?
答:使用下面的命令就可以:
#startx --bpp n
其中n表示颜色深度,下面是n的值: n=8  //256色;
n=16  //65536色;
n=24  //24位色;
n=32  //等同于24位色加一个Alpha通道。



问:想让超级终端通过COM1口进行登录,请问怎么做?
答:首先确认有/sbin/agetty,然后编辑/etc/inittab,添加下面的内容:
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600是缺省速率,也可以设成19200、38400、57600或115200。
接着修改/etc/securetty,在其中添加一行ttyS0。这样就可以确保root用户可以通过COM1口能登录了。

问:在Linux中能不能一次解压多个.zip文件?
答:能。用户可以使用下面的命令,但是要注意引号不能少:
#unzip "*"

问:在设置X-Window的时候,选择了使用虚拟屏幕,结果造成屏幕大于显示器可见区域的问题。请问如何取消?
答:修改/etc/X11/XF86Config文件,查找到含有“Virtual”的行,把它注释掉就可以了。

问:经常听到iso文件,请问怎么将光盘文件转做成iso文件?
答:使用下面的命令就可以将光盘文件转做成iso文件了:
#cp /dev/cdrom xxxx.iso

问:在Linux环境下使用新版本的Mozilla浏览器,对某些根本就不想安装的插件怎么取消?
答:解决方法很简单。用户进入Mozilla的插件目录,缺省是/usr/local/mozilla/plugins,把目录下的libnullplugin.so文件移至其它任何的目录下,如/opt/backup目录,然后执行下面的命令: #cd /usr/local/mozilla/plugins
#mkdir /opt/backup
#mv libnullplugin.so /opt/backup


做完以上操作以后重新启动Mozilla,当它启动完成以后会提示是否关闭提示对话框,选择是即可。

问:在Linux开启运行后,如何快速观看开机的硬件检测?
答:用户可以试试下面的命令:
#dmesg | more

问:请问FSTAB最后的配置项里边最后两个数字是什么意思?
答:第一个fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要。
第二个fs_passno,是系统重启时fsck程序检测磁盘的顺序号。1是root文件系统,2是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测。

另外需要说明的是,dump执行ext2的文件系统的备份操作,fsck 检测和修复文件系统。

问:在Linux下,显示器经常进入休眠状态,怎么能不让显示器休眠呢?
答:用户可以使用下面的命令试一下:
#setterm -blank n(n为等待时间)

问:MySQL的root密码忘了,有办法恢复吗?
答:用户可以通过下面的步骤恢复:
1. 使用“su”命令切换到Linux的root用户,执行下面的命令:
#kill `cat /MySQL-data-directory/hostname.pid` //mysql的pid文件一般在mysql安装目录下面
2.使用“-skip-grant-tables”参数来启动MySQL。
3.使用下面的命令登录到MySQLd Server,用“grant”命令改变口令:
#mysql -h hostname mysql
用户也可以使用下面的命令:
#mysqladmin -h hostname -u user password ‘new password’
4.使用下面的命令载入权限表:
#mysqladmin -h hostname flush-privileges
或者使用SQL命令“FLUSH PRIVILEGE”来完成。

问:我总忘记使用“Ctrl+D”或Exit来注销账号,能不能实现在规定时间后不活动,系统就自动注销了?
答:可以。只要在~/.bashrc文件中加入下面这句话:TMOUT=600,则会在10分钟之后系统自动注销。

问:我想在Linux下面刻录光盘,请问有哪些软件可以用?
答:用户需要安装CDRecord和Mkisofs两个工具。这些都是命令行的工具。如果再装一个XCDRoast或KOnCD这类的前台工具,就可以在X-Window下面操作。具体的步骤如下:
# mkisofs -r -o sample.iso my_private/ //做成iso文件,-r代表将所有的文件属性变成对所有人是可读属性的,-o代表输出
# cdrecord -scanbus //检测刻录机的信息,刻录的时候要用到这个参数
# cdrecord -v speed=16 dev=6,0 sample.iso //启动刻录,speed代表刻录速度,dev后面的参数就是上一步查出来的信息,6代表target,刚才检测出来是6;0代表LUN,是SCSI设备的逻辑驱动号,一般为0。

问:怎样在命令行下修改时区?
答:在命令行输入下面的命令,就可以修改时区:
#timeconfig

问:我要用“tar”命令打包/opt目录,但是不想要其中的/opt/tmp和/opt/mail两个目录,请问怎么做?
答:用户执行下面的命令就可以实现,但是目录后面不要加“/”:
#tar zcf opt.tgz /opt --exclude /opt/tmp --exclude /opt/mail

问:Linux下的应用程序是否也存在2000年问题?
答:没有,但是有2106年问题。Linux的系统时间是一个整数,目前是32位的。它表示从1970年1月1日0点0分0秒开始算起的秒数。2^32/3600/24/365是它溢出的大致时间,这个年数是136,1970加上136就是2106。

问:如何使得Apache只监听特定的IP?
答:修改httpd.conf,在里面加入下面一行:
BindAddress 192.168.0.2
这样就能使得Apache只监听外界对192.168.0.2的http请求。如果使用下面的方式,就表明Apache监听所有网络接口上的http请求:
BindAddress *

问:在Linux下如何正确使用USB硬盘?
答:一般应该遵循以下几个步骤:
1.先运行下面的命令:
#fdisk -l /dev/sd?
2. 执行完以上命令后,如果没有任何信息显示,用户需要先执行下面这条命令:
#modprobe usb-storage
这样就可以正确使用USB硬盘了。

问:如何将Linux加入到Windows NT/2000的启动选单中?
答:可以按以下步骤来完成:
1.安装完所有Windows系列操作系统后再装Linux,并在安装时选择将LILO安装到Linux所在的分区,而非MBR;
2.利用启动盘启动Linux,执行下面的命令加载Windows分区:
#mount /mnt/dos
3.执行下面的命令。这样在Windows分区就有了一个bootsect.lin文件,它记录了Linux分区的启动信息:
#dd if=/dev/hda? bs=512 count=1 of=/mnt/dos/ bootsect.lin
4.在Windows NT的启动配置文件boot.ini中加入下面的一行:
C:BOOTSECT.LIN =“红旗Linux 4.0”
然后再启动电脑的时候,发现在Windows NT启动选单中多了“红旗Linux 4.0”这个选项。选择它就能启动Linux。

问:我的机器上已经装了LILO,但是不在MBR上,如何把它移到MBR上?
答:修改lilo.conf文件,把第一行中的/dev/hdaX改成/dev/hda,然后运行“lilo”就可以了。

问:怎么让tail能够不停地读到最新的文件内容?
答:使用下面的命令即可:
#tail -n 10 -f /etc/httpd/logs/access.log

问:在Linux下有没有快速进入某些目录的命令?
答:键入“cd ~”可进入用户的home目录;键入“cd -”可进入上一个进入的目录。

问:在Red Hat下想显示彩色目录列表,怎么办呢?
答:打开/etc/bashrc文件,加入如下一行:
alias ls="ls --color"
下次启动Bash时,就可以像在其它Linux版本中那样显示彩色的目录列表了,其中颜色的含义如下: 蓝色→目录;
绿色→可执行文件;
红色→压缩文件;
浅蓝色→链接文件;
灰色→其它文件。



问:当键入一些命令,如find、shutdown、mount和startx时,想知道这些文件究竟放在哪个目录里?
答:用命令“whereis”可以实现,示例如下:
#whereis startx
回复 支持 反对

使用道具 举报

发表于 2005-4-14 21:42:51 | 显示全部楼层
不错  
加精
只是觉得以前好像看过~~~~~~~~~~~~~~`
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表