---- 下載 ant & 解壓縮
http://ant.apache.org
---- 修改目錄為ant
---- 來到自己的目錄
$ cd ~
---- 顯示目前路徑 (# /Users/bruce)
$ pwd
---- 搬移ant至此
---- 寫入path
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/roo:/Users/Bruce/ant/bin
---- 檢視ant版本
$ ant -version
2015/01/27
mac OS 安裝HomeBrew
---- 安裝homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install wget
Homebrew 會將 packages 安裝在他們自己的目錄,然後把檔案symlink 到 /usr/local下。
$ cd /usr/local
$ find Cellar
Cellar/wget/1.15
Cellar/wget/1.15/bin/wget
Cellar/wget/1.15/share/man/man1/wget.1
$ ls -l bin
bin/wget -> ../Cellar/wget/1.15/bin/wget
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install wget
Homebrew 會將 packages 安裝在他們自己的目錄,然後把檔案symlink 到 /usr/local下。
$ cd /usr/local
$ find Cellar
Cellar/wget/1.15
Cellar/wget/1.15/bin/wget
Cellar/wget/1.15/share/man/man1/wget.1
$ ls -l bin
bin/wget -> ../Cellar/wget/1.15/bin/wget
使用Ubuntu寫C++
---- 首先要先確定該有的套件都有了
我們需要安裝build-essential,以及編譯器g++
在終端機輸入以下這個指令安裝吧
$ sudo apt-get install g++ build-essential
---- 記得用g++的時候請在程式的最後按Enter多留一行空白行,不然會編譯時會顯示錯誤訊息:「檔案未以空白列結束(no newline at end of file)」
---- 程式寫好存成.cpp檔,接著就可以開始編譯了,例如我們把檔案存在
/home/a108210/cpp/
檔名叫
hello.cpp
那個hello world是因為示範用的程式碼是像這樣的:
#include
using namespace std;
int main()
{
cout << "hello world\n"; return 0;
}
那我們打開終端機,輸入
$ sudo g++ /home/a108210/cpp/hello.cpp -o /home/a108210/cpp/hello.out -Wall
這個指令可以拆開來看
g++ /home/a108210/cpp/hello.cpp -o /home/a108210/cpp/hello.out -Wall
g++:這是編譯器compiler
/home/a108210/cpp/hello.cpp:這是cpp檔案所在位置
-o /home/a108210/cpp/hello.out:-o參數後面接的就是要輸出的檔案的位置+名稱,如你所見這邊是/home/a108210/cpp/hello.out
-Wall:加這個的目的是讓他把所有的警告訊息都顯示出來,免得他覺得不重要的訊息就自動隱藏了
接下來你就會看到檔案hello.out已經編譯好熱騰騰的躺在/home/a108210/cpp/裏面了
---- 接下來我們切換到檔案所在的位置,在終端機輸入:
$ cd /home/a108210/cpp/
---- 執行程式吧,輸入:
$ sudo ./hello.out
cocos2d-x-3.2alpha 如何在Console下創建新工程
---- 在cocos2d-x-3.2alpha0\運行python命令
$ python setup.py
//它的作用是將下面這些路徑加入到你的使用者環境變數中,當然你也可以不添加
COCOS_CONSOLE_ROOT = 'COCOS_CONSOLE_ROOT'
NDK_ROOT = 'NDK_ROOT'
ANDROID_SDK_ROOT = 'ANDROID_SDK_ROOT'
ANT_ROOT = 'ANT_ROOT'
//如果你已經將COCOS_CONSOLE_ROOT = "COCOS_CONSOLE_ROOT'加入到了你的環境變數中,也就是說你運行了setup.py
---- .那麼直接運行下面命令 (cocos在cocos2d-x-3.2alpha0\tools\cocos2d-console\bin下)
$ cocos new MyGame -p com.comebest.MyGame -l cpp -d C:\Users\Admin\Documents\Cocos\CocosProjects
說明:
MyGame:name of your project
-p com.MyCompany.MyGame:package name for android
-l cpp:programming language used for the project, valid value is cppand lua
-d e:/MyCompany:directory to hold your project
$ python setup.py
//它的作用是將下面這些路徑加入到你的使用者環境變數中,當然你也可以不添加
COCOS_CONSOLE_ROOT = 'COCOS_CONSOLE_ROOT'
NDK_ROOT = 'NDK_ROOT'
ANDROID_SDK_ROOT = 'ANDROID_SDK_ROOT'
ANT_ROOT = 'ANT_ROOT'
//如果你已經將COCOS_CONSOLE_ROOT = "COCOS_CONSOLE_ROOT'加入到了你的環境變數中,也就是說你運行了setup.py
---- .那麼直接運行下面命令 (cocos在cocos2d-x-3.2alpha0\tools\cocos2d-console\bin下)
$ cocos new MyGame -p com.comebest.MyGame -l cpp -d C:\Users\Admin\Documents\Cocos\CocosProjects
說明:
MyGame:name of your project
-p com.MyCompany.MyGame:package name for android
-l cpp:programming language used for the project, valid value is cppand lua
-d e:/MyCompany:directory to hold your project
linux中發生.bash的command error (ls .... 等)
當你開啟終端機,下了命令ls .... 等,都得到command error,代表路徑設定錯誤!
$ sudo vim .bash_profile
vi 環境下:
export PATH={PATH}:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# Setting PATH for Python 2.7 & ant
# The orginal version is saved in .bash_profile.pysave
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:Users/Bruce/ant/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
使用 netstat 檢查不尋常連線
netstat:
是一個十分好用的網絡管理工具,而其中一個用途是查看不尋常連線,例如當一個 IP 發送大量連線到伺服器,那麼伺服器很大機會是否遭受 DoS 或 DDoS 攻擊。
以下是一些實用的 netstat 語法,可以檢查主機的連線數量:
$ netstat -na
顯示主機上所有已建立的連線。
$ netstat -an | grep :80 | sort
顯示所有 port 80 的連線,並把結果排序。
$ netstat -n -p|grep SYN_REC | wc -l
列出主機上有多少個 SYNC_REC,一般上這個數字應該相當低。
$ netstat -n -p | grep SYN_REC | sort -u
同樣是列出 SYNC_REC,但不只列出數字,而是將每個 SYNC_REC 的連線列出。
$ netstat -n -p | grep SYN_REC | awk ‘{print
$5}’ | awk -F: ‘{print $1}’
列出發送 SYNC_REC 的所有 ip 位址。
$ netstat -ntu | awk ‘{print $5}’ | cut -d:
-f1 | sort | uniq -c | sort -n
計算每一個 ip 在主機上建立的連線數量。
$ netstat -anp |grep ‘tcp|udp’ | awk ‘{print
$5}’ | cut -d: -f1 | sort | uniq -c | sort -n
列出從 TCP 或 UDP 連線到主機的 ip 的數量。
$ netstat -ntu | grep ESTAB | awk ‘{print $5}’
| cut -d: -f1 | sort | uniq -c | sort -nr
列出每個 ip 建立的
ESTABLISHED 連線數量。
$ netstat -plan|grep :80|awk {‘print $5′}|cut -d: -f 1|sort|uniq -c|sort -nk 1
列出每個 ip 建立的 port 80 連線數量。
Ubuntu常用命令與技巧
$ sudo tasksel 使用tasksel 開始安裝
$ sudo nautilus 打開文件(有root權限)
$ su root 切換到“root”
$ ls 列出當前目錄文件(不包括隱含文件)
$ ls -a 列出當前目錄文件(包括隱含文件)
$ ls -l 列出當前目錄下文件的詳細資訊
$ cd .. 回當前目錄的上一級目錄
$ cd - 回上一次所在的目錄
$ cd ~ 或 cd 回當前使用者的宿主目錄
$ mkdir 目錄名 創建一個目錄
$ rmdir 空目錄名 刪除一個空目錄
$ rm 文件名 文件名 刪除一個文件或多個文件
$ rm -rf 非空目錄名 刪除一個非空目錄下的一切
$ mv 路經/文件 /經/文件 移動相對路經下的文件到絕對路經下
$ mv 文件名 新名稱 在當前目錄下改名
$ find 路經 -name “字符串” 搜尋路經所在範圍內滿足字符串匹配的文件和目錄
$ chown chown root /home 把/home的屬主改成root使用者
$ chgrp chgrp root /home 把/home的屬組改成root組
$ Useradd 創建一個新的使用者
$ Groupadd 組名 創建一個新的組
$ Passwd 使用者名 為使用者創建密碼
$ Passwd -d使用者名 刪除使用者密碼也能登陸
$ Passwd -S使用者名 查詢賬號密碼
$ Usermod -l 新使用者名 老使用者名 為使用者改名
$ Userdel–r 使用者名 刪除使用者一切
$ tar -c 創建包 –x 釋放包 -v 顯示命令過程 –z 代表壓縮包
$ tar –cvf benet.tar /home/benet 把/home/benet目錄打包
$ tar –zcvf benet.tar.gz /mnt 把目錄打包並壓縮
$ tar –zxvf benet.tar.gz 壓縮包的文件解壓恢復
$ tar –jxvf benet.tar.bz2 解壓縮
$ make 編譯
$ make install 安裝編譯好的源碼包
$ reboot Init 6 重啟LINUX系統
$ Halt Init 0 Shutdown –h now 關閉LINUX系統
$ cat /etc/issue 查看ubuntu版本
$ lsusb 查看usb設備
$ sudo ethtool eth0 查看網卡狀態
$ cat /proc/cpuinfo 查看cpu資訊
$ lshw 查看當前硬體資訊
$ df -h 查看硬碟剩余空間
$ free -m 查看當前的記憶體使用情況
$ ps -A 查看當前有哪些進程
$ kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程)
$ kill -9 進程號 強制殺死一個進程
常用apt命令:
$ sudo apt-get install 軟體名 安裝軟體命令
$ sudo apt-get install package 安裝包
$ sudo apt-get install package - - reinstall 重新安裝包
$ sudo apt-get -f install 修復安裝”-f = –fix-missing”
$ sudo apt-get remove package 刪除包
$ sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
$ sudo apt-get update 更新源
$ sudo apt-get upgrade 更新已安裝的包
$ sudo apt-get dist-upgrade 昇級系統
$ sudo apt-get dselect-upgrade 使用 dselect 昇級
$ sudo apt-cache depends package 了解使用依賴
$ sudo apt-cache rdepends package 是查看該包被哪些包依賴
$ sudo apt-get build-dep package 安裝相關的編譯環境
$ sudo apt-get source package 下載該包的源代碼
$ sudo apt-get clean && sudo apt-get autoclean 清理無用的包
$ sudo apt-get check 檢查是否有損坏的依賴
$ sudo apt-get clean 清理所有軟體緩存(即緩存在/var/cache/apt/archives目錄里的deb包 )
$ sudo apt-get autoremove 刪除系統不再使用的孤立軟體
使用 apt-get 指令移除軟體並清理遺留的垃圾:
在 Ubuntu 下移除某個軟體套件,使用的指令是 apt-get remove,例如:
$ sudo apt-get remove texlive-full
但由於先前安裝此套件,會一併自動安裝相依套件(dependencies),所以需要再用 autoremove 清理。
$ sudo apt-get autoremove
或是在 remove 時加參數:
$ sudo apt-get remove --auto-remove
但是這樣還不夠乾淨,因為預設的 remove 行為,會保留一些設定檔之類的遺物。所以需要用 purge 的方式移除。針對單一套件使用 purge 方式徹底移除:
$ sudo apt-get purge texlive-full
或
$ sudo apt-get remove --purge texlive-full
在使用 autoremove 時可以加上 --purge 參數,同時徹底移除套件。
$ sudo apt-get autoremove --purge
對於先前用 autoremove 或 remove 或其它方式移除,但還沒經過 purge 徹底移除的套件,使用 dpkg 指令可以列出清單:
$ dpkg -l | grep ^rc
其中 ^rc 代表行首以 rc 標示開頭,這是只有 remove 沒有 purge 的意思。
要批次移除這些被標為 rc 的套件,可以配合 grep + awk 指令。
$ dpkg -l | grep ^rc | awk '{ print $2 }'
指令組合後即可批次徹底移除這些殘留套件。
$ sudo apt-get purge `dpkg -l | grep ^rc | awk '{ print $2 }'`
如此,就可以讓系統稍微乾淨一點!
$ sudo nautilus 打開文件(有root權限)
$ su root 切換到“root”
$ ls 列出當前目錄文件(不包括隱含文件)
$ ls -a 列出當前目錄文件(包括隱含文件)
$ ls -l 列出當前目錄下文件的詳細資訊
$ cd .. 回當前目錄的上一級目錄
$ cd - 回上一次所在的目錄
$ cd ~ 或 cd 回當前使用者的宿主目錄
$ mkdir 目錄名 創建一個目錄
$ rmdir 空目錄名 刪除一個空目錄
$ rm 文件名 文件名 刪除一個文件或多個文件
$ rm -rf 非空目錄名 刪除一個非空目錄下的一切
$ mv 路經/文件 /經/文件 移動相對路經下的文件到絕對路經下
$ mv 文件名 新名稱 在當前目錄下改名
$ find 路經 -name “字符串” 搜尋路經所在範圍內滿足字符串匹配的文件和目錄
$ chown chown root /home 把/home的屬主改成root使用者
$ chgrp chgrp root /home 把/home的屬組改成root組
$ Useradd 創建一個新的使用者
$ Groupadd 組名 創建一個新的組
$ Passwd 使用者名 為使用者創建密碼
$ Passwd -d使用者名 刪除使用者密碼也能登陸
$ Passwd -S使用者名 查詢賬號密碼
$ Usermod -l 新使用者名 老使用者名 為使用者改名
$ Userdel–r 使用者名 刪除使用者一切
$ tar -c 創建包 –x 釋放包 -v 顯示命令過程 –z 代表壓縮包
$ tar –cvf benet.tar /home/benet 把/home/benet目錄打包
$ tar –zcvf benet.tar.gz /mnt 把目錄打包並壓縮
$ tar –zxvf benet.tar.gz 壓縮包的文件解壓恢復
$ tar –jxvf benet.tar.bz2 解壓縮
$ make 編譯
$ make install 安裝編譯好的源碼包
$ reboot Init 6 重啟LINUX系統
$ Halt Init 0 Shutdown –h now 關閉LINUX系統
$ cat /etc/issue 查看ubuntu版本
$ lsusb 查看usb設備
$ sudo ethtool eth0 查看網卡狀態
$ cat /proc/cpuinfo 查看cpu資訊
$ lshw 查看當前硬體資訊
$ df -h 查看硬碟剩余空間
$ free -m 查看當前的記憶體使用情況
$ ps -A 查看當前有哪些進程
$ kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程)
$ kill -9 進程號 強制殺死一個進程
常用apt命令:
$ sudo apt-get install 軟體名 安裝軟體命令
$ sudo apt-cache search package 搜索包
$ sudo apt-cache show package 獲取包的相關資訊,如說明、大小、版本等$ sudo apt-get install package 安裝包
$ sudo apt-get install package - - reinstall 重新安裝包
$ sudo apt-get -f install 修復安裝”-f = –fix-missing”
$ sudo apt-get remove package 刪除包
$ sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
$ sudo apt-get update 更新源
$ sudo apt-get upgrade 更新已安裝的包
$ sudo apt-get dist-upgrade 昇級系統
$ sudo apt-get dselect-upgrade 使用 dselect 昇級
$ sudo apt-cache depends package 了解使用依賴
$ sudo apt-cache rdepends package 是查看該包被哪些包依賴
$ sudo apt-get build-dep package 安裝相關的編譯環境
$ sudo apt-get source package 下載該包的源代碼
$ sudo apt-get clean && sudo apt-get autoclean 清理無用的包
$ sudo apt-get check 檢查是否有損坏的依賴
$ sudo apt-get clean 清理所有軟體緩存(即緩存在/var/cache/apt/archives目錄里的deb包 )
$ sudo apt-get autoremove 刪除系統不再使用的孤立軟體
使用 apt-get 指令移除軟體並清理遺留的垃圾:
在 Ubuntu 下移除某個軟體套件,使用的指令是 apt-get remove,例如:
$ sudo apt-get remove texlive-full
但由於先前安裝此套件,會一併自動安裝相依套件(dependencies),所以需要再用 autoremove 清理。
$ sudo apt-get autoremove
或是在 remove 時加參數:
$ sudo apt-get remove --auto-remove
但是這樣還不夠乾淨,因為預設的 remove 行為,會保留一些設定檔之類的遺物。所以需要用 purge 的方式移除。針對單一套件使用 purge 方式徹底移除:
$ sudo apt-get purge texlive-full
或
$ sudo apt-get remove --purge texlive-full
在使用 autoremove 時可以加上 --purge 參數,同時徹底移除套件。
$ sudo apt-get autoremove --purge
對於先前用 autoremove 或 remove 或其它方式移除,但還沒經過 purge 徹底移除的套件,使用 dpkg 指令可以列出清單:
$ dpkg -l | grep ^rc
其中 ^rc 代表行首以 rc 標示開頭,這是只有 remove 沒有 purge 的意思。
要批次移除這些被標為 rc 的套件,可以配合 grep + awk 指令。
$ dpkg -l | grep ^rc | awk '{ print $2 }'
指令組合後即可批次徹底移除這些殘留套件。
$ sudo apt-get purge `dpkg -l | grep ^rc | awk '{ print $2 }'`
如此,就可以讓系統稍微乾淨一點!
在AWS下Ubuntu安裝mysql
---- 安裝mysql
$ sudo apt-get install mysql-server
mysql-client
---- 進入mysql console
$ sudo mysql -u root -p
---- 修改MySQL的設定檔my.cnf(windows 下為 my.ini)來進行一些設置的時候,修改完之後我們需要重啟MySQL。
my.cnf檔位置為:/ect/mysql/my.cnf
Waring:如果該檔配置錯誤,MySQL將無法啟動。
---- 三種方式對MySQL進行啟動/停止/重啟操作:
啟動mysql:
方式一:sudo /etc/init.d/mysql start
方式二:sudo start mysql
方式三:sudo service mysql start
停止mysql:
方式一:sudo /etc/init.d/mysql stop
方式二:sudo stop mysql
方式san:sudo service mysql
stop
重啟mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo restart mysql
方式三:sudo service mysql restart
在AWS下Ubuntu安裝Apache2 伺服器
---- 安裝 Apache2 伺服器
$ sudo apt-get install apache2
---- 配置 Apache2 伺服器
$ sudo vim /etc/apache2/sites-enabled/000-default.conf
找到 DocumentRoot 與 ScriptAlias 並修改如下:
(註:這兩個目錄可自己設定,但一定要存在)
# 指定放 HTML 文件的目錄
DocumentRoot /var/www
# 指定 /cgi-bin/ 連接到 /var/www/html/cgi-bin/
# 也就是在這個目錄中的檔均被認作是 CGI 程式。
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
---- 重新啟動 Apache2 伺服器
$ sudo /etc/init.d/apache2 restart
$ sudo apt-get install apache2
---- 配置 Apache2 伺服器
$ sudo vim /etc/apache2/sites-enabled/000-default.conf
找到 DocumentRoot 與 ScriptAlias 並修改如下:
(註:這兩個目錄可自己設定,但一定要存在)
# 指定放 HTML 文件的目錄
DocumentRoot /var/www
# 指定 /cgi-bin/ 連接到 /var/www/html/cgi-bin/
# 也就是在這個目錄中的檔均被認作是 CGI 程式。
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
---- 重新啟動 Apache2 伺服器
$ sudo /etc/init.d/apache2 restart
訂閱:
文章 (Atom)










