1) Linux / Unix 命令格式 - S) `/ L. X r command [-选项...] [参数...] 5 X, f. G G3 w) ] 如: ls -a ~ 2 x3 P r* i- s8 [- [8 T5 j, N; l- k mkdir .demo //创建隐藏目录 # c6 R7 f, C: X' C+ s. z. f ls $ \! P# H3 B6 m! Z" ^0 S ls -a6 J" `' N I' b6 ?/ [6 q1 J
: t7 J0 W1 b' D 2)标准输出: 就是在控制台(终端, 命令行)的默认输出 0 X; r E4 i6 i$ \" e5 P ls pwd cat 等命令的默认输出都是标准输出- v2 C& e$ s% ^. p
">" 输出重定向, 可以将标准输出重新定向到一个文件上. : k* b/ w& d' C 如: ls > abc.txt //将 ls 默认的标准输出结果定向到abc.txt! E d6 k& W2 ~7 C8 F/ ^7 C
cat abc.txt //查看abc.txt文件内容4 Z& e2 Q$ z4 z J5 k
9 } _: [8 X& T) s2 W" X0 O 3) "|" 是管道符号, 可以连接两个命令, 将前一个命令 8 X U9 C1 g# w5 q; a" u* n 的输出作为后一个命令的输入 , k8 z6 V7 N. H; Q" c$ s/ e 4 O& y: p `. l! b 4) grep 是过滤输入信息 留下指定的行 F# ~/ y) Z# W2 ^- [" F
& s- `( B, e4 y2. 目录 与文件操作 . I& S2 C7 G# F4 |/ S 1)cd 改变当前工作目录 [1 V0 T6 J, ?+ P; \
默认的cd 相当于 cd ~ : 返回"主目录" 1 _9 Q e/ X7 x6 z$ x. K# N- p . 表示当前目录) r- |0 P+ D0 }# {" p
.. 表示上级目录(父目录) $ S5 m3 }) m8 K3 X0 Y ~ 代表"主目录"# E$ q9 t* h" b9 G+ w
以"/" 开始的目录路径表示: 绝对路径, 反之: 相对路径 / d" _. i( z8 ]- K* @9 W: { 相对路径: 是相对于当前目录. ".", ".." 都是相对路径 , s7 Z, W$ s; @$ ^: Y4 j 以"." 为开头的文件/目录是隐藏的6 l! V- _ C( x8 t9 j
2) ls 列目录命令 ' `' G q3 \) m9 B) p7 L% { 如:( r! |' w; t& w1 \' Y+ U' ~
ls / 1 i5 ~- G2 |5 e4 |. T/ p( m ls /etc1 |- l1 O# L) e A) p) E9 z- }
ls /opt ~7 T" Q7 T; M/ ^$ L. N ls ~ U3 d- J- n9 X$ s ls workspace 8 T" Z% s6 H2 ~: ~" N) Y( J ls -a ~ 显示全部的内容(包括隐藏文件和目录)7 k& p# q7 J1 s F i
2 Q3 l7 c' S% b " ]" n, K: E8 {3 ~* H2 x6 c% ] 3) 创建目录 ) Q8 @3 Z5 k3 ? mkdir .photo 创建隐藏文件夹 ".photo"+ {, ]: b) k4 `% g) K4 g/ h
4) mv 移动/改名文件夹/文件% |7 J% n8 u, q; Q1 Y1 t
mv .photo photo //改名- }3 q- h: {5 @
mkdir mm , Z% S$ l# K7 y& M, J. y) E$ y mv mm photo //移动+ U. U: j1 k0 M z/ Y
ls photo% c) v% N" F# K, ^
mv passwd passwd.bak + B+ l; q ]7 R* Z6 |5 f! t, Y0 Q" _4 |" n
5) rm 删除文件/目录* o% O) y4 M( Q( R
删除文件: rm file1 file2 file3 ...& W) j# I: t. ~" s: A$ g
删除目录: rm -rf dir1 dir2 ...1 {4 h, M2 j5 z* E: _
选项: -r 递归删除所有子目录和文件 % R2 o, _; N5 R4 ~; B7 E9 F0 W -f 强制删除, 不进行任何的交互确认(linux 默认 -f)( Z+ E7 f$ }' V5 z, c
8 H. A1 d4 I" a- M& e) I4 N; _
6) cp 复制文件/目录, 注意第二个参数/ F, o a2 }) r b& Z6 X& H; F
复制文件 cp /etc/passwd ~& j; d+ e3 @, y3 N% N
赋值文件夹 cp -r workspace workspace.bak. u9 S1 {$ `: g8 y: I0 _+ A
mkdir demo, ]4 b. F6 m2 l6 Z
cp -r workspace demo `% c2 [* A& B ^# ? ; k$ _0 T. [; J9 Y) {; M& ? 选项-r 表示递归赋值所有的子目录和文件内容4 N3 t2 |! P) q" d6 H9 j! z
9 ]$ ?2 m: _. r8 i6 C( E" [9 C! }
7) 文件的授权5 T# n" O! B0 T
ls -al 查看长格式结果 $ m- ?( @2 @' G: A d rwx rwx rwx liucs liucs com/ W' B+ T, O3 F, ~5 C6 o+ @
-rwxrwx--- liucs liucs Hi.java ) \ \5 o$ X; ^ 5 R, E. f2 Q9 x) B) A1 q chmod 660 test.txt; D( A$ d! d7 N0 c
rw- rw- --- 8 d) \* p+ y' z3 K rwx& x0 e; N* v+ m% V, e# M7 ]# e- n" e
421 421 ' T9 U; \( \$ ? 000 0 --- ' G8 u! [5 J4 G) Z+ [8 I 001 1 --x . q# h9 C& A4 g2 K/ z 010 2 -w- 2 v5 y' a6 k& {3 x8 m 011 3 -wx& M; ^( w& E: A. S1 d
100 4 r--; S" E/ F3 i0 M3 Q
101 5 r-x9 c3 }7 [% Y& D4 u& {
110 6 rw-/ @% ]9 i7 {1 Y4 t9 k1 Y
111 7 rwx2 J- q0 H5 ~( j
7 u( t: f0 C& H5 @5 Q; q5 T
! A1 D, {" H* B3 g+ R
8) windows 命令9 ?( I3 E6 N! d# g) S: @7 @' v4 k
dir == ls 9 I {% s- x- K' J8 \! V( }$ }3 L mkdir == mkdir $ o$ N. `0 Q$ n7 ?3 J8 X cd == cd ! Q. j6 N& I9 U1 e del == rm ! L! k. @* c7 p& P) g cls = clear. } p" n# M4 X* p* x
more = more $ B. G. E& a7 ^" X1 r2 X7 N type == cat 8 I4 ]2 I0 a+ U2 ? move = mv' I9 C3 [. M- C9 h4 O& Y$ n5 D
copy, xcopy = cp ! j" s" q: P2 ` 5 t% L* R( w, ?1 E7 \5 D help == man 9 @5 w. ] z- |9 z+ ^: G' o9 a 0 g0 S* W3 o8 _" x G1 n 2 g5 Y! ~. Y& k( z/ |2 G3 文件的创建 与 修改 2 J2 W9 U D6 G$ L0 f 1) echo 回显命令/ Y$ l# h( i2 G" K0 o4 d
echo abc 将abc回显到控制台 0 E/ B( ]& a! \( j 2) ">" 输出重定向, 将命令的"标准输出" 结果重新定向到 # w. ~1 _# s( g# E: B7 F 新的目标. " I/ n1 e" h* A. R ">>" 表示追加输出 : e2 G& u5 n9 n& U
ls />rootlist.txt ; ?0 u4 ~+ j5 \# M A echo abc>test.txt & e; j, \+ K k echo abc>>test.txt e2 E) q; A) d! x) k( i" O 3) cat 查看文件内容 ! q( D- {" C' V. V3 x& C( L 4) touch 创建新空白文件, 修改文件访问时间 # ^: U q1 t7 [+ F + ^+ K1 h) A* u4 创建和修改文本文件 vi 2 Y+ j/ n$ n1 v7 Y
1 打开 vi [filename] -> 命令状态: k7 z$ W, e1 R* P7 y+ C1 f
命令状态: 任何键盘输入都是命令- i2 @& b/ y" T# X+ X& C7 Z M
命令状态: [esc] 总是回到命令状态: @$ F p1 ~- [0 C7 G4 \
编辑状态: 对文本进行编辑, 任何的输入都是编辑内容 2 @) M8 l, c+ _$ ? vi [filename] -> i o a -> 9 _3 Z1 b( m# A1 c 命令行 命令状态 编辑状态( q0 W+ k3 t4 \: P+ Y# m
<- :q 退出命令 <- [esc] & Q# U: w2 ~) j9 u. a) ~6 ]9 o <- :q!强制退出命令 6 s* I. P* P4 O6 o5 @7 C% Q <- :wq保存退出命令 , Z R) S: t6 f; \% ~
:w保存 " @9 i* l7 G$ r: K :w [filename] a! L( S* H* k0 f- D3 n :w! [filename] " M3 s- A% _0 @ w( w / ? n 查找" s7 y( G2 _! U* u/ L W% M# g5 o
- a) ^$ L5 p; ?- e/ R& s
5 打包备份与恢复(相当于winrar) 1 I, g$ w2 b& C! [. @& K4 F; G( ^ 1) tar打包: , T, W% I. [ j, C+ V Q$ G- d tar -cf workspace.tar workspace .... 0 H" Q6 v$ a, E2 y B6 M) Y gzip workspace.tar& e2 w; v2 L" b. v, [0 s: _
或: + w( V9 \9 b4 |. K+ ^1 V/ ^, Z tar -czf workspace.tar.gz workspace .... 2 @$ v! Z) y8 v/ _& T 6 B' G9 d. y. s 释放当前文件夹: # ^2 A8 ^: ]5 n2 ^/ _& o tar -xzf workspace.tar.gz (Linux) # i' w- C3 u c4 J: Z& Q 或: ' f* O: q7 m" q' n6 n" \ gzip -d workspace.tar.gz! ?! S* m' M6 T% C* G% S6 L
tar -xf workspace.tar 7 f2 U; r2 b9 ^" D% r9 J; O
; V6 i/ d: h$ [! c
2) zip 打包与释放: ) T' }1 U* a% ]/ O zip -r file.zip file1 file2 file3 ... 2 V- m8 y8 ?1 G9 j# ?% j8 ^$ l% I unzip file.zip ( G9 D& X2 ]. n% ]4 |1 s, h: K4 N6 _) J+ `( r% i& v6 L7 Z
8 ^- \' E: N* V% |8 D# b5 [2 ^6 {6 系统环境变量PATH * |6 k) _* D1 f: e 1) 环境变量PATH: 操作系统可执行命令的搜索路径. ) v! I! Y5 l& o* Z1 H# p/ c/ o 2) 可以使用$PATH引用变量的值. 9 V4 r3 z3 \3 n* g1 q# u 3) 查看环境变量: echo $PATH : @# d' z; h0 T" @, k# H- A$ G, @ 4) 设置环境变量: export PATH=$PATH:/sbin ; ~ l- _8 O* ^ i0 I, z# J : }2 V) n/ j/ H& A: m7 Java的安装与环境的配置" G3 g, H5 l4 U
1) Oracle下载JDK, http://java.sun.com ' [- W+ A4 a; j linux 版本的JDK是自释放压缩包$ k) l% \& f- y0 I/ G# K4 s
2) 安装JDK 以Java1.5 为例:; B1 n2 s- F6 F$ n8 V4 b4 k7 F
chmod +x jdk-1_5_0_09-linux-i586.bin (增加执行授权)/ m4 x* p2 A: D( E: G8 `7 y
./jdk-1_5_0_09-linux-i586.bin (执行释放) 6 h& _- o! x0 Q" q8 f! T: U$ d' K H5 D
自动释放安装到 ~/jdk1.5.0_09 - B8 v. i! t* ]8 @- J( u: J$ i * j) D8 [9 s1 d ^0 w1 l 3) 配置JDK, 以JDK安装到 /opt/jdk为例: ) m4 X0 C5 Q2 z/ n/ { /opt/jdk/ b! k2 \6 q% ^) z7 W
|- bin 开发工具(命令: javac, java, jar, rmic, jps...) 7 u$ p7 ]( w; {3 j |- lib 开发工具实现类tools.jar ( `4 h( C7 K f; S. S, h0 r |- jre (Java运行环境) 2 u6 l3 F" f6 L+ L4 z( r+ r1 ~ | |- bin (JVM)4 _- e6 C' c8 _. X% w4 M
| |- lib (Java API 类库) + e6 p. u3 O) A5 d' k0 V9 x | |- rt.jar ( 核心类库, zip压缩,7 o' u/ H) C" V0 f3 z( m5 U
| 包含java.util.Random) 2 n6 I+ C& c, a H4 z0 r |- src.zip (Java API 类库的源文件) # V% B7 V& R' Y0 w, n! d
$ m3 X+ _) W- t) A7 [+ K8 e% L, d
0 X5 \4 p+ a6 c0 _/ j7 j, t
A 配置PATH, 使PATH包含JDK安装目录下的bin目录 4 B6 c' M( d4 Q% ] r0 T/ @ 目的: 将JDK带来的开发工具(命令)扩展到OS中.% }0 x* P x, E: w
如: export PATH=/opt/jdk/binPATH1 h* J3 l) Y5 P
; B) P4 q& M0 U1 k3 m$ k: u + n3 i6 r' {0 I1 F z4 ~ B 配置JAVA_HOME, JAVA_HOME指向JDK的安装目录 , X2 R5 w* D' C/ a1 G JAVA_HOME 的作用: 是指导"某些Java软件"找到JDK' C3 I/ d# g" ]+ ]$ J8 @2 Y& T6 s" B
如: tomcat 服务器 就使用 JAVA_HOME# G6 v! t) X$ q: s6 V- M
实例: export JAVA_HOME=/opt/jdk) ~. |4 }3 i1 v& c$ N8 c9 V5 p* g
8 g( t/ [. C+ I4 n: }9 H# S4 k
C 配置CLASSPATH, 指向Java类的部署目录或者Jar文件 1 e& C+ {7 D- j! k( \8 h! x 用来为JVM 指明Java类的搜索路径, Java在执行类的时候 ' \8 a" A; S' [/ Z4 J: H7 b# B# k9 E 在CLASSPATH指示的路径下查找类文件.4 H, ^$ k! V5 R3 C5 F. z5 j
实例: export CLASSPATH=. , T5 K4 n$ v1 R0 k: {$ E G7 W" p: }- D$ g Windows 参考 Java配置命令:$ `8 o; R. k! U0 E9 y1 s
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01( `9 W2 G2 R2 C: e Q9 F) g; z# O; d
set CLASSPATH=.) z" a, c) \. W8 ~# ?- l/ W
set PATH=C:\Program Files\Java\jdk1.6.0_01\bin;%PATH%- [) ~( n9 \1 W& L0 s- t
1 U% E9 w2 ^2 y1 A, M, n8 package 与 CLASSPATH: + B P- [$ |3 A 1) 是java中对类进行分类的( ?9 w" _& ]# M- C
2) 包映射为系统的文件夹 4 @& h) b4 `* E: {- c 3) java的类的全名: 全限定名=包名+类名 j& D- ~6 z- Q 4) 使用Java执行类时候要指定到 "全限定名" 3 S0 E! L* v! Q; n1 l0 w3 K : x0 E4 }) E5 Y- n4 a! _ 5)Java 的 编辑 与编译实例:5 J% Q) t6 ]- E0 m
cd demo ; R6 h$ q Y& } vi HelloWorld.java (编辑(edit)Java源文件) " T7 @! F# f3 c% S, ]) p5 @& K2 E; n" t mkdir bin (创建输出目录bin)6 N7 r, N2 F. u% K ?; D
javac -d bin HelloWorld.java (编译(Compile) 源文 8 o9 I6 `2 {: e& s5 N. }& B; ^) d l' w 件到bin文件夹, 在bin中生成包) : V: [" W1 y, t* Q# I (下面设置 Java的类文件搜索路径, java执行时候利用这个 9 U, Z, l/ e; [- ^0 V1 h; T s2 k4 A 路径搜索Java的包和类文件) 3 P2 d0 x5 U( \# S; i5 _ export CLASSPATH=/home/soft01/demo/bin " g0 n6 T3 L# U' w6 t java unix.day01.HelloWorld (执行java类, Java命令会 q" l. D2 k. E, F8 j6 r0 C 到CLASSPATH指定的系列路径中寻找包corejava.day01 9 X( ]5 M1 z4 E# |* e7 q; j; y" T 寻找包中HelloWorld.class 的字节码文件 ) ' I f1 k) @' w% y+ m - r! Q1 M9 e( e2 r9 系统初始化脚本 1 ]! B( n, E+ q1 G9 ]& U 1) 初始化脚本 是指在开机过程中自动执行的系统脚本文件 " G ~+ @" H' u 一般用来初始化系统环境 " p! P3 c: j$ z 2) 系统级初始化脚本文件: /etc/profile 所有当前系统的用户' ~6 e9 h! n! B, D1 l0 h
登录时候都执行 ) ^! V( v) q8 k) G! }' l- G! T 2 N, Q7 a' y2 g# N( X