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

📄 common-tips.html

📁 学习linux的工具书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<br>&nbsp;&nbsp; tar zvft xxx.tgz 只测试不展开
<br>&nbsp;&nbsp; tar zvfx xxx.tgz -C /new-dir 展开后放到/new-dir目录下
<br>&nbsp;&nbsp; tar zvfc test.tgz /test 把/test目录下所有的文件及子目录打包成test.tgz
<br>&nbsp;&nbsp; tar的参数很多,要仔细学习。
<p><font color="#000099">26.拷贝与粘贴文本</font>
<br>&nbsp;&nbsp; 如果启动了gpm这个守护神(deamon)程序的话,可以用鼠标左键来选择文本,然后就可以用鼠标
<br>&nbsp;&nbsp; 中键把它粘贴到你所想要的地方。如果是两键鼠标则在配置是要选择防真3键鼠标,之后同时按
<br>&nbsp;&nbsp; 下左右键模拟中键。在文本终端下应该用鼠标右键来粘贴。
<p><font color="#000099">27.快速查找某个程序运行中的PID号/关机</font>
<br>&nbsp;&nbsp; 例如想查找inetd: ps aux | grep inetd
<br>&nbsp;&nbsp; 又如想找到最吃内存的进程: ps aux | sort +4n
<br>&nbsp;&nbsp; 找到进程的PID之后就可以用kill给它发信号,或者强制杀死它如:kill
-9 xxx(某个进程的PID)
<br>&nbsp;&nbsp; 在Linux下还提供了一个killall,可以直接使用进程的名字而不是PID号,如killall
-HUP inetd
<br>&nbsp;&nbsp; 又如killall xdm。killall会把信号发给以指定名字的程序运行的所有进程。
<br>&nbsp;&nbsp; 用killall -l列出所有可用的信号。
<br>&nbsp;&nbsp; 提到ps忍不住给大家介绍一下<a href="http://www.nada.kth.se/~f91-men/qps/">qps</a>,用<a href="http://www.troll.no">qt</a>写的图形界面,综合了free,top,ps及kill的特点,还可以看到
<br>&nbsp;&nbsp; 进程的Socket/Memory Map/Files信息。还有为KDE写的ktop,优点是列出了父子进程的关系。
<br>&nbsp;&nbsp; shutdown -r now 杀掉所有进程立即重新启动
<br>&nbsp;&nbsp; shutdown -h now 杀掉所有进程立即停机
<br>&nbsp;&nbsp; shutdown -h +5 "Warning: After 5 minutes I'll shutdown"
给用户发消息并在5分钟后停机。
<br>&nbsp;&nbsp; 相关命令有reboot,halt,poweroff,init等。
<br>&nbsp;&nbsp; 要想实现软件关掉电源,则你的PC机必须是ATX结构的,然后去配置编译内核,打开
<br>&nbsp;&nbsp; charactor device/Advanced Power Management support/Power
off on shutdown这一项。
<p><font color="#000099">28.查找Xwindow下的字体信息,特别是字符映射表(内码)</font>
<br>&nbsp;&nbsp; xlsfonts 列出所有字体
<br>&nbsp;&nbsp; xfontsel 分类列出所有字体并显示示范文本
<br>&nbsp;&nbsp; xfd 显示某个字体文件中的所有字符及内码,比如用 xfd -fn
hanzigb16fs 看看中文内码
<br>&nbsp;&nbsp; 再用xfd -fn cclib16st看看cxterm所用字库的内码与XF86的不同(注意最高位)。
<p><font color="#000099">29.查找日期为某一天的文件</font>
<br>&nbsp;&nbsp; A=`find ~ -print` | ls -l --full-time $A 2>/dev/null |
grep "Jun 27"&nbsp; | grep 1998
<br>&nbsp;&nbsp; Linux的命令很厉害的呀!
<br>&nbsp;&nbsp; 给你写了下面这个script,用着方便点儿。你把它存成一个随便什么名字的文件,置上x属性就行了。
<br>&nbsp;&nbsp; #!/bin/sh
<br>&nbsp;&nbsp; # Copyright by Ming Gong(宫敏) for news://news.freesoft.cei.gov.cn/chinese.com.linux
<br>&nbsp;&nbsp; # GPL V2, Jun 30, 1998
<br>&nbsp;&nbsp; # The right of usage, distribution and modification is
here by granted by the author.
<br>&nbsp;&nbsp; # The author deny any responsibilities and liabilities
related to the code.
<br>&nbsp;&nbsp; #
<br>&nbsp;&nbsp; OK=0
<br>&nbsp;&nbsp; A=`find $1 -print`
<br>&nbsp;&nbsp; if expr $3 == 1 >/dev/null&nbsp; ; then M=Jan ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 2 >/dev/null&nbsp; ; then M=Feb ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 3 >/dev/null&nbsp; ; then M=Mar ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 4 >/dev/null&nbsp; ; then M=Apr ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 5 >/dev/null&nbsp; ; then M=May ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 6 >/dev/null&nbsp; ; then M=Jun ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 7 >/dev/null&nbsp; ; then M=Jul ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 8 >/dev/null&nbsp; ; then M=Aug ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 9 >/dev/null&nbsp; ; then M=Sep ; OK=1 ;
fi
<br>&nbsp;&nbsp; if expr $3 == 10 >/dev/null&nbsp; ; then M=Oct ; OK=1
; fi
<br>&nbsp;&nbsp; if expr $3 == 11 >/dev/null&nbsp; ; then M=Nov ; OK=1
; fi
<br>&nbsp;&nbsp; if expr $3 == 12 >/dev/null&nbsp; ; then M=Dec ; OK=1
; fi
<br>&nbsp;&nbsp; if expr $3 == 1 >/dev/null&nbsp; ; then M=Jan ; OK=1 ;
fi
<p>&nbsp;&nbsp; if expr $OK == 1 > /dev/null ; then
<br>&nbsp;&nbsp;&nbsp;&nbsp; ls -l --full-time $A 2>/dev/null | grep "$M
$4" | grep $2 ;
<br>&nbsp;&nbsp; else
<br>&nbsp;&nbsp;&nbsp;&nbsp; echo Usage: $0 path Year Month Day;
<br>&nbsp;&nbsp;&nbsp;&nbsp; echo Example: $0 ~ 1998 6 30;
<br>&nbsp;&nbsp; fi
<p><font color="#000099">30.使用软盘/光盘等移动介质</font>
<br>&nbsp;&nbsp;&nbsp;&nbsp; 刚从跺死/瘟都死转过来的朋友,手拿着软盘/光盘不知道该如何办,因为Linux下没有A盘D盘的
<br>&nbsp;&nbsp; 概念.我自己刚开始学习Linux时也是这样(以前从来就没有做过root&nbsp;
:-)。如果你手头有讲Linux
<br>&nbsp;&nbsp; 的书,仔细去看设备及文件系统的相关章节。简单地说,你需要把软盘/光盘设备上的文件系统安
<br>&nbsp;&nbsp; 装到Linux目录树上的一个点上,称之为安装点(mount point),通常是一个目录。安装Linux后会
<br>&nbsp;&nbsp; 有个缺省的安装点/mnt,在它下面还有/mnt/floppy和/mnt/cdrom。你可以用
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t ext2 /dev/fd0 /mnt/floppy&nbsp;
&lt;--把linux文件系统格式的软盘安装上来
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t msdos /dev/fd0 /mnt/floppy
&lt;--把dos文件系统格式的软盘安装上来
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t vfat /dev/fd0&nbsp; /mnt/floppy
&lt;--vfat支持瘟95/98的长文件名
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount /dev/hdb /mnt/cdrom&nbsp;
&lt;--把以从盘方式接在第一个IDE口上的光驱上的光盘安装上来
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount /dev/cdrom /mnt/cdrom&nbsp;
&lt;-- /dev/cdrom是指向光驱设备的一个连接
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount /mnt/cdrom&nbsp;&nbsp;&nbsp;
&lt;--可以这么用是因为在/etc/fstab里已经定义了
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; umount /mnt/floppy&nbsp; &lt;--在拿出软盘之前先要把它卸载
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; umount /mnt/cdrom&nbsp;&nbsp;
&lt;--不卸载就拿不出光盘
<br>&nbsp;&nbsp; 当然你也可以自己建一些安装点,比如"mkdir /mnt/smb","mkdir
/scd"然后
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t iso9660 /dev/scd0 /scd&nbsp;
&lt;--/dev/scd0: SCSI光驱
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; smbmount //fjj/download /mnt/smb
<br>&nbsp;&nbsp; 等等,熟悉之后就可以灵活运用。
<br>&nbsp;&nbsp; 单用mount而不跟任何参数可以显示已经安装的文件系统,或者查看/etc/mtab文件
<br>&nbsp;&nbsp; 初学者还经常问到如何格式化磁盘,在Linux里概念有些不同,称之为制作文件系统(make
filesystem)
<br>&nbsp;&nbsp; 应该用mkfs命令,由于现在的Linux都使用ext2格式,最好直接使用mke2fs,比如mke2fs
/dev/fd0
<br>&nbsp;&nbsp; mke2fs /dev/hdb2等等。如果要对软盘低级格式化,则可以用fdformat,而硬盘在出厂时已经格式化,
<br>&nbsp;&nbsp; 无须低级格式化(那是危险的)。检查文件系统则用e2fsck,如e2fsck
-av /dev/fd0。
<br>&nbsp;&nbsp; 哈,这个根本算不上Tips,不过有些初学者总是不喜欢看书思考,甚至还问如何添加/删除用户。
<p><font color="#000099">31.添加/删除用户</font>
<br>&nbsp;&nbsp; 用useradd username(或者adduser username)添加一个名为username的用户,然后用passwd
username
<br>&nbsp;&nbsp; 指定口令。用户的信息记录在/etc/passwd文件里,由于每个用户都可以(而且必须能)读出这个文件然
<br>&nbsp;&nbsp; 后就可以crack出其它用户的密码,为安全考虑现在都使用shadow。在/etc/passwd下用户的口令变为x
<br>&nbsp;&nbsp; 真正的口令密文记录在/etc/shadow里,而这个文件只有以root权限才能读出。Redhat
5.1以下版本没
<br>&nbsp;&nbsp; 有直接使用shadow,需要用pwconv转换一下,如果要变回来,可以用pwunconv。提示:在/etc/skel目
<br>&nbsp;&nbsp; 录记录了一个用户应该有的基本文件(ls -a /etc/skel/看看都有什么),useradd会自动把这些文件复
<br>&nbsp;&nbsp; 制到用户的家目录下并置上适当的权限(除非添加用户时用了-m参数:
useradd -m xxx)。如果你在这个
<br>&nbsp;&nbsp; 目录下键一个public_html的目录,则以后添加的用户在它的家目录下都会自动有个同名的目录,这样
<br>&nbsp;&nbsp; 每个用户都有了“个人主页”。
<br>&nbsp;&nbsp; 删除用户可以用userdel usrname或userdel -r username(有些发行版可能是deluser),-r参数会删除
<br>&nbsp;&nbsp; 这个用户的家目录,但是在系统里别的地方还可能有此用户的信息,所以在删除用户之前最好还要
<br>&nbsp;&nbsp; 用find / -user username等方式去找一找相关信息。
<br>&nbsp;&nbsp; 如果要临时禁止一个用户,可以在/etc/passwd文件中此用户的密码这一项第一个字符前添加一个*号。
<br>&nbsp;&nbsp; 如果把密码域改为空,则此用户不需要密码就可以进入系统,当你忘记root口令时,可以用软盘启动
<br>&nbsp;&nbsp; 把原来的root安装上来,直接去改passwd文件。我记得以单用户方式启动时不需要密码可以进去。
<br>&nbsp;&nbsp; 长用户名的问题,在Redhat发行版中已经做得很好了,也允许用户名中有空格。如果你手上的发行版
<br>&nbsp;&nbsp; 不支持,到/usr/include/utmpbits.h里把UT_NAMEDSIZE改为32,重新编译相关程序。
<br>&nbsp;&nbsp; 另一个直观的配置工具是linuxconf,比如用它来配置pppuser等等。
<br>&nbsp;&nbsp; 这里只能给一些线索,自己多看"man useradd","man shadow","man
group","man userdel"......
<br>&nbsp;&nbsp; 再一次建议新来者多看书多思考多看看man page,否则不大容易找到/etc/skel是干什么的。
<p><font color="#000099">32.列出一个目录占用的空间</font>
<br>&nbsp;&nbsp; du或du -s或du -k
<br>&nbsp;&nbsp; du -S | sort -n 可以迅速发现那个目录是最大的。
<br>&nbsp;&nbsp; 用df可以看到已安装的文件系统的空间大小及剩余空间大小。
<br>&nbsp;&nbsp; quota -v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。
<p><font color="#000099">33.命令补起(TAB键的妙用)</font>
<br>&nbsp;&nbsp; 很多shell都有这个功能。
<br>&nbsp;&nbsp; 1) 只需输入文件或目录名的前几个字符, 然后按TAB
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 键,如无相重的,完整的文件名立即自动在命令行
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 出现;如有相重的,再按一下TAB键,系统会列出
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前目录下所有以这几个字符开头的名字.例如
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /mnt/cd&lt;tab键> 自动补起为 cd /mnt/cdrom
<br>&nbsp;&nbsp; 2) 在命令行下,只需输入例如"m",再连续按两次TAB
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 键,系统将列出所有以"m"开头的命令,(包括自定义
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 的Bshell命令函数),对查找某些记不清楚的命令特
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有用.例如输入"ftp",将查到ftp,ftpcount,ftpwho
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftpshut等本不熟悉的命令.
<p><font color="#000099">34.在redhat5.0中没有setenv,用set设定的变量在程序中用getenv读不出来.</font>
<br><font color="#000099">&nbsp;&nbsp; 用哪个函数可以读出用set设定的环境变量?</font>
<br>&nbsp;&nbsp; set env;export env
<br>&nbsp;&nbsp; 然后在用getenv去读。
<p><font color="#000099">35.让grep搜寻文件及所有子目录下的文件里的内容</font>
<br>&nbsp;&nbsp; 例如搜寻ZhXwin下所有C原代码中的"Chinput"(试试取消下行的-q参数):
<br>&nbsp;&nbsp; find /download/ZhXwin -name *.c -exec grep -q -s Chinput
{} \; -print
<br>&nbsp;&nbsp; 查找所有文件则可以用:
<br>&nbsp;&nbsp; find . -type f -exec grep -s chinese {} \; -print
<br>&nbsp;&nbsp; 如果喜欢图形界面,KDE带的kfind很不错。
<p><font color="#000099">36.查看启动时的log信息</font>
<br>&nbsp;&nbsp; 首先去查看/etc/syslog.conf文件,找到对应的文件。
<br>&nbsp;&nbsp; (更详细的信息去看"man syslogd" "man syslog.conf" 以及"man
klogd")
<br>&nbsp;&nbsp; 通常在SlackWare下为/var/adm/messages,在Redhat下为/var/log/messages。
<br>&nbsp;&nbsp; 这些文件可能会很大,要注意备份和删除。
<br>&nbsp;&nbsp; 前面已经提到用tail(tail -f)查看这些文件的方法,另外还有个<a href="http://logscanner.tradeservices.com/">logscanner</a>工具,挺不错的。
<br>&nbsp;
<p>建议大家去读一下The Linux Tips Howto,并且去订阅<a href="http://www.ssc.com/lg">Linux
Gazette</a>。
<br>收集整理这些文档的时候看到一个新开的站点:<a href="http://www.patoche.org/LTT/">Linux
Tips &amp; Tricks</a>
<br>&nbsp;
<p>-------------------
<br><font color="#000066">头疼医头,脚疼医脚。</font>
<br>&nbsp; 

⌨️ 快捷键说明

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