http://www.21php.com/tutorial/tutorial.php?tid=89 作者: LinuxForum
1.虚拟控制台 登录后按Alt+F2键这时又可以看到"login:"提示符, 这个就是第二个虚拟控制台.再按Alt+F1又回到第一个控制台,来回切换很方便。查看/etc/inittab文件可以找到一下几行: #Run gettys in standard runlevels 1:12345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 也就是说初始化的时候定义了6个虚拟控制台,你可以编辑这个文件来增加或减少虚拟控制台。在Xwin下使用虚拟控制台则要用Ctrl+Alt+F?来切换。Xwindow占用虚拟控制台后的第一个控制台,缺省就是tty7,所以要切换回Xwin则按Alt+F7(当你改变了虚拟控制台的数目时则要改变)。如果启动了第二个Xserver则应该是Alt+F8,等等。
2.Redhat下显示彩色目录及文件列表 用ls --color -F,参数--color指示用彩色显示,参数-F会在文件/目录名后加一个字符来指示它的类别。建议初学者用man ls看看详细信息。比如用-l参数列出文件/目录的绝大部分信息(长格式显示);用-a参数列出所有文件;包括首字符为"."的隐含文件;用-N参数不处理文件名直接显示,这样在中文环境下就可以显示中文文件名了。还要注意ls与其它命令搭配使用可以生出很多技巧(最简单的如"ls -l | more")。 为了方便起见,你可以编辑/etc/bashrc或自己家目录(home)下的.bashrc,加入一行: alias ls="ls --color -F -N" 重新运行一下bash会立即生效,如果加在/etc/bashrc里则对所有使用bash shell的用户有效。如果使用的是其它的shell,则去找对应的配置文件。注意不是/etc/aliases文件,那是sendmail的别名配置文件。 ls显示的颜色是可以修改的,请参考"Colours with Linux terminals",里面有个shell脚本可以显示所有的ANSI颜色。你可以去看一下/etc/DIR_COLORS或$HOME/.dir_colors,要注意两个文件的作用范围不同。也可以用dircolors -p命令列出设置,更详细信息见"man dircolors"。
3.只列子目录的方法: ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux) ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris) find . -type d find . -type d | sort 参考dtree
4.列出除了某些类型文件的当前目录所有文件 使用Ksh,用ls !(*.Z)可以显示所有文件,除了*.Z文件。 这个命令在一个目录里有许多种类型的文件的时候很有用.
5.计算文件数和目录数 下面的语句可以帮你计算有多少个文件和多少个目录.. ls -l * | grep "^-" | wc -l <---- to count files ls -l * | grep "^d" | wc -l <----- to count dir 还可以将以上的语句变成script或做个alias
6.复制子目录及子目录下的所有文件 在用cp时加上-r参数,如"cp -r /mnt/floppy/* /usr/local/" 要参考的重要参数是-f -s
7.文件/目录改名 简单地用move命令移到新名字下即可。例如"mv /usr/oldname /usr/newname"
8.删除一个目录下的所有文件和子目录及子目录下的所有文件 rm -rf /tmp/example 这些都是给懒人们准备的,新手最好多用man命令学习。要是英语不好,等中文发行版出来 :-(
9.快速进入某些目录 键入 cd ~ (或cd $HOME)可进入用户的home目录. 键入 cd - 可进入上一次所在的目录.
10.显示环境变量 echo $HOME 显示家目录 echo $PATH 显示可执行文件搜索路径 env 显示所有环境变量(可能很多,最好用"env | more","env | grep PATH"等) 修改环境变量,在bash下用export,在csh下用setenv。比如: export PATH=$PATH:/usr/local/bin 要想知道export的具体用法,可以用shell的help命令:help export
11.显示文件的类型 用file命令,比如"file /bin/mount","file xxx.gz","file netscape","file initrd.img"等等。 相关的配置文件在/etc/magic或者/usr/share/magic
12.查找命令文件的路径 比如你要查找mount命令的具体路径,可以用 type mount whereis mount 这个命令还可以找出与这个命令文件相关的文件如manuals page。
13.查找文件 使用find命令,比如: find /usr -name XF86* 在/usr目录下(包含子目录)查找名字前四个字母为XF86的文件 find . -name netscape -print 在当前目录下(包含子目录)查找名为netscape的文件 find /home -nouser 在/home目录下查找没有用户属主的文件(用户帐号被删除但有遗留文件) find /var -newer test 在/var目录下查找比test文件日期更新的文件 find命令有很多参数,注意用man命令查看。 更快速的查找文件是使用locate,第一次使用locate之前用updatedb来更新文件/目录名数据库。 它把文件/目录信息写到数据库中,以后查找起来就特别的快。updatedb放在crontab中而且缺省配置是在半夜自动执行。locate存在轻微的安全性问题,因为普通用户可以用它来取得自己不能访问的目录/文件的部分信息。现在有个secure locate,把uid/gid也保存到数据库中,用户在locate时先比较权限。
14.控制台下回卷屏幕 如何查看已经卷过屏幕的信息呢?试试这两个按键组合:shift+PageUp和shift+PageDown 对xterm/nxterm/cxterm/xxgdb都有效。而KDE带的KVT已经做得很好了。
15.查看文件内容的特殊方法 相信最基本的cat和less你已经很熟悉了,如果有特殊的要求呢: 如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd 如果你想查看文件的后10行,可以使用tail命令,如: tail -10 /etc/passwd tail -f /var/log/messages 参数-f使tail不停地去读最新的内容,这样有实时监视的效果, 当你在ppp拨号的过程中用它岂不是很方便! 查看文件中间一段,你可以使用sed命令 如: sed -n ''''5,10p'''' /etc/passwd 这样你就可以只查看文件的第5行到第10行。
16.取消^M字符 当你FTP一些DOS文件到unix下时,你经常会看见每行文件后面有个讨厌的^M 字符, 有两个简单的方法可以取消它。 用"vi"打开此文件,在Command mode下敲入: :%s/^V^M//g 或者,在UNIX SHELL下敲入: sed ''''s/^V^M//g'''' foo > foo.new
17.利用Find命令改变所有权 想要改变当前目录下所有文件的所有权,可以这样: find . -exec chown OWNER.[GROUP] {} ; (Solaris) find . -exec chown -R OWNER.[GROUP] {} ; (Linux)
18.改变xterm/cxterm下字体大小 同时按下Ctrl键和鼠标右键会弹出一个菜单让你选择,也可以在启动xterm时指定字体, 如"xterm -fn 8x16 &" 提示:难道你不想试试Ctrl+鼠标左键会有什么吗?!
19.启动一个程序时让它立即进入后台运行方式 看过前面一篇bash的介绍应该明白Ctrl+z/bg/fg的用法。有些程序工作起来挺费时间,在它后面加个&符号看看,例如"updatedb &","netscape &"等等。这样这个shell会释放出来干别的活。注意这样出来的程序父进程仍然是这个shell,若你退出这个shell,这些程序也会被kill掉(除非这个程序自己特别处理能脱离shell)。建议退出shell之前用jobs命令查看后台作业。
20.使用nohup命令(不挂起) 如果你想进程在你退出系统后还能执行,可以使用NOHUP命令如: % nohup tar -cf /dev/tape /home & 你logout退出后再重新登录的话,使用''''ps''''命令可以看到进程还在执行 注意,要想把命令真正放到后台运行,nohup必须与&操作同时使用。 有些软件自己能处理SIGHUP信号,如wget,则对它们无须用nohup。 如果你愿开动脑筋的话,还可以用nohup来实现ppp回拨:先拨号上去,然后以nohup执行一个自制的脚本,如"sleep 60; ppp-start-script"等等。最后logout退出并挂断电话等着就是。
21.快速调出历史命令 看了上一篇bash的介绍,想必对history,!,!!这些用法很熟悉了。其实你还可以用上下光标键来调出历史命令,然后用左右光标键移动并可编辑命令行。
22.产生一个以当日日期为后缀的文件 file=`date ''''+%m%d''''` | touch todayis.$file 或者做一个shell脚本: #!/usr/bin/sh file=`date ''''+%M%d''''` touch todayis.$file exit 0 注意定义file变量中的“`”不是“ ''''”,而是左上角数字键1傍边那个(左单引号)。
23.将man/info的内容存为文本文件 以man tcsh为例: 1) man tcsh | col -b > tcsh.txt 2) nroff -man tcsh.man | col -b > tcsh.txt 以info emacs为例 info emacs -o emacs.txt -s 提示,如果安装了KDE的话用kdehelp去看man page和info page是很方便的。 嫌KDE太大的话还有TkMan可以选择,也是图形/超文本方式的,有搜索引擎,功能更强。 新来者要多去看man和info哟!
24.关于rpm的小技巧 1)安装rpm包时显示进度 用-vh参数,如rpm -ivh ipchains-1.3.6-1.i386.rpm 如果用glint或xrpm则不必。 2)直接通过ftp来安装rpm包 如rpm -i ftp://ftp.xxx.xxx 3)校验所有的rpm包,查找丢失的文件 rpm -Va 4)查找一个文件属于哪个rpm包 例如:rpm -qf /usr/bin/who 5)列出一个rpm包的描述信息 例如:rpm -qpi mon-0.37j-1.i386.rpm 6)列出一个rpm包的文件信息 例如:rpm -qpl mon-0.37j-1.i386.rpm
25.快速展开xxx.tar.gz/xxx.tgz压缩的包 tar zvfx xxx.tgz 在当前目录下展开这个包 tar zvft xxx.tgz 只测试不展开 tar zvfx xxx.tgz -C /new-dir 展开后放到/new-dir目录下 tar zvfc test.tgz /test 把/test目录下所有的文件及子目录打包成test.tgz tar的参数很多,要仔细学习。
26.拷贝与粘贴文本 如果启动了gpm这个守护神(deamon)程序的话,可以用鼠标左键来选择文本,然后就可以用鼠标中键把它粘贴到你所想要的地方。如果是两键鼠标则在配置是要选择防真3键鼠标,之后同时按下左右键模拟中键。在文本终端下应该用鼠标右键来粘贴。
27.快速查找某个程序运行中的PID号/关机 例如想查找inetd: ps aux | grep inetd 又如想找到最吃内存的进程: ps aux | sort +4n 找到进程的PID之后就可以用kill给它发信号,或者强制杀死它如:kill -9 xxx(某个进程的PID) 在Linux下还提供了一个killall,可以直接使用进程的名字而不是PID号,如killall -HUP inetd 又如killall xdm。killall会把信号发给以指定名字的程序运行的所有进程。 用killall -l列出所有可用的信号。 提到ps忍不住给大家介绍一下qps,用qt写的图形界面,综合了free,top,ps及kill的特点,还可以看到进程的Socket/Memory Map/Files信息。还有为KDE写的ktop,优点是列出了父子进程的关系。 shutdown -r now 杀掉所有进程立即重新启动 shutdown -h now 杀掉所有进程立即停机 shutdown -h +5 "Warning: After 5 minutes I''''ll shutdown" 给用户发消息并在5分钟后停机。 相关命令有reboot,halt,poweroff,init等。 要想实现软件关掉电源,则你的PC机必须是ATX结构的,然后去配置编译内核,打开 charactor device/Advanced Power Management support/Power off on shutdown这一项。
28.查找Xwindow下的字体信息,特别是字符映射表(内码) xlsfonts 列出所有字体 xfontsel 分类列出所有字体并显示示范文本 xfd 显示某个字体文件中的所有字符及内码,比如用 xfd -fn hanzigb16fs 看看中文内码 再用xfd -fn cclib16st看看cxterm所用字库的内码与XF86 [1] [2] 下一页 [C语言系列]C# 和 Linux 时间戳转换 [Web开发]PHP flock文件锁介绍 [Web开发]flock() Linux下的文件锁 [电脑应用]Linux下的六个免费的虚拟主机管理系统介绍 [电脑应用]Linux数据库大比拚 [操作系统]在Windows中玩转Linux操作系统 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]掌握 Linux 调试技术 [办公软件]理解 Linux 配置文件 [聊天工具]Real10 & Xpdf installation on Linux Box
|