linux操作技巧集
1:HOST的乐趣: Host能够用来查询域名,然而它可以得到更多的信息。host -t mx l
inux.com可以查询出Linux.com的MX记录,以及处理Mail的Host的名字。Host -l linux
com会返回所有注册在linux.com下的域名。host -a linux.com则会显示这个主机的所
有域名信息。
2:找到命令需要的文件,也许你希望搞清楚一个命令它到底使用到了什么其他相关文件
和命令?试试ldd就可以了。如ldd traceroute,返回结果会是libc.so.6,lid-linux.s
o.2
3:定时!定时!你希望定时处理吗?你肯定希望能够让你轻松一些!crontab可以听候
您的指示。命令行中输入:crontab -e这进入文本编辑器,再在其中输入0 5 * * * wg
et -t3 -I/home/tom/URLs -N。这样每天早上5点就会运行这个wget命令。前五个是时间
参数:分 时 日 月 星期几。你可以 0 5 * * 6,0 command line here,这样就在每个
星期六和星期天5am运行。你需要man 5 crontab来得到更为详细的解释。随便说一下,
wget是一个取web页面的小程序。 console顶部显示现在时间:在/etc/bashrc或~/.bas
hrc中加入环境变量PROMPT_COMMAND。export PROMPT_COMMAND=echo -ne "33733[2;999
r33[1;1H33[00;44m33[K"`date`"33[00m338"
4:使用多达23个的虚拟终端(VT),假设你现在有6个,仿照/etc/inittab种的文件,
加入
8:234:respawn:/sbin/getty 38400 tty8
24:234:respawn:/sbin/getty 38400 tty24
要跳过VT7,因为X使用这个终端。然后telinit q以重新加载配置文件。使用左Alt+Fn在
1-6和8-12件切换,使用右Alt+Fn键在13-24之间切换。
5:Console切换:左Alt-方向键,循环切换console。效果和Alt+Fn一样。
6:简单的进行Dos转Unix:如果你的文本文件中每行结尾都有讨厌的Ctrl-M的话,使用
这句命令能够快速的解决问题 sed s/^M// filename > newfilename
7:快速建立MP3播放列表:find /mnt/cdrom -name *.mp3 -print >> cd1.play.list.
这样就会把CDRom中的所有MP3文件建立一个名为cd1.play.list的文件。然后使用xmms
或 x11amp就能进行播放了。
8:/proc中的重要信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备IO端口
cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI设备的信息
cat /proc/swaps - 所有Swap分区的信息
cat /proc/version - Linux的版本号
9:真正的Console界面:说实话无论是KDE和GNome我都没什么喜欢的,毕竟受Windows熏
陶了这么长时间了。但是在Console下其实才是真正的Cool界面。使用SVGATextMode可以
让你的命令行界面达到132x60(标准是80x25)。我的486(Trident9440)上使用的是132
x43,那密密麻麻的字符真象Hollywood的几年前的电影(现在连电影里都是Windows了)
给人感觉神秘兮兮的。配置文件在/etc/TextConfig中,不过如果你的XWindow都无法正
常显示的话,那估计这也用不了了(毕竟是好几年前的东西了)。
10:让你的硬盘飞起来: Linux下也可以使用32Bit I/O和DMA。使用/sbin/hdparm -c1
/dev/hda(hdb,hdc..)打开32Bit传输模式,使用命令 /sbin/hdparm -d1 /dev/hda(hdb
,hdc...) 打开DMA。最后使用/sbin/hdparm -k1 /dev/hda 以使硬盘在Reset之后保持上
面的设定,这么一来,硬盘读写速度应该可以提高一倍以上。
11:微调你的Ext2: Linux下的命令tune2fs可以设定最大Mount次数(因为Linux即时在m
ounted clean状况下,达到一定的mount次数后,会强制e2fsck对于我这样的每天开关机
的来说很不方便),tune2fs命令的其他用途请参见man。
12:禁止在Netscape中显示闪烁(Blink)Tag: ~/.Xdefaults中修改 Netscape*blinki
ngEnabled: False 之后运行 xrdb -Load ~/.Xdefaults
13:随时改变XTerm的字体大小:shift加+/-
14:Ext2的文件属性: lsattr列出属性,chattr可以改变属性。如 chattr +A filenam
e 则系统不会修改其last access time属性;chattr +i 则可以避免被rm掉。
15:SIS6326显卡的配置:在Device中加入:DacSpeed 110 Option "no_bitblt" Optio
n "sw_cursor"
16:使用strings可以把字符串从Binary文件中分离出来
17:你大概已经习惯了使用Top来观察系统使用情况,那就使一使使用Vmstat 1来看看c
pu的空闲程度(显示结果的最后一项)。
18:使用Watch命令,反复执行特定命令,如"watch ls -l /tmp/blah",将一直观察文
件的大小改变。
19:使用pppstats得到ppp连接的数据。
20:显示远程机器的NFS: showmount -e hostname
21:使用autofs免去你每次mount和umount之苦,再RedHat6.0中带了autofs的rpm,只要安
装好之后便可以享受自动加载文件系统的方便。 在/misc目录下,创建一个cd目录,如
果使用其自带的auto.misc和auto.master的话,马上就可以实现自动加载功能了。
22:在Bash Shell中,可以用!重复上几次输入过的命令,这样就可以省去往上滚动的
麻烦了。使用ctl+R可以互动的检索以前使用过的命令行。
23:使用cd -在上两个cd /directory/操作中切换。如先是cd /home/foo接着是 cd /h
ome/maison则接着打cd - 会进入 /home/foo再打cd - 会进入 /home/maison。
24:Bash中的快捷键:ESCAPE-B 会向前条一个单词,Ctrl-K会删除从光标到行末所有字
符。
25:在PS命令中使用grep,例:ps auxw | grep gpm 会列出所有含有gpm字符的进程。
26:在同一个命令行上同时执行多条命令:用分号分隔。如编译一个源文件:type ./c
onfigure ; make ; make install 。之后你就可以去散步了(不要在电脑前花费了太多
时间了,生活中还有很多美好的东西。)
27:把运行结果输出到一个文件中,如 ls -l > foo.file。
28:使用Top命令监视系统状况,内存使用情况,开机时间,进程状况,每个用户的使用
情况等等。使用S命令可以改变其刷新的时间:如.5将会使其每半秒钟更新一次。
29:同时Unzip多个文件,unzip *不正确,而是unzip "*"。
30:建立符号连结,这大概是最有用的功能了,ln -s real-file symbolic-file,无论
是设备,文档还是脚本程序。
31:改变显示的单位,如du -hm 将以M为单位输出结果,同样的du -hk则以K为单位输出
。
32:自动Logoff,在~/.bashrc中加入这么一句话:TMOUT=300则会在5分钟之后logoff,不
过如果less这类程序运行则不会启动。
33:在使用less 或 more时,直接启动编辑器:在less中打入v键,会立即启动vi或其他
你在环境变量中指明的编辑器,但是more只能使用vi。
初用Linux时可能有处处不方便的感觉, 可是等使用一段时间掌握了一些技巧后就会
感到越来越顺手了. 以下就是我使用Linux以来积累的一些经验与技巧, 相信对初学者会
有所帮助的.
1. 使用虚拟控制台
登录后按Alt+F2键这时又可以看到"login:"提示符, 这个就是第二个虚拟控制台.
一般新安装的Linux有四个虚拟控制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有
用的时候是当一个程序出错锁住输入时可以切换到其他虚拟控制台登录进入后杀掉这个
出错的进程.
2. 拷贝与粘贴
字符界面: 不管是Slackware 还是RedHat 安装后每次启动时都会自动运行一个叫g
pm的程序, 该程序运行后就可以用鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动
使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘
贴在光标所在位置了.
X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话按中键粘贴, 两键鼠标的话
同时按左右键粘贴(须在配置XF86时在鼠标的设置里选择 Emulate 3 Button).
3. 快速进入某些目录
键入 cd ~ 可进入用户的home目录.
键入 cd - 可进入上一个进入的目录.
4. 软驱的使用
如果是Linux 的ext2文件系统用如下命令:
#mount -t ext2 /dev/fd0 /mnt
dos格式的软盘则用命令:
#mount -t msdos /dev/fd0 /mnt
然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之前要先卸掉软盘上的文件系
统,
#umount /mnt 否则会导致信息丢失.
在软盘上建立文件系统可用如下命令:
#mke2fs /dev/fd0 1440
5. RedHat下显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如
下:
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件
6. 显示文件的类型
用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell scr
ipt文件或是其他的什么格式 例如:
#file startx
7 .命令文件的路径
当你键入一些命令如find, shutdown, mount, startx时是否想过要知道这些文件究竟放
在哪个目录里? 用命令
whereis 可以实现,如
#whereis startx
8. 查找文件
find 命令要加一些参数才能查到文件, 如:
#find /usr -name XF86Setup -print
在/usr里查找文件XF86Setup.
9. 删除无用的core文件
程序运行出后有时候会产生一个名为core的文件, 这个文件一般很大而且没什么用, 可
以删除掉以释放空间.
10. 一次解开.tar.gz文件
解开.tar.gz文件一般要先用gunzip解压再用tar解包, 在Linux下可以一次完成, 如:
#tar zxpvf sample.tar.gz
11. 显示win95分区里的长文件名
如果你发现win95分区里的长文件命不能显示, 可以重新用vfat方式来mount. 对于
启动时就mount的分区可以修改文件/etc/fstab, 将里面的msdos字样改为vfat. 如果无
法用vfat mount, 则要重新编译一下核心, 加入对vfat的支持.
12. Linux 里的Norton Commander
在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界面, 实际
上功能也很相似甚至更强大, 比如可以直接对.tar.gz 压缩包里的文件进行操作(有点像
ZipMagic).
13. 启动后直接进入X
编辑/etc/inittab文件, 把id:3:initdefautl改为 id:4:initdefautl. 不过搜索路
径可能会有些问题, 关机时你得直接进入/sbin 里去执行 shutdown.
14. 后台运行 X 程序
执行一个X程序时别忘了在后面加一个&号,如 #netscape & 否则的话在你推出执行
的程序之前再无法在那个终端窗口里输入命令了.
15. 强行退出 X
有时候在 X 里由于程序出错鼠标键盘都不起作用, 这时候不用着急, 因为在Linux
下几乎不会像在Win95里那样恶性死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字
符界面下了.
1. 重装Win9x后lilo失效无法启动Linux
只须先用软盘启动Linux然后运行一次lilo即可。对于RedHat可以用命令mkbootdis
k来制作启动盘,例如:
mkbootdisk --devices /dev/fd0 2.0.34-1
其中2.0.34-1是 /lib/modules下的一个目录。
2. 把dos/windows改为缺省启动的OS
RedHat把Linux作为lilo缺省启动的OS,即出现 boot: 提示符后直接回车启动Linu
x。如果想改为dos/Windows,修改文件/etc/lilo.conf,把有关启动dos的部分放在前面
,再运行一次lilo即可。例如把lilo.conf从:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only
other=/dev/hda1
label=dos
table=/dev/hda
改为:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only
3. 去掉引导区内的lilo信息
安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用
软盘启动dos再运行 fdisk/mbr 即可。(这个方法还可清除任何引导区病毒)
4. 让 X 支持 AGP 显卡
下载一个 AX 4.1 即 AcceleratedX 4.1 , 一个商业版的 X Server 。除 AGP 显
卡外 AX 还支持很多牌号的显卡。另外还可以用AX 带的设置程序 Xsetup 方便的对分辨
率,刷新率等参数进行设置。不过我也不知道用AGP卡效果如何,因为我现在还在用老掉
牙的 S3 765 。
5. 把 man 或 info 的信息存为文本文件
以 tcsh 为例: man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s
6. 用当前路径作提示符
对 bash 来说,在 .bashrc 里加一行:
PS1="\$PWD\\$"
对 tcsh 来说,在 .tcshrc 里加一行:
set prompt="%/>"
7. 压缩可执行文件
Linux 下有一个类似 dos 里的 pklite 和 lzexe 的命令 -- gzexe 。而且压缩率
一般都可以超过 50% ,在空间紧张时很有用。比如:
/dosc/temp# ls -al
total 148
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk
/dosc/temp# gzexe gawk
gawk: 54.5%
/dosc/temp# ls -al
total 216
-rwxr-xr-x 1 root root 68710 Dec 8 15:36 gawk
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk~
/dosc/temp#
8. 查看 Linux 启动时的信息
Linux 启动时屏幕显示的信息来不及看清就一闪而过,如果对这些信息感兴趣的话
可以在启动完后用命令 dmesg 查看。
9. 处理文件名内含有特殊字符的文件
如果有一个文件名叫 -file 如果想删除它,键入 rm -file 会显示 invalid opti
on ,原来由于文件名的第一个字符为 - , Linux 把文件名当作选项了,可以加 -- 解
决这个问题, 如 rm -- -file 。如果是其他特殊字符的话可以在特殊字符前加一个 \
,或者用双引号把整个文件名括起来。
10. 一次处理一整个目录
Linux/UNIX 的很多常用命令如 rm , cp 等都有一个参数---- -r , 是递归的意
思, 命令里加了参数 -r 就可以对目标目录及其下所有子目录进行操作,如:
rm -rf /test (f 是 force 意为强行) , 该命令完全删除根目录下的子目录 test ,
作用类似于 dos 下的 deltree ,当然使用这个命令时要特别小心。再如:
cp -r /test /test1 有类似 dos 下 xcopy /s 的作用。
11. 修改登录画面
对本机:
先修改文件 /etc/issue 改为相要显示的内容, 再修改文件 /etc/rc.d/rc.local(Red
Hat) 或 /etc/rc.d/rc.S(Slackware) 把下面几句注释掉:
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
echo "" > /etc/issue
echo "Red Hat Linux $R" >> /etc/issue
echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
cp -f /etc/issue /etc/issue.net
echo >> /etc/issue
不然的话每次重新启动 /etc/issue 都会被更改。
对 telnet 的远地机器:
先把文件 /etc/usr/sbin/in.telnetd 改名,如改为 in.telnetd.exe ,再编一个名为
in.telnetd 的 shell 脚本, 在显示完需要的内容后再调用 in.telnetd.exe 。如:
#!/bin/sh
cat /etc/login.banner #需要在登录提示符前显示的内容
echo -n ""
exec /usr/sbin/in.telnetd.exe
12. 几个有用的别名
几个能方便操作和减少误操作的别名,建议把它们放到启动文件里, 如 /etc/bashrc
。
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#前三个别名的作用是在删除、覆盖文件之前先提示确认,RedHat已经自动
#加上了,强烈建议Slackware的用户也加上,因为Linux/UNIX下文件一旦删
#除就再也无法恢复了。
alias l='ls -l'
alias cd..='cd ..'
alias utar='tar xvfz' #解 *.tar.gz 文件
alias inforpm='rpm -qpi' #显示rpm包的信息
alias instrpm='rpm -Uhv' #安装rpm包
alias listrpm='rpm -qpl' #列rpm包内的文件
alias uistrpm='rpm -e' #反安装rpm包
13. 使用命令补齐
所谓命令补齐(Command-Line Completion)是指当键入的字符足以确定目录下一个唯
一的文件时只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /frees
oft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时如果该文
件是该目录下唯一以 g 起头的文件的话就可以按下 Tab 键,这时命令会被自动补齐为
:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。
14. 最后一条技巧
有时间的话多看看系统提供的FAQ文件,因为通常遇到的问题大多数都能在里面找到答案。
评论
查看更多