手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 免费部署 N8N 的 Zeabur 注册 | 登陆
浏览模式: 标准 | 列表分类:苹果相关

转+收藏:LINUX书架

在做PHP开发的同时,不可避免的会使用linux。好吧,即使你不精通linux,你怎么着也得会一些常见的命令吧,不说高深的东西,最起码你要会cp,mv,chmod,chown,tar之类的,否则,你连文件都无法移动位置。

国内在02~03年左右,鸟哥的私房菜大概是影响了很多人吧,由于我一直是在win下,所以LINUX接触不多,但也确实听说了这个。这次看到这篇博客,里面介绍了好多的书籍,所以复制了一下(自己也有过LINUX的书籍,被人抢走了。。。。)

来,上菜了。。原文来自:http://www.cnblogs.com/wwang/archive/2011/01/27/1944406.html

入门类

一直认为,在一个系统上学习开发之前,首先需要熟悉这个系统的使用。鉴于天朝的国情,绝大部分人第一个接触的操作系统就是Windows,因此对于这绝大部分人来说,如果要学习Linux开发,学会使用这个系统都是必不可少的一个环节。
现在的Linux初学者是幸福的,随着Linux桌面环境越来越易用,入门一个新的系统是非常容易的事情。虽然命令行对于提高工作效率更加有 效,但我们完全可以把熟悉命令的过程放到日常使用中进行。无论学习什么知识,在实践中学习都是高效而且有趣的。在这个阶段,我们也未必一定需要书籍。现在 很多Linux发行版的Wiki写得都非常详细,在使用某一种发行版时找到相应的Wiki阅读查询就可以了。而且,桌面环境变化太快,关于桌面的介绍类书 籍几乎都没有必要看,这类书籍大多刚一出版就过时了。
那入门类书籍里哪些比较有价值呢?我比较推荐涉及的技术相对比较稳定的书。比如,Linux基本的体系结构和命令一般都是经久不变的,甚至从上古时期的Unix开始就没太多变化,这类书籍讲解的知识也是以后大幅提高我们的生产力的基础。比如《鸟哥的Linux私房菜》,比如《Unix Power Tools》(中译名是“UNIX超级工具”),或者是为Linux+认证考试准备的《Linux+ Study Guide》。当然,这一类书籍其实都不必精读,快速浏览之后作为工具书备查就可以了。

编程类

类Unix系统的编程书籍里,最经典的莫过于简称为APUE的《Advanced Programming in the UNIX Environment》(中 译名是“Unix环境高级编程”),这本书被广大Unix程序员(包括Linux)捧为“圣经”。借用葛大爷的广告词:“这就像进馆子一样,一条街上,哪 家人多我进哪家”。APUE对类Unix系统的编程接口讲解的非常全面详细,对于这本书,我们不仅要精读,还应该放在案头常备。
但是,APUE对于Linux编程初学者似乎稍深了一点,而且很多细节在Linux中并不会用到。讲述Linux编程的书籍里,《Advanced Linux Programming》应该更加适合初学者。不要被书名中的“Advanced”吓到,书里的内容还是很容易理解的。看完这本书再看APUE应该效果会更好。
如果要开发GUI程序,上面两本书就无能为力了。在Linux世界里,最常用的GUI Toolkit是GTK+和QT。
GTK+的书籍并不多,在线文档只适合查阅,并不是一个完整的学习体系。《Foundations of GTK+ Development》是其中很不错的一本书,喜欢GTK+的开发者可以拿来作为入门书籍。
相对来说,QT的书籍就很丰富了,这和QT具有良好的跨平台能力有很大关系,QT的书籍并不只是写给Linux程序员看的,在Windows和MAC OSX下同样可以使用QT开发程序。比较值得一看的QT类书籍有《C++ GUI Programming with QT4》、《Foundations of QT Development》、《The Art of Building QT Applications》,这三本都比较适合QT初学者阅读。另外,《Advanced Qt Programming》会介绍到QT一些比较高级的用法,适合有一定QT基础的读者阅读。

内核类

