该用户从未签到
|
1) Linux / Unix 命令格式, }: Z' z3 o( m
command [-选项...] [参数...]
1 a0 z: F( a# U$ B* y+ T9 o8 C2 f& | 如: ls -a ~( R. S' W% U1 Q4 j, F9 |2 e
mkdir .demo //创建隐藏目录. U. F7 K6 N. ?- B3 d; ]- j; @
ls
- @* A- |2 T, s8 B& a2 m ls -a
. J1 \6 H. E" L8 G+ E
7 Q$ S) |; G9 Q; i 2)标准输出: 就是在控制台(终端, 命令行)的默认输出3 {' f# R$ j) ~& [6 n" k8 ~" }8 F. H/ n
ls pwd cat 等命令的默认输出都是标准输出$ |' u( X0 w7 M
">" 输出重定向, 可以将标准输出重新定向到一个文件上.
6 X, x: v8 L1 D) O 如: ls > abc.txt //将 ls 默认的标准输出结果定向到abc.txt$ m) D! X4 @' {/ E: F
cat abc.txt //查看abc.txt文件内容) S1 g$ e/ {% x5 i7 E5 E$ f/ Q" x" ~. g
2 r( j) o: S" T1 u: C8 G 3) "|" 是管道符号, 可以连接两个命令, 将前一个命令
$ ]# Q& A7 \9 a 的输出作为后一个命令的输入
. j( _ e9 n, I) F9 `5 @ ( u1 c; j* n) H! M8 q( V$ X% @
4) grep 是过滤输入信息 留下指定的行+ e9 v+ \% H# \' H
/ }8 u0 _, k6 u! `: M3 U2. 目录 与文件操作( m% k% u! c7 @1 ?$ U
1)cd 改变当前工作目录
/ r; I/ y; O* L5 p& [0 X6 b 默认的cd 相当于 cd ~ : 返回"主目录"
! D+ z) m o% ^+ o1 k- ~, X1 ~. v . 表示当前目录
( ?# N) m% r8 X2 N- R2 p$ Q1 ? .. 表示上级目录(父目录)
1 l- r3 m4 p& ~' p ~ 代表"主目录"
]* F0 C2 ]3 I" O5 h 以"/" 开始的目录路径表示: 绝对路径, 反之: 相对路径0 ]( f$ X3 k, {& W6 D/ F
相对路径: 是相对于当前目录. ".", ".." 都是相对路径
, e% D9 M, t' h: m+ Z 以"." 为开头的文件/目录是隐藏的. s+ H4 I; o; x
2) ls 列目录命令& J* d+ k2 [' f9 ?
如:7 X4 l: g' g$ [' E* c5 d) Y
ls /
: D( A* A$ c$ n2 N. M ls /etc5 F! h& {6 `6 t3 U
ls /opt2 g' g) }+ e/ m9 } _- E
ls ~
* t8 Y. L: L2 m9 w$ Z. q k ls workspace# J' q E+ t: C+ o
ls -a ~ 显示全部的内容(包括隐藏文件和目录)
! A8 a. `& t; n( a9 o( u9 G: E- F8 G7 o. Y
4 A. h( P4 | T. Y0 o* x+ @
3) 创建目录 - d2 p ?+ a8 r( v! d
mkdir .photo 创建隐藏文件夹 ".photo"8 q% t% b! o8 G9 |
4) mv 移动/改名文件夹/文件
+ i' R( l5 x M" m/ f6 j mv .photo photo //改名
# d" o' `* C6 G' f8 X* \1 d( n mkdir mm
2 o: @* H, J. R% I# W mv mm photo //移动8 q8 L; O! }/ R G) X
ls photo6 @; o- S8 k2 A* s
mv passwd passwd.bak
* f2 q: L, v+ i! v( N, N! J# m& w
) M$ a- F, J) `7 d 5) rm 删除文件/目录' U7 J" c5 ~' Y9 q G
删除文件: rm file1 file2 file3 .... z9 d* O( X( P: y
删除目录: rm -rf dir1 dir2 ...
) f# ?: X( Z5 E( N x# _8 z 选项: -r 递归删除所有子目录和文件
% L" Z% \7 P* Y, l1 R+ v3 M$ T -f 强制删除, 不进行任何的交互确认(linux 默认 -f)
7 ~ K) U5 @$ _; Q
+ g% U! Y7 t3 u/ S/ a 6) cp 复制文件/目录, 注意第二个参数
. K" F0 _4 D/ X( @0 p6 x 复制文件 cp /etc/passwd ~$ Z! s7 ]5 m9 w, r& ]9 T* |
赋值文件夹 cp -r workspace workspace.bak# G% S$ P4 A3 A0 I
mkdir demo
/ v3 |' ~7 J7 ?' f cp -r workspace demo" N6 R8 b# I# c* a+ t5 B6 [
3 C) ^# z/ s9 b2 [ 选项-r 表示递归赋值所有的子目录和文件内容$ L9 x0 O5 Q. x B
4 `# J. W `3 ]
7) 文件的授权
" t/ h( B: }5 f0 W1 x ls -al 查看长格式结果8 n$ F3 N- d8 O" @$ d- \* ?7 ~, K' |
d rwx rwx rwx liucs liucs com
9 t4 e0 f# q4 w# g- ^: P( k -rwxrwx--- liucs liucs Hi.java
4 f: D4 ?5 c# [! m+ E" _$ N4 S. [
. n2 J( [( Z% F! ^' ^* J( Y chmod 660 test.txt
3 R! Q$ {; @6 W" p$ X' \/ k5 P2 |0 i rw- rw- ---2 h" d$ f5 M' q) Y; e" [
rwx0 h4 A5 [ ~6 `( B$ Z- r
421 421
3 l6 w) ^' J& W8 {) N2 w) ]7 w3 d 000 0 ---
5 _+ s y* _8 Z% k( B( `2 \! O 001 1 --x
4 }+ i* j: C f9 d1 l/ p5 p 010 2 -w-* X0 O1 H. p# j9 q& ^
011 3 -wx% j6 ~5 Y% F9 y( N
100 4 r--
( ^- Q+ Q+ N) x6 k# \: W 101 5 r-x
- I% w c+ F. I/ Q6 _! ?6 \ 110 6 rw-
) i& ^5 u& p. `( y! q3 L* c 111 7 rwx
$ L! m4 _% _2 {* |4 _$ J' q3 u
( m* {# \8 q6 M. K: j$ H7 I
. _+ M d" B c- {- Q 8) windows 命令4 `6 r6 k5 f6 v6 ^6 k( f
dir == ls
! ?' D% l5 ]4 i _! o& o mkdir == mkdir: C/ c% D/ }6 E. H
cd == cd L3 z* f% z3 `1 j# }
del == rm
" A2 D0 o: O! [ cls = clear! U- g2 P9 z) I7 X ^+ F+ V; k
more = more
$ X) l4 [* B' M2 | type == cat
) I: X$ D0 p T z7 m6 C# B8 G move = mv( p) U0 X, S+ R0 t- M
copy, xcopy = cp1 ~ T9 K$ t8 w
( J8 B- Q! o. z4 I2 e help == man
1 r- D2 s; h! i, a4 B
) | S4 e& k, {: D& ]
& _9 e9 Q8 l C* a; x! m8 t3 文件的创建 与 修改
5 r7 [( u0 w a- ~' y 1) echo 回显命令5 c7 _! X+ m6 Q$ S8 A% Z* U6 h
echo abc 将abc回显到控制台
: Z$ V, s6 c( ? 2) ">" 输出重定向, 将命令的"标准输出" 结果重新定向到: W6 E7 ~+ d2 u, G% e
新的目标.
7 o9 u) Q" q; n6 s0 ~5 D# Q( M4 D ">>" 表示追加输出
, z6 F) A' C1 E- n7 P% r2 U6 [6 E ls />rootlist.txt% }% i. j9 `; e5 f7 N
echo abc>test.txt
/ h7 I' P2 V! D! A$ V echo abc>>test.txt( |. b+ R! T: z8 W
3) cat 查看文件内容
& }. S$ ?( ]4 l! o4 E$ S 4) touch 创建新空白文件, 修改文件访问时间+ D: c. Z* u1 H! \0 t \
- e2 r$ e0 d2 _- _6 Z H4 创建和修改文本文件 vi
/ A8 J; X! j3 v5 K 1 打开 vi [filename] -> 命令状态
+ _' ~% ^# ^% N 命令状态: 任何键盘输入都是命令
* x3 V6 O; l( w8 C 命令状态: [esc] 总是回到命令状态
) G8 e/ m& d$ Q* S2 w% S 编辑状态: 对文本进行编辑, 任何的输入都是编辑内容0 A' [# L* }8 y
vi [filename] -> i o a -># o( t" e& ?. z
命令行 命令状态 编辑状态
8 G2 c# Y6 e% x$ {- c <- :q 退出命令 <- [esc]9 n% i' m+ j, l; n m+ w( I
<- :q!强制退出命令 5 U4 j; D r" q; V- C- k* j
<- :wq保存退出命令 8 G# T- n' |* R: O
:w保存: D; A7 E* p% ?5 Y5 m
:w [filename]
$ [- [* q3 Z3 ~ :w! [filename]
; q, j" G1 J, }0 q / ? n 查找) _$ G$ [$ @) a, Y Y0 h* `0 B" Q
% ?5 D" o) [4 X% _; c1 f5 打包备份与恢复(相当于winrar)
9 {" B$ O& h/ ] 1) tar打包:
& W& m+ I# f' B tar -cf workspace.tar workspace .... 4 F( }, O' y1 P& Y* }6 U
gzip workspace.tar( g0 [! _7 h9 w' B9 P
或:
5 E7 }# v l$ A' q: d7 D tar -czf workspace.tar.gz workspace ....
; s$ T- k T. q. N+ x W( Z/ t: L/ {7 v
释放当前文件夹:
6 q! i0 u% \) u" v# B* S1 x. \. @ tar -xzf workspace.tar.gz (Linux)' m/ B! n3 X: Q% l5 K" t. a
或:
+ T/ D$ V: N, e8 i! |: r4 h1 k gzip -d workspace.tar.gz
. v+ o. J: d; M1 [ tar -xf workspace.tar
, v7 m9 M3 v/ O+ _, S
6 D2 H p) \9 m$ L7 A# @ 2) zip 打包与释放:6 J0 c, O, ^; p3 q& h5 w. g9 o
zip -r file.zip file1 file2 file3 ...
$ p0 t$ S, y7 C8 k$ y unzip file.zip
9 w$ y% |4 ] Y, ^ q$ _2 h9 C5 M3 A! y( f. M9 d9 d& X1 r' j
) `: N0 M+ Z3 h$ r" K
6 系统环境变量PATH
- @! C4 z$ [5 `9 @/ I# u U 1) 环境变量PATH: 操作系统可执行命令的搜索路径.
5 z( q1 ~ P! j7 E8 F" P; q 2) 可以使用$PATH引用变量的值.
/ z5 k, t8 ~6 e+ O0 u& c5 C 3) 查看环境变量: echo $PATH3 ~* x7 l, d! k" ~5 H' y6 J
4) 设置环境变量: export PATH=$PATH:/sbin
$ x8 f+ n3 d' q4 ]3 T7 |, k; z# ~. Z, o) e+ I3 `
7 Java的安装与环境的配置
( o& K" S1 @$ v! U0 q 1) Oracle下载JDK, http://java.sun.com
9 @* y- R7 D% ~ B i linux 版本的JDK是自释放压缩包" v8 r) ]+ x" G5 j; Y9 X, T, \
2) 安装JDK 以Java1.5 为例:& e8 [& w, k$ B6 j9 z! d* a
chmod +x jdk-1_5_0_09-linux-i586.bin (增加执行授权)
( ]. K6 n; l/ t/ u" T# H ./jdk-1_5_0_09-linux-i586.bin (执行释放)
& `$ B6 g3 s0 Z; c0 l6 @0 y: W7 p' Q% g% _
自动释放安装到 ~/jdk1.5.0_09 2 j( a- j e) b2 s+ l3 T
+ U( `% N+ E9 i 3) 配置JDK, 以JDK安装到 /opt/jdk为例:
+ I6 M' Y7 {) u. E1 N- h /opt/jdk9 G9 l* ]* Y, V4 w: d; Y, F+ D c' m
|- bin 开发工具(命令: javac, java, jar, rmic, jps...)/ x$ R4 Z# B: t+ A {, ~
|- lib 开发工具实现类tools.jar
; O1 y0 o. V4 T9 S% J |- jre (Java运行环境) 3 U, Q, ^5 s- H
| |- bin (JVM)
( t# `. K% R3 @- a) ` | |- lib (Java API 类库)/ p W. O% K2 \1 v. o
| |- rt.jar ( 核心类库, zip压缩,
3 J9 B7 O2 @1 @" E$ G; D0 d | 包含java.util.Random)
+ o. t' [8 m6 \1 d |- src.zip (Java API 类库的源文件)
: g/ d! f3 D8 Z3 |6 X
+ k9 x- L# i2 T2 T, p, ^
5 P2 `/ K9 r o* L9 z A 配置PATH, 使PATH包含JDK安装目录下的bin目录
( H9 ^4 y2 w! b9 C 目的: 将JDK带来的开发工具(命令)扩展到OS中.
; i b* X, n+ g0 }) B 如: export PATH=/opt/jdk/binPATH
' y. X- @% M0 L+ o# r& E) i/ P* b% W6 ^( l$ u
3 h$ I- Z* Y& U3 w0 Z- ~! G B 配置JAVA_HOME, JAVA_HOME指向JDK的安装目录
/ Y w* B& X- K" U) s( M JAVA_HOME 的作用: 是指导"某些Java软件"找到JDK* p0 O) @! J2 d+ U2 Y8 p
如: tomcat 服务器 就使用 JAVA_HOME
3 u6 ^: ]* C, B 实例: export JAVA_HOME=/opt/jdk
% z9 ?5 u- G) j: S, p" m
' ^+ h Y L! i! N C 配置CLASSPATH, 指向Java类的部署目录或者Jar文件
9 V9 E- T3 ~8 L. z 用来为JVM 指明Java类的搜索路径, Java在执行类的时候
: l9 r* u( n' B# P% ^% q 在CLASSPATH指示的路径下查找类文件.% z8 U5 ]. I1 u, e- ~" r
实例: export CLASSPATH=.
9 h- \; _6 W/ v3 y# \. I5 Y
& q* j; `6 |# P) N Windows 参考 Java配置命令:# B5 h* s% u( K4 O x$ q% v
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_01
/ [7 b; Y: S2 R G0 h/ Z set CLASSPATH=.
0 L- U/ n5 u! V+ u2 i8 ^ set PATH=C:\Program Files\Java\jdk1.6.0_01\bin;%PATH% a2 }% S! {4 Y- y' t. x, b; y
8 e, c4 ~' W8 X6 F K
8 package 与 CLASSPATH:
/ N) c% n% o: o7 G/ L# @! q7 Q3 f 1) 是java中对类进行分类的
. U! `8 C& [. I6 T- ? 2) 包映射为系统的文件夹, ?) E) v* E/ n7 m
3) java的类的全名: 全限定名=包名+类名 * ]/ M S3 L- x9 J
4) 使用Java执行类时候要指定到 "全限定名"( z' ?) H& b1 d. j' S+ l
% N. H0 a! M0 S m6 b 5)Java 的 编辑 与编译实例:1 d; g: _& q, P3 |
cd demo1 z) C! Z+ _* a' t8 p3 E* {) M
vi HelloWorld.java (编辑(edit)Java源文件)
3 s4 o U$ X# S e o8 y mkdir bin (创建输出目录bin)* y% ^1 ?, r8 ~- B5 Q4 \& @" a
javac -d bin HelloWorld.java (编译(Compile) 源文
+ c; }; I: B& s 件到bin文件夹, 在bin中生成包)
4 U J4 y7 u9 \* C (下面设置 Java的类文件搜索路径, java执行时候利用这个
; n- A6 q P: e4 f5 q1 Z 路径搜索Java的包和类文件)4 }5 W- }- s/ R. r
export CLASSPATH=/home/soft01/demo/bin
0 s6 o+ b- Q' U1 {0 q) a& v/ d9 O java unix.day01.HelloWorld (执行java类, Java命令会6 e8 n O2 C. x$ b8 y2 @
到CLASSPATH指定的系列路径中寻找包corejava.day01
$ W% f. q( g* f# ~4 O9 Z 寻找包中HelloWorld.class 的字节码文件 )
* E, i! N, S6 T7 G' Q: t1 P3 g$ D( W! W6 o; Y U' A5 @: M8 d# i
9 系统初始化脚本
$ j! G v4 u8 x& S 1) 初始化脚本 是指在开机过程中自动执行的系统脚本文件 |6 V ~5 [2 c, w5 L/ z
一般用来初始化系统环境6 P5 t4 m* |% O% A
2) 系统级初始化脚本文件: /etc/profile 所有当前系统的用户7 _1 N. {$ F$ L" |& v- m y
登录时候都执行, o+ d; _* d+ K) A$ y
) L; t7 e9 L& K9 A7 Q$ r4 z
|
|