當前位置:首頁 » 編程語言 » pythonldap

pythonldap

發布時間: 2023-04-13 23:49:57

1. 常用的生物信息學python庫有哪些

常用的生物信息學python庫:
Tkinter
Python默認的圖形界面介面。Tkinter是一個和Tk介面的Python模塊,Tkinter庫提供了對Tk API的介面,它屬於Tcl/Tk的GUI工具組。
PyGTK
用於python GUI程序開發的GTK+庫。GTK就是用來實現GIMP和Gnome的庫。
PyQt
用於python的Qt開發庫。QT就是實現了KDE環境的那個庫,由一系列的模塊組成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300個類和超過5750個的函數和方法。PyQt還支持一個叫qtext的模塊,它包含一個QScintilla庫。該庫是Scintillar編輯器類的Qt介面。
wxPython
GUI編程框架,熟悉MFC的人會非常喜歡,簡直是同一架構(對於初學者或者對設計要求不高的用戶來說,使用Boa Constructor可以方便迅速的進行wxPython的開發)
PIL
python提供強大的圖形處理的能力,並提供廣泛的圖形文件格式支持,該庫能進行圖形格式的轉換、列印和顯示。還能進行一些圖形效果的處理,如圖形的放大、縮小和旋轉等。是Python用戶進行圖象處理的強有力工具。
Psyco
一個Python代碼加速度器,可使Python代碼的執行速度提高到與編譯語言一樣的水平。
xmpppy
Jabber伺服器採用開發的XMPP協議,Google Talk也是採用XMPP協議的IM系統。在Python中有一個xmpppy模塊支持該協議。也就是說,我們可以通過該模塊與Jabber伺服器通信,是不是很Cool。
PyMedia
用於多媒體操作的python模塊。它提供了豐富而簡單的介面用於多媒體處理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和linux平台下使用。
Pmw
Python megawidgets,Python超級GUI組件集,一個在python中利用Tkinter模塊構建的高級GUI組件,每個Pmw都合並了一個或多個Tkinter組件,以實現更有用和更復雜的功能。
PyXML
用Python解析和處理XML文檔的工具包,包中的4DOM是完全相容於W3C DOM規范的。它包含以下內容:
xmlproc: 一個符合規范的XML解析器。Expat: 一個快速的,非驗證的XML解析器。還有其他和他同級別的還有 PyHtml PySGML。
PyGame
用於多媒體開發和游戲軟體開發的模塊。
PyOpenGL
模塊封裝了「OpenGL應用程序編程介面」,通過該模塊python程序員可在程序中集成2D和3D的圖形。
NumPy、NumArray、SAGE
NumArray是Python的一個擴展庫,主要用於處理任意維數的固定類型數組,簡單說就是一個矩陣庫。它的底層代碼使用C來編寫,所以速度的優勢很明顯。SAGE是基於NumPy和其他幾個工具所整合成的數學軟體包,目標是取代Magma, Maple, Mathematica和Matlab 這類工具。
MySQLdb
用於連接MySQL資料庫。還有用於zope的ZMySQLDA模塊,通過它就可在zope中連接mysql資料庫。
Sqlite3
用於連接sqlite資料庫。

Python-ldap
提供一組面向對象的API,可方便地在python中訪問ldap目錄服務,它基於OpenLDAP2.x。
smtplib
發送電子郵件。
ftplib
定義了FTP類和一些方法,用以進行客戶端的ftp編程。如果想了解ftp協議的詳細內容,請參考RFC959。
PyOpenCL
OpenCL的Python介面,通過該模塊可以使用GPU實現並行計算。

2. 如何用python實現 域認證

可以安裝 python-ldap ,使用 ldap 特性編程訪問AD獲取認證信息。如何用python實現 域認證

3. python+ldap操作

from ldap3  import Server, Connection, ALL, MODIFY_ADD, MODIFY_REPLACE, MODIFY_DELETE

