一些有用的linux命令

  1. 以sudo运行上条命令
    sudo !!(两个感叹号其实是bash的一个特性,称为时间引用符,引用前一个命令,参考history命令)
    输入命令后发现忘记sudo后可以使用Ctrl+p和Ctrl+a快速输入sudo命令
  2. 以HTTp方式共享当前文件夹的文件:
    python -m SimpleHTTPServer(启用Python的SimpleHTTPServer模块,简单的跨平台传文件的方法,命令执行后将在本机8000端口开放HTTP服务,打开http://ip:8000即打开一个目录列表,点击即可下载)
  3. 在以普通用户打开的VIM当中保存一个ROOT用户文件
    :w !sudo tee %(命令:w!{cmd},让vim执行一个外部命令{cmd},然后把当前缓冲区的内容从stdin传入) #tee是一个把stdin保存到文件的小工具;%是vim当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径
  4. 切换回上一个目录
    cd -(cd $OLDPWD命令的缩写,bash的固定变量$OLDPWD总保存着之前一个目录的路径)
  5. 替换上一个命令中的一个短语
    \^foo\^bar\^(又是一个事件引用符(even designator),提高效率,但在脚本中用这个方法可能花间很多;原始命令:!!:s/foo/bar/)
  6. 快速备份一个文件
    cp filename{,.bak}#大括号在bash里面是一个排列的意义
  7. 免密码SSH登录主机
    ssh-copy-id remote-machine(这个命令将当前用户的公钥写入到远程主机的~/.ssh/authorized_keys内;前提是你当前用户有生成的公钥,默认是没有的,先执行ssh-keygen生成当前用户公钥)
    #ssh-keygen生成公钥:
    (1)your-machine$scp ~/.ssh/identity.pub remote-machine:
    (2)your-machine$ssh remote machine
    (3)remote-machine$cat identity.pub >> ~/.ssh/authorized_keys
    #如果想删除远程主机上的密钥,直接打开authorized_keys,搜索你的用户名,删除就可。
  1. 抓取linux桌面的视频
    ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
  2. command
    (会打开一个指定的编辑器,里面是你刚刚输入的命令)
    #如果你喜欢别的编辑器,可以在~/.bashrc里面放上比如export EDICTOR=nano的命令;另外一个修改命令的方法是使用fc命令(Fix Command)
  3. 清空或创建一个文件
    \>file.txt
  4. 用ssh创建端口转发通道

    ssh -N -L2001:remotehost:80 user@somemachine(开启2001端口,对本机2001端口的请求通过some machine作为跳板,转到remote host的80端口上,在使用时注意对象的转换,比较抽象)
    e.g.:ssh -f -N -L 0.0.0.0:443:twitter.com:443 shell.cjb.net
    ssh -f -N -L 0.0.0.0:twitter.com:80 shell.cjb.net
  5. 重置终端
    reset
  6. 在午夜的时候执行某命令
    echo cmd | at midnighe(at这个组件,通常跟cron相提并论,不过at主要用于定时一次性任务,而core定时周期性任务,at的参数比较人性化)
  7. 远程传送麦克风语音
    dd if=/dev/dsp | ssh username@host dd of=/dev/dsp(事项一个喊话器的功能) #/dev/dsp是linux下声卡的文件映射(Digital Signal Proccessor)
  8. 映射一个内存目录
    mount -t tmpfs -o size=1024m tmpfs /mnt/ram(这个命令开了一块1G内存来当前目录用)
  9. 用DIFF对比远程文件跟本地文件
    ssh user@host cat /path/to/remotefile | diff /path/to/localfile -(-指从stdin读入)
  10. 查看系统中占用端口的进程
    netstat -thlnp
    -t:显示tcp连接信息
    -u:显示udp连接信息
    -l:显示监听状态的端口
    -n:直接显示ip,不做名称转换
    -p:显示相应进程pid及名称

  11. 运行前一个shell命令,同时用“bar”替换掉命令行中的每一个“foo”
    !!:gs/foo/bar(gs表示执行)***

  12. 实时某个目录下查看最新改动过的文件
    watch -d -n 1 'df; ls -FIAt/path'(watch是实时监控工具)
  13. 通过ssh挂载远程主机上的文件夹
    sshfs name@server:/path/to/folder /path/to/mount/point #(SSH 是一个强大且安全的工具,我们除了可以用它来远程管理主机外,还可以通过它建立 SSH tunnel 作 Proxy 用,远程传输文件等等。而这里我想要介绍另外一个功能,那就是结合 sshfs 这个工具可以把远程主机的文件系统映射到本地主机上,透过 SSH 把远程文件系统挂载到本机上,这样我们可以不必使用 scp 工具就可以做到直接复制及删除远程主机的文件了,就像操作本地磁盘一样方便。) 前提是你需要安装fuse及sshfs这两个软件。
    卸载的话使用fusermount命令
    fusermount -u /path/to/mount/point
  14. 通过dns来读取wikipedia的词条:
    ***:dig +short txt <keyword>.wp.dg.cx
  15. 用 wget的递归方式下载整个网站
  16. 清屏
    ctrl+l
  17. 用telnet看片
    telnet towel.blinkenlights.nl
  18. 显示消耗内存最多的10个运行中的进程,以内存使用量排序
    ps aux | sort -nk +4 | tail
  19. 执行一条命令但不保存到history中
    <space> command
  20. 赋值最后使用的命令中的参数
    alt + . (or ESC + .)(只能用于工作中于shell的emacs编辑模式)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值