guideline
wireframe
fireworks
sketch
xara
axure
balsamiq
moqups
wireframe.cc
mockup tool
invision
marvelapp.com
mockplus.com
fluidui.com
placeit.net
lucidchart.com
cacoo
lumzy
pencil
gliffy
mockflow
mockup designer
fireworks
sketch
xara
axure
balsamiq
moqups
wireframe.cc
invision
marvelapp.com
mockplus.com
fluidui.com
placeit.net
lucidchart.com
cacoo
lumzy
pencil
gliffy
mockflow
mockup designer
abed, ab1e, aced, a1ec, a1ef, a10e, bade, ba1d, ba1e, bead, b1ae, b1ed, b10c, b0de, b01a, b01d, b01e, cade, cafe, ca1f, c1ad, c1ef, c10d, c0al, c0da, c0de, c0ed, c01a, c0ld, c01e, dace, da1e, deaf, dea1, dec0, de1f, d01e, face, fade, fad0, fea1, fe0d, f1ab, f1ea, f1ed, f10c, f10e, f0al, f01d, 1ace, 1ade, 1ead, 1eaf, 10ad, 10af, 10be, 10ca, 10de, 0dea, 01ea
0xABBA, 0xABBE, 0xABED, 0xACED, 0xBABA, 0xBABE, 0xBADE, 0xBAFF, 0xBEAD, 0xBEEF, 0xB0DE, 0xB0FF, 0xB00B, 0xCACA, 0xCADE, 0xCAFE, 0xCECA, 0xCEDE, 0xC0BB, 0xC0CA, 0xC0C0, 0xC0DA, 0xC0DE, 0xC0ED, 0xC0FF, 0xC00F, 0xDACE, 0xDADA, 0xDAD0, 0xDAFF, 0xDEAD, 0xDEAF, 0xDEC0, 0xDEED, 0xD0D0, 0xD0FF, 0xEDD0, 0xFACE, 0xFADE, 0xFAD0, 0xFEED, 0xFE0D, 0xF00D, 0x0B0E, 0x0DEA
ab0de, ac01d, ad0be, ba1ed, b1ade, cab1e, c0b1e, c01ed, decaf, deca1, d0b1a, d01ce, fab1e, faced, feca1, f0ca1, 1aced, 10bed
0xABACA, 0xAB0DE, 0xADDED, 0xAD0BE, 0xAD0B0, 0xBAAED, 0xBAB00, 0xBACCA, 0xB0CCE, 0xB0DED, 0xB0FF0, 0xB00ED, 0xCAB0B, 0xCACA0, 0xCAECA, 0xCEDED, 0xC0C0A, 0xC0DEC, 0xC0DED, 0xC00ED, 0xC00EE, 0xDECAF, 0xEBBED, 0xFACED, 0xFADED, 0xFE0FF, 0x0FFED
a1bed0, cab1ed, c0a1ed, c01ead, d0ab1e, fab1ed, f0a1ed, 10afed
0xAB0DED, 0xACCEDE, 0xBACCAE, 0xBAFFED, 0xBA0BAB, 0xBEADED, 0xBEDDED, 0xBEEBEE, 0xBEEFED, 0xB0BBED, 0xB00BED, 0xB00B00, 0xCABBED, 0xC0DDED, 0xC0FFEE, 0xC00C00, 0xC00EED, 0xDABBED, 0xDAD0ED, 0xDAFFED, 0xDECADE, 0xDEC0DE, 0xDEEDED, 0xDEFACE, 0xD0FFED, 0xD00DAD, 0xEFFACE, 0xFACADE, 0xF0BBED
c0dab1e
0xACCEDED, 0xDEC0DED, 0xDEFACED, 0xEFFACED, 0xFE0FFED, 0xFE0FFEE
b01dface, f1a7bed5, 0b57ac1e, deadc0de, c001c0de, ad0beace, c01dc01a, ba5ed0c5…
現在的實體書主要承載的已經不是知識了,而是出版產業的利益。
沒人買書;產業蕭條,也是剛好而已。
光有才華能力而無洞見人心是只有在效率最大化的合作組織裡才能生存的。
一但組織並不以合作共榮為前題,視效率為次要時,只有才華並不會得到辛福。還必需有壓制他人心機慾望的手腕和理解。
當你沒能力理解個中因果相關時,把一切成敗都歸為運氣是最簡單的。
導入障礎的各種成本背後都有其原因
世上最垃圾的東西就是分析了
不說運匠大哥,即便是路邊的阿伯都可以跟你分析一下政治情勢。
有沒有價值?除了當成鄉野考察研究樣本,還真沒什麼價值。
那有大數據佐視覺化有沒有比較好賣?
大學生做報告都會再多來個雲端和IoT,我相信經過這八年,口號我們都聽膩了。
當你以為你要佔便宜了,好興奮時,冷靜下來。所有的事情都是give and take。
你不用去新創也會。新創教不了你什麼有價值的東西。
誰在騙你
有資源的新創跟沒資源的新創,成功的機會和結果會一樣嗎?
當然不會!你爸爸給你五千萬練手跟你畢業有五十萬學貸負債怎麼會一樣。
幾億人口裡出一個Jobs,那個叫生存者偏差。
代表的是你成功的可能性又被稀釋掉了一大塊,而不是你也有可能成為Jobs。
看是找人力還是找人才的判斷很簡單。就是你來面試跟你什麼時候有空我去找你聊聊的差別。
團隊裡有C咖真是傷害巨大。要不你找不到A咖願意跟C咖共事,要不你得付出超額代價來讓A咖忍受和C咖一起共事還得不到A咖的效率。
study
大量閱讀,挑撿過濾出精要部份。
使用適當工具不斷練習
murmur
大多數人的想像力都很差,也造成對其他文化的新事物難以接受。
即使好東西放在面前,沒那個格也是無福消受。
若找不來優秀的人才,則團隊必定平庸。 若人才來了卻待不久,則團隊必在平庸之下。
起因於 tomcat6 不支援 jdk8 ,而我想在 tomcat 上試試G1GC,所以試著更新版本就出現相容性問題了。
改用 <@import “fullpackage.*” %> 解決
el 裡有 a.mark==’m’ 的判斷,在新版中不允許 char 的判斷了。必需當成數字而改寫成 a.mark==77
3.5
1 | bin\cassandra |
1 | vi conf/logback.xml |
1 | #####create keyspace/table |
insert into content (id,content) values(‘test’,’test中文許功蓋’);
1 | #bin\nodetool flush [keyspace] [cfnames] |
cassandra.yaml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27< batch_size_warn_threshold_in_kb: 5
---
> batch_size_warn_threshold_in_kb: 5000
681c683
< batch_size_fail_threshold_in_kb: 50
---
> batch_size_fail_threshold_in_kb: 50000
731c733
< read_request_timeout_in_ms: 5000
---
> read_request_timeout_in_ms: 50000
733c735
< range_request_timeout_in_ms: 10000
---
> range_request_timeout_in_ms: 100000
735c737
< write_request_timeout_in_ms: 2000
---
> write_request_timeout_in_ms: 20000
737c739
< counter_write_request_timeout_in_ms: 5000
---
> counter_write_request_timeout_in_ms: 50000
746c748
< request_timeout_in_ms: 10000
---
> request_timeout_in_ms: 100000
cqlsh.py1
2
3
4
5import csv
import getpass
#avoid "field larger than field limit (131072)"
csv.field_size_limit(sys.maxsize)
比較新版的cassandra使用logback。透過conf/logback.xml修改設定。
預設是沒有指定timezone,所以顯示的時間跟本地時間不一致。
修改方式很簡單,只要在conf/logback.xml裡的1
2<pattern>%-5level [%thread] %date{ISO8601,Asia/Taipei} %F:%L - %msg%n</pattern>
<pattern>%-5level %date{HH:mm:ss.SSS,Asia/Taipei} %msg%n</pattern>
3.5
3.4
3.2.1
降到3.0.6後終於不再有JVM crash了
2.2.6 no crash
1 | -Duser.language=en -Duser.timezone=Asia/Taipei -Djavax.net.ssl.trustStore=d:/jssecacerts -Xverify:none^ |
-Dfile.encoding=utf-8不能用,不然console輸出的error msg會亂碼1
-XX:+UseStringDeduplication -XX:+UseG1GC^
java8的G1GC到目前來看還不錯用。但xmx小於6G並不適合。
不像mysql的load data,用cqlsh操作copy from csv時,csv必需先跳脫\n成\\n不然會有問題。
所以匯出mysql資料給cqlsh匯入要使用replace(content,’\n’,’\\n’);並且程式中在取出資料後解除跳脫字元 replace(content,”\\n”,”\n”)。
如果是使用程式操作cassandra-driver就不用多做這個處理。完全是cqlsh渣,用python寫的無法良好處理換行字元。
1 | bin/cassandra |
1 | vi conf/logback.xml |
1 | #####create keyspace/table |
insert into content (id,content) values(‘test’,’test中文許功蓋’);
1 | #bin/nodetool flush [keyspace] [cfnames] |
bin\nodetool flush &bin\nodetool repair&bin\nodetool compact
bin\nodetool info&bin\nodetool cfstats drifty
bin\nodetool info&bin\nodetool tpstats
bin\nodetool status
bin\nodetool info
bin\nodetool flush
bin\nodetool cleanup
bin\nodetool repair
bin\nodetool compactstatus
bin\nodetool ompactionhistory
bin\nodetool info&bin\nodetool cfstats drifty
bin\nodetool drain
cassandra.yaml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27< batch_size_warn_threshold_in_kb: 5
---
> batch_size_warn_threshold_in_kb: 5000
681c683
< batch_size_fail_threshold_in_kb: 50
---
> batch_size_fail_threshold_in_kb: 50000
731c733
< read_request_timeout_in_ms: 5000
---
> read_request_timeout_in_ms: 50000
733c735
< range_request_timeout_in_ms: 10000
---
> range_request_timeout_in_ms: 100000
735c737
< write_request_timeout_in_ms: 2000
---
> write_request_timeout_in_ms: 20000
737c739
< counter_write_request_timeout_in_ms: 5000
---
> counter_write_request_timeout_in_ms: 50000
746c748
< request_timeout_in_ms: 10000
---
> request_timeout_in_ms: 100000
cqlsh.py1
2
3
4
5import csv
import getpass
#avoid "field larger than field limit (131072)"
csv.field_size_limit(sys.maxsize)
比較新版的cassandra使用logback。透過conf/logback.xml修改設定。
預設是沒有指定timezone,所以顯示的時間跟本地時間不致。
修改方式很簡單,只要在conf/logback.xml裡的1
2<pattern>%-5level [%thread] %date{ISO8601,Asia/Taipei} %F:%L - %msg%n</pattern>
<pattern>%-5level %date{HH:mm:ss.SSS,Asia/Taipei} %msg%n</pattern>
@see python程式設計入門 -葉難
and as assert break class continue def del elif else except exec finally for from global if import in is lambda nonlocal not or pass print raise return try while with yield None False True
可以是int,long,float,str,bool,list,tuple。都是object。
int(3)
long(123L)
float(3.14)
str(‘aaa’),str(3.14),str([1,2,3]),str([]),str(()),str(True),str()
bool(True),bool([]),bool(()),bool(‘’),bool(0),bool(0.0),bool(None)
list([0,1,2,3,4,’a’,’b’])
tuple((0,1,2,3,4,’a’,’b’))
從0開始
內容不需是同一種型態
list=[0,1,2,3,4,5,6]
list=[‘frank’,111,3222,[‘c’,’python’]]
list
list[0]
list[3]
list[3][1]
list[1]*list[2]
list[1]=999
list[1]
s=”wijefiwjeifj”
s=’iiu2iu3i5u3iu’
s
()
t=(0,1,2,3,4,5,6,7)
t[0]
t=(‘zero’,1,2,22.33,’kk’,(‘final’,”FINAL”))
t[5]
t[5][1]
t[1]=333 #you got error to assign value on tuple
oneElementStr=(‘juststr not tuple’)
oneElementStr
oneElementTuple=(‘only1’ ,) #need comma in the end
oneElementTuple
t3=’asdfw’,’aaa’,’vvvv’ #simplify expression of tuple
t3
1 | % 除法只取餘數 |
False == () #False
False == [] #False
False == [‘0’] #False
False == [0] #False
False == (0,) #False
False == ‘0’ #False
False == 0 #True
False
None
0
‘’
[]
()
not False
‘0’
[0]
(0,)
a=b=c=3
b=4;c=5
x=y=z=[0,1,2,3,4]
x,y,z #自動組成tuple
(a,b,c)=(0,1,2)
a;b;c;
a,b,c=0,1,2
a,b=b,a #exchange a,b
a;b;c;
[a,b,c]=[9,8,7] #list或tuple寫法都可以
a;b;c;
x=[0,1,2,3,4,5]
a,*b,c=x
a,b,c #等於(0,[1,2,3,4],5)
1 | a,b,c=1,2,3 |
1 | a,b,c=0,'',[] |
1 | i=1;x=0; |
1 | scores=[23,54,52,55,99] |
1 | s='hello world' |
1 | nameScores=(('banana',32,55),('apple',67,48),('orange',72,8)) #list/tuple都可以 |
1 | def testfunction(param): |
1 | def sum(numbers,initial): |
del強制變數gc
global在函數內強制使用全域變數1
2
3
4
5
6
7
8a=10 #什麼數值都無所謂
#del a #讓a變成未定義也不影響後面的global操作
def foo(n):
global a
a=100
return n+a
foo(5),a #105,100
1 | a=[0,1,2,3,4] |
寫mymodule.py檔,其中可定義變數/函式1
2
3
4
5
6
7import mymodule #這就可以引入mymodule.py裡定義的一切
x=mymodule.functionA(1,2,3,4)
y=mymodule.valueB
`````` bash
import mymodule as mm#這就可以引入mymodule.py裡定義的一切, module name改用alias name使用
x=mm.functionA(1,2,3,4)
y=mm.valueB
1 | from mymodule import * #引入一切,使用時不需要加上mymodule. |
1 | from mymodule import functionA #引入一切,使用時只有指定的import功能不需要加上mymodule. |
builtins
dir(builtins)
keyword
iskeyword
math
pi e log10 log sqrt sin ceil floor trunc …
random
seed random randint uniform shuffle choice …
sys
path
maxint
-sys.maxint-1
name
future
.py
.py3
.pyc
.pyo
-- encoding: utf-8 --
-- encoding: big5 --
-- encoding: ascii --
-- encoding: iso-8859-1 --
chmod +x ./hello.py
./hello.py
1 | >>> S = [x**2 for x in range(10)] |
0b1101,0xaa,0o1234
bin(100),hex(100),oct(100)
11111111111111111L #凡超過int最大值的數都自動轉成無窮精確度的long型別
1e6
314159e-5
314159E-5
float(‘nan’),float(‘inf’),float(‘-inf’)
import math
math.isnan(float(‘nan’))
math.isinf(float(‘inf’))
math.isfinite(float(‘inf’)),math.isfinite(float(‘nan’)) #only python3.x
x,y,z=1,2,3
x if y>0 else z
1
(x>0 and x) or z #等效三元運算
1
d=100;n=None
a=d if n==None else n
b=(n==None) and d or n
b1=(n==None and d) or n
b2= n==None and d or n
c=(n and d ) or n
a,b,b1,b2,c
(100, 100, 100, 100, None)
list=[0,1,2]
list.len()
3
list.append(3)
list
[0, 1, 2, 3]x=’good’;y=’bye’
x+y
‘goodbye’
x.add(y)
‘goodbye’
x=3;y=4
x+y
7
x.add(y)
7
x.add(y).sub(y.pow(2))
-9
type(complex())
complex(1)
complex(1,2)
complex(1+2j,3+4j)
complex(‘5-6j’)
complex(‘5 - 6j’) #error
complex()
z=4+5j;z
z.real #實部
z.imag #虛部
z==z.real+z.imag*1j
z.conjugate() #共軛複數
import cmath
abs(x) #絕對值;模
cmath.phase(x) #輻角;弧度
ct=cmath.polar(x) #模和輻角的tuple
cmath.rect(ct[0],ct[1]) #以模和輻角建立complex
cmath.sqrt(-1) #負數的平方根
import cmath
exp log log10 acos asin acosh asinh …
str()
repr()
from decimal import *
Decimal
Decimal(0.1), Decimal(3.14)
Decimal(‘0.1’), Decimal(‘3.14’)
D=Decimal
a=D(‘2.33’);b=D(‘4.82’)
a+b
from fractions import
Fraction
Fraction(1,3) #1/3
F=Fraction
F(‘-1/3’)
a,b,c=F(‘1/3’),F(‘11/3’),F(‘5/12’)
a+b,b-c,ca,a/b
abs(a-b),round(b)
gcd(64,48) #最大公因數
callable()
isinstance(x , types.FunctionType)
isinstance(x, tuple)
dir()
dir(int)
dir(list)
a=3,list=[0,1,2,3]
a.class, list__class
type(a),type(list)
local enclosing global builtin
list=[0, 1, 2, 3]
lit=iter(list)
lit
next(lit)
0
next(lit)
1
next(lit)
2
next(lit)
3
next(lit)
Traceback (most recent call last):
File ““, line 1, in
StopIteration
list=[33,44,55]
itr=iter(list)
while True:
try:
x=next(itr)
print(x)
except StopIteration:
break
n=0
for i in list:
n+=i;i,n
n=0
for i in iter(list):
n+=i;i,n
n=0
for i in range(1,10+1):
n+=i;i,n
n=0
for i,v in enumerate(list):
i,v
ii=[3,2,1]
for i,v in zip(ii,list):
i,v
data=zip(ii,list)
sorted(data)
data
def k(x):return x[1];
sorted(data,key=k)
list=[0,1,2,3,4,5]
[x*x for x in list]
[str(x)+’‘+str(y)+’=’+str(xy) for x in range(2,9+1) for y in range(1,9+1)] #九九乘法
li0=[‘a’,’b’,’c’]
li1=[‘.jpg’,’.png’,’.bmp’]
[x+y for x in li0 if x!=’a’ for y in li1 if y!=’.jpg’]
\’
\”
\
\n
\r
\t #HT; tab
\v #VT
\a #bell
\b #backspace
\f #page
\xff #hex
\ooo #oct
s=’’’abc def
ghi kkl mno
pqr\t\nstu
vwxyz’’’
s
r’\‘
R’\‘
r’\”‘
R’\”‘
s=’abc\
def\
hij’
s
d={}
d={‘name’:’John’,’name’:27} #同key會被取代
d={‘name’:’John’,’age’:27,’list’:[3,4,5]}
d[‘name’]
type(d)
dict(d)
type(dict(d))
keys=[‘name’,’age’,’job’]
values=[‘john’,33,’programmer’]
d2=dict(zip(keys,values));d2
d={‘a’:1,’b’:2,’c’:3}
for k in d:
k
for k in d.keys():
k
for v in d.values():
v
for k,v in d.items():
k,v
len del get setdefault keys values items
x={1,2,3,4,4,4,4};x
set(x);
set({1,2,3234,234,1,1,1,1})
set([2,3,2,2,2,2,2])
@see python程式設計入門 -葉難
and as assert break class continue def del elif else except exec finally for from global if import in is lambda nonlocal not or pass print raise return try while with yield None False True
可以是int,long,float,str,bool,list,tuple。都是object。
int(3)
long(123L)
float(3.14)
str(‘aaa’),str(3.14),str([1,2,3]),str([]),str(()),str(True),str()
bool(True),bool([]),bool(()),bool(‘’),bool(0),bool(0.0),bool(None)
list([0,1,2,3,4,’a’,’b’])
tuple((0,1,2,3,4,’a’,’b’))
從0開始
內容不需是同一種型態
list=[0,1,2,3,4,5,6]
list=[‘frank’,111,3222,[‘c’,’python’]]
list
list[0]
list[3]
list[3][1]
list[1]*list[2]
list[1]=999
list[1]
s=”wijefiwjeifj”
s=’iiu2iu3i5u3iu’
s
()
t=(0,1,2,3,4,5,6,7)
t[0]
t=(‘zero’,1,2,22.33,’kk’,(‘final’,”FINAL”))
t[5]
t[5][1]
t[1]=333 #you got error to assign value on tuple
oneElementStr=(‘juststr not tuple’)
oneElementStr
oneElementTuple=(‘only1’ ,) #need comma in the end
oneElementTuple
t3=’asdfw’,’aaa’,’vvvv’ #simplify expression of tuple
t3
1 | % 除法只取餘數 |
False == () #False
False == [] #False
False == [‘0’] #False
False == [0] #False
False == (0,) #False
False == ‘0’ #False
False == 0 #True
False
None
0
‘’
[]
()
not False
‘0’
[0]
(0,)
1 | a=b=c=3 |
1 | (a,b,c)=(0,1,2) |
1 | x=[0,1,2,3,4,5] |
1 | a,b,c=1,2,3 |
1 | a,b,c=0,'',[] |
1 | i=1;x=0; |
1 | scores=[23,54,52,55,99] |
1 | s='hello world' |
1 | nameScores=(('banana',32,55),('apple',67,48),('orange',72,8)) #list/tuple都可以 |
1 | def testfunction(param): |
1 | def sum(numbers,initial): |
del強制變數gc
global在函數內強制使用全域變數1
2
3
4
5
6
7
8a=10 #什麼數值都無所謂
#del a #讓a變成未定義也不影響後面的global操作
def foo(n):
global a
a=100
return n+a
foo(5),a #105,100
1 | a=[0,1,2,3,4] |
寫mymodule.py檔,其中可定義變數/函式1
2
3
4
5
6
7import mymodule #這就可以引入mymodule.py裡定義的一切
x=mymodule.functionA(1,2,3,4)
y=mymodule.valueB
`````` python
import mymodule as mm#這就可以引入mymodule.py裡定義的一切, module name改用alias name使用
x=mm.functionA(1,2,3,4)
y=mm.valueB
1 | from mymodule import * #引入一切,使用時不需要加上mymodule. |
1 | from mymodule import functionA #引入一切,使用時只有指定的import功能不需要加上mymodule. |
builtins
dir(builtins)
keyword
iskeyword
math
pi e log10 log sqrt sin ceil floor trunc …
random
seed random randint uniform shuffle choice …
sys
path
maxint
-sys.maxint-1
name
future
.py
.py3
.pyc
.pyo
-- encoding: utf-8 --
-- encoding: big5 --
-- encoding: ascii --
-- encoding: iso-8859-1 --
1 | #!/usr/bin/python |
1 | >>> S = [x**2 for x in range(10)] |
0b1101,0xaa,0o1234
bin(100),hex(100),oct(100)
11111111111111111L #凡超過int最大值的數都自動轉成無窮精確度的long型別
1e6
314159e-5
314159E-5
float(‘nan’),float(‘inf’),float(‘-inf’)
import math
math.isnan(float(‘nan’))
math.isinf(float(‘inf’))
math.isfinite(float(‘inf’)),math.isfinite(float(‘nan’)) #only python3.x
1 | >>> x,y,z=1,2,3 |
1 | >>> list=[0,1,2] |
type(complex())
complex(1)
complex(1,2)
complex(1+2j,3+4j)
complex(‘5-6j’)
complex(‘5 - 6j’) #error
complex()
z=4+5j;z
z.real #實部
z.imag #虛部
z==z.real+z.imag*1j
z.conjugate() #共軛複數
1 | + - * / ** pow abs == != |
1 | import cmath |
1 | __str__() |
1 | from decimal import * |
1 | from fractions import * |
callable()
isinstance(x , types.FunctionType)
isinstance(x, tuple)
dir()
dir(int)
dir(list)
a=3,list=[0,1,2,3]
a.class, list__class
type(a),type(list)
local enclosing global builtin
1 | >>> list=[0, 1, 2, 3] |
1 | list=[33,44,55] |
1 | list=[0,1,2,3,4,5] |
\’
\”
\
\n
\r
\t #HT; tab
\v #VT
\a #bell
\b #backspace
\f #page
\xff #hex
\ooo #oct
s=’’’abc def
ghi kkl mno
pqr\t\nstu
vwxyz’’’
s
r’\‘
R’\‘
r’\”‘
R’\”‘
s=’abc\
def\
hij’
s
1 | d={} |
len del get setdefault keys values items
1 | x={1,2,3,4,4,4,4};x |
telnet
login
exit
shutdown
reboot
&
&&
nohup
ps -aux
kill
cd
pwd
ls
cat
more
head
tail
mkdir
rmdir
rm
touch
cp
mv
ln
find
whereis
chmod
chgrp
chown
df -ha
du
dd
mount
umount
fdisk
mke2fs
mkfs
mkfs.ntfs
mkswap
fsck
fsck.netfs
fdformat
file
rpm
apt-get
su
sudo
clear
dmesg
groupadd
useradd
userdel
userconf
passwd
who=w
whoami
who am i
top
htop
free
quotacheck,edquote
compress
zip
unzip
gzip
tar
7z
ifconfig
route
netstat
hostname
ping
nslookup
talk
traceroute
mail
date
cal
grep
ftp
sftp
ncftp
scp
ssh
wget
curl
tcpdump
set
uname -a
lsb_release -a
setup
lilo
Xconfigurator
xf86config
startx
netconf
XF86Setup
makebootdisk
badblocks
sync
uptime
man
help
locate
whatis
at
crontab
echo
write
mesg
mesg y
mesg n
history
nmap
alias
bc
cmp
diff
ifconfig
ifup
ifdown
sort
vi
vim
joe
nano
pico
wc
lsmod
lspci
ip link
lshw
iostat
iotop
iftop
split
last
lastlog
pkill
iptables
tune2fs
dumpe2fs
nc
ab/wrk
yum 提供 groupinstall 的方式來安裝套件組,可以下指令查看目前有哪些套件組:
yum grouplist | more
CentOS 5.x 與 6.x 套件組的名稱不太一樣,例如桌面環境套件:
CentOS 5.x:
GNOME: GNOME Desktop Environment
KDE: KDE (K Desktop Environment)
CentOS 6.x:
GNOME: Desktop
KDE: KDE Desktop
安裝 XWindow
yum -y groupinstall ‘X Window System’
安裝 GNOME 與 KDE (可擇一安裝)
yum -y groupinstall ‘Desktop’
yum -y groupinstall ‘KDE Desktop’
安裝中文語系套件 (非必要)
yum -y groupinstall “Chinese Support”
如有安裝中文語系套件,要再修改預設語系
vi /etc/sysconfig/i18n
將 LANG=”en_US.UTF-8” 改為 LANG=”zh_TW.UTF-8” ,如果檔案是空白的,直接加入:
LANG=”zh_TW.UTF-8”
設定開機直接進入桌面環境 (非必要)
編輯: /etc/inittab,將 id:3:initdefault: 改為 id:5:initdefault:
重新開機
reboot