Linux 版 (精华区)

发信人: tcpip (俺的昵称改了), 信区: Linux
标  题: 技巧小窍门汇集--你都知道吗?
发信站: 紫 丁 香 (Sat Dec 11 15:16:45 1999) WWW-POST

LINUX使用技巧
1.启动与运行类
使用nohup命令
如果你想进程在你退出系统后还能执行,可以使用NOHUP命令
如: % nohup tar -cf /dev/tape /home & 
你退出后再重新登录的话,使用'ps'命令可以看到进程还在执行

强行退出 X 
有时候在 X 里由于程序出错鼠标键盘都不起作用, 这时候不用着急, 因为在Linux下几乎
不会像在Win95里那样恶性死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字符界面
下了. 

怎样知道某个看守进程是工作在哪个端口上?
lsof

怎样编辑登陆画面
1.修改/etc/issue文件内容
2.vi /etc/rc.d/rc.local 去掉重写issue的部分代码.

使用虚拟控制台 
登录后按Alt+F2键这时又可以看到"login:"提示符, 这个就是第二个虚拟控制台. 一般新
安装的Linux有6个虚拟控制台, 可以用Alt+F1~Alt+F6来访问. 虚拟控制台最有用的时候
是当一个程序出错锁住输入时可以切换到其他虚拟控制台

重装Win9x后lilo失效无法启动Linux 
只须先用软盘启动Linux然后运行一次lilo即可。对于
RedHat可以用命令mkbootdisk来制作启动盘,例如: 
mkbootdisk --devices /dev/fd0 2.0.34-1 ( 其中2.0.34-1是 /lib/modules下的一个目
录)

去掉引导区内的lilo信息 
装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用软盘启动
dos再运行 fdisk/mbr即可。(这个方法还可清除任何引导区病毒) 

用当前路径作提示符 
对 bash 来说,在 .bashrc 里加一行: 
PS1="\$PWD\\$" 
对 tcsh 来说,在 .tcshrc 里加一行: 
set prompt="%/>" 

 压缩可执行文件 
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# 

查看 Linux 启动时的信息 
如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看。 

使用命令补齐 
所谓命令补齐(Command-Line Completion)是指当键入的字符足以确定目录下一个唯一的
文件时只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下
的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz/freesoft/g 时如果该文件是该目
录下唯一以 g 起头的文件的话就可以按下 Tab 键,这时命令会被自动补齐为:tarxvfz 
/freesoft/gcc-2.8.1.tar.gz ,非常方便。 

2.文件与目录类
取消^M字符
当你FTP一些DOS文件到unix下时,你经常会看见每行文件后面有个讨
厌的^M 字符,有两个简单的方法可以取消它。
用"vi"打开此文件,在Command mode下敲入:
:%s/^V^M//g 
或者,在UNIX SHELL下敲入:
sed 's/^V^M//g' foo > foo.new 

处理文件名内含有特殊字符的文件 
如果有一个文件名叫 -file 如果想删除它,键入 rm  -file 会显示 invalid option ,
原来由于文件名的第一个字符为 - , Linux 把文件名当作选项了,可以加 -- 解决这个
问题, 如 rm -- -file 。如果是其他特殊字符的话可
以在特殊字符前加一个 \ ,或者用双引号把整个文件名括起来。 

如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd 
如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 
你知道怎么查看文件中间一段吗?你可以使用sed命令 如: 
sed -n '5,10p' /etc/passwd 
这样你就可以只查看文件的第5行到第10行。

计算文件数和目录数
下面的语句可以帮你计算有多少个文件和多少个目录..
# ls -l * |grep "^-"|wc -l ---- to count files 
# ls -l * |grep "^d"|wc -l ----- to count dir 
还可以将以上的语句变成script或做个alias

只列子目录的方法:
ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

利用Find命令改变所有权
想要改变当前目录下所有文件的所有权,可以这样:
find . -exec chown OWNER.[GROUP] {} \; (Solaris)
find . -exec chown -R OWNER.[GROUP] {} \; (Linux)

列出除了某些类型文件的当前目录所有文件
使用Ksh,用ls !(*.Z)可以显示所有文件,除了*.Z文件。
这个命令在一个目录里有许多种类型的文件的时候很有用。

快速进入某些目录 
键入 cd ~ (or cd 空格符)可进入用户的home目录. 
键入 cd - 可进入上一个进入的目录.

显示win95分区里的长文件名 
如果你发现win95分区里的长文件命不能显示, 可以重新用vfat方式来mount. 对于启动时
就mount的分区可以修改文件/etc/fstab, 将里面的msdos字样改为vfat. 如果无法用
vfat mount, 则要重新编译一下核心, 加入对vfat的支持. 

 怎么把一个目录下的所有文件名转换成小写字母?
整个目录大写变小写
for f in *; do
  mv $f `echo $f | tr '[A-Z]' '[a-z]' `
done

3.安全类
 怎样使ctr+alt+del无效 
/etc/inittab,  
ca:ctrlaltdel:...........

有时可能希望别人ping自己的机器ping不通
在Linux系统上除了配置ipchains防火墙规则外,还有一简单方法:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all  
上述命令可以让别人看不见你的机器
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
如果你希望别人能ping通你,但不愿意响应广播类型的ping的话,可以试试上述方法
Note: 广播类型指直接ping一广播地址,如ping 192.168.0.255,该方法常被黑客用来扫
描某一网段的所有机器。
又: 你必须有root权限才能成功关心一下/proc/sys/net/ipv4下的文件,许多系统参数
都可以直接打开和关闭的。

利用/etc/ethers绑定IP地址和网卡地址
在/etc/ethers里加上这样一行:
IP Address      MAC Address
然后/sbin/arp -f /etc/ethers就好了。这时候用/sbin/arp -avn就可以看到该arp项被
设定为PERM了。也可以把上述命令加到rc.local里,还有arpwatch这样的好东西,看看它
的帮助文件吧。

4.其他
RedHat下显示彩色目录列表打开/etc/bashrc, 加入如下一行: 
       alias ls="ls --color" 
下次启动bash时就可以像在Slackware里那样显示彩色的目录
       列表了, 其中颜色的含义如下: 
       蓝色-->目录 
       绿色-->可执行文件 
       红色-->压缩文件 
       浅蓝色-->链接文件 
       灰色-->其他文件 

 把 man 或 info 的信息存为文本文件 
只要man XXX|col -b>XXX.txt就可以了.

几个有用的别名几个能方便操作和减少误操作的别名,建议把它们放到启动
文件里, 如 /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包 

请问在linux下怎样察看外设的IRQ和IO地址?
/proc/interrupts
/proc/ioports

修改mount次数
Linux下的命令tune2fs可以设定最大Mount次数(因为Linux即时在mounted 
clean状况下,达到一定的mount次数后,会强制e2fsck对于我这样的每天开关机的来说很
不方便),tune2fs命令的其他用途请参见man。 


--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.133毫秒