V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ming2281
V2EX  ›  Linux

Linux-cmd 下有什么「非常好用但是一般是老手常用而新手不知道的」命令行工具(但是应该知道应该使用)的? (举例: htop 之于 top,我知道 htop 后,就没有怎么用过 top 了)

  •  5
     
  •   ming2281 · 2016-02-18 22:56:29 +08:00 · 10099 次点击
    这是一个创建于 3204 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如 tmux,tree 等,
    85 条回复    2016-05-30 14:13:05 +08:00
    lightening
        1
    lightening  
       2016-02-18 23:02:26 +08:00   ❤️ 2
    tig ?
    ming2281
        2
    ming2281  
    OP
       2016-02-18 23:04:26 +08:00
    @lightening 这个可以有,我忘记提了
    chairuosen
        3
    chairuosen  
       2016-02-18 23:06:37 +08:00 via iPhone
    管道
    LedChang
        4
    LedChang  
       2016-02-18 23:07:51 +08:00   ❤️ 1
    cd - 回到上次进入的目录
    zhjits
        5
    zhjits  
       2016-02-18 23:08:40 +08:00   ❤️ 1
    pushd, popd
    billlee
        6
    billlee  
       2016-02-18 23:09:14 +08:00
    xargs, comm, sort, uniq, ...
    参见: info coreutils
    ming2281
        7
    ming2281  
    OP
       2016-02-18 23:10:54 +08:00   ❤️ 2
    @LedChang cd ~Username, 进入某一个人的 home 目录 :)
    slixurd
        8
    slixurd  
       2016-02-18 23:11:55 +08:00
    locate,用 find 每次都记不住路径放前面还是后面。。。
    pengfei
        9
    pengfei  
       2016-02-18 23:16:14 +08:00
    iftop 不是原生的
    aisk
        10
    aisk  
       2016-02-18 23:17:04 +08:00
    z
    Goooogle
        11
    Goooogle  
       2016-02-18 23:20:57 +08:00 via Android   ❤️ 2
    Percol. 交互式 grep
    Fasd 快速定位文件夹及文件
    ming2281
        12
    ming2281  
    OP
       2016-02-18 23:23:26 +08:00
    自己想到的: sed,awk,perl(正则利器)
    zxgngl
        13
    zxgngl  
       2016-02-18 23:23:46 +08:00
    fish shell
    zxgngl
        14
    zxgngl  
       2016-02-18 23:24:10 +08:00
    ag -- the silver searcher
    zxgngl
        15
    zxgngl  
       2016-02-18 23:24:32 +08:00   ❤️ 1
    emacs --daemon
    emacsclient -t
    ming2281
        16
    ming2281  
    OP
       2016-02-18 23:25:38 +08:00
    @zxgngl Shell for 90 后, 这个有意思 :)
    wittyfox
        17
    wittyfox  
       2016-02-18 23:25:47 +08:00 via Android
    zsh
    zxgngl
        18
    zxgngl  
       2016-02-18 23:29:22 +08:00
    @ming2281 我才知道 Fish 原来还有这个称号啊:)
    tracyone
        19
    tracyone  
       2016-02-18 23:54:15 +08:00 via Android
    vim 及其各种插件+tmux+zsh 及其各种框架插件,文本三巨头,搞定这三个命令行就玩得很溜了。
    amghost
        20
    amghost  
       2016-02-18 23:55:34 +08:00
    htop nice! 之前我都是觉得 top 之后再按 1 才是会不会用 top 的分水岭。

    常用的工具其实就几个: grep awk sed cat find which xargs lsof netstat
    yangzh
        22
    yangzh  
       2016-02-19 04:34:11 +08:00 via iPhone
    zsh
    msg7086
        23
    msg7086  
       2016-02-19 06:48:37 +08:00   ❤️ 4
    traceroute -> mtr / mtr-tiny
    top -> htop
    tmux -> byobu
    sysvinit -> systemd
    bash -> zsh + oh-my-zsh
    cd -> popd ( pushd 楼上自带了)
    apt-get -> aptitude
    scp -> rsync
    iotop / iftop
    FrankFang128
        24
    FrankFang128  
       2016-02-19 07:32:56 +08:00 via Android
    !!
    workwonder
        25
    workwonder  
       2016-02-19 07:59:14 +08:00 via Android
    apg 生成随机密码
    kfll
        26
    kfll  
       2016-02-19 08:25:03 +08:00 via iPhone
    man
    skywalker
        27
    skywalker  
       2016-02-19 08:42:04 +08:00
    sed, awk
    okampfer
        28
    okampfer  
       2016-02-19 08:55:09 +08:00
    推荐[fuzzy finder]( https://github.com/junegunn/fzf),用`locate / | fzf -m`搜索文件超快,当然还有其他很多用途比如一次性删除多个 git branch 等等。
    breeswish
        29
    breeswish  
       2016-02-19 09:17:36 +08:00
    生成随机哈希 openssl rand 32 | shasum
    hei1000
        30
    hei1000  
       2016-02-19 09:26:34 +08:00 via Android
    fish , tmux , ag , cloc , dtrx/aunpack , less , sdcv …

    是 cli 不是 cmd

    另外不如 alias ,我可是有非常多非常实用的 aliases
    c4pt0r
        31
    c4pt0r  
       2016-02-19 09:28:02 +08:00
    grep -> ack
    jpmorn
        32
    jpmorn  
       2016-02-19 09:29:44 +08:00
    BOYPT
        33
    BOYPT  
       2016-02-19 09:36:05 +08:00
    www.commandlinefu.com 直接点开去看
    jimmy8chu
        34
    jimmy8chu  
       2016-02-19 09:37:32 +08:00
    sudo !!
    bikegl
        35
    bikegl  
       2016-02-19 09:47:35 +08:00
    我也来一个: taskwarrior
    这个是命令行下的 GTD 软件
    也可以说是命令行下的 todo list
    Mutoo
        36
    Mutoo  
       2016-02-19 09:55:52 +08:00
    fuck
    Mutoo
        37
    Mutoo  
       2016-02-19 09:56:00 +08:00
    mulog
        38
    mulog  
       2016-02-19 10:04:59 +08:00   ❤️ 1
    看到不是我一个人不会用 top 我就放心了
    tankeco
        39
    tankeco  
       2016-02-19 10:07:38 +08:00   ❤️ 1
    ncdu -> du
    senghoo
        40
    senghoo  
       2016-02-19 10:11:12 +08:00
    Ctrl-R 搜索历史命令算吗?
    mcfog
        41
    mcfog  
       2016-02-19 10:14:01 +08:00
    fish

    又到了贴 dotfile 的时间了
    https://github.com/mcfog/dotfiles-fish

    楼上提到的 fzf , fasd , thefuck 都有

    还有自己实现的收藏等等
    zzn
        42
    zzn  
       2016-02-19 10:17:58 +08:00
    ctrl-R 历史命令搜索

    mutt

    vim 里
    :w !sudo tee %
    :%!xxd
    wlsnx
        43
    wlsnx  
       2016-02-19 10:36:59 +08:00
    有一个替代 ls 的工具叫做 exa
    Kymair
        44
    Kymair  
       2016-02-19 10:43:59 +08:00
    我讨厌 Linux. 无穷无尽的命令和参数
    imn1
        45
    imn1  
       2016-02-19 10:56:14 +08:00
    果然一大堆收藏家

    上面没人说,我就说个自己常用的: QiV ,看图的,最大亮点是可以整个目录树浏览(含子目录)
    刚刚装上 linux 就去找这样的工具了,还好给我找到了
    Frapples
        46
    Frapples  
       2016-02-19 11:15:43 +08:00
    推荐一个非常好用的命令:
    xkill !!!
    试试看下,输入 xkill 会出现一个叉状箭头,然后对着某个 GUI 窗口点一下,会发现什么?
    对付卡死的窗口真乃神器!
    Delbert
        47
    Delbert  
       2016-02-19 11:35:04 +08:00 via Android
    @amghost -bash: htop: command not found.
    ming2281
        48
    ming2281  
    OP
       2016-02-19 11:37:03 +08:00
    @Delbert 要先安装(sudo apt-get install htop), 某些发行版可能自带了(大多数不自带)
    ming2281
        49
    ming2281  
    OP
       2016-02-19 11:38:34 +08:00
    @hei1000 求大神的 alias :)
    Delbert
        50
    Delbert  
       2016-02-19 11:51:39 +08:00 via Android
    @ming2281 然而 Linux 不能上网。。。
    RqPS6rhmP3Nyn3Tm
        51
    RqPS6rhmP3Nyn3Tm  
       2016-02-19 11:56:13 +08:00 via Android
    The fuck
    kingddc314
        52
    kingddc314  
       2016-02-19 11:57:24 +08:00
    httpie ,类似 python-request 的命令行工具,比 curl 好用多了
    Orzzzz
        53
    Orzzzz  
       2016-02-19 12:10:07 +08:00   ❤️ 1
    msg7086
        54
    msg7086  
       2016-02-19 12:21:12 +08:00
    @ming2281 其实安装的就是发行版自带的。自带也要从软件源里下载装上。

    @Delbert 不能上网还怎么用 Linux ……虽然可以先下载依赖然后再 dpkg 装上……不过这也太折腾了。
    402124773
        55
    402124773  
       2016-02-19 12:43:34 +08:00
    nautilus .显示当前目录
    alias 设置很多自己常用的快捷键
    freedomSky
        56
    freedomSky  
       2016-02-19 13:07:54 +08:00 via iPhone
    expect shell 中完成交互的自动化
    vus520
        57
    vus520  
       2016-02-19 13:12:07 +08:00
    火钳留名,又错过了几亿
    poke707
        58
    poke707  
       2016-02-19 13:29:42 +08:00   ❤️ 1
    fzf
    xclip

    !!
    !*
    !$
    !-2
    !*:h
    zqhong
        59
    zqhong  
       2016-02-19 13:41:09 +08:00
    watch ,最近觉得特好用。

    $ watch -n 1 -d netstat -lnp

    每秒钟执行 "netstat -lnp" 这条命令,并高亮与上次结果不同的部分。

    有兴趣可以看看这个: http://www.cnblogs.com/peida/archive/2012/12/31/2840241.html 。或者直接 man watch :)
    loryyang
        60
    loryyang  
       2016-02-19 14:09:27 +08:00
    alias ,我个人觉得最节省打字的东西
    当然有些人甚至不知道 ctrl + r 这种
    popu111
        61
    popu111  
       2016-02-19 14:32:01 +08:00 via iPhone
    lftp 之于 ftp😶
    chendeshen
        62
    chendeshen  
       2016-02-19 14:52:12 +08:00
    Havee
        63
    Havee  
       2016-02-19 15:59:13 +08:00
    为什么对大家推荐的 zsh fish 都提不起兴趣呢,包括果粉的 iterm2 等
    一直觉得用原生,就是避免自己遗忘一些技巧,至于速度? alias 足够了,再不济,写个 function 去
    hitmanx
        64
    hitmanx  
       2016-02-19 16:37:58 +08:00
    tree 算不算?可以树状递归地列出当前目录下的文件
    woodrat
        65
    woodrat  
       2016-02-19 16:41:08 +08:00
    继续安利 trash-cli
    hei1000
        66
    hei1000  
       2016-02-19 17:24:39 +08:00
    @ming2281
    https://github.com/c02y/dotfiles/blob/master/fish/.config/fish/config.fish
    请根据自己的需求修改, alias 是小,各种 functions 才是大头,注意为 fish 格式,如使用 bash/zsh 必须得适量修改

    另外补充, vifm , ncftp/lftp/yafc, tig(对于我 Emacs 党算是无用),
    lightening
        67
    lightening  
       2016-02-19 17:33:09 +08:00
    说个稍微有点跑题的吧,用 git 管理游戏存档。

    可以方便的 push 到 GitHub 后在多台电脑之间同步。对于一些只能 save 一次的游戏,可以实现多个 save 。你想要的话,还可以分支出去玩不同的结局。
    coffeedeveloper
        68
    coffeedeveloper  
       2016-02-19 18:03:00 +08:00
    z 可以替代 cd ,配合 zsh 的话,可以比较方便的进入深层次的目录
    matthewgao
        69
    matthewgao  
       2016-02-19 18:05:12 +08:00 via Android
    tldr nbwmon screenfetch fbi
    Owenjia
        70
    Owenjia  
       2016-02-19 20:13:33 +08:00
    上面提到的就不重复了:

    df -> pydf
    net-tools -> iproute2
    iptables -> nftables
    {i,}python -> ptipython

    还有 Debian 的 apt ,只有三个字符的,不是指 apt-* 系列。
    7sDream
        71
    7sDream  
       2016-02-19 20:14:50 +08:00
    fish?

    还有 ssh 的时候常用的 screen ……
    shellfly
        72
    shellfly  
       2016-02-19 20:36:46 +08:00
    “ git checkout -”切到上一个分支

    另外没人提这个网站吗: http://www.commandlinefu.com/commands/browse/sort-by-votes
    itfanr
        73
    itfanr  
       2016-02-19 21:33:54 +08:00
    @187j3x1 这个不错
    itfanr
        74
    itfanr  
       2016-02-19 21:37:59 +08:00
    @chendeshen 名字不大好听
    itfanr
        75
    itfanr  
       2016-02-19 21:42:12 +08:00
    @jimmy8chu 加两个感叹号是啥意思来着?
    faywong8888
        76
    faywong8888  
       2016-02-19 22:09:25 +08:00
    dstat
    libook
        77
    libook  
       2016-02-19 22:19:50 +08:00
    好多都被人说到了,我就不赘述了。。。
    新手一般很少听说过 yaourt ,不过也挺小众的


    @itfanr 两个感叹号是后面接上上一条指令

    另外 fish 有个很牛 B 的宣传语:一切可配置的产品都是设计失败的产品。
    所以我喜欢用可配置的 zsh+oh-my-zsh ,但是 oh-my-zsh 不区别用户和 host 有点接受不了。我一般自己改 theme 。。。

    还有的人说的挺好的,自己写 alias 和 shell 脚本,我自己有一个目录是专门存放我自己写的实用脚本的,把目录加入环境变量就可以随时调用了,这样用的话命令行反而比图形界面要方便的很。
    jusonalien
        78
    jusonalien  
       2016-02-19 23:26:41 +08:00
    tail -f 这个用来查看系统软件自带的日志还是你自己 lu 的日志都很一颗塞提
    sinxccc
        79
    sinxccc  
       2016-02-19 23:31:07 +08:00
    @Havee 逼我用 zsh 的最大原因是因为 GPLv3 , OS X 上的 bash 版本极老…
    paulw54jrn
        80
    paulw54jrn  
       2016-02-20 05:58:44 +08:00
    有了 ncdu 就再也没用过 du 了
    taijia
        81
    taijia  
       2016-02-20 09:20:50 +08:00 via Android
    less +F yourfile 看日志比 tail -f yourfile 更加方便点
    dphdjy
        82
    dphdjy  
       2016-02-20 14:00:54 +08:00 via Android
    fish jq xset < | >
    azurefire
        83
    azurefire  
       2016-02-21 17:26:22 +08:00
    df -> dfc
    morefreeze
        84
    morefreeze  
       2016-02-24 13:01:28 +08:00
    mv a a.txt => mv a{,.txt}

    for i in "foo*"; do
    # do something with $i
    cat $i;
    done
    lumen
        85
    lumen  
       2016-05-30 14:13:05 +08:00   ❤️ 1
    ^foo^bar
    将上一命令的第一个 foo 改为 bar

    安利个小工具: nc 或者 netcat
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3294 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 12:08 · PVG 20:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.