爲什麼學習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域協議)
思想的薩芬
士大夫