linux 操作技巧(二)
时间:2005-07-10 来源:Weiman
linux 操作技巧(二)
Tip1 命令行下制作ISO
用法: mkisofs -a -I -J -r -o filename.iso /目录
用途: 将linux下某个目录中的所有文件做成iso镜像.而且我加上了参数,可以保证你做出来的光盘是在windows下也可以用的 (iso是有文件大小限制的...具体多少偶忘记了)
-Tip2 Linux下ISO的虚拟方法
步骤如下:
1. 把 /dev/cdrom 删除,然后运行 ln -s /dev/loop7 /dev/cdrom
2. losetup /dev/loop7 xxx.iso
3. mount /mnt/cdrom
如何换盘:
1. losetup -d /dev/loop7 ;目的是取消这个设备
2. losetup /dev/loop7 yyy.iso ;新的iso文件
-Tip3 hosts的用法
host能够用来查询域名,然而它可以得到更多的信息.host -t mx linux.com可以查询出linux.com的MX记录,以及处理mail的host的名字.host -l linux.com会返回所有注册在linux.com下的域名.host -a linux.com则会显示这个主机的所有域名信息.
-Tip4 *.bz2文件如何解压缩
使用tar -I 或者bunzip2命令都可以.
-Tip5 RPM常见用法
安装rpm包时显示进度并校验包的正确性
用-vh参数:
如 rpm -ivh ipchains-1.3.6-1.i386.rpm
如果用glint或xrpm则不必.
直接通过ftp来安装rpm包
如 rpm -i ftp://ftp.xxx.xxx
校验所有的rpm包,查找丢失的文件
rpm -Va
查找一个文件属于哪个rpm包
如 rpm -qf /usr/bin/who
列出一个rpm包的描述信息
如 rpm -qpi mon-0.37j-1.i386.rpm
列出一个rpm包的文件信息
如 rpm -qpl mon-0.37j-1.i386.rpm
-Tip6 查看系统监听的服务
用法: netstat -ln
解释: "l"表示显示当前系统监听的端口信息;"n"表示端口按照端口号来显示,而不转换为service文件中定义的端口名;若希望了解各个端口都是由哪些进程监听则可以使用p参数.
-Tip7 查看系统运行的进程
用法: ps -auxw
解释: 其中参数"a"表示显示系统中所有用户的的进程;"u"表示输出进程用户所属信息;"x"表示也显示没有控制台的进程;若显示行太长而被截断则可以使用f参数.
-Tip8 Linux帐号搬家
对于新账号->
保证将要加入系统的新帐号放在新的位置上,这通过修改/etc/default/useradd文件中的HOME值来实现. 如: HOME=/home2 使新增帐号的主目录建在/home2下.
将已有帐号移至新的位置->
首先,将已有帐号的主目录连带目录属性拷至新位置,可用下面命令:
cp -a /home /home2
或
cp -rpd /home /home2
然后,修改/etc/passwd文件中相应记录的home_directory域为/home2/username.
这样两步已将旧帐号移至新位置.确保无误后,可删去旧帐号的旧主目录以腾出原文件系统的空间.
-Tip9
Linux 启动时屏幕显示的信息来不及看清就一闪而过,如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看.
-Tip10 GRUB引导恢复小法
用启动盘或安装盘(linux rescue)进linux
sh# grub
grub> root (hdx,y)
grub> setup (hd0)
重启
说明: 如果成功会有一个successful......这里的x,如果是一个盘,就是0.如果你所安装的linux的根分区在第二个硬盘上,那x就是1了;y就是装有linux系统所在的根分区.setup (hd0)就是把GRUB写到硬盘的MBR上.如果我知道我的linux装在第一个硬盘上,但我不知道装在哪个分区上,就可以先输入root (hd0,然后用[TAB]键来补齐,然后就明白了.
-Tip11 测试磁盘性能
用法: hdparm -tT /dev/hd?
例如: hdparm -tT /dev/hda (测试第一个物理硬盘的速度)
-Tip12 将内网的服务对外开放
将192.168.1.2上的8888端口映射到192.168.1.3的8888端口
#iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8888 -j DNAT --to-destination 192.168.1.2:8888
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.2 -p tcp -m tcp --dport 8888 -j SNAT --to-source 192.168.1.3
#iptables -A INPUT -p tcp --dport 8888 -i eth0 -j ACCEPT (视情况而加)
-Tip13 关闭"讨厌"的Linux按键Beep声
vi /etc/.inputrc 增加下面一行
set bell-style none
-Tip14 开机进入图形/文本登陆方式
vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:图形方式
-Tip15 在GRUB中限制系统可使用的内存数量
限制Linux只能使用120MB内存
title Red Hat Linux (2.4.19)
root (hd0,1)
kernel /boot/vmlinuz-2.4.19 ro root=/dev/hda2 mem=120M
initrd /boot/initrd-2.4.18-14.img
-Tip16 如何查找某条命令的相关库文件
在Linux环境下通过ldd命令即可实现,在控制台执行:
ldd /bin/ls
即可得到/bin/ls命令的相关库文件列表.
-Tip17 只列子目录(文件)
ls -F | grep /$
你也可以在.bashrc(针对bash)中把该命令作成alias,以后只要敲入sub就可以实现只列子目录的功能.
alias sub = “ls -F | grep /$”
同样,ls -l | grep ^-则是只列普通文件.
-Tip18 计算目录下的文件及子目录
ls -al | wc -l
-Tip19 RedHat 下显示彩色目录列表
ls -color 可以显示彩色目录列表,其中:
蓝色→目录
绿色→可执行文件
红色→压缩文件
浅蓝色→链接文件
灰色→其他文件
同样你还可以试试ls --color(比前面多-),看看两者的差别吧
-Tip20 列目录时显示中文文件名
在没有打补丁的Linux系统中,我们用ls列目录,发现中文文件名都成了?号.我们可以使用--show-control-chars命令选项来显示.
ls --show-control-chars
-Tip21 改变当前路径下所有目录和文件的所有权
chown -R owner[.group] *
也可以用find命令来实现:
find . -exec chown owner[.group] {} ;
-Tip22 改变所有子目录及文件的属性
在你要改变属性的目录下,输入命令:
chmod -R 777 *
就可以改变下面所有子目录及文件的属性,不过使用这个命令的时候要特别小心,要是在根目录下打入这个命令,你所有文件的属性都将改变,这就会引起很大的安全性问题.
-Tip22 使用nohup命令
如果你想进程在你退出系统后还能执行,可以使用nohup命令.
如:
nohup tar cf /dev/tape /home &
你退出后再重新登录的话,使用ps命令会发现进程还在执行.
-Tip23 重新启动
Ctrl+Alt+Del 或 init 6 或 shutdown -r now
-Tip24 快速查找文件
查找文件可以用find,但最好是用locate.速度快,参数少.
locate filename
它是在一个数据库里面查找.所以,要记得经常用updatedb命令更新数据库.一般地,我们是在crontab里面加一句,让机子在每天深夜更新数据库.
另外,快速查找命令文件,可以使用whereis.
例如:
whereis rpm
-Tip25 查找Linux命令
如果你想实现某种功能,但是不知道该使用什么命令.你可以试试apropos命令,它也许能帮你找到你想要的命令.例如: 你要“查找”文件,又不知道用什么命令,你可以敲入下面的命令:
apropos search
-Tip26 在同一个命令行上同时执行多条命令
用分号分隔.如编译一个源文件:
#./configure ; make ; make install
-Tip27 用gzip(gunzip)压缩(解压)同一目录下的多个文件
gzip * 或者 gunzip *
-Tip28 在使用less或more时,直接启动vi
在less或者more中打入v键,会立即启动vi编辑器,可以对文件进行编辑.
-Tip29 在使用mail中启动vi
如果你觉得用mail发送邮件编辑起来很不方便,你可以在正文的顶格输入~v,启动vi进行编辑,编辑完后退出vi,回到mail.
-Tip30 观察文件大小变化
使用watch命令,可以反复执行命令.和ls配合,可以达到观察某文件大小变化的效果.
watch ls -| file.name
-Tip31 查找含特定字符串的文件
例如查找当前目录下含有"the string you want find..."字符串的文件:
-Tip32 观看binary文件中的字符串
strings binaryfile
-Tip33 重装Win 9x后lilo失效无法启动Linux
只须先用软盘启动Linux然后运行一次lilo即可.对于RedHat可以用命令mkbootdisk来制作启动盘,例如:
mkbootdisk --device /dev/fd0 2.4.20
其中2.4.20是/lib/modules下的一个目录.
-Tip34 去掉引导区内的lilo信息
安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只需用软盘启动DOS再运行fdisk/mbr即可.
-Tip35 把DOS/Windows改为缺省操作系统
RedHat把Linux作为lilo缺省操作系统,即出现 boot: 提示符后直接回车启动Linux.如果想改为DOS/Windows,修改文件/etc/lilo.conf,把有关启动DOS的部分放在前面,再运行一次lilo即可.也可以在lilo.conf的配置文件前面加上 Default=dos 其中DOS是DOS/Windows的label
-Tip36 如何使用.iso文件
许多Linux发行版本都有.iso的光盘镜像文件,可以用来刻录光盘.我们也可以在Linux系统下直接使用.
mount -t iso9660 xxxxx.iso /any/path/if/u/like -o loop
-Tip37 显示文件的类型
用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件,还是shell script文件或是其他的什么格式.
file filename
-Tip38 解压.tar.gz文件
xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开.
tar zxvf xxxx.tar.gz
-Tip39 后台运行程序
可以在程序后面加“&”符号,让程序在后台运行.例如: 你想用updatedb更新文件路径数据库,又不影响你其他的工作.可以:
updatedb &
-Tip40 强行退出 X
有时候在 X 里由于程序出错鼠标键盘都不起作用,这时候不用着急,因为在Linux下几乎不会像在Win 95里那样恶性死机,你只须同时按下Ctrl+Alt+BackSpace键就可以回到字符界面下了.
-Tip41 压缩可执行文件
可以使用gzexe压缩可执行文件,压缩后的可执行文件仍然可以直接执行.使用本方法可以达到节省磁盘空间的目的(如果你真的需要的话).
gzexe gawk
-Tip42 处理文件名内含有特殊字符的文件
如果有一个文件名叫-file,如果想删除它,键入 rm -file 会显示invalid option,原来由于文件名的第一个字符为"-",Linux把文件名当做选项了,可以加--解决这个问题,如rm -- -file.如果是其他特殊字符的话可以在特殊字符前加一个,或者用双引号把整个文件名括起来.
-Tip43 快速进入目录
键入 cd ~ 可进入用户的home目录;键入 cd - 可进入上一个进入的目录.
-Tip44 想全部删除以.开头的file或dir时你会如何干?
Wrong-> rm -r /tmp/.*
Correct-> rm -r /tmp/.*
-Tip45 修改网卡MAC地址
ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CCD:EE
ifconfig eth0 up
上面的是临时性的你可以加入rc.local让它开机自动执行
-Tip46 查看网卡工作状态
#mii-tool -v
eth0: no link
product info: vendor 00:00:00, model 0 rev 0
basic mode: autonegotiation enabled
basic status: no link
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
SIOCGMIIPHY on 'eth1' failed: Operation not supported
-Tip47 如何解决sendmail和sm-client启动爆慢的问题!
造成sendmail和sm-client启动慢是因为解析的问题,解决方法将自己的主机名加入/etc/hosts中即可,例如我的主机名是linuxbox.localdomain则/etc/hosts中应该有一条
192.168.100.1 linuxbox.localdomain linuxbox