class Connect_ldap:

    def __init__(self):   #初始化

        self.server ='10.10.10.10'   #ldap伺服器地址

        self.user ='cn=Directory Manager'   # Bind DN or user

        self.base_dn ='dc=bizenit,dc=com'  #base_dn

        self.pwd ='XXXXXXX'    #密碼

        self.port =5389   #埠

    def connect(self):    #連接ldap服務

   纖敏     server = Server(host=self.server, port=self.port, get_info=ALL)

        conn = Connection(server=server, user=self.user, password=self.pwd, auto_bind=True)

        return conn

    def add_user(self):   #添脊豎裂加條目

        i =1

        j =17300000001

        conn =self.connect()

        while i <220000:

            mail =str(j) +"@mail.com"

            print(conn.add("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                          object_class=['top', 'inetOrgPerson', 'person', 'organizationalPerson',

                                        'smart-extends', 'customized-extends'],        #類型

                          attributes={'cn':"username%s" % (i), 'smart-type':"E1",

                                      'departmentNumber':"D1155073", 'mobile': j,

   櫻閉                                   'smart-status':1, 'mail': mail, 'telephoneNumber': j,

                                      'userPassword':"smart123"}))    #屬性

            i +=1

            j +=1

    def delete_user(self):     #刪除條目

        i =1

        conn =self.connect()

        while i <220000:

            print(conn.delete("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i)))

            i +=1

    def modify_user(self):      #修改條目 

        i =793123

        j =17300793123

        conn =self.connect()

        while i <1000000:

            conn.modify("uid=username%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                        {"objectClass": [(MODIFY_ADD, ['customized-extends', 'smart-extends'])]})

mail =str(j) +"@mail.com"

            a = conn.modify("uid=sidl%s,ou=Internal,ou=People,dc=bizenit,dc=com" % (i),

                            {"departmentNumber": [(MODIFY_ADD, ['D1155073'])], "smart-type": [(MODIFY_ADD, ["E1"])],

                            "telephoneNumber": [(MODIFY_ADD, [j])], "userPassword": [(MODIFY_ADD, ["smart123"])],

                            "smart-status": [(MODIFY_ADD, [1])], "mail": [(MODIFY_ADD, [mail])]})

        print(a)

        print(i)

        i +=1

        j +=1

    def modify_dn_user(self):    #移動條目

        i =1

        j =17300000001

        conn =self.connect()

        print(conn.modify_dn("uid=username%s,ou=People,dc=bizenit,dc=com" % (i), 'uid=username%s' % (i),

                            new_superior="ou=Internal,ou=People,dc=bizenit,dc=com"))

        i +=1

        j +=1

if __name__ =="__main__":

a = Connect_ldap()

a.add_user()

4. 如何執行python第三方包windows exe格式

python第三方包的windows安裝文件exe格式, 這上面有很多python第三方包的二進制安裝文件,包括32位和64位的。下載安裝就ok了!
這下面有很多python第三方包的二進制安裝文件,包括32位和64位的。下載安裝就ok了!

包括了mysqldb,ldap等。

Index by date:

fiona

scikit-image

netcdf4

mercurial

scikits.audiolab

numba

llvmpy

python-igraph

rpy2

numpy

opencv

zope.interface

sfepy

quantlib

gdal

imread

django

psychopy

cx_freeze

msgpack

regex

cellcognition

vigra

scikit-learn

pytables

h5py

blender-mathutils

htseq

bioformats

simplejson

pyzmq

mako

simpleitk

qimage2ndarray

ujson

vlfd

libsvm

liblinear

cgkit

scipy

distribute

noise

theano

pyalembic

openimageio

pyaudio

pymca

pyamg

pgmagick

lxml

steps

sqlalchemy

cffi

biopython

python-ldap

pycurl

nipy

nibabel

pygments

mahotas

py-postgresql

pyamf

planar

holopy

pyvisa

jcc

polymode

polygon

cython

pyropes

llist

shapely

vtk

pymongo

libpython

meshpy

pandas

umysql

epydoc

coverage

cheetah

pyrxp

pybluez

pythonmagick

bsdiff4

pymssql

pymol

boost.python

orange

requests

pywcs

python-sundials

pymix

pyminuit

pylzma

pyicu

assimulo

basemap

pygraphviz

pyproj

mpi4py

spyder

pytz

pyfits

mysql-python

pygame

pycparser

twisted

pil

qutip

openexr

nipype

python-snappy

visvis

docutils

pyhdf

pyqwt

kivy

scikits.umfpack

psycopg

ets

guiqwt

veusz

pyqt

pyside

dpmix

py-fcm

scikits.hydroclimpy

smc.freeimage

scipy-stack

ipython

nose

mxbase

numexpr

pyyaml

ode

virtualenv

aspell_python

tornado

pywavelets

bottleneck

networkx

statsmodels

pylibdeconv

pyhook

lmfit

slycot

ndimage

scikits.scattpy

cvxopt

pymc

pysparse

scikits.odes

matplotlib

vpython

pycuda

pyopencl

pymvpa

pythonnet

cld

mod_wsgi

nltk

python-levenshtein

rtree

pywin32

scientificpython

sympy

thrift

pyopengl-accelerate

mdp

pyopengl

gmpy

reportlab

natgrid

scikits.vectorplot

pyreadline

milk

blosc

pycogent

pip

gevent

scons

carray

python-dateutil

jinja2

markupsafe

jsonlib

pysfml

fonttools

silvercity

console

python-cjson

pycluster

cdecimal

pytst

autopy

sendkeys

ceodbc

fipy

psutil

pyephem

pycifrw

blist

line_profiler

pydbg

bitarray

pyglet

python-lzo

faulthandler

delny

pyexiv2

ilastik

twainmole

scitools

pyspharm

casuarius

pyodbc

greenlet

nitime

pylibtiff

mmtk

pycairo

pysqlite

curses

videocapture

bazaar

nlopt

trfit

libsbml

oursql

sphinx

cellprofiler

py2exe

re2

liblas

cgal-python

pymedia

ffnet

pyfftw

libxml-python

pyfltk

pymex

pymatlab

zodb3

mmlib

pygtk

pyserial

babel

scikits.ann

scikits.delaunay

numeric

pulp

nmoldyn

pymutt

iocbio

jpype

wxpython

pybox2d

dipy

mmseg

pynifti

scikits.samplerate

scikits.timeseries

vitables

quickfix

5. Nginx 結合Python Ldap認證用於Kibana許可權登陸

默認頁帆納面只寬轎棚能測試,這里需要大概改下才能使用
vim backend-sample-app.py
python backend-sample-app.py &
backend-sample-app.py其慎則中html=``````修改後如下

http://192.168.88.188:5601/

6. python egg怎麼安裝

一 setuptools 和easy_install

setuptools:setuptools 是一組由PEAK(Python Enterprise Application Kit)開發的
Python 的 distutils 工具的增強工具,可以讓程序員更方便的創建和發布
Python的egg 包,特別是那些對其它包具有依賴性的狀況。 由 setuptools 創建和發布的包看起來和基於 distutils
發布的包沒什麼不同。最終用戶不需要事先安裝 setuptools 甚至根本不需要知道 setuptools 的存在,而程序員也不需要附上完整的
setuptools,只需要包含一個大小約 8K 的ez_setup.py腳本作為啟動模塊,就可以在最終用戶沒有安裝適當版本的
setuptools 時讓這些包自動下載和安裝 setuptools。

easy_install:
常使用python的人員,當需要安裝第三方python包時,可能會用到easy_install命令。easy_install是由
PEAK(Python Enterprise Application Kit)開發的setuptools包里帶的一個命令,它用來自動地從http://pypi.python.org/simple/來安裝egg包,相當於perl中的cpan或PPM。

二 windows上安裝setuptool

方法1: exe安裝文件 從這里下載:setuptools-0.6c11.win32-py2.6.exe 安裝文件

如果以前曾經安裝舊版的setuptools,則在安裝之前需要將系統中的site-packages目錄(以及任何其他sys.path目錄)下的所有setuptools*.egg和setuptools.pth文件刪除。

如果之前也是使用.exe安裝程序安裝的setuptools,則安裝前要在「添加/刪除程序」中卸載舊的版本。

安裝完畢後,在Python的Scripts子目錄下就會出現easy_install.exe程序。 確保將這個目錄(例如 C:\Python26\Scripts)加入 PATH 環境變數。

方法2: 手工安裝

卸載舊版的方法同 1 相同。

下載ez_setup.py腳本, http://peak.telecommunity.com/dist/ez_setup.py 然後在命令行運行: python ez_setup.py

三 Linux上的setuptool的安裝

Debian/Ubuntu下可以直接使用apt安裝::
$ sudo apt-get install python-setuptools

手工安裝的話,有兩種方式:

通過引導程序 ez_setup.py 來安裝。這個引導程序會聯網下載最新版本setuptools來安裝,同時也可以更新本地的setuptools。
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py

更新setuptools::
$ sudo python ez_setup.py -U setuptools

或者下載setuptools的egg包來安裝。可以在 這里 查看最新版本下載。下載完畢以後通過sh安裝。
$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
$ sudo sh setuptools-0.6c11-py2.6.egg

四 easy_install的使用

1) 使用easy_install來自動安裝egg包

比如說要安裝Python的MYSQL支持,可以執行如下命令,系統會自動在pypi網站列表裡查找相關軟體包:easy_install MySQL-python。

通過easy_install安裝軟體,相關安裝信息會保存到easy-install.pth文件里,路徑類似如下形式:C:\Python25\Lib\site-packages\easy-install.pth。

如果想刪除通過easy_install安裝的軟體包,比如說:MySQL-python,可以執行命令:easy_install -m MySQL-python。

2)將egg安裝包下載到本地安裝

進入到安裝包的目錄,執行python setup.py install

3)如果easy_install安裝某模塊有錯的話,則可以自己到http://pypi.python.org/simple/python-ldap/下載,然後使用python setup.py install來安裝。

有的時候easy_install並不能夠很好地自動安裝,比如我安裝ldap:easy_install.exe python-ldap, easy_install應該到http://pypi.python.org/simple/python-ldap/下下載python-ldap-2.3.8.win32-py2.6.exe,但是easy_install卻找到了python-ldap 2.3.12,最總導致安裝有錯。(不知道是不是因為pypi上沒有64bit的egg,我的系統是64bit的,但是我的python是32bit的啊)

五 egg的製作

egg包是目前最流行的python應用打包部署方式。如何製作和安裝egg包?下面我就簡單的分析了一下。

總是安裝別人的egg包,是不是也想製作自己的egg包呢?好,接下來我們就自己製作一個簡單的egg包。

首先建立工程目錄egg-demo,初始化一個setup.py文件:
$ mkdir egg-demo
$ cd egg-demo
$ touch setup.py
$ ls
setup.py

下面主要就是填充setup.py。setup.py其實是python工具包distutils的配置文件,setuptools就是基於
distutils來做的。
在setup.py中通過setup函數來配置打包信息。首先要引入setuptools的函數setup。setuptools的setup其實就是
distutils的setup函數,填寫setup.py為以下內容:
$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-

from setuptools import setup

setup()

寫到這里,一個空的egg配置文件就寫好了。我們可以使用下面命令生成egg包:
$ python setup.py bdist_egg