对于Linux内核或者设备驱动的开发者,最全面最直接的学习资料一定是Linux内核代码及其文档。Linux内核的发布周期很短,相关书籍 的出版完全跟不上脚步。但随着内核代码的日益庞大,学习曲线越来越陡峭,入门者又非常需要书籍来作为指导,这确实是非常矛盾的事情。所幸,很多Linux 内核技术作家也是很勤奋的,经常会更新自己的作品。就像Robert Love,以2.6内核为蓝本的《Linux Kernel Development》已经更新到第三版了。LKD是非常适合内核初学者阅读的一本好书,对它的评价可以引用陈莉君老师的译者序:
相对于 Daniel P. Bovet 和 Marco Cesati 的内核巨著《 Understand the Linux Kernel 》,它少了五分细节,相对于实践经典《 Linux Device Drivers 》,它多了五分说理。可以说,本书填补了 Linux 内核理论和实践之间的鸿沟,“一桥飞架南北,天堑变通途”。
谢谢陈老师,她的译者序帮我引出了另外要谈到的两本经典书籍,对,就是《Understanding the Linux Kernel》和《Linux Device Drivers》。对于这两本书,如果要挑它们的缺点,我只能说,内容有点老,很多知识点都需要更新了,除此之外,我要说的是,是它们把我带上了内核驱动开发这条路上来,当然,还有LKD。
最近,我又发现一本分析Linux内核的优秀书籍,就是《Professional Linux Kernel Architecture》。这本书我目前正在读,写得非常好,而且因为此书相对较新(只是相对,2.6.24内核在现在看来也很老了),没有看过ULK的同学可以直接看这本书。

工具类

工欲善其事,必先利其器。进行Linux开发,相关工具还是需要熟练使用的。比如,GNU Tool Chain、自动构建工具、编辑器、版本控制工具等等。
这里有一本包罗万象的书,叫做《Handbook of Open Source Tools》,书中介绍了各种各样的开源工具,可称之为开源技术的总决式。这本书试图面面俱到,因此并不深入,粗读即可。
GNU Tool Chain参考Redhat的《The GNUPro Toolkit》已经足够了,如果单独把makefile拎出来,还可以参考《Managing Projects with GNU Make》。
自动构建工具可以参考《Autotools》。如果您准备使用cmake,推荐cjacker的《Cmake实践》。《Mastering CMake》据说是cmake的权威书籍,但一直无缘得见啊。
说到编辑器,在Linux里最著名的莫过于Vim和Emacs,关于这两者的背景,可以去看看《为何Emacs和Vim被称为两大神器》。我几乎没用过Emacs,曾经在当当做活动时花9块钱买了一本《学习GNU Emacs》,有这本书作为Emacs的入门我想应该够了。Vim是我经常使用的编辑器之一(另一个是Kate,最初喜欢上Kate的原因之一就是它提供了Vim编辑模式),相关的书籍有两本值得一读:《A Byte of Vim》和《Hacking Vim 7.2》,但是对于初学者,首先跟着Vim自带的vimtutor练习效果会更好。
Linux下的版本控制工具很多,有传统的Subversion,也有现在非常流行分布式工具如Git等。Subversion可以参考这本《Version Control with Subversion》,Git可以参考《Version Control with Git》或者《Git Internals》或者《Pro Git》。

其它

除了以上几个类别,还有一些书籍值得推介。
比如《The Art of Unix Programming》,主要介绍了Unix系统领域中的设计开发哲学、思想文化体系以及社群文化等,覆盖面非常广。书中的一些内容和Revolution OS》有相似之处,大家可以自己印证一下。对于这本书,我们也完全可以把它当做小说或者历史书来看,可以躺在床上看,也可以瘫在沙发上看,或者像怪怪那样坐在马桶上看,总之,不必一定要端坐在书桌前。
Computer Systems: A Programmer's Perspective》 很多人都推荐过,这是一本非常经典的计算机体系方面的教材。CSAPP的内容基础全面,讲解简明扼要,易于理解,仔细读完之后对理清计算机体系结构甚至是 Linux内核都非常有帮助的。虽然中文名被译为《深入理解计算机系统》(这个译名很不贴切),但相比之下,为什么会让人感觉国内的同类教材更加“深奥” 呢?也许,这就是作者功力的差距吧。
注:这里列出的书大多都可以在library.nu上下载到,注册登录之后会有搜索框,用书名搜索即可。

Tags: linux, 鸟哥

Google Api 和开发元素周期表

