歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux服務 >> Linux服務器開發工具

Linux服務器開發工具

日期:2017/2/27 16:01:53   编辑:Linux服務
論你使用的機器是 Windows、Linux 還是 MacOS,都可以使用工具遠程登錄到 Linux 服務器上去。在此我們通常使用 SSH 協議(包括 SSH-1 和 SSH-2 兩個版本,它們之間不相兼容,建議使用 SSH-2),SSH 協議是一個用於安全數據通信的協議(相比下 FTP、Telnet 本質上是不安全的)。一些 Linux 發行版會預裝 SSH Server,有了 SSH Server 我們就可以通過 SSH Client 使用遠程服務器上的 Shell 服務。常見的 SSH Client 有(這裡我使用的是 Windows 機器):
  1. SecureCRT
  2. PuTTY

通過 SecureCRT(這裡使用的是 SecureCRT 7.0.1)連接到 SSH Server: Linux服務器開發工具
SecureCRT 的關鍵配置:
  1. 終端模擬配置,Option -> Session Options -> Terminal -> Emulation 處,選擇 Terminal 為 Linux 並且勾選 ANSI Color。這裡選擇了需要模擬的終端為 Xterm,勾選 ANSI Color 表示使用 ANSI 調色板(ANSI Color Palette)
  2. SFTP(後面馬上會談到 SFTP)本地目錄配置,Option -> Session Options -> Connection -> SSH2 -> SFTP Session 處可以填寫本地目錄(Local directory)
  3. Option -> Session Options -> Terminal -> Appearance -> Character encoding 處可以選擇字符編碼,這裡需要選擇和 Linux 服務器相匹配的編碼方式。Linux 中可以通過命令 locale 查看使用的語言和編碼

SecureCRT 常用的快捷鍵如下:
  1. Alt+B 用於在一個新的 Tab 中打開一個新的 Session
  2. Alt+P 用於在一個新的 Tab 中打開一個新的 SFTP Session
  3. Ctrl+F4 用於關閉當前 Tab
  4. Shift+Insert 用於粘貼

可以使用 Shell 之後,我們還面臨的一個問題就是如何把本地的文件上傳自 Linux 服務器,這裡我們使用 SFTP(SSH file transfer)。在 SecureCRT 中 File -> Connect SFTP Session(或者使用快捷鍵 Ctrl+F4)打開 SFTP Session,常用的 SFTP 命令如下: 1. help 命令用於獲取幫助信息

2. 工作目錄相關命令
pwd — 查看遠程 Linux 服務器的工作目錄
lpwd — 查看本地工作目錄
cd — 修改遠程 Linux 服務器的工作目錄
lcd — 修改本地工作目錄
ls — 列出遠程 Linux 服務器的工作目錄中的文件
lls — 列出本地工作目錄中的文件
這裡的 l 含義為 Local
3. put命令用於上傳文件或者文件夾到 Linux 服務器。常見用法:
put -r dir
put file
第一條命令用於遞歸的上傳本地目錄 dir 到遠程 Linux 服務器的工作目錄下
第二條命令用於上傳本地文件 file 到遠程 Linux 服務器的工作目錄下

4. get命令用於下載文件或者文件夾到本地。常見用法:
get -r dir
get file

第一條命令用於遞歸的下載目錄 dir 到本地工作目錄下
第二條命令用於下載文件 file 到本地工作目錄下

有了 SSH Client,我們就可以執行 Shell 命令,上傳下載文件和文件夾了。

代碼編輯工具
編輯代碼的工具很多,也有各種不同的做法。一種常見的代碼編輯的方式是使用 SSH Client 在遠程 Linux 服務器上使用 Vim 或者 Emacs 進行代碼編輯。Vim 的基本用法可以參考以下兩篇文章:
http://name5566.com/3400.html
http://name5566.com/3402.html
Vim 的基本的配置可以參考:
http://code.google.com/p/name5566-vim-config/

代碼構建工具
代碼構建工具很多,常見的有 make、automake、cmake 等等。讀者可以參考雲風的關於 make 的相關文章:
http://blog.codingnow.com/2008/09/replacement_of_ide_1.html
http://blog.codingnow.com/2008/09/replacement_of_ide_2.html
http://blog.codingnow.com/2008/09/replacement_of_ide_3.html
http://blog.codingnow.com/2008/09/replacement_of_ide_4.html
http://blog.codingnow.com/2008/09/replacement_of_ide_5.html
http://blog.codingnow.com/2008/09/replacement_of_ide_6.html

代碼調試工具
一般來說使用 gdb 進行調試,http://name5566.com/4018.html 一文介紹了一些基本的命令來滿足我們在調試上的基本需要。

版本控制工具
在版本控制工具上,我們常見的主要是 Subversion(SVN)和 git,而後者似乎更加被 Linux 用戶所喜愛。這裡主要談一下 SVN 的基本使用。
svn命令的用法:
svn <subcommand> [options] [args] 

