该用户从未签到
|
1) Linux / Unix 命令格式
) ^" u0 O8 }4 n& ^4 _0 o command [-选项...] [参数...]
8 y, {$ R2 b9 Y# e: q2 q3 K# c 如: ls -a ~% ~3 b7 V' F! H0 o" H/ U4 L
mkdir .demo //创建隐藏目录
0 _% X- m/ m& f- A$ `" ~* ^ ls
' j6 ]0 A. b" w, {/ L; h- Z" ?# S ls -a) J$ l/ ]* L% A# {+ \: X ^
" Z1 g/ T9 @+ k8 T. u A" D: }
2)标准输出: 就是在控制台(终端, 命令行)的默认输出
- D# L; o9 _7 b4 p! v2 s. V ls pwd cat 等命令的默认输出都是标准输出1 o3 k9 ~) p8 g
">" 输出重定向, 可以将标准输出重新定向到一个文件上.
$ `% s; D' |6 E' \/ ` ]$ \ q/ J. p 如: ls > abc.txt //将 ls 默认的标准输出结果定向到abc.txt
$ g+ s; [* p$ }2 Y% ^0 p cat abc.txt //查看abc.txt文件内容
7 [8 T. I( B- N% V( H! D# N3 |5 s* k( m1 g5 A
3) "|" 是管道符号, 可以连接两个命令, 将前一个命令
" M) \- l/ L+ m# c 的输出作为后一个命令的输入% ^. G; q W( J- ?) f
0 S2 b( s0 T" t- s* j0 l
4) grep 是过滤输入信息 留下指定的行* l1 {+ ~! ?- Q) H5 L$ c+ F
7 k/ u) Q2 V, C/ O8 B2. 目录 与文件操作4 |, v: }# _) n0 L
1)cd 改变当前工作目录3 Z# }; Y8 S4 K+ {! X
默认的cd 相当于 cd ~ : 返回"主目录"
, n) {0 o, p* _* }7 S5 H, P . 表示当前目录
; ]8 \3 B/ a+ v# |# d' Y% c .. 表示上级目录(父目录)/ x9 i0 o5 P: O2 l
~ 代表"主目录"- |4 v6 z# ^* o5 L( ~' M
以"/" 开始的目录路径表示: 绝对路径, 反之: 相对路径2 {9 S& L I* j/ P6 o* j- b1 D6 j1 i
相对路径: 是相对于当前目录. ".", ".." 都是相对路径
1 z! X2 p% S5 m _6 Y# Y 以"." 为开头的文件/目录是隐藏的) X0 b) }1 p* G$ w
2) ls 列目录命令( A' k6 h2 c, m# e6 M' T. d5 c
如:
# @0 Q' w2 e' B0 j: S9 G ls / y" J5 q; l1 \, G- J P
ls /etc) Z( Q" G% k0 u
ls /opt
* m- n5 F. ?" \+ m( g, L ls ~
, E r+ i% \9 } ls workspace
% }6 t! f& b& X4 U# a ls -a ~ 显示全部的内容(包括隐藏文件和目录)
6 c* |% p% x% ?* {, _8 l& R0 S! F8 z
1 s/ I1 R& f8 P% E [. l2 T* D4 U( X# A' X' n$ Z
3) 创建目录 8 g0 C% k# { w6 ?
mkdir .photo 创建隐藏文件夹 ".photo"5 ]+ a4 M3 }; A% S% _
4) mv 移动/改名文件夹/文件1 {0 n. b% \* f
mv .photo photo //改名 Y2 k" g9 P: j/ [* U% ^" z
mkdir mm
& o5 K% v- r8 M' T mv mm photo //移动( f" i2 A3 N6 G8 [3 Q* C
ls photo7 f7 r1 y; n# b1 @( ]% I( }% V5 w
mv passwd passwd.bak/ B9 y& B3 P: F
N9 H( h8 s( [2 O2 K2 s8 d 5) rm 删除文件/目录
5 ?' @. }8 a* ]5 q 删除文件: rm file1 file2 file3 ...& s5 C. E2 K8 M2 D8 I% i: r: W; a
删除目录: rm -rf dir1 dir2 ...) T9 p3 T) Y. h, m1 L! ? P U
选项: -r 递归删除所有子目录和文件
6 _9 f0 {8 }' _5 O2 W5 `2 g, A -f 强制删除, 不进行任何的交互确认(linux 默认 -f)
# N, s( b, r8 w2 _1 n3 E% Y$ T* u
$ p, A2 }' W3 g 6) cp 复制文件/目录, 注意第二个参数2 d" v1 U0 @$ | }! x0 N# m
复制文件 cp /etc/passwd ~
9 J; J# N! s, Y3 u/ B 赋值文件夹 cp -r workspace workspace.bak% G5 b0 L& _# v! ?* h' p0 q
mkdir demo6 x2 f! E B/ k4 X8 X
cp -r workspace demo
# O9 `# I' q! C; ^; z$ d" |! }/ ?9 H4 l9 F& h' l) N
选项-r 表示递归赋值所有的子目录和文件内容0 H$ `$ ?/ |0 F: u) A) V- d4 g1 G
' w- K e$ ^9 i' u( d4 l
7) 文件的授权: o! f& d; k1 p( [7 v, {
ls -al 查看长格式结果 [8 v* Q, ^, H/ [
d rwx rwx rwx liucs liucs com3 T, i0 x d! K( S# g6 H6 B
-rwxrwx--- liucs liucs Hi.java; V7 B$ v( ?6 y3 `# Z- o" y
( w& P6 P4 g/ E- _; G: n chmod 660 test.txt: u5 \, Z3 I) ~4 f8 v7 ]9 M3 ~: P
rw- rw- ---) p- U2 ^# x `. [
rwx
$ ~: E4 E# c9 D( }# q+ h5 C! K' f 421 421
! G( U! k+ ]0 l. f 000 0 ---
# W+ y' g1 u% P3 T 001 1 --x
% V" O0 C8 d; `$ A3 l U0 \- T 010 2 -w-( |( e2 S5 c" B8 ?( e
011 3 -wx
2 X2 O3 H0 W4 d8 s0 I. N9 I 100 4 r--. w4 @9 r5 c, H4 t. m
101 5 r-x! n( c$ A& \' P- ~1 d9 W" r4 U
110 6 rw-
1 M3 [+ Y% H8 w+ ` 111 7 rwx
7 U: \1 ]7 G) ]# p% Q. w5 C' ~- Y7 Z7 e" C
/ j7 P* A ]) @1 |1 _! s* E 8) windows 命令
; Q& E: [# O) N( F dir == ls
( k" S0 t4 I# w mkdir == mkdir0 ?* d1 [ m- c s8 R% z
cd == cd
; x4 _0 H. y$ g/ U2 q" C del == rm- P$ c' Z% v/ z1 l: _+ M
cls = clear
$ l/ ^' w( z- L5 h& \5 ?1 _ more = more% v/ y/ y9 d$ Y2 ^2 Z
type == cat1 `8 r7 j0 l! @6 Q2 S- p2 K! U
move = mv4 B! Q6 c- e3 Q6 v0 N
copy, xcopy = cp& G: u1 v1 U" w3 n" _1 b& b2 R! ]& _
' l5 @1 v' N/ b$ w! k
help == man: z, k9 A# ^4 A4 N h, a- L Q w
; j( z5 s: q% C$ e7 z- t
/ \2 G% X; t2 w- Z4 V# k, [3 文件的创建 与 修改+ q2 N2 q) c$ a F; _$ T; v$ X
1) echo 回显命令+ }% P. q4 `0 F ^0 R
echo abc 将abc回显到控制台 * Z" t. w/ G% P D& U0 E9 G- S5 J
2) ">" 输出重定向, 将命令的"标准输出" 结果重新定向到# K6 E, |; {( k7 `' V
新的目标.
; T9 r, l8 z' b! Q ">>" 表示追加输出 . E% j! `5 d: G# l2 ~
ls />rootlist.txt
9 T7 p: j& g( G1 U5 J/ b echo abc>test.txt
: c+ \( a: X+ C echo abc>>test.txt
6 u$ Y( [! O7 {! p8 ]' i9 | 3) cat 查看文件内容' `- \- r* K/ n! c7 Q* p& W
4) touch 创建新空白文件, 修改文件访问时间
# S$ t5 j' _$ t% v9 o; M& v% g; ^9 n9 {# d
4 创建和修改文本文件 vi
5 p; d, E7 n% u; S9 s" Q( K 1 打开 vi [filename] -> 命令状态4 A/ D9 A* r" Z
命令状态: 任何键盘输入都是命令, ]1 \4 i6 w+ {% o+ L6 w# t
命令状态: [esc] 总是回到命令状态
; i# ]& X7 R& N" }. P! j 编辑状态: 对文本进行编辑, 任何的输入都是编辑内容
/ c5 W6 d9 a9 w+ C* y vi [filename] -> i o a ->; O4 y" [: ~- q" a7 R
命令行 命令状态 编辑状态
5 X, X) s; F0 E: z, W <- :q 退出命令 <- [esc]6 A; {0 t6 I# b; u% L' O
<- :q!强制退出命令
9 P- L& n1 e6 e2 h7 G; v0 f <- :wq保存退出命令 8 I5 F- ]- Q0 Q' k; `0 Y
:w保存
) E" R! N' Z2 o$ f% v :w [filename]
; `; A* ~; Q ^2 o( V- q0 u :w! [filename]% n3 X& J& E3 Q8 e
/ ? n 查找
6 Z1 s6 [! h3 B( w7 @' s! I. K
5 打包备份与恢复(相当于winrar)
* t }! g8 ^# D6 v/ r 1) tar打包:
" X% o* r6 S) s6 D& q tar -cf workspace.tar workspace ....
) i* t6 P0 d z5 |/ H6 C% z7 D gzip workspace.tar7 |, c8 S9 k/ X) T8 ]
或:* [* ~( X" Q+ Q$ J+ [- m" d, B( J1 b) R
tar -czf workspace.tar.gz workspace ....
) j6 X: R; h( ]1 r D9 Q
0 o; L4 W# ]+ T5 w 释放当前文件夹:
* j2 }; N, S3 ]! x! m tar -xzf workspace.tar.gz (Linux)
& n1 U4 V+ v/ S9 Z' Y, S* L 或:
) A% J9 r: v m' K/ g gzip -d workspace.tar.gz
2 w$ d+ d* x O( F2 U2 Q9 a( r/ a tar -xf workspace.tar
6 E' e1 W% m- o, v, D& g6 {
6 S5 C" X# N# P8 E7 w2 o 2) zip 打包与释放:) n% N- Q% E* }7 k/ y6 J
zip -r file.zip file1 file2 file3 .../ V4 _. m9 p- D3 c1 `
unzip file.zip
/ x; r3 m& N: R7 t/ m
! F$ P; T' h" q6 V1 A0 B/ L: I r k
6 系统环境变量PATH
. @1 G! T p) Z7 K8 ]7 H% _ 1) 环境变量PATH: 操作系统可执行命令的搜索路径./ Z) X9 J2 B; `" d9 K( B
2) 可以使用$PATH引用变量的值.
) }7 g" _( p* s5 f 3) 查看环境变量: echo $PATH
! B3 l& g+ x6 X' h 4) 设置环境变量: export PATH=$PATH:/sbin# S$ J4 p& |: _7 p3 _6 f* T$ q! ?
9 D$ z: B1 {5 ^( B* d3 c7 Java的安装与环境的配置3 p7 z& `' G" e" B p
1) Oracle下载JDK, http://java.sun.com
- p7 S* W6 ?& v2 L7 W linux 版本的JDK是自释放压缩包4 T, H8 X- L" a2 h3 ~9 O% B' w
2) 安装JDK 以Java1.5 为例:
1 R5 u9 s" @/ R3 {* w' m8 h- }2 j) i chmod +x jdk-1_5_0_09-linux-i586.bin (增加执行授权) v T& w3 R$ D9 `4 f
./jdk-1_5_0_09-linux-i586.bin (执行释放)9 h: m' l4 g( \9 Y7 u( ]9 N) s% C
5 [% [8 O. ^9 n; ~$ y9 H 自动释放安装到 ~/jdk1.5.0_09 3 j4 Y! R. E6 c1 D# U
* e# ~" i2 H' P$ L
3) 配置JDK, 以JDK安装到 /opt/jdk为例:
. q& j( o# O W3 n /opt/jdk. o5 G# J, L% a6 R4 z( n
|- bin 开发工具(命令: javac, java, jar, rmic, jps...)
8 [: b W& M7 S+ h, {( \' H; u5 c8 w |- lib 开发工具实现类tools.jar
5 u' [5 Y* {& H3 z |- jre (Java运行环境) , m" G0 p* ?9 A/ n* V: S4 a V
| |- bin (JVM)
" H% N' p6 t- w | |- lib (Java API 类库)
, O# [- P6 j. Q' o7 F7 p( ~ | |- rt.jar ( 核心类库, zip压缩,
; o- i; y- B$ w5 e' T | 包含java.util.Random) ( R( e4 z5 {' c
|- src.zip (Java API 类库的源文件)
7 j' b6 Q3 C* Q( ^$ B- i% n0 L& T
$ `0 {9 }# y# U# {0 L# a- L A 配置PATH, 使PATH包含JDK安装目录下的bin目录9 B. [# G) u7 o' A& e7 y( x
目的: 将JDK带来的开发工具(命令)扩展到OS中.
1 I8 Y0 l3 X! }7 @8 |7 F1 [ p 如: export PATH=/opt/jdk/bin PATH
X0 O6 B) Y: r2 s9 l I% D7 m+ v; a& s7 r* o3 l- m Z
3 j" L; ^$ l# {" W* O
B 配置JAVA_HOME, JAVA_HOME指向JDK的安装目录9 J. W$ [) L T8 x
JAVA_HOME 的作用: 是指导"某些Java软件"找到JDK5 X- Y# u5 Y5 A; w: Y6 z
如: tomcat 服务器 就使用 JAVA_HOME9 H1 K- M5 ]( G+ V, n( N; a3 D
实例: export JAVA_HOME=/opt/jdk0 {! B) d3 N6 R6 q2 Y/ M
! W+ g2 N" H) G: l* N2 Q) n! W8 c C 配置CLASSPATH, 指向Java类的部署目录或者Jar文件
' }) _1 `* k; R/ h 用来为JVM 指明Java类的搜索路径, Java在执行类的时候# A& Q- ^3 q( A; s
在CLASSPATH指示的路径下查找类文件.
' v L9 F @3 m5 C, t& d 实例: export CLASSPATH=.
; _& ]* g) o1 ?. U' z6 o
5 b2 N, W# t0 d+ Z& ^* t% i Windows 参考 Java配置命令:
# ]9 v" C( Q) T" @ set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01
8 b4 J4 R) x$ W! t% b W set CLASSPATH=." h9 [ M, q7 ^' C" J$ H
set PATH=C:\Program Files\Java\jdk1.6.0_01\bin;%PATH%1 T7 T2 h+ ]3 {
5 W' Y; O( k S F6 ]
8 package 与 CLASSPATH: 8 V3 b5 t# T( c# k- A S5 [: k
1) 是java中对类进行分类的' p& X1 _2 t1 Z. S- _0 M/ [# c
2) 包映射为系统的文件夹; k8 h, q% Q5 s4 h
3) java的类的全名: 全限定名=包名+类名 * s; F T' M1 `: ~( e; {
4) 使用Java执行类时候要指定到 "全限定名"
; y4 W8 K9 a1 M8 K) p5 s+ H, W$ \. ]! N
5)Java 的 编辑 与编译实例:/ g1 W( d! o% l; G3 D* @) r5 r/ k$ Y
cd demo7 c, I8 ~/ i+ c) k- T
vi HelloWorld.java (编辑(edit)Java源文件)
" A7 k ~1 B$ @% b1 c mkdir bin (创建输出目录bin) S* X% y J5 [8 Y" b$ O- a4 ], k/ a. l
javac -d bin HelloWorld.java (编译(Compile) 源文
+ K7 V/ K6 }; g7 G9 l, P& a. L 件到bin文件夹, 在bin中生成包)
8 I6 @2 B' d( G+ _2 s# O (下面设置 Java的类文件搜索路径, java执行时候利用这个
+ L e2 e+ T/ K1 p4 H 路径搜索Java的包和类文件)# x1 G/ L& i1 _3 s7 g: _* W! o
export CLASSPATH=/home/soft01/demo/bin
) Y- O; I9 n9 {. M java unix.day01.HelloWorld (执行java类, Java命令会0 P" \3 j, j( r+ o
到CLASSPATH指定的系列路径中寻找包corejava.day01
& X, B5 M, U* Q1 }% R$ K' F9 ~ 寻找包中HelloWorld.class 的字节码文件 )) Q: G* Y7 Q; K$ n5 L" A6 z! }4 ~
" H" M7 l8 H+ R$ M5 u7 A. B4 q( `/ |
9 系统初始化脚本
" p- o+ d j# l 1) 初始化脚本 是指在开机过程中自动执行的系统脚本文件% ~9 }' n4 C" N6 ~3 V) R
一般用来初始化系统环境
9 y( g6 G# n( x9 M+ ]# A; g 2) 系统级初始化脚本文件: /etc/profile 所有当前系统的用户9 h E0 Y' T! U% I
登录时候都执行
3 n2 t" w6 D0 }' i
( f e+ T/ X* V Z2 \ |
|