feed

shell一句话技巧: 按两次Tab键

在shell中按Tab键可以自动补全命令、路径及文件名,连按两次Tab键则出现所有匹配的命令、路径及文件名。

输入gr,按两次Tab键,则列出所有满足gr*的命令,如grep、grep-status、grops、groups等。如果输入完整命令(如wget),按两次Tab键,则列出当前目录下的文件夹及文件。转换路径时与此相同。

使用PSFTP传输文件

本文翻译自PuTTY官方文档 Using PSCP to transfer files securely

PSFTP是PuTTY SFTP客户端,用于本地与服务器间安全传输文件(使用SSH连接)。

1. 启动PSFTP
在Windows命令提示符中输入
set PATH=C:\PSFTP.exe所在路径;%PATH%
之后,用psftp登录服务器
psftp username@server.example.com
也可以直接双击运行psftp.exe,命令提示符中出现以下信息
psftp: no hostname specified; use "open host.name" to connect
psftp>

这时用open命令登录服务器
open username@server.example.com

2. PSFTP
2.1 文件名中有空格时使用双引号
如”space name.txt”

2.2 使用通配符

  • * 代替任何字串
  • ? 替代一个字母
  • [abc] 在a b c范围内替代一个字母
  • [a-z] 在a到z范围内替代一个字母
  • [^abc] 替代一个字母,不包括a b cmatches a single character that is not a, b, or c.
  • [-a] 代表连接号(-)
  • [a^] 代表脱字符号(^)
  • \ 放在上面的所有通配符之前,以取消其(通配符)涵义

(文件夹名称不支持通配符)

Shell Tips: 如何快速进入长字符目录

这个贴士来自Vivek的文章: Shell tip: change to a directory having very long name。(ok,我承认我翻译的这个名字很烂)

进入名字为“A_VERY_ VERY LONG_DIRECTORY_NAME_TO_ TYPE _ A _ B _C”的目录,你打算逐字输入?

简单的办法有二。一是用*来替代。
$ cd A_VERY_VERY*
二是用Tab键自动补全。
$ cd A_VERY_VERY (按Tab键)

留言中MickZA补充了更精确的方法: 用*替代的同时加上目录名字的最后几个字母。
$ cd A_VERY_VERY*C

而进入/usr/lib/firefox-1.5.0.10/plugins这个目录,你可以用下面的代码。又快又准。
$ cd /us*/li*/fir*10/pl* gets you to same place

About

Archives