1) Linux / Unix 命令格式 " ~) ]" L' j E+ Z command [-选项...] [参数...]( b: c- W4 K9 r
如: ls -a ~7 @- Y4 W0 P) o* r$ P
mkdir .demo //创建隐藏目录. v2 R5 H" E; O( g1 `: ^) @! `
ls % e, {0 H, Q2 o4 ]" X
ls -a - S; v- E4 j9 y $ v, D/ h( Y$ I/ T- q! [( g# Q 2)标准输出: 就是在控制台(终端, 命令行)的默认输出 Y4 t( f: V7 @. o3 C8 S; s& x
ls pwd cat 等命令的默认输出都是标准输出" o& ^- h( t) ~5 n8 f* u
">" 输出重定向, 可以将标准输出重新定向到一个文件上. i1 y' ]3 e b4 N7 b0 c 如: ls > abc.txt //将 ls 默认的标准输出结果定向到abc.txt - p+ X; b5 W$ t0 O: A7 ` cat abc.txt //查看abc.txt文件内容$ D8 f3 |% }6 ?
+ c& r% Y1 |" J! L1 j6 Y5 |/ ]
3) "|" 是管道符号, 可以连接两个命令, 将前一个命令, g" F7 i9 j9 O( B q/ k# g
的输出作为后一个命令的输入2 Y3 G, W, n7 a3 E% d1 Y @( z$ E
1 T5 X( K' X& d5 j5 ]5 R
4) grep 是过滤输入信息 留下指定的行 2 w+ Z5 r. q/ z/ K7 D: L0 z i: p, ~" w, V4 N. R" x) s' t
2. 目录 与文件操作# i# f3 Q1 ], m" j( i# K$ C5 a2 L5 C
1)cd 改变当前工作目录 $ t; E9 T+ ?1 P 默认的cd 相当于 cd ~ : 返回"主目录" 2 ]' C+ _0 P+ c8 b& E . 表示当前目录9 v) U2 b- o$ Y, P, V
.. 表示上级目录(父目录) " ?! M& ~" A3 e1 U4 c! f. @. B ~ 代表"主目录" 6 l) y2 u( E- p 以"/" 开始的目录路径表示: 绝对路径, 反之: 相对路径; c2 c `0 V# r) p0 P. `
相对路径: 是相对于当前目录. ".", ".." 都是相对路径 $ M# p5 @2 A1 C$ H& ]" E h6 c( L 以"." 为开头的文件/目录是隐藏的 ( L7 k9 W$ \6 _9 b 2) ls 列目录命令 " l0 e& B/ G C4 v" g 如: 8 h8 ^! M3 ?0 w7 [% o: j3 c ls /2 ]1 V1 Q# Y9 H/ I
ls /etc . i2 g- w" V* }, {, R4 z ls /opt % A9 _& H) j% R9 Z2 c% i% p ls ~ ' t& z4 r9 V8 m ls workspace! i6 V) X3 h' e8 s9 ~" e! z0 R
ls -a ~ 显示全部的内容(包括隐藏文件和目录)' D, U0 H1 I& |, s$ s
2 o! e5 z4 H' F5 V: J; r4 u- }( Y' C) R
3) 创建目录 $ `8 U! Y! H( e8 X0 m: q& f
mkdir .photo 创建隐藏文件夹 ".photo"; v$ T# I7 b4 ^& ~
4) mv 移动/改名文件夹/文件 5 O7 @/ W, J# ]: R3 W mv .photo photo //改名 7 G' |% H% I8 }% A! a3 R( x mkdir mm8 S4 Y1 ?" K5 c' f- ?
mv mm photo //移动 3 G M) v) T: |) l' v* q2 `% R% q) O ls photo ' i6 b. P7 J6 S: g mv passwd passwd.bak' l. K% C( |- e) X$ u
$ p) d. d+ O; J$ [5 H 5) rm 删除文件/目录% X! N* T) l& t! r7 u. h1 n7 Y
删除文件: rm file1 file2 file3 ... # W' a0 q1 a; o 删除目录: rm -rf dir1 dir2 ... 1 O6 k0 M& ?; s0 ^9 _+ d 选项: -r 递归删除所有子目录和文件" |: v+ b+ y; @) d/ V
-f 强制删除, 不进行任何的交互确认(linux 默认 -f) 7 w) H) Y' q: @" x! z" C1 a: z. Q3 F* p6 e7 D7 Q( V6 V+ D; M& T
6) cp 复制文件/目录, 注意第二个参数 ^, |, I3 K$ w! A 复制文件 cp /etc/passwd ~ ! M6 Q! b" N, _+ k3 ^; f% D0 J 赋值文件夹 cp -r workspace workspace.bak* v( p+ m* | `8 O7 N
mkdir demo , O$ k" x! Z! U; B* r cp -r workspace demo3 z$ y W4 L' H
* P# w3 c2 G! x/ m7 S
选项-r 表示递归赋值所有的子目录和文件内容6 n) s$ n$ K2 f& b
: F! p8 R/ P+ \9 e+ t 7) 文件的授权 7 `' ^4 q2 O2 [0 |7 l# ^& }& R ls -al 查看长格式结果' ~( p5 L# @ p4 E3 Z
d rwx rwx rwx liucs liucs com 2 g1 L2 v8 O. S! F, f d -rwxrwx--- liucs liucs Hi.java I1 y" F% e W: n/ V
- A7 h5 {" T$ q5 h$ z" g# k& w
chmod 660 test.txt 7 p: {0 c5 |3 k, E* z rw- rw- --- 0 }* Y+ }) A7 W/ e rwx( G [7 P3 F& H2 _$ q' Z# a+ j
421 421 4 q j1 H9 E. t- c5 E* _) x- @2 S 000 0 --- ' K; w! t* X1 O) R7 E
001 1 --x s& }; p0 a$ {* F
010 2 -w- 8 f9 B$ B9 O; R: k+ i 011 3 -wx' K; \$ h g3 x4 w3 [
100 4 r-- ; I2 B4 H( v( I7 y6 ~' H 101 5 r-x $ E4 h( k- W9 r, y# o. X 110 6 rw-' p0 g3 E0 z2 U' Y. S% X7 U3 ~% a
111 7 rwx" V2 Z. v, i% d: Z5 S# m# D; I+ E7 o
- V; v. h1 m2 b/ [* R# `; Z/ I4 i" C" z2 R5 I+ H9 K/ ]5 T
8) windows 命令 : g( a, Y; x8 ]8 I+ n dir == ls # A3 j) `" E2 y mkdir == mkdir : r. V& _. E0 {! Z) f( z- H( U3 h cd == cd( y6 b+ K8 u" y. R" c
del == rm, r. Y% r+ G, [# o H2 T
cls = clear 8 a2 y3 ^8 X3 e2 T5 }0 p more = more 5 p( [# _" H. k* ~* r type == cat * m* r5 _& s( y. b1 X( y move = mv4 e6 Y( B c1 I5 n
copy, xcopy = cp0 ?8 Z3 j" b f1 ]6 I
) Z5 e2 S' X7 j0 m' X help == man5 O( n; a* y! o! K+ }
\7 m( j8 F: [6 j" I) \0 p ' d* _2 {# P: ^8 t1 ^' V' w( c6 t3 文件的创建 与 修改 $ C; Y4 U/ ?% ]0 y 1) echo 回显命令. s' p3 k0 d. H9 \6 ?8 D3 P* B! A0 c9 R6 N
echo abc 将abc回显到控制台 ) s) d" ]# [/ L7 m N
2) ">" 输出重定向, 将命令的"标准输出" 结果重新定向到 " @$ O; d2 m H$ w* ?) q 新的目标.6 `% A# t8 s1 G6 u; e. [& v8 [5 g
">>" 表示追加输出 p: @" u' o. w0 a f
ls />rootlist.txt f5 I5 e. T- V8 Y' v$ X
echo abc>test.txt / W( a+ N2 S% q0 e( }1 j5 u echo abc>>test.txt2 @! [+ g$ ~5 }
3) cat 查看文件内容 * W) J! \3 r5 f; _, r 4) touch 创建新空白文件, 修改文件访问时间 0 ]3 M) ~- s @) p- U4 h* C& B' B, E3 v
4 创建和修改文本文件 vi # ^2 j' E/ M% A2 ~8 p8 s
1 打开 vi [filename] -> 命令状态 1 G6 |$ M- t# d8 s- o5 q0 ~2 _ 命令状态: 任何键盘输入都是命令% Z2 E1 ^7 H- o9 R3 X
命令状态: [esc] 总是回到命令状态 ; ]4 m+ l+ {' V6 p1 U% @+ L- z 编辑状态: 对文本进行编辑, 任何的输入都是编辑内容 8 ]+ r- u# H' j; Y vi [filename] -> i o a -> 5 z* x+ V6 [( S, N 命令行 命令状态 编辑状态 - m4 M$ O5 j9 U: G2 h6 f5 G <- :q 退出命令 <- [esc]. W/ M2 d- X0 W% ]) J5 K# J
<- :q!强制退出命令 6 I U2 r8 W- n4 `! G( G <- :wq保存退出命令 % H, Q5 y: w+ o3 Z* r) u& c+ B% O :w保存2 s6 w6 S: m2 w O( ^0 ^& n, i
:w [filename]- B# F4 B, \/ M6 \* o4 h3 m( g
:w! [filename] . k3 v( N, k( V' `# g1 ^; g / ? n 查找 5 R5 [* x; [- Z. \( ?; } a C% ]: d& l$ }" O$ Q
5 打包备份与恢复(相当于winrar) ' y; U1 r$ N6 a: I 1) tar打包: ; I9 m# v+ V$ h, ~+ s tar -cf workspace.tar workspace .... i# h1 O' w: k$ y1 F$ {, e6 X! U
gzip workspace.tar! o2 n0 y2 h$ z' R
或:' s; Z+ d3 x$ ~; U( A2 m2 u
tar -czf workspace.tar.gz workspace .... . e& K' j3 q7 m% i+ \* t- \4 n, ^6 Y: G: s
释放当前文件夹: + @& h0 p9 W& B- k- w9 ^6 T/ ] tar -xzf workspace.tar.gz (Linux) : M: [# ^, S* k* }& Z8 ^ 或: + p/ p- z1 f+ K- H gzip -d workspace.tar.gz 0 k+ f- f1 T/ P! z% n F' z tar -xf workspace.tar + n! I \, U- u3 K
9 |* |6 q$ p7 H8 K
2) zip 打包与释放:5 K* f! V( w6 {( ]# Y0 o6 }
zip -r file.zip file1 file2 file3 ... % q6 M& V7 O1 l6 X3 o- Y2 J+ ^5 z unzip file.zip, P, h. w8 a. |2 @% p3 w: y
* M" L W; N, ]+ x7 Q5 ] ( q/ B8 h# |% W. a3 v4 R p: Y6 系统环境变量PATH9 m5 d3 j8 l1 w* ]8 O
1) 环境变量PATH: 操作系统可执行命令的搜索路径.3 J/ N- ~! ~! t% d- ^5 L
2) 可以使用$PATH引用变量的值.: g" `3 i( `' Y( u E. q: y
3) 查看环境变量: echo $PATH! m" N T& |/ p
4) 设置环境变量: export PATH=$PATH:/sbin& J) m+ p& A! g: O% S; W! l
% O; j6 [% E$ s" K3 g \/ x4 F3 C7 Java的安装与环境的配置& N: ]7 d- r' v3 W
1) Oracle下载JDK, http://java.sun.com: I* _! J$ b) R7 V+ ?. {8 x
linux 版本的JDK是自释放压缩包" ~5 Q+ F4 H- ]9 `, }
2) 安装JDK 以Java1.5 为例: : k) |5 h4 b6 q% K% }& n1 Q3 B chmod +x jdk-1_5_0_09-linux-i586.bin (增加执行授权) ' C# G" v* d, H& ^; v ./jdk-1_5_0_09-linux-i586.bin (执行释放) ) t9 I! y& Z2 j$ }$ u) |% g: s5 `* R5 w$ ?. e
自动释放安装到 ~/jdk1.5.0_09 2 f( v5 `5 d. D+ z1 @2 D9 U) } - G3 ]9 l: J0 ^' h, m 3) 配置JDK, 以JDK安装到 /opt/jdk为例: / R4 L! y+ r3 {3 \2 m /opt/jdk+ r% v# w" S6 K: V5 E; Z, d% g1 X
|- bin 开发工具(命令: javac, java, jar, rmic, jps...) _' r; U2 j: G) C8 Z+ N! D |- lib 开发工具实现类tools.jar $ [6 o* ^3 Q, d |- jre (Java运行环境) 5 c6 V' f" w* w" ~4 e | |- bin (JVM)' r1 V# @& ?1 p; L
| |- lib (Java API 类库)) \& g3 ]% ?2 S/ v# c' P. K2 a
| |- rt.jar ( 核心类库, zip压缩,( {/ X `2 s+ X9 V
| 包含java.util.Random) - E! L( v- A' F0 w6 h- v. E |- src.zip (Java API 类库的源文件) B7 f" Y, F% G2 i) s4 W ) \2 I( \; [* ~% \ 5 A1 q% ^4 l Y- Z. j- n7 Y A 配置PATH, 使PATH包含JDK安装目录下的bin目录 " \' U& G- k) A" }7 Q 目的: 将JDK带来的开发工具(命令)扩展到OS中.) q7 {( Q$ ~4 q8 [. @* R6 [
如: export PATH=/opt/jdk/binPATH; C) R2 N8 Y3 N/ U* q
0 z2 e0 `( x1 ~$ b+ Z
6 R6 R s3 i8 Z+ I3 U
B 配置JAVA_HOME, JAVA_HOME指向JDK的安装目录# N& ~" b4 W4 @4 W% C% e t
JAVA_HOME 的作用: 是指导"某些Java软件"找到JDK ; V2 R$ x; k0 q 如: tomcat 服务器 就使用 JAVA_HOME: p# ~5 y. f) f
实例: export JAVA_HOME=/opt/jdk5 H* M9 I, ~& E* c
" U; B1 s0 L0 a! h' @* b
C 配置CLASSPATH, 指向Java类的部署目录或者Jar文件 9 f4 d+ l) k! o5 u2 Y; ~ L$ k3 F* S 用来为JVM 指明Java类的搜索路径, Java在执行类的时候) t( b( o8 G1 }; p
在CLASSPATH指示的路径下查找类文件. 5 d# p6 j2 r5 I6 i 实例: export CLASSPATH=.2 n3 C/ @3 i* V+ t5 d9 ?
3 i \2 J: s! q ^2 k
Windows 参考 Java配置命令: " j! O9 R1 Z; q7 e3 a) \1 ~5 j set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01 + D. U$ A% V9 f set CLASSPATH=.- n2 i% t3 @7 y1 u' `2 F
set PATH=C:\Program Files\Java\jdk1.6.0_01\bin;%PATH% 0 y8 E- ]# g3 ^3 w- {: @& N: X) V% f) w3 O- [
8 package 与 CLASSPATH: ) n) f% c/ m, K 1) 是java中对类进行分类的& J) h: {7 j; ?8 ?
2) 包映射为系统的文件夹2 }0 u/ @6 A3 l [2 b, c" Y
3) java的类的全名: 全限定名=包名+类名 3 _; E3 Q9 o7 d6 z9 d 4) 使用Java执行类时候要指定到 "全限定名" + O" x; K# m7 @! z5 {( O, T( W 6 v2 G# O9 A. W+ W7 o! c 5)Java 的 编辑 与编译实例:. P. J6 A, r5 b4 v$ _) A( f
cd demo; B) ?# q! z) V0 d6 V, x# h
vi HelloWorld.java (编辑(edit)Java源文件) 3 E: L3 e9 |- ]1 l& M7 G- L mkdir bin (创建输出目录bin)/ f( T/ H8 w6 p: Z8 {
javac -d bin HelloWorld.java (编译(Compile) 源文 $ U: Y' R2 O) h. W* [& T3 L! ~4 J 件到bin文件夹, 在bin中生成包) ; i/ \- A# I: Y (下面设置 Java的类文件搜索路径, java执行时候利用这个 / r- d- v1 s' B( T' P" n- N* s7 C 路径搜索Java的包和类文件)8 P6 a, m V1 `4 w
export CLASSPATH=/home/soft01/demo/bin$ G6 h- C0 |$ n% v2 y
java unix.day01.HelloWorld (执行java类, Java命令会 8 J" u9 \7 A7 c* g 到CLASSPATH指定的系列路径中寻找包corejava.day01 " J8 x0 |: p3 u 寻找包中HelloWorld.class 的字节码文件 ) 0 J% j. B. d4 h4 h3 G& ~( y 2 S* G; P! E; H0 l* K& `- r9 系统初始化脚本 + }3 G2 {9 M9 u% `- v/ N1 r) O6 _
1) 初始化脚本 是指在开机过程中自动执行的系统脚本文件0 d# W3 Z% C/ p B* N$ S
一般用来初始化系统环境 % s+ ^4 J1 F) ^# n; g4 C 2) 系统级初始化脚本文件: /etc/profile 所有当前系统的用户! w6 o) t' r3 K7 s
登录时候都执行 & T4 p+ `2 g" k7 I: {+ P & J1 [: L! m; T