linux常用技巧

Linux虽然“不复杂”,但要用好它却还有不少“讲究”。原因是要用好还涉及到相当数量的技巧。笔者在此收集、整理了一些Linux技巧,希望能为大家“用顺”Linux提供方便。
1.在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”。
2.列出除某些类型文件外的当前目录内所有文件
  使用Ksh,用ls !(*.Z)命令可以显示所有文件,除了*.Z文件。
  这个命令在一个目录里有许多种类型文件时很有用。
3.删除一个目录下的所有文件和子目录及子目录下的所有文件
  用rm -rf /tmp/example命令
  这些都是给懒人们准备的,新手最好多用man命令学习。要是你英语不好,就只好等待中文版了。
4.快速进入某些目录
  键入 cd~(或cd SHOME)可进入用户的home目录.
  键入 cd - 可进入上一次所在的目录.
5.显示环境变量
  echo S HOME 显示家目录
  echo S PATH 显示可执行文件搜索路径
  env 显示所有环境变量(可能很多,最好用〃env | more〃,〃env | grep PATH〃等)
  修改环境变量,在bash下用export,在csh下用setenv。比如:
  export PATH=SPATH:/usr/local/bin
  要想知道export的具体用法,可以用shell的help命令:help export
6.查找文件
  使用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时先比较权限。
7.控制台下回卷屏幕
  如何查看已经卷过屏幕的信息呢?试试这两个按键组合:shift+PageUp和shift+PageDown,它们对xterm/nxterm/cxterm/xxgdb都有效。而KDE带的KVT已经做得很好了。
8.查看文件内容的特殊方法
  相信你对最基本的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行。
9.启动一个程序时让它立即进入后台运行方式
  看过前面一篇bash的介绍应该明白Ctrl+z/bg/fg的用法。有些程序工作起来挺费时间,在它后面加个&符号看看,例如“updatedb &”,“netscape &”等等。这样这个shell会释放出来干别的活。请注意这样出来的程序父进程仍然是这个shell,若你退出这个shell,这些程序也会被kill掉。建议退出shell之前用jobs命令查看后台作业。
10.使用nohup(不挂起)命令
  如果想进程在你退出系统后还能执行,可以使用nohup命令如:
  % nohup tar -cf /dev/tape /home &
  如logout退出后再重新登录的话,使用“ps”命令可以看到进程还在执行。注意,要想把命令真正放到后台运行,nohup必须与&操作同时使用。有些软件自己能处理SIGHUP信号,如wget,对它们则无须用nohup。
  你还可以用nohup来实现ppp回拨:先拨号上去,然后以nohup执行一个自制的脚本,如“sleep 60; ppp-start-script”等等。最后logout退出并挂断电话等着就是。
11.快速查找某个程序运行中的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可以列出所有可用的信号。
  下面给大家介绍一下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这一项。
12.查找Xwindow下的字体信息,特别是字符映射表(内码)
  xlsfonts 列出所有字体;
  xfontsel 分类列出所有字体并显示示范文本;
xfd 显示某个字体文件中的所有字符及内码,比如用 xfd -fn hanzigb16fs 查看中文内码,再用xfd -

你可能感兴趣的:(linux)