領(lǐng)導(dǎo)想讓我把一個(gè)APP發(fā)布到公司內(nèi)部服務(wù)器上,而且能提供下載,證書已經(jīng)有了,打包已經(jīng)打好了,就差放到服務(wù)器上了, 對(duì)于一個(gè)做前端的人,做服務(wù)器方面的事兒,還是很頭疼的,所以拼命找資料文獻(xiàn).
開始的思路
1:先在服務(wù)器上搭一個(gè)文件傳輸?shù)姆?wù),好以后存放方便
2:搭一個(gè)文件下載服務(wù).
開始了,準(zhǔn)備安裝sftp.
在Centos 6.6環(huán)境使用系統(tǒng)自帶的internal-sftp搭建SFTP服務(wù)器幢炸。
打開命令終端窗口症昏,按以下步驟操作。
0勉盅、查看openssh的版本
[plain]view plaincopy
ssh?-V
使用ssh -V 命令來查看openssh的版本蜕乡,版本必須大于4.8p1空民,低于的這個(gè)版本需要升級(jí)。
1酪呻、創(chuàng)建sftp組
[plain]view plaincopy
groupadd?sftp
2减宣、創(chuàng)建一個(gè)sftp用戶,用戶名為mysftp玩荠,密碼為mysftp
修改用戶密碼和修改Linux用戶密碼是一樣的漆腌。
useradd -g sftp -s /bin/falsemysftp? //用戶名
passwdmysftp? //密碼
[plain]view plaincopy
useradd?-g?sftp?-s?/bin/false?mysftp
passwd?mysftp
3、sftp組的用戶的home目錄統(tǒng)一指定到/data/sftp下阶冈,按用戶名區(qū)分闷尿,這里先新建一個(gè)mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp
[plain]view plaincopy
mkdir?-p?/data/sftp/mysftp
usermod?-d?/data/sftp/mysftp?mysftp
4女坑、配置sshd_config
文本編輯器打開 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
找到如下這行填具,用#符號(hào)注釋掉,大致在文件末尾處匆骗。
# Subsystem ? ? ?sftp ? ?/usr/libexec/openssh/sftp-server
在文件最后面添加如下幾行內(nèi)容劳景,然后保存。
[plain]view plaincopy
Subsystem???????sftp????internal-sftp
Match?Group?sftp
ChrootDirectory?/data/sftp/%u
ForceCommand????internal-sftp
AllowTcpForwarding?no
X11Forwarding?no
5碉就、設(shè)定Chroot目錄權(quán)限
[plain]view plaincopy
chown?root:sftp?/data/sftp/mysftp
chmod?755?/data/sftp/mysftp
6盟广、建立SFTP用戶登入后可寫入的目錄
照上面設(shè)置后,在重啟sshd服務(wù)后瓮钥,用戶mysftp已經(jīng)可以登錄筋量。但使用chroot指定根目錄后,根應(yīng)該是無法寫入的碉熄,所以要新建一個(gè)目錄供mysftp上傳文件桨武。這個(gè)目錄所有者為mysftp,所有組為sftp具被,所有者有寫入權(quán)限玻募,而所有組無寫入權(quán)限只损。命令如下:
[plain]view plaincopy
mkdir?/data/sftp/mysftp/upload
chown?mysftp:sftp?/data/sftp/mysftp/upload
chmod?755?/data/sftp/mysftp/upload
7一姿、修改/etc/selinux/config
文本編輯器打開/etc/selinux/config
[plain]view plaincopy
vi?/etc/selinux/config
將文件中的SELINUX=enforcing 修改為 SELINUX=disabled ,然后保存跃惫。
在輸入命令
[plain]view plaincopy
setenforce?0
8叮叹、重啟sshd服務(wù)
輸入命令重啟服務(wù)。
[plain]view plaincopy
service?sshd?restart
9爆存、驗(yàn)證sftp環(huán)境
用mysftp用戶名登錄蛉顽,yes確定,回車輸入密碼先较。
[plain]view plaincopy
sftp?mysftp@127.0.0.1
顯示 sftp> 則sftp搭建成功携冤。
10悼粮、使用FileZilla FTP Client連接SFTP服務(wù)器
輸入主機(jī)IP地址、用戶名曾棕、密碼扣猫、端口連接SFTP服務(wù)器,端口默認(rèn)為22翘地。
里面有用到終端文本編輯器的操作,也是X度了一波,貼上
高級(jí)一些的編輯器申尤,都會(huì)包含宏功能,vim當(dāng)然不能缺少了衙耕,在vim中使用宏是非常方便的:
:qx 開始記錄宏昧穿,并將結(jié)果存入寄存器x
q 退出記錄模式
@x 播放記錄在x寄存器中的宏命令
稍微解釋一下,當(dāng)在normal模式下輸入:qx后橙喘,你對(duì)文本的所有編輯動(dòng)作將會(huì)被記錄下來时鸵,再次輸入q即退出了記錄模
式,然后輸入@x對(duì)剛才記錄下來的命令進(jìn)行重復(fù)厅瞎,此命令后可跟數(shù)字寥枝,表示要重復(fù)多少次,比如@x20磁奖,可以重復(fù)20次囊拜。這個(gè)在文本的批處理中是非常有用的。
同時(shí)編輯多個(gè)文件
在vim眾多的插件中比搭,有一個(gè)叫minibuffer的插件冠跷,就是下面所說的標(biāo)簽頁功能了,可以支持同時(shí)編輯多個(gè)文件身诺。
標(biāo)簽命令
:tabe fn 在一個(gè)新的標(biāo)簽頁中編輯文件fn
gt 切換到下一個(gè)標(biāo)簽頁
gT 切換到上一個(gè)標(biāo)簽頁
:tabr 切換到第一個(gè)標(biāo)簽頁
:tabl 切換到最后一個(gè)標(biāo)簽頁
:tabm [N] 把當(dāng)前tab移動(dòng)到第N個(gè)tab之后
對(duì)蜜托,正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁是一個(gè)意思霉赡!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切換窗口
ctrl+w q 退出當(dāng)前窗口(由于同時(shí)有多個(gè)文件橄务,此命令不會(huì)影響其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不會(huì)對(duì)文件做實(shí)際的修改,只是加載到緩沖區(qū)中穴亏,對(duì)文件的編輯其實(shí)是對(duì)緩沖區(qū)的編輯蜂挪,直到:w時(shí)才會(huì)存入物理文件。
:e file 把file加載到新的緩沖區(qū)中
:bn 跳轉(zhuǎn)到下一個(gè)緩沖區(qū)
:bd 刪除緩沖區(qū)(關(guān)閉文件)
:sp fn 分割窗口嗓化,并將fn加載到新的窗口中
退出編輯器
:w 將緩沖區(qū)寫入文件棠涮,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果對(duì)緩沖區(qū)進(jìn)行過修改刺覆,則會(huì)提示
:q! 強(qiáng)制退出严肪,放棄修改
查找替換
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一個(gè)匹配(如果是/搜索,則是向下的下一個(gè),?搜索則是向上的下一個(gè))
N 上一個(gè)匹配(同上)
:%s/old/new/g 搜索整個(gè)文件驳糯,將所有的old替換為new
:%s/old/new/gc 搜索整個(gè)文件篇梭,將所有的old替換為new,每次都要你確認(rèn)是否替換
復(fù)制粘貼
dd 刪除光標(biāo)所在行
dw 刪除一個(gè)字(word)
x 刪除當(dāng)前字符
X 刪除前一個(gè)字符
D 刪除到行末
yy 復(fù)制一行酝枢,此命令前可跟數(shù)字很洋,標(biāo)識(shí)復(fù)制多行,如6yy隧枫,表示從當(dāng)前行開始復(fù)制6行
yw 復(fù)制一個(gè)字
y$ 復(fù)制到行末
p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面
P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面
]p 有縮進(jìn)的粘貼喉磁,vim會(huì)自動(dòng)調(diào)節(jié)代碼的縮進(jìn)
"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板
附:比如常用的一個(gè)寄存器就是系統(tǒng)寄存器官脓,名稱為+协怒,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個(gè)寄存器卑笨。
移動(dòng)光標(biāo)
在vim中移動(dòng)光標(biāo)跟其他的編輯器中有很大的區(qū)別孕暇,不過一旦學(xué)會(huì)了,就會(huì)飛速的在文本中移動(dòng)了赤兴。
h,j,k,l 上妖滔,下,左桶良,右
ctrl-f 上翻一頁
ctrl-b 下翻一頁
% 跳到與當(dāng)前括號(hào)匹配的括號(hào)處座舍,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處
w 跳到下一個(gè)字首陨帆,按標(biāo)點(diǎn)或單詞分割
W 跳到下一個(gè)字首曲秉,長跳,如end-of-line被認(rèn)為是一個(gè)字
e 跳到下一個(gè)字尾
E 跳到下一個(gè)字尾疲牵,長跳
b 跳到上一個(gè)字
B 跳到上一個(gè)字承二,長跳
0 跳至行首,不管有無縮進(jìn)纲爸,就是跳到第0個(gè)字符
^ 跳至行首的第一個(gè)字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處
[N]G 跳到第N行亥鸠,如0G,就等價(jià)于gg识啦,100G就是第100行
fx 在當(dāng)前行中找x字符负蚊,找到了就跳轉(zhuǎn)至
; 重復(fù)上一個(gè)f命令,而不用重復(fù)的輸入fx
tx 與fx類似袁滥,但是只是跳轉(zhuǎn)到x的前一個(gè)字符處
Fx 跟fx的方向相反
),( 跳轉(zhuǎn)到上/下一個(gè)語句
* 查找光標(biāo)所在處的單詞盖桥,向下查找
# 查找光標(biāo)所在處的單詞灾螃,向上查找
`. 跳轉(zhuǎn)至上次編輯位置
在屏幕上移動(dòng)
H 移動(dòng)光標(biāo)到當(dāng)前屏幕上最上邊的一行
M 移動(dòng)光標(biāo)到當(dāng)前屏幕上中間的一行
L 移動(dòng)光標(biāo)到當(dāng)前屏幕上最下邊的一行
書簽
ma 把當(dāng)前位置存成標(biāo)簽a
`a 跳轉(zhuǎn)到標(biāo)簽a處
編輯
r 替換一個(gè)字符
J 將下一行和當(dāng)前行連接為一行
cc 刪除當(dāng)前行并進(jìn)入編輯模式
cw 刪除當(dāng)前字题翻,并進(jìn)入編輯模式
c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進(jìn)入編輯模式
s 刪除當(dāng)前字符并進(jìn)入編輯模式
S 刪除光標(biāo)所在行并進(jìn)入編輯模式
xp 交換當(dāng)前字符和下一個(gè)字符
u 撤銷
ctrl+r 重做
. 重復(fù)上一個(gè)編輯命令
~ 切換大小寫,當(dāng)前字符
g~iw 切換當(dāng)前字的大小寫
gUiw 將當(dāng)前字變成大寫
guiw 將當(dāng)前字變成小寫
>> 將當(dāng)前行右移一個(gè)單位
<< 將當(dāng)前行左移一個(gè)單位(一個(gè)tab符)
== 自動(dòng)縮進(jìn)當(dāng)前行
插入模式
i 從當(dāng)前光標(biāo)處進(jìn)入插入模式
I 進(jìn)入插入模式嵌赠,并置光標(biāo)于行首
a 追加模式塑荒,置光標(biāo)于當(dāng)前光標(biāo)之后
A 追加模式,置光標(biāo)于行末
o 在當(dāng)前行之下新加一行姜挺,并進(jìn)入插入模式
O 在當(dāng)前行之上新加一行齿税,并進(jìn)入插入模式
Esc 退出插入模式
可視模式
標(biāo)記文本
v 進(jìn)入可視模式,單字符模式
V 進(jìn)入可視模式炊豪,行模式
ctrl+v 進(jìn)入可視模式凌箕,列模式,類似于UE的列模式
o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個(gè)端點(diǎn)
U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫
O 跳轉(zhuǎn)光標(biāo)到塊的另一個(gè)端點(diǎn)
aw 選中一個(gè)字
ab 選中括號(hào)中的所有內(nèi)容词渤,包括括號(hào)本身
aB 選中{}括號(hào)中的所有內(nèi)容
ib 選中括號(hào)中的內(nèi)容牵舱,不含括號(hào)
iB 選中{}中的內(nèi)容,不含{}
對(duì)標(biāo)記進(jìn)行動(dòng)作
> 塊右移
< 塊左移
y 復(fù)制塊
d 刪除塊
~ 切換塊中內(nèi)容的大小寫
在使用FileZilla的時(shí)候,發(fā)現(xiàn)Mac的目錄看不懂,又X度一波
unix傳統(tǒng)的目錄
/bin 傳統(tǒng)unix命令的存放目錄缺虐,如ls芜壁,rm,mv等高氮。
/sbin 傳統(tǒng)unix管理類命令存放目錄慧妄,如fdisk,ifconfig等等剪芍。
/usr 第三方程序安裝目錄塞淹。
/usr/bin, /usr/sbin, /usr/lib,其中/usr/lib目錄中存放了共享庫(動(dòng)態(tài)鏈接庫).
/etc. 標(biāo)準(zhǔn)unix系統(tǒng)配置文件存放目錄罪裹,如用戶密碼文件/etc/passwd窖铡。此目錄實(shí)際為指向/private/etc的鏈接。
/dev 設(shè)備文件存放目錄坊谁,如何代表硬盤的/dev/disk0费彼。
/tmp 臨時(shí)文件存放目錄,其權(quán)限為所有人任意讀寫口芍。此目錄實(shí)際為指向/private/tmp的鏈接箍铲。
/var 存放經(jīng)常變化的文件,如日志文件鬓椭。此目錄實(shí)際為指向/private/var的鏈接颠猴。
這些標(biāo)準(zhǔn)的Unix目錄在Finder中并不可見,如下圖所示:
OS?X特有的目錄
OS X系統(tǒng)中小染,除了標(biāo)準(zhǔn)的unix目錄外翘瓮,還增加了特有的目錄。
/Applications 應(yīng)用程序目錄裤翩,默認(rèn)所有的GUI應(yīng)用程序都安裝在這里资盅;
/Library 系統(tǒng)的數(shù)據(jù)文件、幫助文件、文檔等等呵扛;
/Network 網(wǎng)絡(luò)節(jié)點(diǎn)存放目錄每庆;
/System 他只包含一個(gè)名為Library的目錄,這個(gè)子目錄中存放了系統(tǒng)的絕大部分組件今穿,如各種framework缤灵,以及內(nèi)核模塊,字體文件等等蓝晒。
/Users 存放用戶的個(gè)人資料和配置腮出。每個(gè)用戶有自己的單獨(dú)目錄。
/Volumes 文件系統(tǒng)掛載點(diǎn)存放目錄芝薇。
/cores 內(nèi)核轉(zhuǎn)儲(chǔ)文件存放目錄利诺。當(dāng)一個(gè)進(jìn)程崩潰時(shí),如果系統(tǒng)允許則會(huì)產(chǎn)生轉(zhuǎn)儲(chǔ)文件剩燥。
/private 里面的子目錄存放了/tmp, /var, /etc等鏈接目錄的目標(biāo)目錄慢逾。