这是在cnbeta上看到的,发现确实值得收藏啊。。。
不光可以欣赏到这样的周期表,而且,确实都是有效链接(以后省得找了,而且也可以根据这些分类也进行细分查看)

cnbeta的地址是:http://www.cnbeta.com/articles/133399.htm

大小: 66.08 K
尺寸: 500 x 298
浏览: 1945 次
点击打开新窗口浏览全图

google的地址是:http://code.google.com/more/table/

Tags: google, api, 元素周期表

25 条 SSH 命令和技巧

鉴于明天考试,今天就随便转转了。。。
原文来源:http://os.51cto.com/art/201011/235252.htm

英文原文:http://blog.urfix.com/25-ssh-commands-tricks/

任何一个系统管理员或站长对SSH都不会陌生,这个伟大的技术免去了我们跑去机房管理服务器,或者在远程连接服务器时时刻担心内容被窃取的心惊胆战。本文将为大家介绍25个最佳的SSH命令,如果您还没用过,那么有必要将它们记录一下。

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH 是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法, 支持SSH协议的所有版本。

SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。

1、复制SSH密钥到目标主机,开启无密码SSH登录

ssh-copy-id user@host

如果还没有密钥,请使用ssh-keygen命令生成。

2、从某主机的80端口开启到本地主机2001端口的隧道

ssh -N -L2001:localhost:80 somemachine

现在你可以直接在浏览器中输入http://localhost:2001访问这个网站。

3、将你的麦克风输出到远程计算机的扬声器

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。

4、比较远程和本地文件

ssh user@host cat /path/to/remotefile | diff /path/to/localfile –

在比较本地文件和远程文件是否有差异时这个命令很管用。

5、通过SSH挂载目录/文件系统

sshfs name@server:/path/to/folder /path/to/mount/point

http://fuse.sourceforge.net/sshfs.html下载sshfs,它允许你跨网络安全挂载一个目录。

6、通过中间主机建立SSH连接

ssh -t reachable_host ssh unreachable_host

Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的“隐藏”连接,创建起到unreachable_host的连接。

7、将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法

ssh-copy-id username@hostname

8、直接连接到只能通过主机B连接的主机A

ssh -t hostA ssh hostB

当然,你要能访问主机A才行。

9、创建到目标主机的持久化连接

ssh -MNf <user>@<host>

在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:

Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),这个命令将非常有用,因为每次打开一个SSH连接时不会创建新的套接字。

10、通过SSH连接屏幕

ssh -t remote_host screen –r

直接连接到远程屏幕会话(节省了无用的父bash进程)。

11、端口检测(敲门)

knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000

在一个端口上敲一下打开某个服务的端口(如SSH),再敲一下关闭该端口,需要先安装knockd,下面是一个配置文件示例。

