该用户从未签到
|
1) Linux / Unix 命令格式
9 f6 J2 p9 t! U7 \: I* A& i command [-选项...] [参数...]
; s- T: V" B2 A& o0 J4 G S+ m8 g5 D 如: ls -a ~
* D$ `2 m/ s) X' O mkdir .demo //创建隐藏目录& r. O( t% p$ h. j2 D: ?. j
ls 3 u9 P8 I! e; D; ~
ls -a
4 z$ _; D, q) o0 @2 ?
; K' C9 c6 l4 @5 b0 p% i 2)标准输出: 就是在控制台(终端, 命令行)的默认输出
* {+ p" U. U7 p6 I8 [# I% g5 h ls pwd cat 等命令的默认输出都是标准输出
6 T* @! ?+ D' }- r( d& w" s1 R7 F ">" 输出重定向, 可以将标准输出重新定向到一个文件上.
1 A# v6 f5 J" P& @# f- Y( d 如: ls > abc.txt //将 ls 默认的标准输出结果定向到abc.txt v3 b& i: d8 x
cat abc.txt //查看abc.txt文件内容
4 a: x9 ?8 F5 ~$ T( `2 O% C4 z3 o( f( X* ^( a
3) "|" 是管道符号, 可以连接两个命令, 将前一个命令
, G* G( h6 y- L9 p& F0 y 的输出作为后一个命令的输入
7 A9 [! W0 {, t% l$ x+ r/ o
$ l+ l% F& ~) d 4) grep 是过滤输入信息 留下指定的行" _+ q: r/ K) f4 K2 `4 D) T
% M5 I" L4 T; t6 w' C
2. 目录 与文件操作' o2 u/ u; j7 `2 E
1)cd 改变当前工作目录/ z2 K$ a" o1 O$ s- O; c
默认的cd 相当于 cd ~ : 返回"主目录"
7 e5 y( x3 G c . 表示当前目录 ?7 e+ F9 W9 G& t
.. 表示上级目录(父目录)2 A' U2 Y3 p3 C3 I6 q- r) k4 H
~ 代表"主目录"
* J+ |4 N+ t! ~( C7 Z W1 @ 以"/" 开始的目录路径表示: 绝对路径, 反之: 相对路径
1 P3 i' K9 Z L! A) t0 E 相对路径: 是相对于当前目录. ".", ".." 都是相对路径9 d3 j) l: C# n
以"." 为开头的文件/目录是隐藏的
1 d6 X; B; Z0 V 2) ls 列目录命令
; f6 n& M$ J) j' c 如:
# Q4 E& }: i' s) [- C" `* e0 m7 P' P ls /5 ]- M' O! ~3 D) L! Z% W
ls /etc
( m6 @1 C, [8 D ls /opt
8 C* T2 g$ @' [3 c# k! { ls ~
, l. {# s) o' s; z ls workspace
k" L9 c3 E h! l ls -a ~ 显示全部的内容(包括隐藏文件和目录)6 t! v! \9 L8 ^
5 w5 `2 c* t2 R" x6 J
: k: `& H, E% Y2 E1 o. m9 [ 3) 创建目录
' o J0 Q2 O$ Y2 K6 v" U, } mkdir .photo 创建隐藏文件夹 ".photo"/ T! T0 B5 `6 Q4 ~# i: p
4) mv 移动/改名文件夹/文件
5 }' T* J9 f. F/ G8 i mv .photo photo //改名$ d9 b3 b) }4 g/ m" p8 H) K: r' G; x
mkdir mm
?5 r* e1 ?7 Q; E/ z8 x mv mm photo //移动3 c% v+ c$ }+ B* u1 q
ls photo
+ U3 B* D( g. p `' p4 M8 \: A: u mv passwd passwd.bak. S; h' ?: V' Z' C$ y. i
: t* `9 y5 d0 J" \" f 5) rm 删除文件/目录- i2 s9 G' N3 X) w( r% ?- O
删除文件: rm file1 file2 file3 ...
, ]5 L% d" N6 a1 v* S6 L# n! Y9 h+ b 删除目录: rm -rf dir1 dir2 ...: ~; P3 Z5 p0 F1 c6 x2 ]' O$ u
选项: -r 递归删除所有子目录和文件3 g# w- r( X0 u: y0 j
-f 强制删除, 不进行任何的交互确认(linux 默认 -f)8 y ~. u! S" ]1 m: ^ ]& ~
# q0 ~2 Z3 o& ^) |1 w( q 6) cp 复制文件/目录, 注意第二个参数
' E0 @; B4 {5 I5 x8 \0 J 复制文件 cp /etc/passwd ~
- ?! D9 K+ }1 _* K 赋值文件夹 cp -r workspace workspace.bak
6 R6 r# L6 s; L5 s& G mkdir demo
Y- E8 i: I* ]% a0 q# W7 v cp -r workspace demo0 ]" S' z3 X: m5 f
5 _" J. B& r6 I4 a7 a/ A' L
选项-r 表示递归赋值所有的子目录和文件内容
! R U) Z$ k6 y0 j
( F0 Y. ]" h0 G7 j1 O 7) 文件的授权4 @/ M- b1 \2 z$ |- s% f
ls -al 查看长格式结果: \( r9 d2 A9 X
d rwx rwx rwx liucs liucs com
: r; ]3 q' a7 f. v; u -rwxrwx--- liucs liucs Hi.java
9 g( J& U/ _0 a6 g
' R5 T% ?1 s3 _ chmod 660 test.txt
7 f6 ~8 e9 B9 T5 p: D- U) u7 r rw- rw- ---' t3 X7 M) a, F I
rwx
4 y/ t" J* W- d) w3 [3 e 421 421& s5 a6 f7 D1 x3 r1 Y
000 0 ---
6 M% H9 k/ S$ Z, F5 d( [+ W( @9 h 001 1 --x1 k+ _8 Y$ L! j8 F+ q4 n* N' O: y. s
010 2 -w-
% O4 n& n: E9 }8 M4 W/ m' o& A 011 3 -wx
+ Z2 f+ f8 q. S9 q) c* V" d7 W1 \6 D 100 4 r-- e. o) K X4 d
101 5 r-x0 H" n( m. ~+ l2 a& n% q* n
110 6 rw-8 T$ S- T# ~2 Q$ h, ^* v% p
111 7 rwx; a T' ?+ U' \$ o# C% i
; i) F, H9 e! N; G* V8 |% M& [: I# y& ~- K% k5 \
8) windows 命令
( h6 ~; D; N- f dir == ls. `4 N0 L& N6 z
mkdir == mkdir
; {9 I3 A. B8 ` cd == cd
9 u4 L( v: F7 g8 q7 { V2 g& R del == rm
) E- l1 ?% | {+ B" { cls = clear
: m( D: w6 Y6 {# ^* r. q/ c more = more
/ j. h6 j- ~6 d8 t0 Y4 w! s* { type == cat
8 Z- @" @0 M# L% _$ \) a% s move = mv/ W" E+ ~" ^) A% A! C
copy, xcopy = cp
0 a( y l7 }, f: k2 P9 `0 r2 D$ B8 k
8 t$ y9 K, u* @: P help == man
2 |" O- P5 s. ~6 a: a9 Z5 w. H' z# s! l; d( q0 N
: G$ b. G$ V3 z( ]* W! i
3 文件的创建 与 修改
% o# N* E; h6 ] 1) echo 回显命令
8 X& I0 H/ v w0 _# c/ P3 ` echo abc 将abc回显到控制台
$ q; y4 k4 X5 S* I t 2) ">" 输出重定向, 将命令的"标准输出" 结果重新定向到! h9 g. x$ I) w# Q: Q. O
新的目标.
* J6 F5 [) F8 S* U ">>" 表示追加输出 ( p2 N' c7 @. Z* i
ls />rootlist.txt
" ]/ N8 S' ^- Y echo abc>test.txt
# b1 q8 w" x& t$ T7 j" R( p9 ? echo abc>>test.txt
9 l4 L/ W, b6 L6 w 3) cat 查看文件内容6 s6 ?' [ a" G, d; q
4) touch 创建新空白文件, 修改文件访问时间# ^( e; b2 y5 U1 t9 M* g+ d
# {2 [. a9 S6 p, d3 G4 创建和修改文本文件 vi
# v) y! {( J2 s 1 打开 vi [filename] -> 命令状态& I! W. q, U6 g f( u
命令状态: 任何键盘输入都是命令
- V3 |# \. n3 N$ \ 命令状态: [esc] 总是回到命令状态! K9 y3 b) }( g# {6 R- C
编辑状态: 对文本进行编辑, 任何的输入都是编辑内容
$ w/ W5 r, s: J7 x vi [filename] -> i o a ->
( B9 Y- ]8 F8 j1 q* z 命令行 命令状态 编辑状态
' C7 ]! K' \/ ~4 ?% a0 _8 y5 W <- :q 退出命令 <- [esc]
& V1 l1 o% w1 _! a' q <- :q!强制退出命令 8 A; ^* M" b* h4 m; F
<- :wq保存退出命令 , h3 @6 j0 H" E6 v* d
:w保存8 d }: J0 ^( ?% y% F- y
:w [filename]
; _8 [2 l: B/ B( E :w! [filename]
0 z7 E2 H! F% W+ _: `2 _: h: \. A / ? n 查找
: ~. k, R- T% ]9 \2 } S* J: T3 G" P2 b
5 打包备份与恢复(相当于winrar)/ |, c' t Z- e0 H
1) tar打包: - ]2 _# E& q p$ _8 X
tar -cf workspace.tar workspace .... % V2 L3 g5 V- ?+ Y% A2 O6 b
gzip workspace.tar
9 ~! z' X# C0 s- R& \: `- V( p* [ 或:
) X( X( s7 F/ l1 h" g! p tar -czf workspace.tar.gz workspace .... 0 E3 B2 E9 N h; Y+ n5 o1 p. ]
: U- E7 Z* _6 h4 c# T# @0 ? 释放当前文件夹:
/ C) p# T3 K$ q! E+ W* K' ^' _- p/ O tar -xzf workspace.tar.gz (Linux)
) F i+ s" @9 M: X, |0 P3 Y$ O 或:9 W+ |; r" D3 K" t/ O9 q3 u6 A
gzip -d workspace.tar.gz9 |+ L0 \3 p7 A5 ]! h' Z
tar -xf workspace.tar 0 Q3 W, X$ B5 @. S
% B0 @% ?, ~! p- r: B: S) P. l 2) zip 打包与释放:
0 n5 r& O3 T# L zip -r file.zip file1 file2 file3 .../ j0 k6 F- P* W+ Y
unzip file.zip- E9 s& a1 z: N# V: U' S+ p# \
9 d0 Q4 f# l! U, p
; t2 j2 }3 H+ z8 d, Q3 O$ K/ Q6 系统环境变量PATH
2 X& s( _* h- r! T+ g! ^! ]. F 1) 环境变量PATH: 操作系统可执行命令的搜索路径.
& K% A- Q- k0 S 2) 可以使用$PATH引用变量的值.
9 |4 L, }1 C) e& s0 E 3) 查看环境变量: echo $PATH
7 F2 x/ c3 t; t8 P0 G- p* _5 Q 4) 设置环境变量: export PATH=$PATH:/sbin+ {1 c/ L' D K) j
5 z9 L7 S2 u4 ~, C
7 Java的安装与环境的配置
3 `. I* z3 G# C, X1 L: y 1) Oracle下载JDK, http://java.sun.com
6 @* F" i+ n) X7 ^ linux 版本的JDK是自释放压缩包! K2 w; D+ z; k- d ^ Y( A6 Q
2) 安装JDK 以Java1.5 为例:
; }' S& Y+ ~: Z0 W chmod +x jdk-1_5_0_09-linux-i586.bin (增加执行授权)0 p- @) y5 N; p9 M9 F' S8 t
./jdk-1_5_0_09-linux-i586.bin (执行释放), m- {$ ~- I f) h6 L/ t v" L
6 ^" W4 S5 X9 v* a7 H$ e 自动释放安装到 ~/jdk1.5.0_09 i/ l/ U: s7 R# ?
( u4 i( X" P9 |7 ~$ e, a 3) 配置JDK, 以JDK安装到 /opt/jdk为例:+ F4 x1 t; T0 y- X0 G( t
/opt/jdk: c3 \: {( v* m
|- bin 开发工具(命令: javac, java, jar, rmic, jps...)
8 ~6 X" @) K. ]. [ |- lib 开发工具实现类tools.jar
5 E# ~* H3 N) X |- jre (Java运行环境)
1 X9 ]9 w. J$ \: o: P | |- bin (JVM)
, m0 q2 x5 ^6 N1 X | |- lib (Java API 类库)
! ~! `( j ~1 g: j' D5 W2 x | |- rt.jar ( 核心类库, zip压缩,. y0 c0 y% I) M4 H- Y; @
| 包含java.util.Random)
( E% n& f( C m) { |- src.zip (Java API 类库的源文件) ) w7 ~" d# g4 q2 @! f5 j8 t
/ D- M% S4 }* u7 _4 d1 [' [# r% ^( m, W" A
A 配置PATH, 使PATH包含JDK安装目录下的bin目录7 T3 m8 Q& z! }/ M' n. L& r! _7 c4 Z$ H
目的: 将JDK带来的开发工具(命令)扩展到OS中.% W4 h C- n4 a" v' D8 @
如: export PATH=/opt/jdk/binPATH8 E6 |. @: L; E) |* i+ o
) _4 J) Q: N) }9 J. A0 U4 O8 }# J) f! q: [
B 配置JAVA_HOME, JAVA_HOME指向JDK的安装目录 Q& [" K2 w2 k# E4 |
JAVA_HOME 的作用: 是指导"某些Java软件"找到JDK7 k3 b: d4 G. p$ \ g' C
如: tomcat 服务器 就使用 JAVA_HOME
6 ]% t, F! C! d% d& { 实例: export JAVA_HOME=/opt/jdk6 i2 I& I5 w8 s% k
' B+ V0 n9 e! |$ G( q
C 配置CLASSPATH, 指向Java类的部署目录或者Jar文件
0 C2 P7 r) J& x: K% M' p 用来为JVM 指明Java类的搜索路径, Java在执行类的时候
) ^# }! A( j) S: g 在CLASSPATH指示的路径下查找类文件.' B9 T. f) v0 C. ^
实例: export CLASSPATH=.) B l4 F* M. w( D' G
- h7 l$ R; G8 p7 ]& n% h
Windows 参考 Java配置命令:
5 H0 f7 L5 ]# s% Y/ [6 M8 I/ T set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01$ {* k, v* K% h- w7 |* V
set CLASSPATH=.
2 g. X$ y1 E1 D set PATH=C:\Program Files\Java\jdk1.6.0_01\bin;%PATH%
- R& K0 R! X' Q* @
$ h: ~$ N* K9 i' p0 \8 package 与 CLASSPATH: 8 p/ z$ L, z4 `! p
1) 是java中对类进行分类的
/ h0 \% z- u& {6 d: {' B7 T 2) 包映射为系统的文件夹
* V+ W' J4 C8 {! j6 X4 P 3) java的类的全名: 全限定名=包名+类名
( C0 h* u$ L# h' \0 w( ?- r) n 4) 使用Java执行类时候要指定到 "全限定名"
5 ]6 K" U) p6 j( q. s
! z ^# r$ y/ q% u5 i 5)Java 的 编辑 与编译实例:% S# z V9 r# ]' N# Y" J/ x) h- D7 M
cd demo. Y' k8 C+ _" f s g
vi HelloWorld.java (编辑(edit)Java源文件)
- o% F) P; f# U1 h& X5 `6 c! ^ mkdir bin (创建输出目录bin)- b- g% p0 D& v" S1 G
javac -d bin HelloWorld.java (编译(Compile) 源文
- n. H1 X% i4 {( e3 }+ s 件到bin文件夹, 在bin中生成包)
2 e0 ?8 _. o0 o9 r9 X$ I (下面设置 Java的类文件搜索路径, java执行时候利用这个
* k: R0 B/ g# v" q 路径搜索Java的包和类文件)
4 n1 W- d' F) e% ~; `5 c- i export CLASSPATH=/home/soft01/demo/bin
4 F( j% B' O% y+ a! N* ~ f java unix.day01.HelloWorld (执行java类, Java命令会: q5 E3 o. M- I2 B/ ~% Q
到CLASSPATH指定的系列路径中寻找包corejava.day01
# Y( z4 q) M) S, w+ ~5 w/ h* f 寻找包中HelloWorld.class 的字节码文件 )
8 s) y% K3 f" v& l1 g3 J7 o& ]/ g& h
9 系统初始化脚本 6 D# V6 ^5 v3 f# x5 R" z
1) 初始化脚本 是指在开机过程中自动执行的系统脚本文件
* V$ X4 G" [8 ^: s 一般用来初始化系统环境
4 m: M3 U& {% T 2) 系统级初始化脚本文件: /etc/profile 所有当前系统的用户9 ~8 H) g1 l; l6 v7 s, @' Y; b y
登录时候都执行
. R) [6 G2 X" W5 b' s% B" H* O7 d, R0 M/ a3 p1 P4 k7 g: [$ b( B
|
|