星期六, 一月 01, 2005

linux 下部分基本命令

linux command详解, 一些有用的linux命令的整理, 主要是有关系统管理方面的.


at
在什么时候做某事
例子: at 3:30am, 然后输入命令, 然后Ctal-D结束


crontab
安排在什么时候做什么事, 很适合固定时间的重复操作
例子:
先写一个文件叫aa吧:

30 8 * * 4 user echo "Staff meeting today at 10:00 AM"
然后ctrontab aa即可
其中文件表示 星期四早晨 8:30,crontab 会提醒您上午 10:00 有一个职员会议。第一个字段 (30) 表示小时过后的第 30 分钟。后面两个星号是表示天和月.
-r 删除这些项, -l 查看有哪些作业
注意: 运行一次crontab bb, 就把以前crontab aa的内容冲掉了.

如果想要修改crontab,一般做以下的几步就可以了
将crontab 推到一个自定义的文件上
crontab -l>tmp
编辑这个文件,做需要的修改
vi tmp
推回crontab
crontab tmp

一个例子:
文件一t.sh, 是个bash脚本:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
cd /data/zyc/bin/parttime-compute/
./FAH502-Linux.exe >> out.dat&

文件二run, crontab要用的:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 0 * * * /data/zyc/bin/parttime-compute/t.sh
0 9 * * * killall FAH502-Linux.exe

然后crontab run即可每天0点到9点运行这个程序.


file foo
查看一个叫foo的文件类型, 看看需要用什么程序打开.


ftpwho
看现在谁在连ftp


grep
查找关键词. 可以用组合命令comnand |grep *** 来只看command输出中含有***的行.
在文件中查找 grep *** foo: 在foo中查看含***的行, grep aaa * -r 查找当前目录及子目录下文本所有文件中含有aaa的行, 如常用的 locate aa|grep bb, 查找硬盘上既含aa又含bb的文件.


icepref
图形界面的配置ICEWM的工具.


iconv -f big5 -t gb2312 foo1 -o foo2
将繁体的foo1文件转化为简体放到foo2文件中.
iconv: 字符集转化, 将文本从一种编码转换成另一种编码, 如
iconv -f GB18030 -t UTF-8 foo.srt.1 -o foo.srt


jobs
查看当前终端被挂起的进程. 用fg或bg恢复.


last
看最近谁登录了机器.


latex2html
将用latex写的内容转化成html格式.
latex2html -split 0 foo.tex 将把foo.tex所输出的内容全部放在一个html文件中. 这对文档内容比较少的时候比较有利, 不然弄那么多网页, 点来点去的连自己也会被点晕.


lsof
显示机器打开文件的信息, 如果lsof |grep aa.txt 就可以看哪些程序打开了aa.txt.


md5sum foo
计算一个文件的md5校验码, 看是否与网站提供的一致, 来判断下载过程中是否出现过错误.


netstat
显示有关网络的大量信息.


rcconf
Debian下用于修改启动项目的程序, 修改的是/etc/rc3.d中的符号链接.


screen
一个终端里边可以藏着很多终端, 就象一个窗口里很多tab子窗口一样; 而且还可以关掉, 在重新在本地或者远程再打开.
screen 启动. 然后 Ctrl-a c(或Ctrl-c)建立新的终端, 注意screen都以C-a(即Ctrl-a)为前缀操作; C-a C-a切换; C-a w/C-w列出所开的终端; C-a d 离开screen(但是screen的内容没被删除, 所执行的程序也未终止); screen -r 重新回来; 如果有不止一个screen正在或曾经运行, 需要screen -ls查看正有多少screen在运行, 然后选择其中一个 screen -r ***; 还可以主动关掉一个screen(detach), screen -d [***], 这种情况发生在想在远程或另一个窗口唤起这个screen即里边运行的东西, 先把那个关掉(detach), 再在这边重新打开(resume). 更多选项看man手册.
注意: screen是对终端进行操作.
主要解决的问题是: 在一台机器上(几个终端里)做了一些事, 但是没做完或者想在其他机器上看, 通过screen把这个终端放在一个看起来是一个的窗口里, 这个窗口可以把信息保存着从网络上其他地方提取. 如果是图形窗口呢?(VNC)


who
看当前谁谁谁在用这台机器.


没有评论: