-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 校验所有的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的用法也是很多技巧,不过只需要多看书,多实验就行了