iOS開發(fā)之命令行的魅力

iOS開發(fā)之命令行的魅力

命令行使用及安裝

作為一個iOS開發(fā)者,命令行是我們必須使用的,下面我就簡單介紹下命令行的魅力吧!第一次寫博客,還是有點小激動 的!!!

注意:.如果系統(tǒng)有些文件夾不能創(chuàng)建,不能修改請看這里(命令行沒有中文符號)

系統(tǒng):本人系統(tǒng)Mac OS X 10.11.2? XCode7.2

1.文件(夾)的顯示與隱藏

顯示:defaults write com.apple.finder AppleShowAllFiles -bool true

隱藏:defaults write com.apple.finder AppleShowAllFiles -bool false

2.Mac OS X 10.11+下root權(quán)限不能修改/bin 等文件夾解決辦法

重啟電腦,按住 Command + R,進入到恢復(fù)界面

打開Terminal終端,然后輸入

csrutil disable

如果想改回來,將disable改成enable即可

原因:10.11系統(tǒng)將Rootless修改成了,enable,所以我們需要關(guān)掉它, 重啟電腦

1.命令行界面配置

相信我們總是有那么點小任性,希望自己的編程軟件有自己獨特的主題,但是往往系統(tǒng)默認(rèn)的又不是我們想要,下面就教大家怎么修改自己漂亮的終端(Terminal),

一般終端配置文件在~/.bash_profile(沒有手動創(chuàng)建)這個文件夾里面,在后面添加

#for color

export CLICOLOR=1

#\h:W\u\$

export PS1='\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\]’

啟動看看,效果是不是變樣了,另外可以修改 終端->偏好設(shè)置->下圖


接下來就是我自己配置的顏色怎么樣


2.vim簡單配置

我只介紹簡單的一種,配置用戶模式下的vim ,終端輸入

vim ~/.vimrc? ? //沒有就創(chuàng)建

文件里面輸入或者粘貼 (前面是我的行號,不要粘貼)

1 set number? "設(shè)置行號

2 syntax on? ? "語法高亮

3 set tabstop=4 "tab鍵間隔距離4

4 set autoindent? ? ? "自動對齊

5 set gdefault "行內(nèi)替換

6 set ruler "在編輯過程中,在右下角顯示光標(biāo)位置的狀態(tài)行

7 set showmatch "高亮顯示對于括號

更多Vim,請參考

Mac 下Vim配置:? http://blog.sina.com.cn/s/blog_5a6efa330101cumx.html

Mac 下Vim命令:http://blog.csdn.net/xdrt81y/article/details/24062117

終端和Vim都配置好了,那么我們也開始轉(zhuǎn)入正題了,

3.cocoapods安裝與使用

我們都知道cocoapods是一款xcode導(dǎo)入包的工具,給github緊密結(jié)合可以說是天衣無縫,另外還有carthage 命令(后面再說),這種包的管理模式大大節(jié)約我們來管理更新項目庫的時間。開始之前,先把我們電腦里面的準(zhǔn)備環(huán)境安裝或者更新一遍吧!

1.Homebrew安裝與使用

在Mac下Homebrew好像默認(rèn)安裝了,安裝是(注意命令行沒有中文符號)

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”

其他基本使用

? brew search formula # 搜索軟件包

? brew install formula # 安裝軟件包

? brew remove formula # 移除軟件包

? brew cleanup formula # 清除舊包

? brew list # 列出已安裝的軟件包

? brew update # 更新 Homebrew

? brew upgrade # 升級軟件包

? brew home formula # 用瀏覽器打開

? brew info formula # 顯示軟件內(nèi)容信息

? brew deps formula # 顯示包的依賴

? brew server # 啟動 web 服務(wù)器,可以通過瀏覽器訪問

http://localhost:4567 來通過網(wǎng)頁來管理包

? brew -h # 幫助

? brew versions formula # 列出軟件包的版本

homebrew官方github:https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew#readme

2.RVM安裝

安裝RVM

curl -L https://get.rvm.io | bash -s stable

