OOP Day01
====================
Linux 常見命令
Java環境配置與編譯
1. 命令控制台
1) Linux / Unix 命令格式
command [-選項…] [參數…]
如: ls -a ~
mkdir .demo //創建隱藏目錄
ls
ls -a
2)標准輸出: 就是在控制台(終端, 命令行)的默認輸出
ls pwd cat 等命令的默認輸出都是標准輸出
“>” 輸出重定向, 可以將標准輸出重新定向到壹個文件上.
如: ls > abc.txt //將 ls 默認的標准輸出結果定向到abc.txt
cat abc.txt //查看abc.txt文件內容
cat 查看”文本文件”內容
3) “|” 是管道符號, 可以連接兩個命令, 將前壹個命令
的輸出作爲後壹個命令的輸入
4) grep 是過濾輸入信息 留下指定的行
2. 目錄 與文件操作
/ 根目錄
~ 用戶主目錄(user home)
. 當前目錄
.. 當前目錄的父目錄
list.txt 相對路徑, 相當于: ./list.txt
/home/soft01/list.txt 絕對路徑名
~/list.txt 用戶主目錄下的壹個文件
ls />list.txt
ls />./list.txt
ls />~/list.txt
ls />/home/soft01/list.txt
1)cd 改變當前工作目錄
默認的cd 相當于 cd ~ : 返回”主目錄”
. 表示當前目錄
.. 表示上級目錄(父目錄)
~ 代表”主目錄”
以”/” 開始的目錄路徑表示: 絕對路徑, 反之: 相對路徑
相對路徑: 是相對于當前目錄. “.”, “..” 都是相對路徑
以”.” 爲開頭的文件/目錄是隱藏的
2) ls 列目錄命令
如:
ls /
ls /etc
ls /opt
ls ~
ls workspace
ls -a ~ 顯示全部的內容(包括隱藏文件和目錄)
3) 創建目錄
mkdir .photo 創建隱藏文件夾 “.photo”
4) mv 移動/改名文件夾/文件
mv .photo photo //改名
mkdir mm
mv mm photo //移動
ls photo
mv passwd passwd.bak
5) rm 刪除文件/目錄
刪除文件: rm file1 file2 file3 …
刪除目錄: rm -rf dir1 dir2 …
選項: -r 遞歸刪除所有子目錄和文件
-f 強制刪除, 不進行任何的交互確認(linux 默認 -f)
6) cp 複制文件/目錄, 注意第二個參數
複制文件 cp /etc/passwd ~
賦值文件夾 cp -r workspace workspace.bak
mkdir demo
cp -r workspace demo
選項-r 表示遞歸賦值所有的子目錄和文件內容
7) 文件的授權
ls -al 查看長格式結果
d rwx rwx rwx liucs liucs com
-rwxrwx— liucs liucs Hi.java
chmod 660 test.txt
rw- rw- —
rwx
421 421
000 0 —
001 1 –x
010 2 -w-
011 3 -wx
100 4 r–
101 5 r-x
110 6 rw-
111 7 rwx
女朋友的授權: 744
8) windows 命令
dir == ls
mkdir == mkdir
cd == cd
del == rm
cls = clear
more = more
type == cat
move = mv
copy, xcopy = cp
help == man
3 文件的創建 與 修改
1) echo 回顯命令
echo abc 將abc回顯到控制台
2) “>” 輸出重定向, 將命令的”標准輸出” 結果重新定向到
新的目標.
“>>” 表示追加輸出
ls />rootlist.txt
echo abc>test.txt
echo abc>>test.txt
3) cat 查看文件內容
4) touch 創建新空白文件, 修改文件訪問時間
4 創建和修改文本文件 vi
1 打開 vi [filename] -> 命令狀態
命令狀態: 任何鍵盤輸入都是命令
命令狀態: [esc] 總是回到命令狀態
編輯狀態: 對文本進行編輯, 任何的輸入都是編輯內容
vi [filename] -> i o a ->
命令行 命令狀態 編輯狀態
<- :q 退出命令 <- [esc]
<- :q!強制退出命令
<- :wq保存退出命令
:w保存
:w [filename]
:w! [filename]
/ ? n 查找
5 打包備份與恢複(相當于winrar)
1) tar打包:
tar -cf workspace.tar workspace ....
gzip workspace.tar
或:
tar -czvf workspace.tar.gz workspace ....
釋放到當前文件夾:
tar -xzvf workspace.tar.gz (Linux)
或:
gzip -d workspace.tar.gz
tar -xf workspace.tar
2) zip 打包與釋放:
zip -r file.zip file1 file2 file3 ...
unzip file.zip
6 系統環境變量PATH
1) 環境變量PATH: 操作系統可執行命令的搜索路徑.
2) 可以使用$PATH引用變量的值.
3) 查看環境變量: echo $PATH
4) 設置環境變量: export PATH=$PATH:/sbin
7 Java的安裝與環境的配置
1) Oracle下載JDK, http://java.sun.com
linux 版本的JDK是自釋放壓縮包
2) 安裝JDK 以Java1.5 爲例:
chmod +x jdk-1_5_0_09-linux-i586.bin (增加執行授權)
./jdk-1_5_0_09-linux-i586.bin (執行釋放)
自動釋放安裝到 ~/jdk1.5.0_09
3) 配置JDK, 以JDK安裝到 /opt/jdk爲例:
/opt/jdk
|- bin 開發工具(命令: javac, java, jar, rmic, jps...)
|- lib 開發工具實現類tools.jar
|- jre (Java運行環境)
| |- bin (JVM)
| |- lib (Java API 類庫)
| |- rt.jar ( 核心類庫, zip壓縮,
| 包含java.util.Random)
|- src.zip (Java API 類庫的源文件)
A 配置PATH, 使PATH包含JDK安裝目錄下的bin目錄
目的: 將JDK帶來的開發工具(命令)擴展到OS中.
如: export PATH=/opt/jdk/bin:$PATH
B 配置JAVA_HOME, JAVA_HOME指向JDK的安裝目錄
JAVA_HOME 的作用: 是指導"某些Java軟件"找到JDK
如: tomcat 服務器 就使用 JAVA_HOME
實例: export JAVA_HOME=/opt/jdk
set JAVA_HOME=C:Program FilesJavajdk1.6.0_01
C 配置CLASSPATH, 指向Java類的部署目錄或者Jar文件
用來爲JVM 指明Java類的搜索路徑, Java在執行類的時候
在CLASSPATH指示的路徑下查找類文件.
實例: export CLASSPATH=.
Windows 參考 Java配置命令:
set JAVA_HOME=C:Program FilesJavajdk1.6.0_01
set CLASSPATH=.
set PATH=C:Program FilesJavajdk1.6.0_01bin;%PATH%
8 package 與 CLASSPATH:
1) 是java中對類進行分類的
2) 包映射爲系統的文件夾
3) java的類的全名: 全限定名=包名+類名
4) 使用Java執行類時候要指定到 "全限定名"
5)Java 的 編輯 與編譯實例:
cd demo
vi HelloWorld.java (編輯(edit)Java源文件)
mkdir bin (創建輸出目錄bin)
javac -d bin HelloWorld.java (編譯(Compile) 源文
件到bin文件夾, 在bin中生成包)
(下面設置 Java的類文件搜索路徑, java執行時候利用這個
路徑搜索Java的包和類文件)
export CLASSPATH=/home/liucs/demo/bin
java corejava.day01.HelloWorld (執行java類, Java命令會
到CLASSPATH指定的系列路徑中尋找包corejava.day01
尋找包中HelloWorld.class 的字節碼文件 )
9 系統初始化腳本
1) 初始化腳本 是指在開機過程中自動執行的系統腳本文件
壹般用來初始化系統環境
2) 系統級初始化腳本文件: /etc/profile 所有當前系統的用戶
登錄時候都執行
作業:
1 複習所有的Linux命令
2 使用VI編輯, 幾個java 源文件
3 目錄浏覽 jdk 目錄, 找到文件: java javac rt.jar src.zip
4 創建目錄src在src目錄中釋放src.zip, 找到其中的Random.java
Scanner.java 等
4 創建目錄bin在bin目錄中釋放rt.jar, 找到其中的Random.class
Scanner.class 等
5 實現Java代碼:
a 在壹幅撲克牌中隨機取出壹張牌
b 在壹幅撲克牌中隨機取出5張牌
預習: java 面向對象知識: 類, 對象, 引用
File Package
课堂提纲教案