下面看看究竟生成了什麼:
$ ls -F
build/ dist/ setup.py UNKNOWN.egg-info/

可以看到多了三個文件夾。而在dist文件夾下,有一個egg文件:UNKNOWN-0.0.0-py2.6.egg。

產蛋成功!先看看這個egg文件是什麼格式的:
$ file dist/UNKNOWN-0.0.0-py2.6.egg
dist/UNKNOWN-0.0.0-py2.6.egg: Zip archive data, at least v2.0 to extract

噢,原來就是一個zip壓縮包呀!好,再來看看內部構造:
$ unzip -l dist/UNKNOWN-0.0.0-py2.6.egg
Archive: dist/KNOWN-0.0.0-py2.6.egg
Length Date Time Name
--------- ---------- ----- ----
120 2010-12-06 17:04 EGG-INFO/SOURCES.txt
1 2010-12-06 17:04 EGG-INFO/top_level.txt
1 2010-12-06 17:04 EGG-INFO/zip-safe
1 2010-12-06 17:04 EGG-INFO/dependency_links.txt
227 2010-12-06 17:04 EGG-INFO/PKG-INFO
--------- -------
350 5 files

只有一個EGG-INFO文件夾,內含五個egg信息文件,沒了。

這個egg名稱未知,版本0.0.0。這是因為我們在setup里什麼也沒有設置。

顯然,這個egg什麼也不能做。

下面給它加點料。

在setup.py中,setup函數接收一系列屬性作為配置參數。

name name是egg包的名稱,也是尋找要打包的文件夾的名稱,默認是UNKNOWN。
version 版本號,默認0.0.0
packages 這里要用到setuptools的另一個函數find_packages,顧名思義,find_packages用來將指定目錄下的文件打包。
zip_safe 默認是False,這樣在每次生成egg包時都會檢查項目文件的內容,確保無誤。

還有一些描述性的屬性,如description,long_description,author,author_email,license,keywords,platform,url等。

填充setup.py文件如下::
$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-

from setuptools import setup, find_packages

setup(
name = "demo",
version="0.1.0",
packages = find_packages(),
zip_safe = False,

description = "egg test demo.",
long_description = "egg test demo, haha.",
author = "amoblin",
author_email = "[email protected]",

license = "GPL",
keywords = ("test", "egg"),
platforms = "Independant",
url = "",
)

在egg-demo目錄下建立和上述name名稱相同的目錄demo,demo目錄下寫__init__.py文件:
$ mkdir demo
$ cat demo/__init__.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-

def test():
print "Hello, I'm amoblin."

if __name__ == '__main__':
test()

再次生成egg包以後查看egg包信息:
$ python setup.py bdist_egg
$ unzip -l dist/demo-0.1.0-py2.6.egg
Archive: dist/demo-0.1.0-py2.6.egg
Length Date Time Name
--------- ---------- ----- ----
121 2010-12-06 17:30 demo/__init__.py
344 2010-12-06 17:46 demo/__init__.pyc
137 2010-12-06 17:46 EGG-INFO/SOURCES.txt
5 2010-12-06 17:46 EGG-INFO/top_level.txt
1 2010-12-06 17:46 EGG-INFO/zip-safe
1 2010-12-06 17:46 EGG-INFO/dependency_links.txt
227 2010-12-06 17:46 EGG-INFO/PKG-INFO
--------- -------
836 7 files

可以看到,多了一個文件夾demo,裡面有我們寫的__init__.py。

奉行敏捷原則,先安裝了體驗一下再說:
$ sudo python setup.py install
running install
install_dir /usr/local/lib/python2.6/dist-packages/
...
creating /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Extracting demo-0.1.0-py2.6.egg to /usr/local/lib/python2.6/dist-packages
demo 0.1.0 is already the active version in easy-install.pth

Installed /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Processing dependencies for demo==0.1.0
Finished processing dependencies for demo==0.1.0

OK!安裝完畢!接下來我們就可以直接通過import來使用啦!
$ python -c "from demo import test;test()"
Hello, I'm amoblin.

成功輸出!這說明安裝正確。我們的一個egg包誕生了。

一般情況下,我們的源程序都放在src目錄下,所以接下來將demo文件夾移動到src里。但這樣也要修改setup.py文件,修改find_packages函數中參數為』src』,同時增加package_dir參數:
packages=find_packages('src'),
package_dir = {'':'src'}

這樣告訴setuptools在src目錄下找包,而不是原來默認的工程根目錄。

最後我們來手動的卸載以下剛才安裝的egg文件,以python2.6版本為例,egg文件一般安裝在/usr/local/lib
/python2.6/dist-packages/目錄下,該目錄下還有一個easy-install.pth文件,用於存放安裝的egg信息。:
$ cd /usr/local/lib/python2.6/dist-packages
$ cat easy-install.pth|grep demo
./demo-0.1.0-py2.6.egg
$ ls -F|grep demo
demo-0.1.0-py2.6.egg/

卸載egg文件很簡單,首先將包含此egg的行從easy-install.pth中刪除,然後刪除egg文件夾即可。

7. 有人用python寫過ldap的登錄和修改密碼

你說的是AD域賬號吧?先安裝lpda3的庫

在cmd命令行下運行:

pin install ldap3

然後開始寫python腳本

fromldap3import*

user="CN=visitor02 ,OU=level1,DC=hello,DC=com,DC=cn" # 定義你要給誰改密碼

admin='xxxxxx' #xxxx換成你域控的管理員賬號如helloadministrator, hello是域名

adminpwd = 'xxxx' #域控的管理員密碼

s=Server('10.10.xx.xx',get_info=ALL,use_ssl=True) #10.10.xx.xx換成你域控的IP地址,這條是定義域伺服器信息

c=Connection(s,user=admin,password=adminpwd,auto_bind=True) #登錄域伺服器

print(c.extend.microsoft.modify_password(user,"123456")) #這行就是改密碼。如果print出true,就是成功了。如果false,再在下面加一條

print(c.response) #會顯示為什麼失敗。

如果想了解更多的python ldap3庫,可以看這個鏈接網頁鏈接