常用的 subcommand 如下:

help
用法:svn help [subcommand...]
說明:用於獲取一個或者多個 subcommand 的幫助信息
范例:svn help co
co(checkout)
用法:svn co URL [PATH]
說明:用於從版本庫中簽出工作副本到 PATH 目錄下
范例:svn co https://name5566-vim-bookmark.googlecode.com/svn/trunk/ name5566-vim-bookmark
up(update)
用法:svn up [PATH...]
說明:用於將版本庫的修改合並到工作副本中
范例:svn up
ci(commit)
用法:svn ci [PATH...]
說明:用於把工作副本的修改提交到版本庫中,通常情況下,我們會和 -m 選項一起使用此子命令,-m 選項用於指定日志信息
范例:svn ci -m “增加了新的 XXX 特性”
st(status)
用法:svn st [PATH...]
說明:用於顯示工作副本中文件和目錄的狀態,常常用於檢測哪一些文件尚未處於版本控制中
范例:svn st
add
用法:svn add [PAHT...]
說明:用於把文件和目錄納入版本控制
范例:svn add file.txt
rm
用法:
svn rm PATH
svn rm URL
說明:可以用於把文件和目錄從版本庫中刪除,rm 子命令後可以接上 URL,用於立即從版本庫中刪除指定項目
范例:svn rm file.txt

我們可以設置 vimdiff 為 subversion 的 diff 工具。首先創建一個 Shell 腳本(來源於 http://svnbook.red-bean.com/en/1.4/svn.advanced.externaldifftools.html):
#!/bin/bash
 
# Configure your favorite diff program here.
DIFF="/usr/bin/vimdiff"
 
# Subversion provides the paths we need as the sixth and seventh
# parameters.
LEFT=${6}
RIGHT=${7}
 
# Call the diff command (change the following line to make sense for
# your merge program).
$DIFF $LEFT $RIGHT
 
# Return an errorcode of 0 if no differences were detected, 1 if some were.
# Any other errorcode will be treated as fatal.

注意修改此 Shell 腳本的權限(u+x)。然後修改 $HOME/.subversion/config 文件:
[helpers]
diff-cmd = diff.sh

這裡的 diff.sh 為前面所述的 Shell 腳本的路徑名。

常用命令
這裡主要介紹一下 Linux 下常用命令的一些最常見用法,實際上,很多命令遠比你想象強大,這裡並不做詳述。
1. grep 是 Linux 最常用的命令之一,其能夠用於檢索文件或者標准輸出中的行,其用法如下:
grep [options] PATTERN [FILE...] 

很多命令可能會輸出大量信息而其中僅僅一小部分是我們關心的,這時候 grep 是過濾信息的利器,例如:
ls 命令用於顯示目錄中的內容:
$ ls -l
-rw-r--r-- 1 name5566 name5566 0 Nov 2 19:22 file1
-rw-r--r-- 1 name5566 name5566 0 Nov 2 19:22 file2
drwxr-xr-x 29 name5566 name5566 4096 Oct 31 17:07 src
drwxr-xr-x 2 name5566 name5566 4096 Oct 31 16:58 test 

假如我們只希望顯示目錄,可以這麼使用:
$ ls -l | grep ^d
drwxr-xr-x 29 name5566 name5566 4096 Oct 31 17:07 src
drwxr-xr-x 2 name5566 name5566 4096 Oct 31 16:58 test

這裡的 pattern ^d 含義為行首為 d。再如這樣的用法:
$ ls | grep -i file1
用於判斷當前目錄下是否存在 file1,這裡的 -i 選項表示匹配時忽略大小寫。

2. find 命令用於通過文件名去尋找文件(grep 命令主要用於在文件中查找信息),常見用法如下:
$ find . -name file1

用於在當前目錄及子目錄下查找名字為 file1 的文件。要注意的是,file1 必須是一個完整的文件名而不能是文件名的一部分

3. ps命令用於顯示當前進程的快照,常用的選項如下:
# 查看系統上的所有進程(e 的含義為 every)
ps -e
# 輸出時使用 full 格式列表(f 的含義為 full)
ps -ef
# 輸出時使用 long 格式列表(l 的含義為 long)
ps -el
# 輸出 effective user 為 name 的進程
ps -u name
# 使用 full 格式列表
ps -fu name

4. kill和killall 命令用於發送一個信號到一個進程。如果不指定發送的信號則發送 SIGTERM。用法如下:
# 向進程 ID 為 pid 的進程發送 SIGTERM 信號
kill pid
# 向名稱為 name 的所有進程發送 SIGTERM 信號
killall name

5. 作業控制

系統基本的配置
  1. 服務的啟動、停止、檢查
  2. 環境變量

數據庫
在數據庫方面 MySQL 仍然有自己大量的用戶。常見的任務:
  1. 創建用戶
  2. 數據的導出和導入
  3. SQL
Copyright © Linux教程網 All Rights Reserved