
正文
〖Linux〗不知谁写的,很实用的Linux命令
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
第一部分
. sudo 运行上一条命令
sudo !!
. HTTP方式共享当前目录
python -m SimpleHTTPServer
. vim保存一个root用户文件
:w !sudo tee %
. 快速切换至旧的目录
cd -
. 替换上一条命令中的一个短语
^foo^bar^
. 快速备份一个文件
cp filename{,.bak}
filename{,.bak} 会被展开为filename filename.bak
. 排列,大括号在bash中是排列的意义
echo {a,b,c}{a,b,c}{a,b,c} 得到一个全排列
. 免密码ssh登录主机
ssh-copy-id remote-machine
. 抓取Linux桌面的视频
ffmpeg -f x11grab -s wxga -r -i :0.0 -sameq /tmp/out.mpg
ffmpeg 可以直接解码X11的图形,并转换输出格式
-f x11grab 指定输入类型
-s wxga 设置抓取区域的大小,wxga是1366*768的大小,也可以是-s 800x600
-r 设置帧频率,每秒抓取的画面数
-i :0.0 设置输入源,本地X默认在0.
-sameq 保持与输入流一样的图像质量第二部分
. 用你最喜欢的编辑器来敲命令
command <C-X C-E>
. 清空或创建一个文件
> file.txt
. 用ssh创建端口转发通道
ssh -N -L2001:remotehost: user@somemachine
在本机打开了2001端口,
对本机2001端口的请求,
通过somemachine作为跳板,
转到remotehost的80端口上。
举例:
ssh -f -N -L 0.0.0.0::twitter.com: shell.cjb.net
ssh -f -N -L 0.0.0.0::twitter.com: shell.cjb.net
然后在/etc/hosts里边添加
127.0.0.1 twitter.com
. 重置终端
reset
对于终端显示有乱码,不能正常显示时很有用。
. 在午夜时候执行某命令
echo "cmd" | at midnight
at 调用定时任务
. 远程传送麦克风语音
dd if=/dev/dsp | ssh user@host dd of=/dev/dsp #新系统上可能已失效
arecord | ssh user@host aplay #本地录音,远程播放
arecord | aplay #本地直接回放
. 映射一个内存目录
mount -t tmpfs -o size=1024m tmpfs /mnt/ram
开了一1G内存当目录使用
/dev/shm 也是内存目录,可直接使用
. 使用diff对比远程文件与本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
学会善用ssh,可减少开发工作量,比如
sshfs [user@]host:[dir] mountpoint [options]
可以挂载远程的目录至本地(卸载fusermount -u mountpoint)
. 查看系统中占用端口的进程
netstat -tulnp
-t 显示tcp连接
-u 显示udp连接
-l 显示监听状态
-n 显示ip,不作名称转换
-p 显示相应的pid以及名称(root)第三部分
. 以友好的方式显示当前挂载的文件系统
mount | column -t
column 用于格式化输出的信息
. !!:gs/foo/bar
!!表示上一条命令
gs/foo/bar 用bar替换foo再执行
. 实时查看某目录最新变化
watch -d -n ls -l
. 通过ssh挂载远程主机上文件夹
sshfs user@host:remotedir localdir
卸载使用fusermount或是umount
. 通过DNS读取Wikipedia的词条
dig +short txt <keyword>.wp.dg.cx
dig +short txt hacker.wp.dg.cx #可能已失效
. 使用wget递归下载整个网站
wget --random-wait -r -p -e robots=off -U Mozilla www.example.com
--random-wait 等待0.~.5秒的时间进行下一次请求
-r 递归下载
-e robots=off 忽略robots.txt
-U Mozilla 设置User-Agent头为Mozilla 其他实用的参数:
--limit-rate=20k 限定下载速度为20k
-o logfile.txt 记录下载日志
-l 删除深度(默认为5)
-wait=1h 每下载一个文件后等待1小时
. 复制最后使用的命令的参数
<Alt +.>
. 执行一条命令但不保存至history中
<space> command
. 显示当前子目录下所有子目录下的大小
du -h --max-depth=
. 以使用内存量排序查看进程
ps aux | sork -nk + | tail
sork -nk + 用sort排序列出4栏
此外可以使用htop或是top
. 用python快速开启一个SMTP服务
python -m smtpd -n -c DebuggingServer localhost:
-m smtpd 指定smtp服务
localhost:1025运行1025端口
-n 不用setuid为nobody,而直接使用你的uid运行
-c DebuggingServer 在屏幕上输出信息第四部分
. 查看ASCII码表
man ascii 或 man ascii man intro - Linux简明教程
man syscalls - 内核提供的系统调用
man select_tut - 关于select()系统调用的教程
man string - 在头文件内的所有函数
man stdio - 关于头文件的使用,标准输入输出的库说明
man errno - 所有errorno取值及说明
man console_codes - Linux终端控制码及使用解释
man full - 介绍总是处理“满”状态的/dev/full(对应有/dev/null)
man proc - 介绍/proc下文件系统
man filesystems - 各种Linux文件系统
man bootparam - 详细解释内核启动参数
man charsets - 解释各种语言的编码集
man glob - 解释glob文件名管理机制的工作过程
man hier - 解释Linux文件系统结构各个部分的作用
man operator - C语言运行符的列表
man regex - 介绍正则表达式
man suffixes - 常见文件后缀名的列表跟解释
man time - Linux的时钟机制解释
man units - 数值单位及其数值的解释
man utf8 - 描述UTF-8编码
man url - 解释URL、URI、URN等的标准
. 简易计时器
time real
. 远程关掉一台Windows机器
net rpc shutdown -I IP_ADDRESS -U user%passwd
. 在一个子Shell中运行一个命令
(cd /tmp && ls)
其中的好处是不会修改当前shell目录
. 利用中间管道嵌套使用SSH
ssh -t host_A ssh host_B
使用情况:
host_B 网络繁忙,本机不可直达
host_A 网络空闲,本机可直达
. 清空屏幕
<C-L> 或是 clear 或是 tput clear
. 得知一台机器什么时间重启完毕
ping -a IP
一但ping通,发出警报声音
. 列出你最常用的10行命令
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
. 使用Telnet查看《星球大战》
telnet towel.blinkenlights.nl
From: http://wenku.baidu.com/view/4724041fa8114431b90dd82b.html






