⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common-tips.html

📁 学习linux的工具书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta name="Author" content="Edward Fu">
   <meta name="GENERATOR" content=Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]>
   <title>Freesoft Linux FAQ -- 一些Tips</title>
</head>
<body>

<center>
<h1>
一些Tips</h1></center>

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -