分类: 'CLI软件' 的归档
Perfect Console 计划
转自 http://www.linuxsir.org/bbs/showthread.php?t=245239
=================================================
目的:
提供 X , DirectFB 下的图形界面程序在纯控制台(最好是FrameBuffer的,VGA的驱动屏幕太小)下的替代品.
使用户在不装 X , DirectFB 等图形界面的情况下,也能有很好的体验.
内容:
尽量提供 软件简介, 主页, 安装方法, 截图, 依赖
大多数软件从 Freshmeat -> Environment -> Console (Text Based) -> Curses 找到.
如没有主页和下载地址, 请善用搜索:
1. www.freshmeat.net/projects/软件名
2. www.freshmeat.net 最大的开源软件库,几乎所有软件都能找到, 在这里搜索
3. rpmfind.net 也是很大的软件源, 下来的 src.rpm 可以解压后使用, 其中的 patch 也可以用.
4. www.google.com
有一些软件本人还未试验, use at your own risk .
欢迎提供适合本计划的软件, 要求某个功能的软件也可以提出, 但不保证有人帮你找到.
0. 基础软件
基本上,下面的软件都需要的, 下面就不提了.
Linux kernel with Framebuffer :
GPM : 鼠标驱动
ncurses : 基础图形库
S-lang : 基于 ncurses 的库, 有的软件需要
newt : 另一个图形库, 有的软件需要
screen : 让一个 console 同时运行多个图形程序 ,我写的 screen 的用法, 以及在 lfs 当中的应用 , 还有人说用screen可以实现gpm的跨控制台复制粘帖 这是gentoo的帮助文件: http://gentoo-wiki.com/TIP_Using_screen
1. 中文支持
zhcon : 在LFS5.0+kernel2.6.3里安装zhcon0.2.3
主页: zhcon.sf.net 现已升级到 0.2.6 ,从 0.2.5 开始部分支持 utf8 , 推荐.
cce : cce + gcc4 问题基本解决 (Final)
2. 文件管理
midnightcommander, mc : 见 BLFS Book
Midnight Commander MP : 改版的 mc http://freshmeat.net/projects/mcmp/
3. 上网浏览
lynx , w3m , links 在 BLFS book 里有
lynx : 基本的浏览器,在 cce/zhcon 下支持中文,不支持中文utf8网页(比如 本页 )
w3m : 较好的浏览器,支持表格,在 cce/zhcon 下完美支持中文, utf8 的网页也支持,新的 w3m 直接支持 fb 图象。
links : 功能比 w3m 还强大, 支持后台下载,但是完全不支持中文.
links -g 可以开启图形,高级布局
elinks : links 改版,功能比 links 还强大, 支持多Tab页,但是完全不支持中文.
据说 sir 上某人曾经 links 的中文码表,可以支持中文, 我还没找到,若有人找到,请给我一个地址. 否则, 我来试试自己写(抄袭?) 一个码表,不过肯定是 elinks 的.
4. 上网聊天
centericq : An ncurses-based client for ICQ, Yahoo!, AIM, IRC, Jabber, MSN, and LiveJournal.
http://freshmeat.net/projects/centericq/
Licq : An advanced graphical ICQ clone.
http://freshmeat.net/projects/licq/
5. 收发邮件
Mutt : A small but very powerful text-based mail client.
http://freshmeat.net/projects/mutt/
gnus+fetchmail+procmail
http://www.gnus.org/
http://fetchmail.berlios.de/
http://www.procmail.org/
教程:
PROCMAIL QUICK START http://www.ii.com/internet/robots/procmail/qs/
procmail 软件包包含一个自动的邮件处理器,可以很好的过滤和排序邮件。 http://lfs.linuxsir.org/htdocs/blfsc…/procmail.html
使用fecthmail http://doc.chinahtml.com/Manual/free…fetchmail.html
http://learn.tsinghua.edu.cn:8080/20…nt-backup/gnus
.html
http://learn.tsinghua.edu.cn:8080/20…up/gnus-1.html
Pine 不逊于 mutt 的 email 客户端
http://www.washington.edu/pine/
6. 音乐欣赏
mp3blaster : mepgsound 解码 http://mp3blaster.sourceforge.net/
MOC console audio player for Linux/UNIX
http://moc.daper.net/
mpg123 + playmp3list : mpg123 解码 http://rucus.ru.ac.za/~urban/projects/playmp3list/
mplay + mplayer : mplayer 的 console 前端
cmus : mad 解码 , 看起来比 mp3blaster 还好 http://onion.dynserv.net/~timo/cmus.html
为了支持更多格式,需要一下库:
flac : http://flac.sourceforge.net/
mp3 , mad : http://www.underbit.com/products/mad/
ogg , libogg, http://www.vorbis.com/
libao : http://www.xiph.org/ao/
下面不清楚,可能没有什么用
http://modplug.sourceforge.net/
http://www.musicpd.org/mpc.shtml
http://www.musicpd.org/
7. 视频播放
mplayer :
xine :
这两个在输出驱动为 fb 的情况下,可以完美播放各种格式视频.
8. 集成开发
motor : http://freshmeat.net/projects/motor/
http://thekonst.net/motor
ftp://rpmfind.net/linux/Mandrake/9.2…4-3mdk.src.rpm
有人可能更喜欢用 vi 或 emacs .
9. 上传下载
wget : http://www.gnu.org/software/wget/
curl : http://curl.haxx.se/
prozilla : 多线程 http://prozilla.genesys.ro/
lftp : 命令行 http://lftp.yar.ru/
ncftp : 命令行 http://www.ncftp.com/ncftp/
yafc : 命令行 + 彩色 http://yafc.sourceforge.net/
mc : mc 用来ftp是很方便的
10.图形图像
fbgrab : 在 framebuffer 下截图, http://hem.bredband.net/gmogmo/fbgrab/
我的截图都是 fbgrab 做的, 依赖于 libpng .
编译时不要用 make ,它的 Makefile 调用了一个检查程序,一般都没装,也没什么用.
看一下 Makefile ,把 gcc ……….. 粘帖下来直接用.
fbv : 看图软件,可以在console 下看 png gif jepg ,依赖于 libpng, libungif ,libjepg
http://freshmeat.net/projects/fbv/
iiview : 看图, 还可显示缩略图, 可以在console 下看 png gif jepg tiff,依赖于 libpng, libungif ,libjepg, libtiff
http://freshmeat.net/projects/iiview/
fbview : 看图, 不推荐,依赖太多, 除图形库外,还有imagemagick , oFBis library
fbi 系列 : http://linux.bytesex.org/fbida/ 有用的有:
fbi : 看图软件,可以在console 下看 png gif jepg
fbgs: 脚本, 用 ghostscript 把 ps , pdf 转成图像, 再用 fbi 看
exiftran : 在保留 exif 的同时转换 jpeg
11. 其他工具
htop : 进程管理器, 更好的 top http://htop.sourceforge.net/
sysvconfig : 系统设置, http://sysvconfig.sf.net ,用处不大, 不推荐
12.CD烧录
核心软件 cdrdao cdrtools dvd+rw-tools ,gui 的也要用到, distro 一般都有,很好找
bashburn ,ncurse 界面,菜单选择烧录cd
http://bashburn.sourceforge.net/
cdw ,另一个 ncurse 界面烧录软件
http://sourceforge.net/projects/cdw
screen
引自: http://www.winterxy.com/blog/000128.html
————————————————————–
UNIX/LINUX 工具: SCREEN 命令使用
最近同事给我介绍Screen 命令,真是不错。以前为了让程序在脱离终端的情况下运行,要么让它在后台运行,要么使用nohup运行,但是如果需要交互的程序就麻烦了。例如,你需要使用scp拷贝,需要输入密码,而且数据量很大,需要很长时间。遇到过的人就知道痛苦了。
有了screen,一切都简单了。这里把一篇介绍的文章转贴过来,使用还是很方便的。
screen your screen
文:林思敬
电子邮件:becks.lin@ec-base.com
前言
screen 是什么
根据其man介绍,screen是个多元化多功能的全屏窗口管理器,每个虚拟终端都可以为你提供DEC VT100 terminal的功能, 也许你会问:DEC VT100 terminal又是什么?如果你登陆过某些字符界面的BBS,或许你会记得在注册时,其要求你输入你的终端机型别,而一般预设就是我们刚刚提到的DEC VT100 termina了.另外screen还附加提供了比如SO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards的操作功能.
screen 可以做些什么
如果在以前或许screen 是你登陆 bbs 站的好伴侣,但是相信现在大家都是直接登陆图形界面的也就是WEB界面的BBS.当你正在登陆多个BBS而又不想在多个窗口之间切换.那么screen就可以帮你的忙了。
当然screen可不是专为BBS服务, 它可以让你只需要打开一个终端窗口就可以地处理很多的(进程)事情,举个例子:你正在shell上编写某个程序,碰巧你又需要重新启动某个服务,同时还要 FTP上传个大文件,这个时候就可以使用调用screen,只需要按下3个键就可以无须用鼠标在3个窗口间切换.又或者你使用PUTTY等工具登陆到服务器,不想在退出时关闭当前的进程,比如你正在复制文件等.这个时候就可以利用screen让你复制文件这个前台进程享受后台进程的”待遇”。
正是因为screen的种种实用功能 ,已经成为不少*nix玩家的必备利器,让*unix的日常操作管理更加方便。
screen使用
使用screen非常简易.只需在SHELL键入screen,便可打开一个screen session。
而在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
现在让我来简单介绍基本的命令
C-a c -> Create,开启新的 window
C-a n -> Next,切换到下个 window
C-a p -> Previous,前一个 window
C-a C-a -> Other,在两个 window 间切换
C-a w -> Windows,列出已开启的 windows 有那些
C-a 0 -> 切换到第 0 个 window
C-a 1..9 -> 切换到第 1..9 个window
C-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首
C-a t -> Time,显示当前时间,和系统的 load
C-a K(大写) -> kill window,强行关闭当前的 window
C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、
复制就像用使用 vi 一样
C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上
C-a ? -> Help,显示简单说明
C-a d -> detach,将目前的 screen session (可能含有多个 windows)
丢到后台执行 当按了 C-a d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session 里每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
下次 login 进来时:
screen -ls -> 显示所有的 screen sessions
screen -r [keyword] -> 选择一个screen session 恢复对话
若 screen -ls 里有 Attached sessions:
screen -d [keyword] -> 强制 detach,以便「接手」过来
实例
说明看了那么多,让我们用一个实际例子来结束我们今天的学习。
在我们开启一个screen后,然后使用joe编辑一个文件,之后因为临时需要离开这时就可以运行Ctrl+a d,显示如下:
[becks@ec-base becks]$ screen
[detached]
这个时候当我们运行ps -e 可以看到pts/2这个我刚刚运行的screen正在运行joe
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe
而当我们回来后想恢复这个session,只需要键入screen -r,而当你有多个session时候,系统将提示你选择一个,如下:
[becks@ec-base becks]$ screen -r
There are several suitable screens on:
6263.pts-1.ec-base (Detached)
6382.pts-1.ec-base (Detached)
Type “screen [-d] -r [pid.]tty.host” to resume one of them.
输入该session的pid进行恢复
[becks@becks becks]$ screen -r 6263
想退出screen的session,和退出shell一样,只需要键入exit命令,成功退出后将有以下提示
[screen is terminating]
screen的简单用法就介绍到这里,更多的功能和应有请读者参考MAN自行研究.
搞定tty下的mplayer的中文字幕乱码问题
没有X,只在tty下用fbdev看电影的朋友适用.其他看情况.
ubuntu的话安装ttf-arphic-uming这个字体包就会有如下字体文件了,不然的话也可以用其他字体试试.
下面两句是自定义字幕的文字大小用的.
| 引用: |
| $ cat .mplayer/config # Write your default config options here! font=/usr/share/fonts/truetype/arphic/uming.ttf subcp=cp936 subfont-autoscale=0 subfont-text-scale=20 |
用户管理(命令行)
添加一个xxx用户:
| 代码: |
| useradd xxx |
添加一个xxx用户,指定家目录为/home/xxx :
| 代码: |
| useradd -m -d /home/xxx xxx |
添加一个xxx用户,指定家目录为/home/xxx ,并指定用bash :
| 代码: |
| useradd -m -d /home/xxx -s /bin/bash xxx |
添加一个xxx用户,指定家目录为/home/xxx ,并指定用bash,同时加入yyy和zzz组(默认的xxx组也是保留的) :
| 代码: |
| useradd -m -d /home/xxx -s /bin/bash -G yyy,zzz xxx |
查看有xxx用户参与的组:
| 代码: |
| id xxx |
将xxx用户加入yyy组和zzz组:
| 代码: |
| usermod -G yyy,zzz xxx |
将xxx用户的默认shell改为dash:
| 代码: |
| usermod -s /bin/dash xxx |
删除xxx用户:
| 代码: |
| userdel xxx |
删除xxx用户,连同家目录一起删除:
| 代码: |
| userdel -r xxx |
以上命令除 id xxx 外都需要root权限.
awk手册 简体中文版 制作中
敬请期待…
=====补充=====
现在已经完成: http://linuxfire.com.cn/~lily/awk.html
linux下的杀毒软件ClamAV
首先,一直认为linux本无须杀毒软件,需要装这个的大多是双系统用户查杀windows分区的病毒用。
Ubuntu用户可以直接用 sudo apt-get install clamav 进行安装。
目前改软件号称: Known viruses: 151998,这好像比卡巴斯基还多,不知道是真是假
。
使用方法,命令行直接输入clamscan即可扫描当前目录,要包括子目录,需要加-r参数。
貌似这个扫描很慢,而且很占CPU。。。
PS:官方下的QQ安装程序:
备份/qq2007beta1kb5.exe: Trojan.Dropper-1656 FOUND
汗一个!
rz sz ZModem协议的文件传输工具
rz、sz是古老的ZModem协议的文件传输工具。
linux的服务器装上rz、sz,如果是ubuntu可以用audo apt-get install lrzsz进行安装。
然后用win下的SecureCRT通过ssh连上来,执行服务器端的rz、sz就可以用了
执行sz filename ,就会把filename拷贝到win下的指定目录(此目录可在SecureCRT中设定)
执行rz,win下会弹出个文件选择对话框,选了文件以后,就在linux服务器的当前目录下了。
超方便啊。
想必有人会问为什么不用scp或者sftp啊?但是这些还是没rz、sz方便,比如你ssh到主机A,再通过A ssh 到B,想把B的文件传到本地,不是得先scp到A,再到本地呢?用sz就可以一次搞定~
但是目前支持ZModem的telnet/ssh客户端好像只找到SecureCRT、AbsoluteTelnet和TigerTerm等,都是win下的共享软件(就是要付钱滴),而且客户端也是linux的时候还不知道该怎么用起来,知道的千万告知一声
以下来自:http://www.linuxpk.com/178.html
| 引用: |
| 我想还有很多人没有听说过ZModem协议,更不知道有rz/sz这样方便的工具。 好东西不敢独享。以下给出我知道的一点皮毛。 下面一段是从SecureCRT的帮助中copy的: ZModem is a full-duplex file transfer protocol that supports fast data transfer rates and effective error detection. ZModem is very user friendly, allowing either the sending or receiving party to initiate a file transfer. ZModem supports multiple file (“batch”) transfers, and allows the use of wildcards when specifying filenames. ZModem also supports resuming most prior ZModem file transfer attempts. rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具 |
一个天气预报的脚本
闲来无事,写了天气预报的脚本,与大家分享。
本人菜鸟,如有任何问题或建议,欢迎指正。谢谢。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#!/bin/bash #Copyright (c) 2007 bones7456 (bones7456@gmail.com) #License: GPLv3 #version 20080524 #城市代码,留空可自动检测(自动检测不一定精确),城市代码可在 http://weather.265.com 上查询,是个5位的数字 #city=58457 if [ -n "$city" ] ;then wid=${city} else wget -q -O /tmp/weather.html 'http://www.265.com/lookupcity'; wid=`awk -F "'" '{print $2}' /tmp/weather.html`; fi #echo ${wid}; wget -q -O /tmp/weather.html "http://www.265.com/weather/${wid}.htm"; str=`iconv -f gbk -t utf8 /tmp/weather.html | grep 'show_weather' | sed -e 's/show_weather("//g'|sed -e 's/),\ "hd\.htm.*//g' | sed -e 's/new Array(//g' | sed -e "s/[\"|\ ]//g" | sed -e "s/,'/ /g" |sed -e "s/'//g"`; #echo ${str}; AnArray=( ${str} ); time=`date +%k`; if [ ${time} -gt 18 ] ; then echo ${AnArray[0]}: ${AnArray[1]} 今晚:${AnArray[4]};明天:${AnArray[6]} elif [ ${time} -gt 12 ] ; then echo ${AnArray[0]}: ${AnArray[1]} 下午:${AnArray[3]};晚上:${AnArray[4]} else echo ${AnArray[0]}: ${AnArray[1]} 上午:${AnArray[2]};下午:${AnArray[3]} fi rm -f /tmp/weather.html; exit 0; |
这也算是一种加密吧~
学到一种可以方便地加密任意字符串的方法,执行特定命令就可以解密,如下:
代码:
|
1 |
python -c 'print reduce(lambda a,b: a*256+ord(b), raw_input("string: "), 0)' |
20250804更新:
|
1 |
python3 -c "print(int.from_bytes(input('string: ').encode('latin1'), 'big'))" |
这个命令会让你输入一个字符串,输出一串数字。再:
dc -e 输出的数字P
这样就可以得到刚才的字符串,中文适用~
我的邮箱:
dc -e2195180059105049140348208193097248780323090285P
这样不用怕什么bot了吧~~ 而且联系我的,应该都是linuxer~高兴啊~