〖Linux〗不知谁写的,很实用的Linux命令

第一部分
1. sudo 运行上一条命令
    sudo !!
2. HTTP方式共享当前目录
    python -m SimpleHTTPServer 80
3. vim保存一个root用户文件
    :w !sudo tee %
4. 快速切换至旧的目录
    cd -
5. 替换上一条命令中的一个短语
    ^foo^bar^
6. 快速备份一个文件
    cp filename{,.bak}
    filename{,.bak} 会被展开为filename filename.bak
7. 排列,大括号在bash中是排列的意义
    echo {a,b,c}{a,b,c}{a,b,c} 得到一个全排列
8. 免密码ssh登录主机
    ssh-copy-id remote-machine
9. 抓取Linux桌面的视频
    ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
    ffmpeg 可以直接解码X11的图形,并转换输出格式
    -f x11grab 指定输入类型
    -s wxga 设置抓取区域的大小,wxga是1366*768的大小,也可以是-s 800x600
    -r 25 设置帧频率,每秒抓取的画面数
    -i :0.0 设置输入源,本地X默认在0.0
    -sameq 保持与输入流一样的图像质量

第二部分
1. 用你最喜欢的编辑器来敲命令
    command <C-X C-E>
2. 清空或创建一个文件
    > file.txt
3. 用ssh创建端口转发通道
    ssh -N -L2001:remotehost:80 user@somemachine
    在本机打开了2001端口,
    对本机2001端口的请求,
    通过somemachine作为跳板,
    转到remotehost的80端口上。
    举例:
    ssh -f -N -L 0.0.0.0:443:twitter.com:443 shell.cjb.net
    ssh -f -N -L 0.0.0.0:80:twitter.com:80 shell.cjb.net
    然后在/etc/hosts里边添加
    127.0.0.1 twitter.com
4. 重置终端
    reset
    对于终端显示有乱码,不能正常显示时很有用。
5. 在午夜时候执行某命令
    echo "cmd" | at midnight
    at 调用定时任务
6. 远程传送麦克风语音
    dd if=/dev/dsp | ssh user@host dd of=/dev/dsp #新系统上可能已失效
    arecord | ssh user@host aplay   #本地录音,远程播放
    arecord | aplay                 #本地直接回放
7. 映射一个内存目录
    mount -t tmpfs -o size=1024m tmpfs /mnt/ram
    开了一1G内存当目录使用
    /dev/shm 也是内存目录,可直接使用
8. 使用diff对比远程文件与本地文件
    ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
    学会善用ssh,可减少开发工作量,比如
    sshfs [user@]host:[dir] mountpoint [options]
    可以挂载远程的目录至本地(卸载fusermount -u mountpoint)
9. 查看系统中占用端口的进程
    netstat -tulnp
    -t 显示tcp连接
    -u 显示udp连接
    -l 显示监听状态
    -n 显示ip,不作名称转换
    -p 显示相应的pid以及名称(root)

第三部分
1. 以友好的方式显示当前挂载的文件系统
    mount | column -t
    column 用于格式化输出的信息
2. !!:gs/foo/bar
    !!表示上一条命令
    gs/foo/bar 用bar替换foo再执行
3. 实时查看某目录最新变化
    watch -d -n 1 ls -l
4. 通过ssh挂载远程主机上文件夹
    sshfs user@host:remotedir localdir
    卸载使用fusermount或是umount
5. 通过DNS读取Wikipedia的词条
    dig +short txt <keyword>.wp.dg.cx
    dig +short txt hacker.wp.dg.cx  #可能已失效
6. 使用wget递归下载整个网站
    wget --random-wait -r -p -e robots=off -U Mozilla www.example.com
    --random-wait 等待0.5~1.5秒的时间进行下一次请求
    -r 递归下载
    -e robots=off 忽略robots.txt
    -U Mozilla 设置User-Agent头为Mozilla

    其他实用的参数:
    --limit-rate=20k 限定下载速度为20k
    -o logfile.txt 记录下载日志
    -l 0 删除深度(默认为5)
    -wait=1h 每下载一个文件后等待1小时
7. 复制最后使用的命令的参数
    <Alt +.>
8. 执行一条命令但不保存至history中
    <space> command
9. 显示当前子目录下所有子目录下的大小
    du -h --max-depth=1
10. 以使用内存量排序查看进程
    ps aux | sork -nk +4 | tail
    sork -nk +4 用sort排序列出4栏
    此外可以使用htop或是top
11. 用python快速开启一个SMTP服务
    python -m smtpd -n -c DebuggingServer localhost:1025
    -m smtpd 指定smtp服务
    localhost:1025运行1025端口
    -n 不用setuid为nobody,而直接使用你的uid运行
    -c DebuggingServer 在屏幕上输出信息

第四部分
1. 查看ASCII码表
    man ascii 或 man 7 ascii

    man 1 intro - Linux简明教程
    man 2 syscalls - 内核提供的系统调用
    man 2 select_tut - 关于select()系统调用的教程
    man 3 string - 在头文件内的所有函数
    man 3 stdio - 关于头文件的使用,标准输入输出的库说明
    man 3 errno - 所有errorno取值及说明
    man 4 console_codes - Linux终端控制码及使用解释
    man 4 full - 介绍总是处理“满”状态的/dev/full(对应有/dev/nullman 5 proc - 介绍/proc下文件系统
    man 5 filesystems - 各种Linux文件系统
    man 7 bootparam - 详细解释内核启动参数
    man 7 charsets - 解释各种语言的编码集
    man 7 glob - 解释glob文件名管理机制的工作过程
    man 7 hier - 解释Linux文件系统结构各个部分的作用
    man 7 operator - C语言运行符的列表 
    man 7 regex - 介绍正则表达式
    man 7 suffixes - 常见文件后缀名的列表跟解释
    man 7 time - Linux的时钟机制解释
    man 7 units - 数值单位及其数值的解释
    man 7 utf8 - 描述UTF-8编码
    man 7 url - 解释URL、URI、URN等的标准
2. 简易计时器
    time real
3. 远程关掉一台Windows机器
    net rpc shutdown -I IP_ADDRESS -U user%passwd
4. 在一个子Shell中运行一个命令
    (cd /tmp && ls)
    其中的好处是不会修改当前shell目录
5. 利用中间管道嵌套使用SSH
    ssh -t host_A ssh host_B
    使用情况:
    host_B 网络繁忙,本机不可直达
    host_A 网络空闲,本机可直达
6. 清空屏幕
   <C-L> 或是 clear 或是 tput clear
7. 得知一台机器什么时间重启完毕
    ping -a IP
    一但ping通,发出警报声音
8. 列出你最常用的10行命令
    history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
9. 使用Telnet查看《星球大战》
    telnet towel.blinkenlights.nl

From: http://wenku.baidu.com/view/4724041fa8114431b90dd82b.html

原文地址:https://www.cnblogs.com/scue/p/3216193.html