当前位置: 首页 > news >正文

〖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

相关文章:

  • 带动画渐进效果与颜色渐变的圆弧进度控件设计
  • [Android]Tool-Systrace
  • 抱歉,我不接私单了
  • Java中数据库连接池原理机制的详细讲解(转)
  • App安全之网络传输安全
  • 记录:C#编程的一点小细节
  • 8000端口下 调用pdo数据库连接的报错原因
  • MYSQL导入导出.sql文件
  • hadoop
  • 每日编译的入门实践
  • Managing Versions of an Application
  • 矩形的个数
  • 系统服务之广告
  • cvsacl error
  • centos安装firefox flash插件
  • 【译】JS基础算法脚本:字符串结尾
  • [nginx文档翻译系列] 控制nginx
  • [Vue CLI 3] 配置解析之 css.extract
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【5+】跨webview多页面 触发事件(二)
  • AngularJS指令开发(1)——参数详解
  • Babel配置的不完全指南
  • dva中组件的懒加载
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript设计模式系列一:工厂模式
  • k8s如何管理Pod
  • log4j2输出到kafka
  • react 代码优化(一) ——事件处理
  • storm drpc实例
  • 从零开始在ubuntu上搭建node开发环境
  • 关于extract.autodesk.io的一些说明
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 详解移动APP与web APP的区别
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (三)uboot源码分析
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)Controller接口控制器详解(三)
  • (转)Scala的“=”符号简介
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core 中插件式开发实现
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET分布式缓存Memcached从入门到实战
  • @WebService和@WebMethod注解的用法
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!