为什么学习Linux?
1、Linux的性能卓越。
Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用Linux。很多软件公司考虑懂啊开发成本都首选Linux,在中国软件公司得到广泛的使用。
Linux内核:RedHat、红旗Linux、fedora、SUSE、ubuntu。
2、为工作
从目前看,软件公司迫切需要能熟练掌握Linux的程序员,主要有以下几个方向:
(1)Linux系统管理员:保证Linux系统的正常运行,安全、备份、配置等工作。
(2)Linux程序员(需C/C++、Java、php、jsp…)、Linux软件工程师(PC)、Linux嵌入式开发
Linux流程为:
第一阶段:Linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql…和Linux基本操作;
第二阶段:加厚C语言功底《C专家编程》或是java语言;
第三阶段:学习unix环境高级编程《unix环境高级编程》;
第四阶段:Linux应用系统开发/Linux嵌入式开发
记住一点:成为一个Linux专家的秘诀就是:
思考——实践——再思考——再实践………
C函数库的查询
Linux常用命令的查询
对学习Linux学习方法的理解:
1、 高效而愉快的学习;
2、 先建立一个整体框架,然后细节;
3、 用的什么再学习什么;(Linux有3700多个命令)
4、 先know how,再know why;
5、 计算机是一门“做中学”的学科,不是会了再做,而是做了才会;
6、 适当的囫囵吞枣;
7、 学习Linux系统是在琢磨别人怎么做,而不是我认为应该怎么做的过程。
内容介绍:
基础部分:Linux基础知识、Linux常用命令80个、Linux分区/vi/权限….;
实用部分:Samba安装与配置、Linux网络环境配置、crontab使用、jdk/apache/mysql/ssh/rpm安装与配置、Linux下java网络编程、Shell初步介绍。
《鸟哥的私房菜》基础学习篇、《Linux编程从入门到精通》、《Linux内核完全剖析》
一周学会Linux实战(第一天)
内容介绍:
1、 Linux的初步介绍;
2、 Linux的第一次接触;
3、 Linux用户管理;
4、 Linux常用命令;
5、 Linux下所有者、所在组合其他组的介绍;
6、 Linux下文件和目录权限机制。
一、Linux初步介绍
吉祥物:
微软反Linux广告:
Linux的特点:
1、 免费、开源的;
2、 支持多线程、多用户的;
3、 安全性好;
4、 对内存和文件管理优越。
谁支持Linux:
1999年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。
1999.3月IBM、Compaq和Novell宣布投资Redhat公司,以前一直对Linux持否定态度的Oracle公司也宣布投资。
2000年初始,Sun公司在Linux的压力下宣布Solaris8降低售价。事实上Linux对Sun造成的冲击远比Windows来得更大。
2001年IBM决定投入10亿美元扩大Linux系统的运用,此举犹如一针强心剂,令华尔街的投资者们闻风雨动。8月红色代码爆发,引得许多站点纷纷从windows操作系统转向Linux操作系统。
2002年是Linux企业化得一年。2月,微软公司迫于各洲政府的压力,宣布扩大公开代码行动,这可是Linux开源带来的深刻影响的结果。3月,内核开发者宣布新的Linux系统支持64位的计算机。
2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。
2004年六月的统计报告显示在世界500强超级计算机系统中,使用Linux操作系统的已经占了280席,抢占了原本属于各种Unix的份额。9月HP开始网罗Linux内核代码人员,以影响新版本的内核朝对HP有利的方式发展,而IBM则准备推出OpenPower服务器,仅运行Linux系统。
如今,这只可爱的小企鹅终于能独挡一面,在IBM、HP、Novell、Oracle等诸多厂商的支持下,迎着风雪傲然前行。
Linux最小只需要4M内存就可以跑起来。
嵌入式开发
Linux的故事
世界第一台计算机
1960时期,MIT[麻省理工大学] 30个人同时使用
1965年,mit、ge、bell实验室这三家公司 增长到300个人同时使用分时操作,这个计划叫multis计划[火星计划]
1969年,火星计划终于失败了,Ken在此基础上开发了一个file server system[文件系统],在bell受到了广泛的欢迎。
1973年,Ken和Dennis在文件系统之上,开发了Unix,开源的,源码内核共享,IBM推出了AIX(Unix的一种),Sun公司推出了Solaris,HP公司开发了hp unix,办了,伯克利分校开发了bsd。还有一个操作系统minix出现了,非常小,
1991年,linus在芬兰读书,有一台pc 386的个人计算机,把minix移植到pc上。1994年发布了第一个版本1.0版本,linux[linus is not unix],继承了unix的很多好的东西。
后天出现了Redhat红帽、S.U.S.E、红旗Linux。
自由软件基金会(FSF)和通用许可证(GPL),防止使用者生成专属的封闭源代码系统。
1991年芬兰的研究生linus,编写了操作系统内核,1995年几家公司把这个内核集成到GPL中形成linux的发行版。
GPL:提供源代码,文档清晰,不对软件提供担保
Linux的特点:成本/可靠性/灵活性/支持
二、Linux第一次接触
Login:root
Password:
Last Login:Wed Dec 3 22:40:02 on tty1
[root@daiyu root]# startx 进入Linux的图形界面
——关机命令
Shutdown –h now 立刻进行关机
Shutdown –r now 现在重新启动计算机
reboot 现在重新启动计算机
——用户登录
登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份。
——用户注销
在提示符下输入logout即可
vi编辑器的使用
vi编辑器是Linux下最有名的编辑器,也是我们学习Linux必须掌握的工具,在Unix下也可以使用vi进行程序的开发。Vi编辑器的开发者,黑客水平世界无人能比,崇尚开源,还成了一个自己软件基金会机构,专门开发共享软件。
如何使用vi进行开发?
使用vi在linux下开发一个简单的java程序Hello.java,并且在Linux下运行成功。
开发步骤:
1、# vi Hello.java 回车;
2、点击’i’,进入到insert模式;
Public class Hello {
Public static void main(String []args) {
System.out.println(“Hello world”);
}
}
3、保存。点击“esc”键,进入到命令模式;输入’:wq’,表示保存并退出;输入’:q!’,表示退出不保存。
# ls 查看当前目录的所有文件
Hello.java anaconda-ks.cfg install.log install.log.syslog
# ls –l
Total 40
-rw-r—r-- 1 root root 105 Dec 4 10:12 Hello.java
-rw-r—r-- 1 root root 1472 Apr 6 2005 anaconda-ks.cfg
-rw-r—r-- 1 root root 24271 Apr 6 2005 install.log
-rw-r—r-- 1 root root 4307 Apr 6 2005 install.log.syslog
4、编译Hello.java程序。
# javac Hello.java //回车,编译成功(没有任何提示)
# ls –l //多了一个Hello.class
-rw-r—r-- 1 root root 415 Dec 4 10:14 Hello.class
# java Hello //运行Hello.class
Hello world
如何在Linux下开发C/C++程序(c/cpp):
# vi Hello.cpp
#include <stdio.h>
int main(){
printf(“Hello!”);
return 0;
}
# ls
Hello.cpp Hello.class Hello.java
# gcc –v //gcc类似于C的编译工具,查看版本
# gcc Hello.cpp //编译成功
# ls //多了一个a.out的程序
Hello.cpp a.out
# ./a.out //运行a.out程序
Hello!
再重写一个C程序,再编译,a.out就会被覆盖。
# vi Hello2.cpp
#include <stdio.h>
int main(){
printf(“OKOKOOK!”);
return 0;
}
# gcc Hello2.cpp
# ls
Hello2.cpp a.out
# ./a.out
OKOKOOK!
# gcc –o my1 Hello2.cpp //-o 输出,按my1输出
# ls
Hello2.cpp a.out my1
# ./my1 # ./a.out
OKOKOOK! OKOKOOK!
《vi编辑器的使用》
last line code :命令介绍:
三、Linux下的文件目录
Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录”/”,然后在此目录下再创建其他的目录。
[root@daiyu root] # cd /
[root@daiyu /] # ls
bin dev home lib misc opt root tmp var
boot etc initrd lost*found mnt proc sbin usr
[root@daiyu /] # dir
bin dev home lib misc opt root tmp var
boot etc initrd lost*found mnt proc sbin usr
[root@daiyu /] # cd bin/
[root@daiyu bin] # ls -l
Usr 安装一个程序的默认安装目录、文件夹。
# pwd 显示当前在哪个路径下
1、 Linux的用户管理
useradd 用户名
案例:useradd xiaomng [添加用户 xiaoming]
passwd 用户名 [修改密码]
案例:[root@daiyu home]# passwd xiaoming [修改xiaoming的密码]
一定要指定用户名,否则默认是修改当前用户的密码。
[root@daiyu home]# ls
xiaoming
userdel 用户名 [删除用户]
1、userdel xiaoming [删除用户xiaoming]
xiaoming的用户名没有了,但是xiaoming的文件夹还存在。
2、userdel -r xiaoming [删除用户以及用户主目录]
四、指定运行级别
命令: init[012356]
运行级别
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行的数字。
若设为6,则不断重启,在进入grub引导界面时,输入e,
选择第二项,kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ ,再输入e:
grub edit> kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ 1 输入1
1代表运行级别,即单用户运行级别。
因为在Linux启动快要进入的时候,会读/etc/inittab这个文件,只有单用户级别不会去读这个文件。因此可以进入到单用户模式,再去修改这个文件,单用户模式还可以修改密码。
回车后,按’b’,重新启动,就会按1号运行级别启动,进入单用户模式。
sh-2.05b# vi /etc/inittab
sh-2.05b# reboot
pwd [显示当前工作目录]
cd [改变目录]
ls [列出文件和目录]
ls -a 显示隐藏文件
ls -l 显示长列表格式
mkdir [建立目录]
rmdir [删除空目录]
touch [建立空文件]
cp [复制命令]
cp –r dir1 dir2 递归复制命令(复制子目录信息)
mv [移动文件和改文件名]
rm [删除文件和目录]
rm -r * [删除所有内容(包括目录和文件)] r递归 f强制
ln [建立符号连接]
ln -s 源目标
ln -s /etc/inittab inittab [inittab指向实际文件/etc/inittab]
more 显示文件内容,带分页
less 显示文件内容带分页
grep 在文本中查询内容
| 管道命令:把上一个命令的结果交个|后面的那个命令处理
man(manual手册)相当于dos下的help
# more install.log
按下空格键,转到下一页;按下’PgUp键+Enter键’,转到上一页。
# ls –l /etc/ | more
# grep “shunping” aaa.java
ksafd;laskshunping
fsashunping
# grep –n “shunping” aaa.java 显示出现的行数
3:ksafd;laskshunping
16:fsashunping
find 搜索文件及目录
在Linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而’find’命令可以解决上述问题。
1、 在特定的目录下搜索并显示指定名称的文件和目录。
find / -name man :意思是说从根目录开始搜索名称为man的文件或目录。
2、 搜索一段时间内被存取/变更的文件或目录。
find /home –amin -10:十分钟内存取的文件或目录
find /home –atime -10:十小时内存取的文件或目录
find /home –cmin -10:十分钟内更改过的文件或目录
find /home –ctime +10:十小时前更改过的文件或目录
3、 搜索指定大小的文件。
Find /home –size +10K:意思是说查找/home目录下大小为10k的文件
# find / -name aaa.java
# find /root/ -name aaa.java
重定向命令:
ls –l > a.txt 列表的内容写入文件a.txt中(覆盖写)
ls –al >> aa.txt 列表的内容追加到文件aa.txt的末尾
从文件中输入信息 database_program < database_data
# grep –n “shunping” aaa.java > kkk.bak
#ls
kkk.bak
# vi kkk.bak
ksafd;laskshunping
fsashunping
文件所有者、所在组和其它组
在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其它组的概念。
(1) 文件所有者
一般是文件的创建者,谁创建了该文件,就天然的成为了该文件的所有者。
用[ls -ahl]命令可以看到文件的所有者
你也可以用[chown 用户名文件名]来修改文件的所有者
(2) 文件所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
用[ls -ahl]命令可以看到文件的所有组
你可以通过[chgrp 组名文件名]来修改文件所在的组。
(3) 其它组
除开文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。
(4) 改变用户所在的组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组:
Usermod –g 组名用户名
你可以用
Usermod –d 目录名用户名改变该用户登陆的初始目录
# groupadd policeman
# vi /etc/group # cat /etc/group | more 查看Linux系统中的所有组
policman:x:503:
创建用户,并分配组
# useradd –g 组名用户名
# useradd –g policeman along
# vi /etc/passwd # cat /etc/passwd 查看Linux中所有用户信息
Along:x:503:503::/home/along:/bin/bash
/bin/bash 该用户所使用的那个shell解析器
# passwd along
New password:
[along@daiyu along]$ ls –l
-rw-r—r-- 1 along policeman 11 Dec 9 09:32 mytest1.java
第一个字符代表文件(-),目录(d),链接(l)
1代表如果是文件,就显示1;如果是文件夹,就显示这个文件夹下共几个文件。
权限分为三种:
r 可读 用4表示;
w 可写 用2表示;
x 可执行用1表示
[panpan@daiyu panpan]$ cd ..
[panpan@daiyu home]$ ls
along ashuai panpan xiaohong xiaoming
[panpan@daiyu home]$ cd along
-bash: cd : along: Permission denied
[panpan@daiyu home]$ ls –l
drwx------ 3 along policeman 4096 Dec 9 09:42 along
drwx------ 3 panpan policeman 4096 Dec 9 09:24 panpan
[panpan@daiyu home]$ who am i
panpan tty1 Dec 9 09:51
[along@daiyu home]$ chmod 777 along
[along@daiyu home]$ ls –l
drwxrwxrwx 3 along policeman 4096 Dec 9 09:42 along
[panpan@daiyu home]$ cd along/
[panpan@daiyu along]$ dir
mytest1.java
[panpan@daiyu along]$ ls –l
-rw-r—r-- 1 along policeman 11 Dec 9 09:32 mytest1.java
[panpan@daiyu along]$ vi mytest1.java
I am along
[root@daiyu root]# usermod –g policeman ashuai
[root@daiyu root]# cat /etc/passwd
ashuai:x:505:503::/home/ashuai:/bin/bash
如何修改文件和目录的访问权限
改变权限的命令:
chmod 改变文件或目录的权限
chmod 755 abc :赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc :同上 u=用户权限 g=组权限 o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
改变拥有者(chown)和用户组(chgrp)命令:
chown xiaoming abc:改变abc的拥有者为xiaoming
chgrp root abc:改变abc所属的组为root
chown root ./abc:改变abc这个目录的所有者是root
chown –R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root
上机练习:
1、 用root登录,建立用户myredhat,自己设定密码
2、 用myredhat登录,在主目录下建立目录test/t11/t1
3、 在t1中建立一个文本文件aa,用vi编辑器内容为ls –al
4、 改变aa的权限为可执行文件,运行该文件./aa或者修改PATH的值,用aa运行
5、 删除新建立的目录test/t11/t1
6、 删除用户myredhat及其主目录中的内容
7、 用vi编写一个Hello.java文件打印出Hello,World!用vi编写hello.cpp文件打印出hello,world!
8、 用vi编写一个count.java文件,可以接受两个数和一个运算符号,并在控制台输出结果
9、 用vi编写一个Count.c文件,可以接受两个数和一个运算符号,并在控制台输出结果
10、 将Linux设置成进入到图形界面的
11、 重新启动Linux或关机
一周学会Linux实战(第二天)
Linux安装上QQ——毛毛虫 QQ for Linux im_qq_com
Javaee开发环境搭建——jdk的安装
概述:要在Linux下开发java程序,则需要安装jdk。实际上目前有很多java后台程序就是在Linux环境下运行的,也是将来的发展趋势。
jdk的安装步骤:
1、把mypackage.iso挂载到Linux系统上,在vm中做好配置。
[root@daiyu root]# mount /mnt/cdrom/ 挂载光驱,把光驱启动
[root@daiyu root]# cd /mnt/cdrom/ 光驱默认是挂载在/mnt/cdrom/
[root@daiyu cdrom]# ls
Daemon Tools
EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin
RealPlayer10GOLD.bin
apache_1.3.28.tar.gz
eclipse-SDK-3.1.1-linux-motif.tar.gz
fcitx-3.0.3-1.i386.rpm
fcitx-3.1.1.tar.tar
j2sdk-1_4_2_07-linux-i586.bin
jakarta-tomcat-5.0.30.tar.gz
jakarta-tomcat-5.5.9.tar.gz
jdk-1_5_0_04-linux-i586-rpm.bin
mysql-connector-java-3.1.10-bin.jar
mysql-standard-4.0.26-pc-linux-gnu-i686.tar.gz
samba-2.2.7a-7.9.0.i386.rpm
samba-client-2.2.7a-7.9.0.i386.rpm
samba-common-2.2.7a-7.9.0.i386.rpm
telnet-0.17-25.i386.rpm
vsftpd-1.1.3-8.i386.rpm
[root@daiyu root]# cd /
[root@daiyu /]# umonut /mnt/cdrom/ 取消挂载
[root@daiyu root]# cd /mnt/cdrom/ 此目录下为空
[root@daiyu cdrom]# ls
[root@daiyu cdrom]#
还有其他方法让Linux系统使用windows系统的文件呢?
虚拟机—>设置—>选项—>共享文件夹,把windows的文件夹共享给虚拟机,点击“添加”。
2、把安装文件拷贝到/home目录下去,因为现在文件是挂载在光驱上的,光驱是不可写的。
# cp 文件 /home
[root@daiyu cdrom]# cp j2sdk-1_4_2_07-linux-i586.bin /home
[root@daiyu cdrom]# cd /home/
[root@daiyu home]# ls
along ashuai j2sdk-1_4_2_07-linux-i586.bin panpan xiaohong xiaoming
3、安装 # ./文件.bin
[root@daiyu home]# ./ j2sdk-1_4_2_07-linux-i586.bin
Do you agree to the above license terms? [yes or no]
yes 回车,开始安装
[root@daiyu home]# ls
along j2sdk-1_4_2_07-linux-i586.bin panpan xiaoming
ashuai j2sdk1.4.2_07 xiaohong 解压缩后的文件
[root@daiyu home]# cd j2sdk1.4.2_07/
[root@daiyu j2sdk1.4.2_07]# ls
COPYRIGHT README THIRDPARTYLICENSEREADME.txt demo jre man
LICENSE README.html bin include lib src.zip
[root@daiyu j2sdk1.4.2_07]# cd bin/
[root@daiyu bin]# ls
htmlConverter jarsigner javah klist rmic tnameserv
appleviewer java javap ktab rmid
extcheck java-rmi.cgi jdb native2ascii rmiregistry
idlj javac keytool orbd serialver
jar javadoc kinit policytool servertool
4、 看看这个文件/etc/profile (环境配置文件)
[root@daiyu bin]# vi /etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_07
PATH=$PATH:/usr/java/j2sdk1.4.2_07/bin //把以前的path不要破坏,追加一个路径
CLASSPATH=.:/usr/java/j2sdk1.4.2_07/jre/lib/rt.jar
CATALINA_HOME=/usr/local/Jakarta-tomcat-5.0.30 //tomcat
exportJAVA_HOME PATH CLASSPATH CATALINA_HOME
//export命令是把上面的配置引入到环境变量中去
把他们注释掉,用“#”;注销logout后重新登录
[root@daiyu root]# javac
-bash: javac:command not found
5、 配置刚才自己安装的jdk
[root@daiyu bin]# vi /etc/profile
JAVA_HOME=/home/j2sdk1.4.2_07
PATH=$PATH:/home/j2sdk1.4.2_07/bin
CLASSPATH=.:/home/j2sdk1.4.2_07/jre/lib/rt.jar
exportJAVA_HOME PATH CLASSPATH
保存”:wq”后,重新注销logout登录
[root@daiyu root]# javac
[root@daiyu root]# java
Javaee开发环境搭建——eclipse的安装
概述:要在Linux下开发java程序,则需要安装jdk,如果要在集成开发工具(ide)下开发,可以安装eclipse软件。
Eclipse的安装步骤:
1、 挂载iso文件到Linux系统上 mount /mnt/cdrom/
2、 把安装文件拷贝到home目录 cp 文件 /home
[root@daiyu root]# cd /mnt/cdrom/
[root@daiyu cdrom]# ls
Daemon Tools
eclipse-SDK-3.1.1-linux-motif.tar.gz
[root@daiyu cdrom]# cp eclipse-SDK-3.1.1-linux-motif.tar.gz /home/
[root@daiyu cdrom]# cd /home/
[root@daiyu home]# ls
along eclipse-SDK-3.1.1-linux-motif.tar.gz j2sdk1.4.2_07 xiaohong
ashuai j2sdk-1_4_2_07-linux-i586.bin panpan xiaoming
3、 安装 tar -zxvf 文件.tar.gz
[root@daiyu home]# tar –zxvf eclipse-SDK-3.1.1-linux-motif.tar.gz 解压缩
[root@daiyu home]# dir
eclipse-SDK-3.1.1-linux-motif.tar.gz eclipse
4、 启动eclipse
[root@daiyu home]# cd eclipse
[root@daiyu eclipse]# ls //绿色的eclipse是可执行文件
about.html eclipse features libcario.so.1 readme
about_files eclipse.ini icon.xpm notice.html startup.jar
configuration ep1-v10.html libXm.so.2 plugins
[root@daiyu eclipse]# ./eclipse //启动eclipse
Error: Conldn’t find per display information
Eclipse: JVM terminated. 没有图形化界面
先进入图形界面:
[root@daiyu eclipse]# startx
[root@daiyu eclipse]# ./eclipse 成功启动eclipse
想回到刚才的非图形界面,直接logout注销后就会回去
[root@daiyu eclipse]#
Javaee开发环境搭建 ——myeclipse的安装
概述:eclipse只能开发java se,如果要开发java ee,则需要安装myeclipse。
[root@daiyu root]# cd /mnt/cdrom/
[root@daiyu cdrom]# ls
EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin
[root@daiyu cdrom]# cp EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin /home/
[root@daiyu cdrom]# cd /home/
[root@daiyu home]# ls
EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin
[root@daiyu home]# ./ EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin
进入图形界面
Please Choose Existing Eclipse Installation Folder:/home/eclipse
(先安装jdk,再安装Eclipse,最后安装myeclipse,顺序不能变)
Where Would You Like to Install MyEclipse Enterprise Workbench…..
/home/MyEclipse 把MyEclipse安装在哪里
[root@daiyu home]# ls
EnterpriseWorkbenchInstaller_4.0.3GA_E3.1.bin myeclipse
[root@daiyu home]# cd eclipse
[root@daiyu eclipse]# ls
about.html eclipse features libcario.so.1 readme
about_files eclipse.ini icon.xpm notice.html startup.jar
configuration ep1-v10.html libXm.so.2 plugins links
[root@daiyu eclipse]# ./eclipse 当再启动eclipse的时候,会发现多了一样东西,多了MyEclipse。
Javaee开发环境搭建 ——tomcat的安装
概述:我们知道java ee的服务器有tomcat、jboss、weblogic、websphere、resin….这些都是可以安装到Linux下。
安装tomcat软件:
1、挂载iso文件到Linux系统上 mount /mnt/cdrom/
2、把安装文件拷贝到home目录 cp 文件 /home
[root@daiyu root]# cd /mnt/cdrom/
[root@daiyu cdrom]# ls
jakarta-tomcat-5.0.30.tar.gz
[root@daiyu cdrom]# cp jakarta-tomcat-5.0.30.tar.gz /home/
[root@daiyu cdrom]# cd /home/
[root@daiyu home]# ls
jakarta-tomcat-5.0.30.tar.gz
[root@daiyu home]# tar –zxvf jakarta-tomcat-5.0.30.tar.gz
[root@daiyu home]# ls
jakarta-tomcat-5.0.30.tar.gz jakarta-tomcat-5.0.30
[root@daiyu home]# cd jakarta-tomcat-5.0.30
[root@daiyu jakarta-tomcat-5.0.30]# ls
LICENSE RELEASE-NOTES bin conf server temp work
NOTICE RUNNING.txt common logs shared webapps
[root@daiyu home]# cd eclipse
[root@daiyu eclipse]# ls
[root@daiyu eclipse]# ./eclipse &
[1] 8740
[root@daiyu eclipse]#
&表示要以后台方式运行,会把控制台的输入权立刻释放给用户。如果不打”&”,则控制台不能干任何其他的事情,要占据整个控制台的输入界面。8740代表eclipse启动后的进程号。
Select a workspace : /root/workspace
开发一个jsp文件,并配置tomcat:
New—>Project—>MyEclipse—>J2EE Projects—>Web Project,Next,
Project Name : Test,确定。
在左边右击Test,New—>JSP,新建一个Hello.jsp文件。
发布到tomcat:Window—>Preferences—>MyEclipse—>Application server—>tomcat 5,
Tomcat Server,选择”enable”;配置Tomcat JDK。
毫无疑问,没有数据库,JAVAEE项目将会暗淡无光,所以必须掌握如何在Linux下安装和使用数据库。在Linux下除了Microsoft的 SQL Server不能安装外,其它主流的数据库都可以安装,比如MySQL、Oracle、DB2…..
Linux下娱乐软件—— realplay
Linux下一样有很多娱乐软件,比如播放影音的软件之王—realplay,用.bin安装文件。
安装realplay:
1、 把安装文件拷贝到/home下:cp 文件 /home
2、 安装.bin文件。
[root@daiyu eclipse]# cd /mnt/cdrom/
[root@daiyu cdrom]# ls
RealPlayer10GOLD.bin
[root@daiyu cdrom]# cp RealPlayer10GOLD.bin /home/
[root@daiyu cdrom]# cd /home/
[root@daiyu home]# ls
RealPlayer10GOLD.bin
[root@daiyu home]# ./RealPlayer10GOLD.bin
[root@daiyu home]# ls
RealPlayer10GOLD.bin RealPlayer
[root@daiyu home]# cd RealPlayer
[root@daiyu RealPlayer]# ls
Bin README install.log mozilla postinst realplay.bak share
LICENSE doc lib plugins realplay realplay.bin
[root@daiyu RealPlayer]# ./realplay 启动RealPlayer程序,绿色的可执行文件
把文件做成iso镜像文件,首先要安装一个WinISO软件,先卸载现有的光驱,
unmount /mnt/cdrom/。点击”虚拟机”——>”设置”。
再次挂载,
[root@daiyu root]# mount /mnt/cdrom/
Linux分区
首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(Primary Partion)和扩展分区(Extension Partion)两种。基本分区和扩展分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩展分区再分下去是什么呢?它就是逻辑分区(Logical Partion),而且逻辑分区没有数量上的限制。
对于Windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但是对于Red Hat Linux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Red Hat Linux中每个分区都是用来组成整个文件系统的一部分。因为采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这是要载入的一个分区将使它的存储空间在一个目录下活动。看下Red Hat Linux的驱动器是如何标识的。
对于IDE硬盘,驱动器标识符为”hdx~”。其中”hd”表明分区所在设备的类型。这里是指IDE硬盘。”x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),”~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为”sdx~”。SCSI硬盘是用”sd”来表示分区所在设备的类型,其余则和IDE硬盘的表示方法一样。
几个重要的命令
挂载命令
mount [—参数] [设备名称] [挂载点]
特别说明:在挂载光驱时,可直接使用 mount /mnt/cdrom
卸载命令
unmount [设备名称]
查看磁盘使用情况
df [—参数]
比如: df -l
查看某个目录是在哪个分区
df [目录全路径]
查看Linux系统分区具体情况
fdisk -l
[root@daiyu root]# fdisk –l
[root@daiyu root]# df /boot/
Filesystem 1K-blocks Used Availbale Use% Mounted on
/dev/sda1 101089 9126 86444 10% /boot
Boot分区是挂载了一个磁盘的,是与sda1相关联的,也就是说sda1是挂载到/boot目录上的。
[root@daiyu root]# cd /boot/
[root@daiyu boot]# ls
可以看到/boot目录下很多的文件。
[root@daiyu boot]# cd /
[root@daiyu /]# umount /boot/ 卸载
[root@daiyu /]# cd /boot/
[root@daiyu boot]# ls
发现/boot目录下什么都没有了。
可见,Linux系统是使用挂载和卸载的方式来使用分区里面的东西。
[root@daiyu boot]# cd /
[root@daiyu /]# mkdir test
[root@daiyu /]# ls
test
[root@daiyu /]# mount /dev/sda1 /test/ 把/sda1挂载到/test/目录下
[root@daiyu /]# cd /test/
[root@daiyu test]# ls
会发现,/test下面的文件和原来/boot上的文件一模一样。
[root@daiyu test]# cd /
[root@daiyu /]# umount /test/
[root@daiyu /]#
[root@daiyu /]# df 有多少剩余空间
Filesystem 1K-blocks Used Availbale Use% Mounted on
/dev/sda2 3771316 2983184 596560 84% /
/dev/cdrom 842706 842706 0 100% /mnt/cdrom
[root@daiyu /]# df –h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 3.6G 2.9G 583M 84% /
/dev/cdrom 823M 823M 0 100% /mnt/cdrom
[root@daiyu /]# find –size +1000000K
发现有多少个文件是超过1G的。
Linux的安装有两种方式:
1、 独立安装。
2、 虚拟机安装。
一周学会Linux实战(第三天)
1、 Linux下的Shell
2、 TCP/IP基础
3、 Linux网络环境配置
4、 rpm包管理
5、 samba安装和配置
Linux下Shell介绍
Shell的概念
概述:每个人在成功登录Linux后,系统会出现不同的提示符号,例如$、~、#等,然后你就可以开始输入需要的命令,若是命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登录到注销期间,输入的每个命令都会经常解译及执行。而这个负责的机制就是shell(把命令解释成内核可以执行的代码)。
Shell编程
概述:其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用Shell编程类似于DOS中的批处理文件(系统的管理和维护),称为Shell script,又叫Shell程序或Shell命令文件。
批处理文件如.bat文件。
《Linux命令、编辑器和Shell编程》《Linux与Unix shell编程指南》
Shell的分类
概述:Shell有很多,但常用的就几种:
Shell名称 开发者 命令名称
Bourne S.R.Bourne /bin/sh
C Bill Joy /bin/csh
Kom David /bin/ksh
[root@daiyu root]# ls –l /bin/*sh 查看装了几种shell,都是以sh结尾的文件
-rwxr-xr-x 1 root root 92444 Feb 6 2003 /bin/ash
-rwxr-xr-x 1 root root 626028 Feb 11 2003 /bin/bash
lrwxrwxrwx 1 root root 3 Apr 6 2005 /bin/bsh -> ash
lrwxrwxrwx 1 root root 4 Apr 6 2005 /bin/csh -> tcsh
lrwxrwxrwx 1 root root 4 Apr 6 2005 /bin/sh -> bash
-rwxr-xr-x 1 root root 316276 Jan 25 2003 /bin/tcsh
中国比较喜欢/bin/sh这个Shell,而欧洲比较喜欢/bin/ksh这个Shell。
1、 查看目前使用的是哪种Shell
# env [全称是enviroment,该命令可以显示当前操作系统的环境变量]
[root@daiyu root]# env | more 分页显示
TERM=linux
SHELL=/bin/bash
USER=root
PWD=/root
JAVA_HOME=/home/j2sdk1.4.2_07
2、 Shell的修改
[root@daiyu root]# chsh –s /bin/csh
Changing shell for root.
Shell changed.
[root@daiyu root]# logout 要使Shell生效,就要先注销一下。
Login: root
Password:
[root@daiyu ~]# 发现变成了”~”符号,有些命令失效了。
不同的Shell,对命令的解释是不一样的。
[root@daiyu ~]# ls –l /bin/*sh
[root@daiyu ~]# chsh –s /bin/bash
Changing shell for root.
Shell changed.
Login: root
Password:
# 只出现了”#”
# who am i
Root tty1 Dec 11 00:19
# logout 注销一下
logout: not found 发现bash不支持”logout”命令。
# exit 成功注销,退出
3、 Shell的命令补全功能
概述:是指用户输入命令时,并不需要输入完整的命令,而系统自动会找出最符合的名称。这种功能可以节省经常输入命令的时间。
直接输入”mk”——再按两下”tab”键——出现两头两个字母为”mk”的命令。Cat p 再按两下”tab”键会出现开头字母为”p”的所有文件或目录。
4、查询历史记录命令:history
概述:在Linux下,我们有时可能希望知道或是使用最近执行的命令,history可能会帮上大忙。
(1) history 5:此项说明会显示最近使用的5个命令。
(2) !5:此项说明执行历史编号为5的命令。
(3) !ls:此项说明执行最后一次以”ls”开头的命令。
TCP/IP基础
——tcp/ip的由来
概述:Linux/unix的世界就是网络的世界。而网络的基础就是tcp/ip,所以一个优秀的Linux/Unix程序员必须了解并掌握tcp/ip。12
在某种意义上,Unix网络就是TCP/IP,而且TCP/IP就是网络互联的标准。它不是一个独立的协议,而是一组协议(tcp,ip,udp,arp,rarp等协议)。
《TCP/IP详解》卷一_协议;卷二_实现;卷三_TCP事务协议(HTTP、NNTP和UNIX域协议)
思想的萨芬
士大夫