安裝時可能會問你sudo管理員密碼,以及自動通過homebrew安裝依賴包,等待一段時間后就可以成功安裝好 RVM。 然后,載入 RVM環(huán)境(新開 Termal 就不用這么做了,會自動重新載入的

安裝完成后,檢查一下是否安裝正確

rvm -v

3.安裝 Ruby

列出已知的ruby版本??,會顯示最新的版本

rvm?list?known

然后安裝最新,更新也是這個方法

rvm install 2.0.0

管理Ruby版本,需要執(zhí)行下面的命令將指定版本的 Ruby設(shè)置為系統(tǒng)默認(rèn)版本

rvm 2.0.0 --default

你也可以用其他版本號,前提是你有用 rvm install安裝過那個版本,查看版本

ruby -v

4.準(zhǔn)備工作做好了,下面來真正安裝吧(前面的準(zhǔn)備工作,不是必須的,Mac OS內(nèi)置的有

$ sudo gem update --system // 先更新gem(建議VPN),國內(nèi)需要切換源

$ gem sources --remove https://rubygems.org/

$ gem sources -a http://ruby.taobao.org/

$ gem sources -l

http://ruby.taobao.org/

上面是切換成淘寶的,國內(nèi)好使,不影響pod版本

$ sudo gem install cocoapods // 安裝cocoapods

$ pod setup

和安裝過程是一樣的,再次查看版本

$ pod --version

0.39.0

那么安裝成功了,

想了解更多,去cocoapods官網(wǎng):https://cocoapods.org

4.git安裝與使用

1.下載dmg 安裝,地址: http://git-scm.com/downloads

2.命令行安裝

sudo git clone https://github.com/git/git

3.Homebrew安裝

sudo brew install git

4.另外還可以其他方式安裝,詳情看下面鏈接

Mac OS X Git安裝教程:http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html

簡易git安裝: http://www.cocoachina.com/bbs/read.php?tid=200557

git命令: http://justcoding.iteye.com/blog/1830388

git:更新問題: http://segmentfault.com/q/1010000000095119

下面給張圖片,git命令的圖片(圖片來源別人一篇博客,忘記帖子了)

5.xcode build? 命令行打包上傳

對于一個iOS開發(fā)新手來說,讓給APP打包,感覺好麻煩,下面帶你看命令的神奇效果

工程文件為test,首先切換到該目錄。

1.清除編譯對象

xcodebuild?-target?test?clean? 可以簡寫成 xcodebuild? clean

2.編譯

方法1:xcodebuild -target test -configuration Release

方法2:xcodebuild?-target?test? 可以簡寫成 xcodebuild? 執(zhí)行后會有bulid文件

3.打包

xcrun?-sdk?iphoneos?PackageApplication?-v?./build/Release-iphoneos/test.app?-o?~/test.ipa

解釋:-v 后面是app文件及所在路徑,-o后面則是存放的ipa文件名及預(yù)存放的位置

這里感覺是不是還是很麻煩,那么用腳本吧,

腳本步驟: 1.打開命令行

2.拖動ipa-build(腳本(shell)命令文件)到命令行(需要下載腳本倉庫)

3.拖動項目主目錄

4.回車就OK了(包在項目根目錄build文件夾里面)

詳情請看上面網(wǎng)址:http://blog.csdn.net/ccf0703/article/details/8588667

github腳本倉庫:https://github.com/webfrogs/xcode_shell

/**************************************************************************************/

補充:看到腳本命令多么神奇了嗎,其實就是把上面直接xcodebuild命令寫成腳本形式,其實喜歡腳本的朋友可以學(xué)習(xí)一下腳本的基本語法使用:給你們推薦兩個網(wǎng)站,

http://www.w3school.com.cn

http://www.runoob.com

可以學(xué)習(xí)基本的語言,比如:PHP,Python,ruby,shell,這些都是腳本語言,當(dāng)然主流的語言也是應(yīng)有盡有,當(dāng)然學(xué)習(xí)這些腳本語言還得有一個編輯器,下面給你們推薦一款好用的:

Sublime3(大概11MB):http://www.sublimetext.com/3 (有Mac,windows,Ubuntu)版本,這是一個非常使用的工具,各種插件功能強大,

6.Mac 安裝WinRar命令行解壓縮

有些人是不是給我一樣有強迫癥,不想電腦裝太多沒有用的軟件,那么我們就來裝些命令行軟件吧

? 下載RAR 5.3.0 for Mac OS X(目前最新)國內(nèi)下載較慢,

官網(wǎng):http://www.rarlab.com/download.htm

? 雙擊解壓或命令行tar解壓文件:rarosx-5.3.0.rar 生成目錄rar

? 終端下:cd? ~/Downloads/rar (即進入rar目錄下)

? 使用如下命令分別安裝unrar和rar命令

安裝unrar命令:sudo install –c –o$USER unrar /bin

安裝rar命令:sudo install –c –o$USER rar /bin

注意:命令的空格,如果成功,終端輸入:rar,可以查看rar命令幫助

? 壓縮文件

rar命令: rar a? 生成文件名.rar? 要壓縮的文件或文件夾

rar a my.rar? your

? 壓縮文件

rar? e? 你的文件或文件夾? ? (解壓到當(dāng)前文件夾)

unrar? x? test.rar? ? ? ? ? ? (解壓到當(dāng)前文件夾)

? 如果文件名含有空格,用單引號? :’test.rar’

7.Mac WebSever & PHp推送

一:Mac端服務(wù)器配置

1.啟動Apache

啟動:sudo apachectl start

停止:sudo apachectl stop

重啟:sudo apachectl restart

查看 Apache 版本 httpd –v

2. PHP

OSX 10.11.2 已經(jīng)預(yù)裝了 PHP 5.5.30, 編輯 httpd.conf

sudo vi /etc/apache2/httpd.conf

取消這一行前邊的注釋符號 #

LoadModule php5_module libexec/apache2/libphp5.so

重啟 Apache

sudo apachectl restart

查看 Apache 信息

3.權(quán)限( 不是必須的)

為了方便程序在 ~/Sites 目錄下讀寫

sudo chmod -R a+w ~/Sites/testsite

若擔(dān)心安全問題,可以使用 _www 權(quán)限,若這樣做當(dāng)需要 admin 權(quán)限需做驗證:

sudo chown -R _www ~/Sites/testsite

二 PHP推送

1.執(zhí)行PHP后臺推送之前,需要你導(dǎo)出p12證書,具體請看下文

http://blog.csdn.net/x32sky/article/details/17527655

2.執(zhí)行生成兩個P12文件

1. 需要通過終端命令將這些文件轉(zhuǎn)換為PEM格式:

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

2. 如果你想要移除密碼,要么在導(dǎo)出/轉(zhuǎn)換時不要設(shè)定或者執(zhí)行:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

3. 最后,你需要將鍵和許可文件合成為apns-dev.pem文件,此文件在連接到APNS 時需要使用:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

例如:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12

openssl pkcs12 -nocerts -out key.pem -in key.p12

cat cert.pem key.pem > anps_dis_fan.pem

3.PHP推送代碼

既然證書創(chuàng)建好了,web服務(wù)器創(chuàng)建好了,那么自己就快要通過瀏覽器訪問PHP文件,接口,下面是一個apns_push.php文件用來給手機發(fā)推送的,可以自己來調(diào)試APP的推送功能了。

1.創(chuàng)建推送的PHP文件,放到系統(tǒng)? /Library/WebServer/Documents/

2.啟動web服務(wù),瀏覽器訪問,

3.輸入地址和devicetoken參數(shù),也可以寫死自己APP里面生成的自己手機的token

4.訪問就可以看到輸出,手機APP就會收到推送了

/***************************************php代碼開始***************************/

$message,#推送的消息

'sound' => 'default', #$sound = "ping1.caf";

'badge' => 1

);

/* End of Configurable Items */

$ctx = stream_context_create();

// anps_dev_club是在同文件夾下的pem證書(配置證書)

stream_context_set_option($ctx, 'ssl', 'local_cert', 'anps_dev_club.pem');

// assume the private key passphase was removed.(輸入密碼)

stream_context_set_option($ctx, 'ssl', 'passphrase', $pass);

// ssl://gateway.sandbox.push.apple.com:2195 這個是蘋果開發(fā)測試地址

// ssl://gateway.push.apple.com:2195 蘋果發(fā)布運行地址

$apnsHost='ssl://gateway.sandbox.push.apple.com:2195';

// $apnsHost='ssl://gateway.push.apple.com:2195';

#好像這個用發(fā)布和調(diào)試都可以

$fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

#發(fā)布

// $fp = stream_socket_client($apnsHost, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

if (!$fp) {

print "Failed to connect $err $errstrn";

return;

}

else {

print "Connection OKn-----";

}

# 把字典轉(zhuǎn)化成 json字符串

$payload = json_encode($body);

// 這是去掉空格,什么的,因為token里面含有一些不用的符號

$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;

print "sending message :" . $payload . "n".$msg;

// 發(fā)生推送

$result=fwrite($fp, $msg,strlen($msg));

fclose($fp);

?>

/***************************************php代碼完畢***************************/

8.sqllite 和MySQL命令行操作

1.Sqlit3 Command line

? 打開創(chuàng)建數(shù)據(jù)庫:在你想創(chuàng)建或者打開的目錄下執(zhí)行

sqlite3 db.sqlite

? 創(chuàng)建表:

create table table1(userID integer primary key autoincrement,

name varchar(20),

age int,

tel varchar(11)

);

? 給表增加字段

alter table table1 add contry varchar(50);

? 表的增加、刪除、修改、查詢

增加:insert into table1 values(NULL,’fan’,20,’182743847);

刪除:delete from table1 where userID=3;

修改:update table1 set name=’fan1’ where userID=1;

查詢:select * from table1 order by name limit 10; desc;//asc

? 刪除表:

drop table if exists table1;

? 從一個表里面移除一個字段的方法(創(chuàng)建新表)

create table table2 as select userID,name,age from table1;

? 表重新命名

alter table table2 rename to table1;

? 幫助

.help

? 查看表結(jié)構(gòu):

.tables;? 表個數(shù);.schema table1; 表結(jié)構(gòu)

更多操作:http://blog.csdn.net/majiakun1/article/details/41281935

http://www.cnblogs.com/einyboy/archive/2013/03/12/2955378.html

2.mysql 命令行

使用MySQL需要安裝MySQL服務(wù),可以去官網(wǎng)下載:

http://www.mysql.com/downloads/

? 創(chuàng)建表

create table fan (userID int primary key auto_increment,name varchar(20),age int,tel varchar(11));

? 登錄遠(yuǎn)程主機 (本地與遠(yuǎn)程操作是一樣的)

ssh username@192.168.1.1

? 顯示數(shù)據(jù)庫

show databases;

? 使用數(shù)據(jù)庫

use dbname;

? 顯示表

show tablename;

? 顯示表結(jié)構(gòu)

desc tablename;

? 顯示創(chuàng)建表結(jié)構(gòu)

show create table tablename;

? 其他命令與SQLite3基本一樣

8. cocos2dx連接xcode

官網(wǎng)下載:http://www.cocos.com/download/#? (最新版本V3.9)

首先解壓cocos2dx-3.9,把它放到你容易找到的地方。

然后打開命令行 cd 到cocos2dx-3.9 文件根目錄下

命令行輸入? ./setup.py? 回車即可完成安裝

創(chuàng)建項目

cocos new -d ~/Desktop/Game -l cpp -p com.fan.game FanGame

解釋:創(chuàng)建一個包名是com.fan.game的FanGame項目語言是cpp(c++)

cocos new –d 目標(biāo)路徑

-l? 語言 有cpp,lua,js

-p 包名

最后一個參數(shù):項目名

命令就可以去找到iOS文件夾啟動項目運行就可以看看效果了

題外話

1.搜索文件(夾)

find ./ -name ‘fan*’

find ./ -iname ‘fan*’

mdfind -name 文件名

mdfind ‘fan’? 查詢所有包含fan的文件

mdfind -onlyin? ~/Library? plist? ? 這條命令可以搜索Library文件夾中所有plist文件。

# 找到全部不包含i開頭的PNG圖片,是圖片的執(zhí)行刪除

# find . ! -name "i*.png" -name "422333323223*.png" -exec rm -rf {} \;

# for i in `find . -name "*.png"`

# do

#? ? ? ? newname='echo $i|sed'

#? ? ? ? # `mv $i $newname`

#? ? ? ? pwd

# done

find . -name 'CVS' -exec rm -rf {} \;

# 查找當(dāng)前文件夾下,是’CVS’的文件(夾)執(zhí)行刪除操作

# linux或Mac 下執(zhí)行.sh文件總是提示permission denied

# 如果你是root登陸的話(不是的話,切換到root用戶,對*.sh賦可執(zhí)行的權(quán)限)

# chmod 777 *.sh

#? or

# chmod +x? *.sh

哎呀,寫個博客還是很累人的,我只是寫了一些常用的,希望有些東西能幫到你們,有什么問題可以底下留言,或者郵箱留言,下面我要睡一覺了

個人郵箱: fanxiangyang_heda@163.com

個人github: https://github.com/fanxiangyang

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內(nèi)容