[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn

12、删除文本文件中的一行内容,有用的修复

ssh-keygen -R <the_offending_host>

在这种情况下,最好使用专业的工具。

13、通过SSH运行复杂的远程shell命令

ssh host -l user $(<cmd.txt)

更具移植性的版本:

ssh host -l user “`cat cmd.txt`”

14、通过SSH将MySQL数据库复制到新服务器

mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASS NEW_DB_NAME”

通过压缩的SSH隧道Dump一个MySQL数据库,将其作为输入传递给mysql命令,我认为这是迁移数据库到新服务器最快最好的方法。

15、删除文本文件中的一行,修复“SSH主机密钥更改”的警告

sed -i 8d ~/.ssh/known_hosts

16、从一台没有SSH-COPY-ID命令的主机将你的SSH公钥复制到服务器

cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys”

如果你使用Mac OS X或其它没有ssh-copy-id命令的*nix变种,这个命令可以将你的公钥复制到远程主机,因此你照样可以实现无密码SSH登录。

17、实时SSH网络吞吐量测试

yes | pv | ssh $host “cat > /dev/null”

通过SSH连接到主机,显示实时的传输速度,将所有传输数据指向/dev/null,需要先安装pv。

如果是Debian:

apt-get install pv

如果是Fedora:

yum install pv

(可能需要启用额外的软件仓库)。

18、如果建立一个可以重新连接的远程GNU screen

ssh -t user@some.domain.com /usr/bin/screen –xRR

人们总是喜欢在一个文本终端中打开许多shell,如果会话突然中断,或你按下了“Ctrl-a d”,远程主机上的shell不会受到丝毫影响,你可以重新连接,其它有用的screen命令有“Ctrl-a c”(打开新的shell)和“Ctrl-a a”(在shell之间来回切换),请访问http://aperiodic.net/screen/quick_reference阅读更多关于 screen命令的快速参考。

19、继续SCP大文件

rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file

它可以恢复失败的rsync命令,当你通过VPN传输大文件,如备份的数据库时这个命令非常有用,需要在两边的主机上安装rsync。

rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local -> remote

rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote -> local

20、通过SSH W/ WIRESHARK分析流量

ssh root@server.com ‘tshark -f “port !22″ -w -' | wireshark -k -i –

使用tshark捕捉远程主机上的网络通信,通过SSH连接发送原始pcap数据,并在wireshark中显示,按下Ctrl+C将停止捕捉,但 也会关闭wireshark窗口,可以传递一个“-c #”参数给tshark,让它只捕捉“#”指定的数据包类型,或通过命名管道重定向数据,而不是直接通过SSH传输给wireshark,我建议你过滤数 据包,以节约带宽,tshark可以使用tcpdump替代:

ssh root@example.com tcpdump -w – ‘port !22′ | wireshark -k -i –

21、保持SSH会话永久打开

autossh -M50000 -t server.example.com ‘screen -raAd mysession’

打开一个SSH会话后,让其保持永久打开,对于使用笔记本电脑的用户,如果需要在Wi-Fi热点之间切换,可以保证切换后不会丢失连接。

22、更稳定,更快,更强的SSH客户端

ssh -4 -C -c blowfish-cbc

强制使用IPv4,压缩数据流,使用Blowfish加密。

23、使用cstream控制带宽

tar -cj /backup | cstream -t 777k | ssh host ‘tar -xj -C /backup’

使用bzip压缩文件夹,然后以777k bit/s速率向远程主机传输。Cstream还有更多的功能,请访问http://www.cons.org/cracauer/cstream.html#usage了解详情,例如:

echo w00t, i’m 733+ | cstream -b1 -t2

24、一步将SSH公钥传输到另一台机器

ssh-keygen; ssh-copy-id user@host; ssh user@host

这个命令组合允许你无密码SSH登录,注意,如果在本地机器的~/.ssh目录下已经有一个SSH密钥对,ssh-keygen命令生成的新密钥可 能会覆盖它们,ssh-copy-id将密钥复制到远程主机,并追加到远程账号的~/.ssh/authorized_keys文件中,使用SSH连接 时,如果你没有使用密钥口令,调用ssh user@host后不久就会显示远程shell。

25、将标准输入(stdin)复制到你的X11缓冲区

ssh user@host cat /path/to/some/file | xclip

你是否使用scp将文件复制到工作用电脑上,以便复制其内容到电子邮件中?xclip可以帮到你,它可以将标准输入复制到X11缓冲区,你需要做的就是点击鼠标中键粘贴缓冲区中的内容。

 

--EOF--

对于我们这些使用PHP的人来说,SSH命令还是会经常容易用到的,所以,也算做记录喽。

Tags: ssh

Time machine For Ubuntu

好象,用过mac的人都感觉那个timemachine是个非常不错的东东,但是在UBUNTU里面可没有内置的工具,搜索了一下google,好象这篇文章介绍了一下,还有两个图片,一下子激动了。突然感觉我那个30G的移动硬盘不够用了(不过看图片上,好象占用的空间不大,准备周一过去尝试)

好吧,传统的来了,摘录,上原文,好象很多人说过我了,说我就是一个摘抄王,哎,每天都没做什么 ,哪有什么经验可以记录呢?所以,只有多看其他的东西,然后如果觉得有用的就记录一下喽。当然如果自己有心得了,也还是会记录的。

又多说了很多废话,顺便上个广告,http://www.thinkinlamp.com上面的每月通讯里面有好多好多不错的文章 。然后,还可以在上面下载一些thinkinlamp聚会时,一些大牛出的PPT以及视频哦。有时候好想下载回来呀。。。(等啥时候有时间了,问问三马看看)。好吧,上原文了。

原文来自:http://maketecheasier.com/time-machine-for-ubuntu-try-timevault-and-flyback/2008/03/07

While most people may feel that backing up the files and system is a troublesome and difficult task, Mac OSX Leopard’s Time machine has made it really simple for its users to use. You just need to plug in your external drive and an initial configuration, the Time machine will then be automated in the background.

In Ubuntu (and other Linux distro), you can also get a Time machine equivalent via Timevault and Flyback.

Both Timevault and Flyback make snapshot of your hard drive at regular interval and allow you to restore the backup in the event that your hard drive crashes, or loss of particular files. Both have a simple graphical interface so its users won’t have to use the command line to backup their system (though you still can’t find the 3D interface in Time machine).

The advantage of Timevault is that it is able to integrate into the nautilus and users can easily access the snapshot and history with a click in their nautilus icon bar. Timevault is not included in the Ubuntu repository, but its installation is made easy with a GDebi installer software package. Installation is a breeze and configuration is quite intuitive, though you have to relogin to your Ubuntu to access to the nautilus integration.
Installation guide [http://howtoforge.com/snapshot-backups-with-timevault-ubuntu-7.10]

大小: 72.81 K
尺寸: 497 x 376
浏览: 1744 次
点击打开新窗口浏览全图

Flyback is the lightweight version of Timevault. It does not integrate with nautilus, but it provides a live view of your current snapshot and a previous snapshot. There is no installation required, except for updating some Python libraries.
Installation guide [http://www.howtoforge.com/creating-snapshot-backups-with-flyback-ubuntu-7.10]

大小: 207.65 K
尺寸: 465 x 376
浏览: 1778 次
点击打开新窗口浏览全图

Both Timevault and Flyback are free to download and use.

--EOF--

看看,原来人家从UBUNTU 7就有了,而我这个新手却居然还什么 都不知道。哎。OUT了

Tags: timemachine, ubuntu, mac

Ubuntu下Netbeans中文字体显示很淡解决方法

勿庸置疑,都是COPY来的,当然,我自己也有一些小调整,都是在这些基础上进行改动的。

Ubuntu中默认使用的JAVA 为OpenJDK,对需要使用JAVA支持的软件 及网页来说,没有什么大的问题(当然也不是全部,不过就目前桌面使用来说我感觉已经够了)。只是对字体的支持与SUN JAVA(JRE、JDK)确不一样,网上也没有找到相关的资料(我英文不好),但目前来说还没有遇到说中文 字体显示为“口口口”的,只是出现过字体变的很“窄”或者说是“花字体”吧!
UBUNTU 9.10 在/usr/share/fonts/truetype/arphic/下提示了uming.ttc字体,用在JAVA的各种程序 中都感觉不错!但是对于使用TTC还是TTF的扩展名,各处说法不一,在我这使用TTF扩展名起作用。为了安全起见,sudo ln -s uming.ttc uming.ttf。好了,以上是前提!
解决 方法如下:
一、SUN JAVA的中文字体(显示为“口口”)
注:其中的路径及使用的字体可能不一样,根据需要改。如:感觉字体不好看,你可以换成别的。
cd /usr/lib/jvm/java-6-sun/jre/lib/fonts
sudo mkdir fallback
cd fallback
sudo ln -s /usr/share/fonts/truetype/arphic/uming.ttc .
sudo ln -s /usr/share/fonts/truetype/arphic/uming.ttc uming.ttf

二、OpenJDK的中文显示不正常(“窄”字或是“花”字)
1、网上找到的一些可能性:
字体配置文件 地址 :/usr/lib/jvm/java-1.6.0-openjdk/jre/lib/fontconfig.properties
文件中的字体路径可能有误!
2、我的使用的解决方法:
vim ~/.profile
在最后加入一行:
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
新方法:(在网上新看到的,对Ubuntu 9.10的,没有使用过,这里只是记录一下,下次试试。感觉更简单)
转载下原文地址:http://hi.baidu.com/imto/blog/item /26f8bc88575a90b90f244429.html
今天在ubuntu 9.10下安装 jdk6,安装完成之后打开java应用程序,所有中文全部乱码,经过查阅资料,发现
ubuntu下的java中文字体文件名为uming.ttc,而不是通用的uming.ttf,解决方法就是为uming.ttc建一个软链接。
$cd /usr/share/fonts/truetype/arphic/
$sudo ln -s uming.ttc uming.ttf
mark之....
(注:sudo mkfontdir与sudo mkfontscale)
三、将默认的OpenJDK改为SUN JAVA (SUN JAVA的支持还是好些,如一些网页的JAVA应用及JAVA应用程序)
安装SUN JAVA后,UBUNTU 9.10使用的还是OpenJDK,所以如果要使系统 使用SUN JAVA还要进行相关的设置:
1、update-alternatives --config java,修改系统默认的JAVA,是使用OpenJDK还是SUN JAVA等
2、修改/usr/lib/jvm下default-java,我是把default-java指而了java-6-sun-1.6.0.15,原来的 default-java改名为default-java.openjdk以备以后需要时改再回来
3、设置系统环境变量 ~/.profile中最后加上:
# export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' 原来OpenJDK使用的这句一定要注释掉
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重启就OK了!

---这篇来源于:http://forum.ubuntu.org.cn/viewtopic.php?t=272133
然后,这篇更详细,只是又偏长了一点
http://forum.ubuntu.org.cn/viewtopic.php?t=39742
今天突然想学学数据结构了,无奈手头只有讲Java数据结构的书,没有C版的,索性就配置个环境吧~
关于Java的基础知识,这里就不说了,大家可以去搜索一下,资料大大滴

首先我们来下载J2SDK 1.6(当然配置1.4和1.5原理都一样,大家根据喜好和需要去下载吧),给出地址:
https://sdlc6a.sun.com/ECom/EComActionS ... 2AF27F032F
(上面这个是JDK6的下载地址,进去点下Accept才可以下载哦~如果需要其他版本,可以去下面这个链接找找看,都可以找到的)
http://java.sun.com/javase/downloads/index.jsp
官方的链接,下载速度很快!

下载完后,我们就开始安装了。(我们假设下载后的文件名为jdk1.6.bin)
在命令行下打开其所在文件夹,打chmod u+x ./jdk1.6.bin
然后./jdk1.6.bin
看到协议,一直敲Down键或者Enter键(协议还挺长的)
最后看到
Do you agree to the above license terms? [yes or no]
寻问是否接受,当然是打y 回车拉~

然后就看到它解压缩
解压缩完后的默认文件名是jdk1.6.0
接着打
cp jdk1.6.0 /usr/
把它复制到usr目录里去

好了,到这里就只差配置环境了
export JAVA_HOME=/usr/jdk1.6.0
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

打vi .bashrc
进入用户环境变量配置界面中,把上面的三行加入到最后,ESC,:wq
保存并退出
这样JDK就算配置好了~
如果只是需要简单的学习,用不到IDE的话,加上VI就可以开工了
下面的也就可以跳过了,赶紧调个HelloWorld试试吧~

我们再来讲下NetBeans的配置
由于装的是JDK1.6,与其配套的是NetBeans5.5
首先需要去下载它
地址:
http://gceclub.sun.com.cn/TT/NetBeans55 ... -zh_CN.bin
这个可以只接在浏览器下载的
下载完毕后,还是先来改一下它的模式
在其目录打
chmod u+x ./netbeans-5_5-linux-zh_CN.bin
然后是./netbeans-5_5-linux-zh_CN.bin
开始准备(我装时候是说有错误提示的,不要理会,等一下就可以进入图形界面安装)
按操作安装就可以了,如果您系统有多个JRE,会有多个JDK版本让您选择(也可能是JRE)
这里就选我们刚才配置的/usr/JDK1.6.0
装好后,就可以到提示的路径去运行了

如果没有出现汉字乱码,到这也就结束了,如果是乱码,继续往下看:

出现乱码是因为JDK内的字体原因,我们去下载simsun.ttf这个字体
一样给出地址:
ftp://219.153.8.210/office2000/Windows/Fonts/SIMSUN.TTC
下载回来的是.ttc,把扩展名改成.ttf就可以了
进入刚才的JDK目录
在jre/lib/fonts新建一个目录fallback然后将simsun.ttf 拷贝到这里,在起动NetBeans就能看到我们熟悉的汉字了~

OK,配置完毕!
注:这篇文章我也发表在HIWEED的博客上
主要是为了使我们初学者在配置J2SE上少走一些弯路
高手跳过