[SHELL进阶] (转)最牛B的 Linux Shell 命令 (二)

  • 时间:
  • 浏览:0

3.用SSH创建端口转发通道

1.用你最喜欢的编辑器来敲命令

reset

echo cmd | at midnight

netstat -tulnp

at的参数比较人性化,跟英语语法一样,可不还要tomorrow, next week类似的,全部的查看手册man at。

没错好多好多 实现一兩个喊话器的功能。

dd是常用的数据拷贝tcp连接,可能性不并肩指定if、of,就直接使用stdin/stdout来传输。

\033[J: "ESC [ J" - 清空终端内容;

-u: 显示UDP链接信息

diff通常的用法是从参数读入一兩个文件,而命令里边的-则是指从stdin读入了。

command <CTRL-x CTRL-e>

另外一兩个修改命令的法律辦法 是使用fc命令(Fix Command),在编辑器里边打开上一句命令。当你们的第一辑连载提过一兩个^foo^bar^命令可不还要用fc来实现:fc -s foo=bar。

某些脚本的写法是:>file.txt,可能性:是bash默认处于的空函数。

ssh -f -N -L 0.0.0.0:500:twitter.com:500 shell.cjb.net

举一兩个具体例子,运行:

\033c: "ESC c" - 发送重置命令;

实际上这是readline库的功能,在默认请况下,bash使用的是emacs模式的命令行操作法律辦法 , <CTRL-x CTRL-e>是调用这些功能的一兩个绑定。可能性你习惯使用vi模式,按 <ESC v> 可不还要实现同样功能。

5.在深夜的曾经执行某命令

dd if=/dev/dsp of=/dev/dsp

ssh -N -L5001:remotehost:500 user@somemachine

当然通常做这些功能的反向代理,应该要用squid、nginx类似,ssh可是是否是是轻量级的尝试吧!

可能性要查看关于sockets更全部占用信息等,可不还要使用lsof工具。

其中字符显示属性老要 用来设定打印字符的颜色等,可参考这些博文

8.用DIFF对比远程文件跟本地文件

实现效果跟术语反向代理是类似的,实际上好多好多 端口转发,注意里边的描述涉及了3台主机,但当然somemachine可不还要变成localhost。

>在shell里边是标准输出重定向符,即把(前部个命令的)命令行输出转往一兩个文件内,但这里没了"前部命令",输出为空,于是就覆盖(或创建)成一兩个空文件了。

可能性你喜欢别的编辑器,可不还要在~/.bashrc里边放在比如export EDITOR=nano的命令。

这些命令比较抽象,但有曾经是很有用的,比如可能性众所周知的意味国内的IP的500端口无法使用,又可能性公司的防火墙只给外网开了ssh端口,还要访问实物服务器一兩个web应用,以及还要访问某些限定了来源IP的服务,就可不还要用上这些法律辦法 了。

可能性你想吓吓别人:

arecord | ssh username@host aplay

-n: 直接显示ip,不做名称转换

ssh -f -N -L 0.0.0.0:443:twitter.com:443 shell.cjb.net

arecord | aplay

这些命令在本机打开了5001端口,对本机5001端口的请求通过somemachine作为跳板,转到remotehost的500端口上。

本地回放好多好多 :

不过一般来说没必要手动挂载,可能性多数发行版一定会在fstab内预留了一兩个内存目录,挂载在/dev/shm,直接使用即可;

-p: 显示相应的tcp连接PID以及名称(要root权限)

6.远程传送麦克风语音

这些命令开了一块1G内存来当目录用。不过放心,可能性里边没文件,是前会占用内存的,用好多个占好多个。

单纯创建文件也可不还要用$touch file.txt,touch曾经是用作修改文件的时间戳,但可能性文件不处于,就自动创建了。

实际上reset命令好多好多 输出了某些特殊字符,当你们看BusyBox里边最简单的resettcp连接的实现:

> file.txt

2.清空或创建一兩个文件

9.查看系统中占用端口的tcp连接

说的好多好多 at这些组件,通常跟cron相提并论,不过at主要用于定时一次性任务,而cron定时周期性任务。

printf("\033c\033(K\033[J\033[0m\033[?25h");

最常见的用途是用内存空间来放Firefox的配置,可不还要让慢吞吞的FF快好多好多 ,参见Shellex的博文:用tmpfs让Firefox在内存中飞驰,以及可是的改进:用tmpfs让Firefox在内存中飞驰II,其中提到的脚曾经自speeding up firefox with tmpfs and automatic rsync

\033[0m: "ESC [ 0 m" - 初始化字符显示属性;

/dev/dsp是Linux下声卡的文件映射(Digital Signal Proccessor),从其中读数据好多好多 录音,往里边写数据好多好多 播放,相当简单!

善用ssh可不还要让web开发减少好多好多 繁琐,还有比如sshfs,可不还要从编辑-上传-编辑-上传的人工循环里边解脱出来。

为何让可能性有别的tcp连接正在使用声卡,这些法律辦法 就不凑效了,可能性一般的声卡一定会允某些个音频流并肩正确处理,可不还要借用alsa组件的工具,arecord跟aplay:

直接回放麦克风的声音,好多好多 有某些延时。

可能性你没了远程主机,可不还要试试曾经:

4.重置终端

mount -t tmpfs -o size=1024m tmpfs /mnt/ram

在可能性敲完的命令后按 <CTRL-x CTRL-e> ,会打开一兩个你指定的编辑器(比如vim,通过环境变量$EDITOR指定),里边都不 了你刚输入的命令,为何让爱为何会么会编辑就为何会么会编辑吧,有点痛 是那先 参数异常复杂性的tcp连接,比如mencoder/ffmpeg,一兩个命令动辄3、4行的,要修改其中的参数,这些法律辦法 最大约 不过了,保存退出后自动执行这些tcp连接。

那个破烂LinuxQQ也可不还要用这些法律辦法 ,减少可能性少量磁盘IO意味的疑问。

-t: 显示TCP链接信息

-l: 显示监听请况的端口

cat /dev/urandom | ssh username@host aplay

ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

\033[?25h: "ESC [ ? 25 h" - 让光标可见;

Netstat是很常用的用来查看Linux网络系统的工具之一,这些参数可不还要背下来:

为何让在/etc/hosts里边换成127.0.0.1 twitter.com,好吧剩下的你懂的。

7.映射一兩个内存目录

dd if=/dev/dsp | ssh username@host dd of=/dev/dsp

\033(K: "ESC ( K" - 重载终端的字符映射;

可能性你试过不小心cat了某个二进制文件,很可能性整个终端就傻掉了,可能性前会换行,没了回显,大堆乱码类似的,这曾经敲入reset回车,不管命令有没了显示,就能回复正常了。

输出的那先 字符对Shell是有特殊意义的: