引用 | 编辑
mingsheng
2004-10-16 12:47 |
楼主
▼ |
||
x0
-Tip1 检视man文件...nroff -man man/libnet.3 | less 有时候man文件不在系统目录..这时候就可以用上面的方式来检视非标准的man文件 -Tip2 以不同的用户身份执行程序... su - username -c "where/is/command/line" 有时候需要执行特殊身份的程序...就可以让su来做... -Tip3 解压bz文件 tar -jvxf some.bz 就是把tar的zvxf 改成jvxf -Tip4 编辑/etc/inittab后直接生效的方法.. 执行init q -Tip5 让linux连续执行几个指令,出错停止 command1 && command2 && command3 .... -Tip6 linux中的bg和fg管理 当我们打ctrl+z的时候一个工作就被挂起(就是暂停),同时萤幕上返回一个数字, 这时候可以用 "bg %数字" 来把这个工作放到后台执行...这个很适合在你忘了加 &的时候进行补救...同样 " fg %数字 "就能让这个工作放到前台来执行了... job指令用来检视当前的被bg的工作... -Tip7 ctrl+s与ctrl+q ctrl-s 好像是从终端时代遗传过来的东东, 流量控制, 用来暂停向终端传送资料的. ctrl-q 用来恢复恢复 -Tip8 目录统计教本 储存成total.sh ,然后用total.sh 绝对路径,就会统计路径下目录的大小了 程式码:-------------------------------------------------------------------------------- #!/bin/sh du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s\n",$1/1024,$2}'|sed 's:/.*/\([^/]\{1,\}\)$:\1:g' -------------------------------------------------------------------------------- -Tip9 grep不显示本身工作 程式码:--------------------------------------------------------------------------------ps -aux|grep httpd|grep -v grep-------------------------------------------------------------------------------- 通过再一次grep -v grep就可以取消显示你所执行的grep本身这个工作,-v参数是不显示所列出的工作名. -Tip10 自己用的一个统计httpd的指令码 程式码:-------------------------------------------------------------------------------- #!/bin/sh while (true) do pstree |grep "*\[httpd\]$"|sed 's/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/' sleep 3 done -------------------------------------------------------------------------------- -Tip 11 解压rpm包中的文件 程式码:-------------------------------------------------------------------------------- cat gnome-libs-1.4.1.2.90.22.i386.rpm | rpm2cpio | pax -r -------------------------------------------------------------------------------- -Tip12 去掉apache的manual目录中的所有.en的后面名 进入到manual目录 程式码:--------------------------------------------------------------------------------find ./ -regex .*\.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s\n",$1,$2,$3,$4,$1,$2,$3}'|sh -------------------------------------------------------------------------------- -Tip 13 linux里如何映射windows里的硬碟 mount -t smbfs -o username=xxx,password=xxx //winxp_ip_or_hostname/sharename /local_path [zt] form rexhsu's bbshttp://rexhsu.minidns.net/~irc/discuz/viewthread.php?tid=13 Linux Useful Tips (Collected by RexHsu@ccf) -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..."字串串的文件: find . -type f -exec grep 「the string you want find...」 {} ; -print -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: 提示号后直接Enter键启动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 <To Be Continued> 付上一条帖上面信息加蓝色标记的sed语法... hoho...在unix上处理文字真是帅呆了... 程式码:-------------------------------------------------------------------------------- sed -e "s/^-.*$/&[\/color]/g" tip>./new -------------------------------------------------------------------------------- 我是个初学者,也把自已的笔记上的加一下吧 (如有错误请PM我,我来改正) -Tip 将一个服务加到自启动执行等级中 chkconfig --add httpd chkconfig --level 3 httpd on 就是把httpd加到chkconfig管理中,并加在第三层启动 -Tip 在终端下调音量 aumix -Tip 将man文件汇出为文件并去掉控制符 man command | col -b >col.txt col -b就是去掉控制符的 -Tip 检视资料夹大小 du ./ --max-depth=1 --max-depth=1是控制显示深度 -Tip 光碟弹出,弹入 eject -r 弹出 eject -t 弹入 -Tip 显示最近登入用户 last 以上指令是redhat8下有用,没试过在其它系统中有没有用 tar -zxfv some.gz 则出错。 请高手讲解一些究竟有没有「段横(-)」 ? -f表示后面要跟档案名...你把f放在v前面...tar会认为v就是那个文件..当然出错了... f永远在最后面... 看看man吧..一切都简单.. top 显示记忆体和程序的执行状况 Ctrl H 显示或者隐藏线程 procinfo 显示记忆体和cpu的情况 cat /proc/meminfo 显示记忆体使用情况 /proc 涵盖了所有linux内核信息,因该仔细了解 top,procinfo都是利用/proc文件系统 开发的 redhat 中 chkconfig 可以设定系统启动配置 chkconfig httpd on chkconfig vsftpd on ....... service 可以控制服务的起停 service vsftpd restart service sendmail stop 禁止文件写(包括root) chattr +i filename tail -f /var/log/messages 以既时滚动方式检视系统syslog。 清空日志: cat /dev/null > *.log 可加在crontab中完成日志的清空作业。 不建议清空日志...为啥要清空日值????系统日值本身就循环的不会急暴你的var... 只有你安装了apache等的程序才有日值啊...所以最好的办法是让日志轮循...(直接方法搜寻apache的我的文件,或者查询论坛主题) 还有cat >*.log就能达到同样的功能了.. killall processname 杀死所有俱指定名字的工作。 Tip44 想全部删除以.开头的file或dir时你会如何干? Wrong-> rm -r /tmp/.* Correct-> rm -r /tmp/\.* 这个方案不完美。因为linux有两个名为.和..的文件(指资料夹)。 rm -r /tmp/\.* 没有排除这两个文件,因而有以下错误: /bin/rm: cannot remove `.' or `..' /bin/rm: cannot remove `.' or `..' 请高手给出完美方案, 因为我想要储存用户根目录里的所有.xxxx配置文件。类似: cp \.* savedot/ 资料夹 find /path/ \( -type d -name ".*" -exec mv {} ./path \; \) 文件 find /path/ \( -type f -name ".*" -exec mv {} /path/ \; \) 程式码:-------------------------------------------------------------------------------- for file in `ls /home/userdir -al|grep ^-|awk '{print $9}'|grep "^\."` do cp $file /some/where done -------------------------------------------------------------------------------- 如果能工作就ok啦... 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文件 另一项作法: 1. 随便找个作为 .iso 内容入口的目录,如 : mkdir -p /mnt/v_cdrom1 2. 把 .iso 挂到刚选好的路径中... mount -t iso9660 -o loop,iocharset=cp950,codepage=950 /files/W2K_TW_SP4.iso /mnt/v_cdrom1 ※ -o 表示 option, loop 表示这是个 loop 装置, iocharset 及 codepage 用于指定该 iso 所用的编码系统, .iso 为挂载来源, /mnt/v_cdrom1 为指定的 iso 入口... 3. 将 .iso 卸载... umount /mnt/v_cdrom1 这是为了保留原来实体光碟机之用... 我一直只知道这招... Tip31 搜寻含特定字串串的文件 例如搜寻当前目录下含有"the string you want find..."字串串的文件: find . -type f -exec grep 「the string you want find...」 {} ; -print 这个我一般这样用: find <路径> [-name xxx] | xargs grep "字串" ... 用grep -r ...或grep -R就可以了 有些grep版本没这个选项 还有cat >*.log就能达到同样的功能了.. 不一样,如果你用cat >*.log,这样会需要按一个ctrl+c 如果cat /dev/null >*.log,就不需要按额外的键,适合用在指令码中自动执行. -f表示后面要跟档案名...你把f放在v前面...tar会认为v就是那个文件..当然出错了... f永远在最后面... 看看man吧..一切都简单.. 这个是不对的, vf都是参数,fv一样,不信试试? 你可以用 tar -x -j -v -f 不过这样比 tar xjvf 不是麻烦多了? 嘿嘿 这个可能需要追述unix的指令和开关的历史咯~,太多就不知啦。 BTW,而且如果使用 tar -x -j -v -f FILENAME 的话,-f的确要放在最后,但是 tar xjvf是不用的。 才看到上温老…… -xjvf也行,不过这个就要注意顺序了,否则f后面不接档案名,就会出错的 这个方案不完美。因为linux有两个名为.和..的文件(指资料夹)。 rm -r /tmp/\.* 没有排除这两个文件,因而有以下错误: /bin/rm: cannot remove `.' or `..' /bin/rm: cannot remove `.' or `..' 请高手给出完美方案, 因为我想要储存用户根目录里的所有.xxxx配置文件。类似: cp \.* savedot/ find /tmp -type f -maxdepth 1 -name ".*" -exec mv {} path-to-your-savedot/ \; ps -e ps -ef 是不同的. 你会发现不同的当前run的name. 如果发现不同,就说明有可能有人在你的机器作了一些动作。 利用xargs对管道输出的信息使用特定程序进行处理 例子: find ~root|xargs chmod a-x num-lock default on any of /etc/rc.d/* for t in 1 2 3 4 5 6 7 8 do setleds +num < /dev/tty$t > /dev/null done 这个方案不完美。因为linux有两个名为.和..的文件(指资料夹)。 rm -r /tmp/\.* 没有排除这两个文件,因而有以下错误: /bin/rm: cannot remove `.' or `..' /bin/rm: cannot remove `.' or `..' 请高手给出完美方案, 因为我想要储存用户根目录里的所有.xxxx配置文件。类似: cp \.* savedot/ 资料夹 find /path/ \( -type d -name ".*" -exec mv {} ./path \; \) 文件 find /path/ \( -type f -name ".*" -exec mv {} /path/ \; \) 如果还有问题继续 呵呵.. 希望对大家有用.. 检视win32(fat)分区. fdisk -l (列出分区)(例) /dev/hda6 5000000 fat32 我们要看到这个分区,则: mkdir win_fat mount -t vfat /dev/hda6 /win_fat 列出远端主机(windows)的共享目录 smbclient -L X.X.X.X(IP) -U 用户名 把远端主机的共享目录temp挂到/mnt mount -t smbfs -o username=用户名 //X.X.X.X(IP)/temp /mnt redhat 9 下通过 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文件 另一项作法: 1. 随便找个作为 .iso 内容入口的目录,如 : mkdir -p /mnt/v_cdrom1 2. 把 .iso 挂到刚选好的路径中... mount -t iso9660 -o loop,iocharset=cp950,codepage=950 /files/W2K_TW_SP4.iso /mnt/v_cdrom1 ※ -o 表示 option, loop 表示这是个 loop 装置, iocharset 及 codepage 用于指定该 iso 所用的编码系统, .iso 为挂载来源, /mnt/v_cdrom1 为指定的 iso 入口... 3. 将 .iso 卸载... umount /mnt/v_cdrom1 这是为了保留原来实体光碟机之用... 我一直只知道这招... Tip44 想全部删除以.开头的file或dir时你会如何干? Wrong-> rm -r /tmp/.* Correct-> rm -r /tmp/\.* 这个方案不完美。因为linux有两个名为.和..的文件(指资料夹)。 rm -r /tmp/\.* 没有排除这两个文件,因而有以下错误: /bin/rm: cannot remove `.' or `..' /bin/rm: cannot remove `.' or `..' 请高手给出完美方案, 因为我想要储存用户根目录里的所有.xxxx配置文件。类似: cp \.* savedot/ killall processname 杀死所有俱指定名字的行程。 num-lock default on any of /etc/rc.d/* for t in 1 2 3 4 5 6 7 8 do setleds +num < /dev/tty$t > /dev/null done 检视win32(fat)分区. fdisk -l (列出分区)(例) /dev/hda6 5000000 fat32 我们要看到这个分区,则: mkdir win_fat mount -t vfat /dev/hda6 /win_fat lsof -p pid 显示该行程开启的文件 lsof -i ◎[ip|hostname] port 显示连接开启的文件 lsof directory 显示开启这个目录的文件(可以在想umount某一目录不成功的时候,检视是不是被别的文件开启了) lsof file 显示开启这个文件的行程 在ksh下用vi来编辑所有执行过的指令 ksh下执行set -o vi 或者在别的shell下执行ksh -o vi more或者man的时候可以直接使用vi中的一些操作 比如j,k,CTRL+f CTRL+b,/ 等等 想把man的内容汇出到文本么? man ls | col -b >a.txt csh下"^"的一个小用法 % touch 11 % ^11^22 touch 22 % 不过只能替换第一个匹配到的字串串,第二个就匹配不到了 我的工作环境一般用tar+compress tar cvf - ./dir | compress -c >dir.tar.Z uncompress -c dir.tar.Z|tar xvf - 当前目录下文件太多,用grep会报参数超长... $ ls -al|wc -l 12323 $ grep 123123123 * Arguments too long. $ find . -name "*" | xargs grep 123123123 vi,awk和sed的用法也是很多技巧,不过只需要多看书,多实验就行了 x0
|