2007-08
25

最近发现公司的小孩儿们都开始学Linux了,可惜学的都是那些超级麻烦的命令,唉。 其实Linux这样用更简单些……

改IP,可以用 netconfig,可惜每次都得输入完整的IP、掩码、网关和DNS。 不如直接 vi /etc/sysconfig/network-scripts/ifcfg-eth0 再 /etc/init.d/network restart 来得快。

改DNS,最快的就是 vi /etc/resolv.conf,不用重启。

重启httpd,/etc/init.d/httpd restart 要比 service httpd restart快,因为前者可以补齐而后者不能。

修改系统服务,用chkconfig要比setup方便。

看最新的log,用 tail -f /var/log/xxx.log 比 vi /var/log/xxx.log 方便。 看不清的话就先 clear 再 tail -n 0 -f /var/log/xxx.log。

用好bash的历史记录

压缩解压缩别动不动就tar czvf/tar xzvf,要养成不用v的好习惯。文件多了要快上好几倍。

两台机器传文件,scp 要比samba方便。windows的话就装个cygwin,或者用PuTTY自带的pscp.exe也行。

测试网络连接,nc 192.168.1.10 80 要比 telnet 192.168.1.10 80 好用。

修改samba配置,直接修改 /etc/samba/smb.conf 要比图形界面方便。




这篇文章有 10 条评论了,快来一起讨论讨论吧!
#1
fcicq
2007-08-25 19:06

说几句.

netconfig:
gentoo是可以分清楚设备的.
/etc/init.d/net.XXX(ethX,vlanX,lo…) restart

另外ifconfig是最好的工具.

重启服务:
上来就只有第一种方法.哈哈

测试网络连接:
telnet,nc都需要自己编译,但是busybox…

#2
smalldust
2007-08-28 10:11

借着这个题目向Charlee请教一个Linux怎么简单用的问题。

我昨天花了一天时间,就是为了找一个Linux系统下的屏幕截图工具。

当然不要误会,我说的是没有X的情况下,也就是说只有文字界面的Console的屏幕截图(截图,也即结果保存为彩色图像,而不是IO的重定位)。

我查询了一下Google,发现了一个叫做snapscreenshot的工具:
http://freshmeat.net/redir/snapscreenshot/22716/url_homepage/snapscreenshot.html

(——如果是Windows的话,恐怕也就没有那么麻烦了,下载,傻瓜式的安装,然后截图,一切OK——但是,下面这些不知道是因为我对Linux的不熟悉还是Linux本身不容易让人熟悉——题外话)

下载了最新版,Windows下解压缩,发现没有可执行文件,都是C/C++源代码。但是有一个sh文件,似乎是可以安装,于是把这个.tar.bz2文件拷贝到Linux。怎么解压缩呢?试了试tar -zxvf不行,再次Google了一下,发现解bz2不是zxvf,而是jxvf(不明白为什么要把tar和gzip做得这么复杂?自动识别文件类型不行吗?)

解开后,执行make install,发现报告说:没有安装G++!(GCC有)

于是开始了漫长的下载和安装G++之旅。开始我试图直接从G++官方站点下载(这是Windows下安装软件的最常见方法,对吧?),但是发现下载下来的再次是源代码,编译安装的说明文件打印出来有20多页。

于是我决定放弃编译源代码,再次Google之后发现现在的Linux都是用rpm之类的安装包的。于是下载了一个G++安装包,试图用rpm -Uvh安装,结果显示一条消息:gcc-3.2.3.56 is required!

奇怪,我明明有Gcc啊?再一看版本,原来我有的是gcc-3.2.3.53,稍稍差一点版本。难道差这么一点minor版本号就不具备backward compatibility吗???这简直是不可思议,不可理解。在我看来,一个package应该做成兼容一系列版本的其他package的。

不管那么多,再次去Google搜索该版本的g++,终于找到,安装,再次显示错误,告诉我需要libstdc++-devel3.2.3.53。下载后,安装,再次错误:需要libstdc++3.2.3.53……

于是若干次被dependency驱使,逐个下载rpm package。终于g++安装成功。

之后,回到snapscreenshot,编译成功,但是执行之后,却出现错误:GIO_FONTX: Invalid argument。

这是什么啊?我可是几乎没有Linux programming experience的。不过幸好是GPL,有source code,打开看了看,有这么一段:

int fd = open(”/dev/console”, O_RDONLY);
if(fd

#3
smalldust
2007-08-28 10:12

好像comment被切断了?再来。

这是什么啊?我可是几乎没有Linux programming experience的。不过幸好是GPL,有source code,打开看了看,有这么一段:

int fd = open(”/dev/console”, O_RDONLY);
if(fd

#4
smalldust
2007-08-28 10:14

报告Charlee,发现bug。大于号小于号好像不能被自动转换为lt和gt标识。

#5
charlee
2007-08-28 11:46

啊。关于评论的问题——似乎评论可以支持简单的HTML语法,
所以大于小于号就被当作标签来处理了……
发的时候试试将其换成其他文字?

#6
charlee
2007-08-28 11:52

smalldust部分问题的解答:

1. tar可以自动分辨格式的,用tar xvf就可以了。(不指定z或j)

至于这个选项的来历么,原来tar只负责打包不负责压缩,而压缩是由gzip或者bzip2来搞定的。后来为了方便起见就加了z和j参数。

2. 你安装的发行版应该是Fedora Core吧,直接yum install g++ 就可以安装g++了。如果不行,可以从安装光盘上找到配套的g++的RPM,避免版本兼容问题。

3. 编译问题,是不是软件安装的前提条件不足?先看看snapscreenshot的INSTALL或README文件有无相关说明。

#7
smalldust
2007-08-28 16:23

1. Thank you, 原来还有这么一个选项。

2. 不是Fedora,是VMware ESX Server,基于RHEL3,但是去掉了X和很多很多工具,只有最基本的Linux功能。虽然支持rpm,但是应该不支持yum吧。

3. README里面什么都没写……Charlee能否推荐一款Console下抓屏幕的软件?

#8
charlee
2007-08-28 18:44

To smalldust:

2.原来不是正常的发行版啊。那你的google方法是正确的。
不过我倒有另外一个主意,你的目的不就是为console抓图么?
那么从其他机器上ssh到VMware ESX Server上之后,
画面应该和控制台是一样的吧?远程抓图行不行?
这样就可以找一台已经装好编译环境的机器去编译snapscreenhost了。

3. 我还真不知道这样的软件,大概你说的snapscreenshot是最好的选择了。

ps. 问题最终解决了没有?

#9
smalldust
2007-08-28 19:01

snapscreenshot的问题最终也没有解决。

2. SSH,这个注意不错。我怎么就没想到呢!马上Putty一下看看。这样从Win下面也可以抓ESX的画面了。

谢谢SAPO-TO。

#10
coolzsb
2008-07-21 09:31

呵呵,ESX本身有script这个指令的,我看就没有必要抓图了吧??

添加评论