8. 新手做linux運維需要學哪些知識

1、Linux系統基礎

嚴格的來講,Linux 不算是一個操作系統,只是一個 Linux 系統中的內核,即計算機軟體與硬體通訊之間的平台;Linux的全稱是GNU/Linux,這才算是一個真正意義上的Linux系統。GNU是Richard Stallman組織的一個項目,世界各地的程序員可以變形GNU程序,同時遵循GPL協議,允許任何人任意改動。但是,修改後的程序必須遵循GPL協議。

Linux 是一個多用戶多任務的操作系統,也是一款自由軟體,完全兼容POSIX標准,擁有良好的用戶界面,支持多種處理器架構,移植方便。

為程序分配系統資源,處理計算機內部細節的軟體叫做操作系統或者內核。如果你希望詳細了解操作系統的概念,請查看操作系統教程。

用戶通過Shell與Linux內核交互。Shell是一個命令行解釋工具(是一個軟體),它將用戶輸入的命令轉換為內核能夠理解的語言(命令)。

2、網路服務

服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行。

其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些模塊要熟悉一下他的作用,特別是PHP那些模塊。

這面2點只是基礎,也是必要條件,不能說是工具,下以才是真正的要掌握的工具。

3、shell腳本和另一個腳本語言

shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,內存比率的腳本吧,這是最最最基本了。別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義。

Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行 。

實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。

Linux提供了像MicrosoftWindows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多桌面環境系統,其操作就像Windows一樣,有窗口、圖標和菜單,所有的管理都是通過滑鼠控制。GNOME。

每個Linux系統的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。

同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell:

  • Bourne Shell:是貝爾實驗室開發的。

  • BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell。

  • Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。

  • C Shell:是SUN公司Shell的BSD版本。

  • Z Shell:The last shell you』ll ever need! Z是最後一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨有的特性。

  • 而另一個腳本語言是可選的,一般是3P,即Python,Perl和PHP,PHP就不需要考慮了,除非你要做開發,我個人建議學Python會比較好,不難實現自動化運維,Perl是文本處理很強大,反正這兩個學一個就行了。

    4、sed和awk工具

    必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式,這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾WEB內容時十分有用,不過在學shell的同時一般會經常結合用到的,所以學第3點就會順便學第4點。

    5、文本處理命令

    sort , tr , cut, paste, uniq, tee等,必學,也是結合第3點時一並學習的。

    6、資料庫

    首選MySQL,別問我為什麼不學SQL Server和Oracle,因為Linux用得最多絕對是MySQL。增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。

    MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。

    MySQL是一種關系資料庫管理系統,關系資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

    MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。

    由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。

    7、防火牆

    不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則。如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而Filter表用得最多,反正不學就肯定不合格。

    8、監控工具

    十分十分重要,我個人建議,最好學這3個,cacti,nagios,zabbix。企業用得最多應該是nagios和zabbix,反正都學吧,但nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。

    Zabbix是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案。

    Zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

    Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。

    Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好。軟體 Cacti 的發展是基於讓 RRDTool 使用者更方便使用該軟體,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。

    9、集群和熱備

    這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰。集群工具有很多,最好學是LVS,這是必學,最好也學學nginx集群,反向代理。還有熱備,這個就更多工具能實現了,像我公司是自己開發熱備工具的,MySQL熱備也要學,就是主從復制,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。

    10、數據備份

    不學不行,工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, mp, rsync等,最好多了解一下。

熱點內容
java微信公眾號開發 發布:2024-11-02 04:35:29 瀏覽:586
php對象轉為數組 發布:2024-11-02 04:33:45 瀏覽:719
阿里雲啟動伺服器 發布:2024-11-02 04:31:51 瀏覽:110
數控編譯錯誤802怎麼解決 發布:2024-11-02 04:31:42 瀏覽:320
linux如何安裝驅動 發布:2024-11-02 04:30:18 瀏覽:490
雲伺服器項目實施方案 發布:2024-11-02 04:26:00 瀏覽:246
寫入存儲 發布:2024-11-02 04:20:21 瀏覽:30
JavaString替換 發布:2024-11-02 04:14:29 瀏覽:560
百度查詢腳本 發布:2024-11-02 04:14:22 瀏覽:99
陰陽師ios如何登錄安卓 發布:2024-11-02 04:03:03 瀏覽:708