Mac下使用命令行登陆ftp
2015-02-15 tech mac ftp 7 mins 1 图 2726 字
最近使用forklift下载服务器pureftp上的东西,总是断断续续的,经常下载到99%然后显示下载失败,非常不舒服!原以为是forklift的问题,换了transmit发现同样有这样的现象。看来是ftp服务器搭的有问题~~不过因为用的不多,目前懒的解决了,暂时用Mac的终端命令来用着。其实效率也是蛮高的哦=。=
默认的本地目录是home。 输入help即可获得所有命令的帮助。
- 连接ftp服务器
man ftp 可以看到有这些信息。
NAME ftp – Internet file transfer program SYNOPSIS ftp [-46AadefginpRtvV] [-N netrc] [-o output] [-P port] [-q quittime] [-s srcaddr] [-r retry] [-T dir,max[,inc]] [[user@]host [port]] [[user@]host:[path][/]] [file:///path] [ftp://[user[:password]@]host[:port]/path[/][;type=X]] [http://[user[:password]@]host[:port]/path] […] ftp -u URL file […]连接服务器的话基本上就用到上面的讯息了。原本没有看man手册,一直使用
ftp user@xxx.com port每次都要输入密码。后来还是用了下面这个更加简单的
ftp ftp://user:passwd@xxx.com:port-
浏览文件
命令和Windows、Linux的命令基本相同
ftp> cd Documents ftp> ls ftp> dir
-
下载上传文件
put filename - Upload a file to the server get filename - Download a file from the server mput filename - Put multiple files on the server mget filename - Get multiple files on the server
-
断开连接
bye:中断与服务器的连接。
ftp> bye
-
大部分的命令如下,可敲入
man ftp
获得ls – list the contents of a directory on the FTP server cd – change the working directory on the FTP server pwd – show the current directory on the FTP server get – download files from the FTP server put – upload files to the FTP server account – include a password with your login information bye – terminate an ftp session and close ftp (or use disconnect to simply terminate a session) bell – make a cute sound after each file transfer is done chmod – change permissions delete – your guess is as good as mine (OK, you got me, it’s to delete a file off the server) glob – enable globbing hash – only functional in Amsterdam help – get help lpwd – print the local working directory for transfers mkdir – create folders on the FTP server rmdir – delete folders from the FTP server newer – only get a file if it’s newer (great for scripting synchronizations) nmap – use positional parameters to set filenames passive – use FTP passive mode prompt – allows the use of letters to automate answers to prompts rate – limit the speed of an upload or download
关于ftp,你甚至还可以写脚本进行文件操作,比如
#!/bin/bash
ftp -d krypted.com << ftpEnd
prompt
cd /Library/WebServer/Documents
put “*.html”
put “*.php”
cd /Library/WebServer/Documents
put “*.png”
quit
ftpEnd
#!/bin/bash
ftp -d krypted.com << ftpEnd
prompt
cd /My/Documents
get “*.doc”
quit
ftpEnd
在你的脚本中,可以使用以下几个字符获取一些特定的变量:
%/ – the current working directory of the FTP server
%M – the hostname of the FTP server
%m – the hostname only up to the .
%n – the username used for the FTP server
最后有一个问题,为什么老是有不明的人/机器想登陆我的FTP?= =不过自己也是只有使用的时候才会开。
快捷键之tmux
2015-02-13 tech linux tmux 2 mins 789 字
这份常用快捷键是基于Maximum-Awesome的,最主要的区别是把 Ctrl + b (这是 tmux 的默认前缀键)改为了Ctrl + c ,不全面但足够日常使用。如果你还没有安装,参考我的上一篇文章使用Maximum Awesome。
具体的配置可以查看 Home 目录下的 .tmux.conf 文件,还比较易懂。
窗口
C-a c 新建窗口
C-a space 下一个窗口
C-a bspace 上一个窗口
C-a v 纵向切割窗口
C-a s 横向切割窗口
C-a w 以菜单方式列出所有会话,显示及选择窗口
C-a & 关闭窗口
C-a , 重命名窗口
C-a d 将当前会话放到后台,但不关闭
C-a f 搜索pane的名字
面板操作
C-a h/j/k/l 选择面板
C-a a 上一个面板
C-a ; 上一个面板
C-a q 显示面板编号
C-a x 关闭面板
C-a z 当前panel最大化
C-a m mark颜色当前panel
面板布局
C-a enter 面板下一种布局(均分、全纵向、全横向、主横向、主纵向)
C-a C-o 逆时针旋转面板
C-a + 主面板 - 横向
C-a = 主面板 - 纵向
C-a(按住不放) 方向键 上下左右扩展边界
操作
C-a : 输入命令
这个很有趣,你看到的.tmux.conf里的命令,都可以直接这样敲
C-a r 重载配置文件
C-a L 清除历史
C-a d 退出tumx,并保存当前会话
C-a [ 复制模式,(可以使用方向键滚动查看历史记录)
C-a ] 粘贴模式
其它
由于是在服务器上设置的tmux,默认的复制粘贴有问题,修改成了vim的经典模式:v选择,y复制,如下:
bind-key -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
参考资料
使用Maximum Awesome
2015-02-12 tech linux maximum vim tmux 6 mins 2391 字
Maximum Awesome 是美国移动支付领域Square团队的开源产品,包含了vim和Tmux的配置文件。我也刚刚才接触两个星期,总算把Tmux给弄得手熟,真的超级强悍。vim的配置文件现在还用的不多,光是Tmux的配置,已经能让人爽到不行了。
Maximum Awesome 是专为Mac使用的vim和tmux的配置。下文几乎翻译自Maximum Awesome的Github地址。
安装的内容包括
- MacVim 一个vim的UI客户端。
- iTerm 2一个绝佳的终端的替代品。
- tmux一个终端里的命令。
- Solarized color scheme 一个非常流行的配色方案。
vim的快捷键
几乎每一个插件都可以用一篇文章来介绍一下。都是杀手级插件。以后慢慢写。
,d
NERDTree, 树形目录插件。光标focus左侧树形窗口,? 弹出NERDTree的帮助,再次?关闭帮助显示。,t
ctrlp.vim,重新定义了编辑器打开文件的方式,极大了方便了大规模工程代码的浏览。仿照sublime的CtrlP,完全实现了sublime的功能,可以模糊查询定位:工程下的所有文件,打开的buffer,buffer内的tag,最近访问的文件。通过externsion,甚至可以定位mark,register,cmdline history,yankring。虽然在操作体验上还不如sublime,但是功能上已经超越了师傅,更是拉下fuzzyfinder,lookupfiles这些老一辈Vim插件好几条街。,b
ctrlp.vim插件中的打开buffer的快捷键,a
使用ag.vim 和 the silver searcher 进行项目快速搜索(比 ack 插件更快)ds
/cs
删除/修改配对符号 vim-surroundgcc
commentary,快速注释一行gc
快速注释多行vii
/vai
indentobject,快速选择当前缩进/上一级缩进的全部内容Vp
/vp
快速置换一对tag之间的内容,[space]
删除全文多余的空格<C-]>
ctags,快速跳到定义。,l
align,按照特定的符号对齐,一般我们按照等号对齐,l=
<C-hjkl>
快速移动到窗口,替代<C-w> hjkl
的快捷键。
tmux的快捷键
<C-a>
重新绑定快捷键(对HHKB尤其友好)- 默认鼠标滚动Tmux屏幕。
prefix v
纵向切割屏幕prefix s
横向切割屏幕
有三个以上panes:
prefix +
改为横向布局prefix =
改为纵向布局
你可以在.tmux.conf
里修改横向纵向布局时小panes的高度和宽度。更多的快捷键可以直接看配置文件,非常简单直观。
关于安装
git clone https://github.com/square/maximum-awesome.git && cd maximum-awesome && rake
安装的vim插件列表
- ack 快速搜索
- align 对齐插件
- bundle 插件管理
- commentary 批量注释工具
- ctrlp.vim 快速打开文件
- cucumber Ruby acceptance testing framework
- endwise ruby自动补全
- fugitive he best Git wrapper
- gitgutter 显示git diff状态的插件
- greplace 跨文件搜索和替换
- handlebars 一个框架handlebars的vim插件
- indentobject 快速选择同级缩进文本
- javascript
- jshint 都是Javascript代码验证工具,检查你的代码并提供相关的代码改进意见。
- kwbd Add a buffer close to vim that doesn’t close the window
- matchit 扩展了%匹配字符的范围,甚至是html
- mustache 模板插件 working with mustache and handlebars templates
- nerdtree
- pastie create pastes at http://pastie.org/
- protobuf 针对Google’s Protocol Buffers的高亮插件
- ragtag 快速生成tag
- rails
- repeat 重复命令.的插件
- ruby
- snipmate 自动补全,可定制。
- solarized 配色方案
- vim-surround 删除/修改配对符号
- syntastic 一个代码检查的插件
- tagbar 函数列表显示taglist强化版
- typescript-vim typescript的插件
- unimpaired pairs of handy bracket mappings
- vim-coffee-script
- vim-indent-guides
- vim-slim 高亮slim
- vim-tmux-navigator
- vividchalk 配色方案
- whitespace whitespace高亮插件
我自己添加了两个插件,supertab和neocomplcache,看这里,但是和默认的自动补全的插件应该会有冲突,暂时没有解决。
参考资料
Linux命令之sort
2015-02-11 tech linux linux-command 1 mins 662 字
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。记录一下常用的选项。更多选项参照man sort
。
各选项含义如下:
-u --unique 去除重复行。
-r --reverse 降序。
-o --output=FILE sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件
`sort -r number.txt -o number.txt`
-t --field-separator=SEP 设定间隔符
-k --key=POS1[,POS2] 指定列数
`sort -n -k 2 -t :`
-f --ignore-case 忽略大小写
-s --stable sort 命令默认是不稳定的排序,此选项使排序结果稳定。
-R --random-sort 随机排序,每次运行的结果均不同。
-g, --general-numeric-sort 将数字按数值大小排列,
-n, --numeric-sort 将字符串以数值来排序(避免10小于2)
-h --human-numeric-sort 按人类的方式排序 (例如, 2K 1G)
其实今天用到这个命令是因为需要查看文件夹里的文件大小。结合du命令最后得到的命令如下,获得占空间最大的十个文件或文件夹:
du --max-depth=1 -ah | sort -hr | head
参考链接:
- Stack Overflow - How can I sort du -h output by size