您最喜欢的命令行属性或方法是什么?

分享您的命令行属性以及Unix / Linux的方法。 尝试尽可能保持shell /发行版不可知。 着迷于看到笔名,单行,键盘更快的方式,小外壳手稿等等

0
2019-05-04 19:30:25
资源 分享
答案: 60

总结目录站点维度,降低人员维度

du -hs */ | sort -hr

举个例子

10.2G   foo/
4M      bar/
0
2019-12-04 05:30:18
资源

我发现,认识到bash击键会带来额外的可靠脱壳,而emacs中的很多击中键都正确地阐明了它们的用法(即,meta-XXXctrl-XXX命令的较大bro变体)。

“元”键通常是“ alt”键,但也可以是“ esc”键。 例如,可以使用alt-fesc f获得meta-f

为了使alt-键映射起作用,您可能需要在控制台替代方案中取消设置“菜单可访问性键”或其等效项。 首先,如果您按alt-f并准时选择了文档食物选择,请关闭alt-关键辅助功能食物选择。

ctrl-a / ctrl-e : move to start / end of line您不能没有的要点

ctrl-f, meta-f : forward char/word按下alt-f会使您向前跳跃“ 1个单词”,这在命令行上实际上是一个命令或自变量

ctrl-b, meta-b : backwards char/word像alt-f一样,但是通过命令行反向反转

ctrl-d, meta-d : delete char/word按下alt-d肯定会删除箭头下的现有单词(至结尾)。 按住删除30秒后,速度要快得多。 当您在某事物的中心完成制表符并且还打算继续删除整个单词时,这非常有价值。

ctrl-k : kill line删除整行

ctrl-u : undo为例,输入密码,并且您还认识到您在某个地方获得了不正确的密码,而不是敲击20次退格键,只需敲击ctrl-u。 另外摆脱现有的命令行。

meta-# : insert comment,如果您需要先执行其他操作,那么对于在运行命令行之前保留作为注释累积的命令行而言,这是很棒的选择。 它肯定会进入您的命令后台,但不会运行。

ctrl-r : reverse search通过您的外壳背景反向查看(重复的ctrl-表示下一套西装的r)

ctrl-g : abort如果您仍然在ctrl-r的中心,并且还打算简单地返回到键入的位置,只需使用ctrl-g终止搜索

如果需要立即跳转到命令行中的某个位置,请先设置meta-space / ctrl-x ctrl-x : set mark and jump to mark,首先设置该标记,然后再使用ctrl-x ctrl-x将该标记跳转回该位置。 请注意,您可能需要利用esc-space来获得标记集,因为alt-space通常会降低控制台食物的选择。

ctrl-] <char> : quick jump to <char>继续跳转到在命令行上ctrl-]之后键入的个性。 大兄弟Meta-ctrl-] <char>反向跳跃。

0
2019-12-04 05:29:12
资源

使用zsh进行二进制星型开发(递归地出现在目录站点树中,而不仅仅是一个度,这类似于$(find ! -type d)

grep string **/*.cc
0
2019-12-04 05:25:10
资源

zsh是vehicle pushed属性:

setopt autopushd

并且与此同时:

alias dirs='dirs -v'

这样一来,我可以随时输入dirs,并获得背景信息:

0   /var/log
1   /tmp
2   /usr/local/bin
3   ~

然后,我可以通过键入以下命令将cd放回到示例/usr/local/bin中:

cd ~2
0
2019-12-04 05:24:54
资源

我的最爱在下面列出。 我一贯使用很多

df-k(检查文件系统)消除或消除-9(消除过程)设置-o vi(将命令行设置为vi)topas(高效设备)安装/卸载

哦,是的,我也该如何忽略>(将结果重新路由到文档)ls> / tmp / tmp。 文本

我头顶上还有许多多余的东西。

0
2019-12-04 05:23:40
资源

我最喜欢的是利用python命令制作短暂的http Web服务器:

python-m SimpleHTTPServer

并且还可以通过局域网从该设备访问文档:

http://192.168.1.70:8000

另一种是下载和安装已删除的tar文档,如下所示:

wget-qO-http://192.168.1.70:8000/test.bz2 | 焦油xjvf-

在这里,链接可以是www上的任何类型,对于该问题,bz2可以是gz,tgz或bz2本身。

0
2019-12-03 05:35:40
资源

自动备份昂贵的点文件

Modular.bashrc--> bashrc.d

mkdir -p ~/.bashrc.d
cat<<'EOF' >> ~/.bashrc
echo ""
echo -n ".bashrc.d warming up: "
for script in ~/.bashrc.d/* ; do
  if [ -x "$script" ] ; then
    echo -n "${script##*/} "
    . "$script"
  fi
done
echo ""
echo ""
echo "  All systems are go."
echo ""
EOF

rm更安全,适用于Linux和Mac OS X

rm() {
  local src
  local final_status=0

  for src in "[email protected]"; do
    # Process only non command-line arguments.
    if [[ "$src" != -* ]]; then
      local trash="$HOME/.Trash"
      if [ ! -e "$src" ]; then
        echo "Safer rm: $src: No such file or directory."
        final_status=1
      fi
      # Create the trash directory if needed.
      if [ ! -d "$trash" ]; then
        # Assume Mac trash, but it'll work on *nix too.
        mkdir -p "$trash"
        if [ ! -d "$trash" ]; then
          echo "Safer rm: Unable to create trash directory $trash"
          echo ""
          echo "   Nothing moved or deleted.  Consider carefully:"
          echo ""
          echo "      /bin/rm -rf $src"
          return 1
        fi
      fi
      local dest="$trash/${src##*/}"

      # Find a filename combination which does not already exist.
      if [ -e "$dest" ]; then
        # Try appending ISO datetime.
        dest="$dest.$(date +%Y-%m-%dT%H-%M-%S)"
        if [ -e "$dest" ]; then
          local n=1
          # Try increasing monotony.
          while [ -e "$dest.$n" ]; do
            n = $[n + 1]
          done
          dest="$dest.$n"
        fi
      fi
      echo -n "Safer rm: Trashing $src to $dest ..."
      /bin/mv "$src" "$dest"
      echo " done."
      echo ""
      echo "  To restore:  /bin/mv     '$dest' '$src'"
      echo ""
      echo "  To purge:  /bin/rm -rf '$dest'"
      echo ""
      echo ""
    fi
  done
  return $final_status
}

超级热身“ cd”活动

# Don't ask why I need 15 levels of cd ..

alias ..='cd ..'
alias .2='cd ../..'
alias ...='.2'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'
alias .6='cd ../../../../../..'
alias .7='cd ../../../../../../..'
alias .8='cd ../../../../../../../..'
alias .9='cd ../../../../../../../../..'
alias .10='cd ../../../../../../../../../..'
alias .11='cd ../../../../../../../../../../..'
alias .12='cd ../../../../../../../../../../../..'
alias .13='cd ../../../../../../../../../../../../..'
alias .14='cd ../../../../../../../../../../../../../..'
alias .15='cd ../../../../../../../../../../../../../../..'

Readline是您真正的上帝。

bind -p | egrep -v '(not|self)' # No existential jokes included.

终端字体

考虑了成千上万种字体后,我使用了14 pt MonacoAnti-aliasediTerm2

在Mac上(应用程序):尝试使用提供按键绑定的应用程序。

关键提示 (tm)(r)(c)($)仅持有command,即可提供几乎任何正在运行的应用程序的上下文。

0
2019-12-03 05:34:58
资源

获取具有现有目录站点中最新时间戳之一的文档名称:

latest () { ls -lrt | tail -1 | awk '{print $NF}' }

0
2019-12-03 01:53:14
资源

实际上不是一个衬里,但我认为它有用。 将多个文档转换为大写,例如file_to_upper *php *c。 有几种可比较的实例,例如转换为较低版本,通过后缀/前缀重新标记所有文档等。

file_to_upper ()
{
    for file in "[email protected]"
    do
        if [ ! -f "$file" ]; then
            echo "File $file does not exist";
        else
            mv -f "$file" "`echo "$file" | tr '[a-z]' '[A-Z]'`"
        fi
    done

    return 0
}
0
2019-12-02 00:17:00
资源
  • 做-绝对没有命令:

    while :; do :; done
    
  • 支撑与漏洞混合发展:

    for c in {1..3}; do :; done
    
  • !驱动程序以及简短的电路驱动程序||&&

    [ -d /tmp/dir ] || mkdir /tmp/dir
    
    if ! ping 34.41.34.1; then :; fi
    
  • 利用下面的覆盖物来代替弹出/推入(可以在手稿中方便地找到)

    ~$ ( cd /tmp; echo $PWD )
    /tmp
    ~$
    
  • 那种 什么是 命令type

    ~$ type type
    type is a shell builtin
    ~$ type ls
    ls is aliased to `ls --color=auto'
    ~$ f(){ :; }
    ~$ type f
    f is a function
    f () 
    { 
         :
    
    }
    
  • 另外真的很棒:下面-字符串

    ~$ cat <<<"here $PWD"
    here /home/yourname
    ~$
    
  • 也是我的最爱:重定向命令清单

    { w; ps; ls /tmp; } 2>/dev/null |less
    
0
2019-12-02 00:14:18
资源

我最喜欢的命令是“定位”,我几乎在任何地方都使用它...实例:

find . -name "*.log" -exec ls -l {} \; | grep "$(find . -name "*.log" -exec ls -l {} \;| nawk '{print $5}' | sort -n | tail )"

只需以ls-l(冗长)布局显示最重的文档。

之后,如果您需要0640批准的代码,只需搜索:

find . \( \( ! -perm 0640 \) -a \( -name "*.cpp" -o -name "*.h" \) \) -ls | nawk '{print $3"\t"$11}'

或更改:

find . \( -name "*.cpp" -o -name "*.h" \) | xargs chmod 640

然后,您是否需要图标并且也不知道它在哪里?

(
  for myObj in $(find . -name "*.o"); do
    gotSym=$(dump -Xany -t $myObj | grep .MY_SYMBOL)
    if ! test "x$gotSym" = "x"
    then
      echo "OBJECT [$myObj] ========================"
      echo "$gotSym"
      echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"^
    fi
  done
)

比XFILE更新的文件??

find . -newer XFILE -type f

是的,“找到” rulez!

0
2019-12-02 00:10:00
资源

替换上一个命令的组件:

^search^replace

$ echo a b c d
a b c d
$ ^b c^X
echo a X d
a X d

拼写错误:

$ mkae
-bash: mkae: command not found
$ ^ka^ak
make
[...]
0
2019-05-30 17:13:45
资源

当我经常在Windows和Unix / Linux之间切换时,我找到了有价值的东西:

alias dir="ls -l"
alias copy="cp"
alias del="rm"
0
2019-05-21 00:07:50
资源

通常当你键入一个冗长的命令并且在完成它之前你已经明白它今天不会起作用,因为你需要在之前运行另一个东西(例如在git commit -m "long commit message here"中获得),您可以触发^A^K前往该行的开头并消除它(保留在屏障中),然后运行命令处理点,最后^Y粘贴已删除的命令,并继续。 节省了大量的重新键入。 所有这些,肯定是当readline保持在Emacs设置中时。

之后 - 保护程序:mkdir -p some/nested/dirs/to/be/created如果错过了,就会在课程中开发所有目录。

0
2019-05-19 23:01:05
资源
# change chmod to file dowloaded --> $_

wget -c http://link/to/file -O /path/to/save/namefile && chmod 0755 $_

# extract tar.bz2 or tar.gz whit less work
# this avoids having to unpack and then move the files to another location, in this case have # already extracted in the desired location

tar jxvf file.tar.bz2 -C /pat/to/extract

# calculator with bc - in bashrc
calc(){ echo "scale=2;[email protected]" | bc;}

# set magic-space in bashrc
bind Space:magic-space                 # !pin<space>  expand last cmd pin...

# alias to open last edited file in vim
alias lvim="vim -c \"normal '0\""

# alias to show your path set
alias path='echo -e ${PATH//:/\\n}'
0
2019-05-18 08:34:08
资源
function calc() { echo $* p | dc }

dc是RPN计算器; 这个函数允许我输入表达式作为命令辩论:

$ calc 5 3 +
8
0
2019-05-18 08:33:00
资源
0
2019-05-17 19:37:38
资源

同步;同步;同步;重启

实际上偶尔会有价值。 照顾自己!

0
2019-05-12 05:52:41
资源

我在my.bashrc中有这个

#shortcut for CTRL+C and CTRL+V
alias c-c='xclip -sel clip'
alias c-v='xclip -o -sel clip'

function find-all() {
    python -c "import re
import sys
for i in re.findall('$1', sys.stdin.read()):
    if type(i) == type(''):
        print i
    else:
        print i[0]"
}

当我在剪贴板中有html资源代码并且还打算找到我使用的所有链接时

c-v | find-all 'href="([^"]*)"' | c-c

我在剪贴板中有所有链接

我还有这个功能

function lsq(){
    ls -lh [email protected] | tr -s ' ' | cut -d' ' -f5,8
}

哪个显示尺寸(人类易读)和文件名。

alias temp='cat /proc/acpi/thermal_zone/THRM/temperature'

这个笔名是为了展示温度

function separate() {
    python -c "import sys,re; print '$1'.join(re.split('\s*', sys.stdin.read().strip()))";
}

有了这个功能,我可以计算辩论的项目或数量。

alias sum='separate + | bc'
alias product='separate * | bc'

function split-join() {
    python -c "import sys,re; print '$2'.join(re.split('$1', sys.stdin.read().strip()))";
}

这是有用的功能,它将典型输入除以正则表达式,然后用结果进行注册。

function factorial() {
    seq -s* $1 | bc
}

阶乘函数

function wiki() { dig +short txt $1.wp.dg.cx; }

此功能通过DNS显示wiki消息

我还有3个阴影功能

function blue() {
    echo -e "\x1b[34m\x1b[1m"[email protected]"\x1b[0m";
}

function green() {
    echo -e "\x1b[32m\x1b[1m"[email protected]"\x1b[0m";
}

function red() {
    echo -e "\x1b[31m\x1b[1m"[email protected]"\x1b[0m";
}
function md5check() {
    test `md5sum $2 | cut -d' ' -f1` = "$1" && green [OK] || red [FAIL]
}

此函数确认文件md5哈希。

这肯定会显示提供的代码的错误消息

function strerror() { python -c "import os; print os.strerror($1)"; }

您可以使用发布所有邮件

alias all-errors='for i in `seq 131`; do echo -n "$i: "; strerror $i; done'
0
2019-05-12 05:50:30
资源

看到这个

运行ps ax | grep string时:

[[email protected] ~]$ ps ax | grep 'openbox'
 3363 ?        Ss     0:00 /usr/bin/openbox
 3382 ?        Ss     0:00 /usr/bin/ssh-agent -- /usr/bin/openbox-session
 3386 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3388 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3389 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3390 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 5100 pts/0    S+     0:00 grep openbox

grep的最后一行是一些东西 是烦人

您可以通过运行ps ax | grep '[s]tring'来自行清除:

[[email protected] ~]$ ps ax | grep '[o]penbox'
 3363 ?        Ss     0:00 /usr/bin/openbox
 3382 ?        Ss     0:00 /usr/bin/ssh-agent -- /usr/bin/openbox-session
 3386 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3388 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3389 ?        S      0:00 /bin/sh /usr/bin/openbox-session
 3390 ?        S      0:00 /bin/sh /usr/bin/openbox-session

升级 :或者只是运行pgrep string

0
2019-05-12 04:41:30
资源

支持扩张

Brace development是一种可以创建近似字符串的设备。

它允许你改变繁琐的线路,如:

mv loong/and/complex/file/name loong/and/complex/file/name.bacukup

用更短的实例

mv loong/and/complex/file/name{,backup}

其他一些用法

# to display the diff between /etc/rc.conf and /etc/rc.conf.pacsave
diff /etc/rc.conf{,.pacsave}

# to list files in both /usr/share and /usr/local/share
ls /usr/{,local}/share 

算术扩展

算术开发允许分析数学表达式并替换结果。 数学发展的布局是:

$((expression))

处理表达式就好像它在双引号内,但括号内的双引号没有特别处理。 表达式中的所有符号都进行参数开发,字符串开发,命令替换以及引用消除。 数学发展可能是嵌套的。

$ a=1
$ b=2
$ echo $(( a+(b*2) ))
5
0
2019-05-12 02:32:52
资源

如果您打算找到foo正在运行的环境数量以及它们的pids,请使用pgrep foo而不是ps aux | grep foo

作为示例而不是ps aux | grep firefox,使用pgrep firefox

0
2019-05-10 23:33:04
资源

请参阅每n秒升级的命令结果

watch -n 60 df -h (displays df -h every 60 seconds)

显示有关网络工具wlan0的数据

ip -s link ls wlan0

显示工具eth1的传输表

ip route ls dev eth1

所有路由器包的显示数据都需要通过HOST进行访问

mtr --interval 5 HOSTNAME

请参阅转发DNS文档以获取NETWORK上的主机名

nmap -sL NETWORK

基准网站

ab

从网站获取所有网站链接

lynx -dump http://www.yahoo.com | awk '/http/{print $2}'

显示默认门户

netstat -rn | awk '/UG/{print $2}'

将典型错误写入文档

foo 2> errors.txt

将stderr重定向到stdout

foo 2>&1

将stderr和stdout重定向到相同的文档。

foo > file.txt 2>&1
0
2019-05-10 18:01:30
资源

有时庆祝设置是rm别名为rm -i,因此也要求验证每个要删除的文档。 当我在这样的帐户上定期运行时,我会使用\rm来获取rm的初始实践,而不会改变客户的安排。

0
2019-05-10 14:23:24
资源

显示现有过程树的精彩ascii艺术,其中一个最大的cpu广泛过程突出显示。

while true; do 
  clear; 
  pstree $( ps -eo pid --sort %cpu | tail -n 1 ); 
  sleep 1;
done

Ctrl + C杀死它

0
2019-05-10 11:29:00
资源

符号 。 它将您的命令置于幕后,因此您可以继续进行键控。

$> sudo updatedb &

一起工作,最后你也看到了:

[1] 17403

你的程序完成了! 非常适合您不需要等待它们结束的点。

0
2019-05-08 19:54:18
资源

标签结论 。 如果你需要输入每门课程的所有个性,它肯定会有多么消极?

0
2019-05-08 19:48:57
资源

我实际上在我的居住文件夹中调用了文件夹,文件,下载,临时等,首字母大写。 当我使用无法治愈的时候,当你正确进入目录网站时,更改按第一个键是令人沮丧的。 只需键入您无法治愈的情况,并且庆祝肯定是车辆 - 为您处理实例。

shopt -s nocaseglob
0
2019-05-08 19:39:24
资源

screen 命令。 它主要保留您返回时的命令行会话。 这是一个无法治愈的主管,就像一个窗口主管。 通过这种方式,在单独的无法治疗的会话中,您可以拥有众多的数字终端。 这真的很时髦。

如果使用screen,那么这个shell函数(将其放在.bashrc中)非常有价值:

function scr {
    if screen -ls | grep -q Main; then
         # reattach to Main: 
         screen -xr Main
    else
         # name session "Main":
         screen -S Main
    fi
   }

在键入scr时,它肯定会检查你的主要会话是否存在,并且肯定会附加到它。 否则它肯定会创造它。

0
2019-05-08 18:45:25
资源

非常标准,但个人似乎没有认出,返回到前一个目录:

cd -
0
2019-05-08 18:41:00
资源

卸下最后放置的工具:

mount /media/whatever
...
u!mo

!mo增加到以mo开头的最后一个命令(至少在庆祝中)。 偶尔会有一个mv,所以u!m通常不会起作用。

0
2019-05-08 18:30:15
资源

我的生活不能没有

set editing-mode vi
set blink-matching-paren on

在我〜/。 inputrc文件。

在每个readline中触发它们使应用成为可能。 使用以下命令打开vi命令行编辑和增强shell函数:

set -o vi

因此,打击ESC或CTRL + [获得流行的vi - 命令设置。 而且你几乎可以在任何地方使用有效的vi调节!

0
2019-05-08 18:25:29
资源

diff 2个命令的结果,没有手动开发短期文档(庆祝):

diff <(ls dir1) <(ls dir2)
0
2019-05-08 14:34:53
资源

ZSH - details属性是后缀笔名,通过提供alias -s标志来设置:

alias -s ext=program

如果提供的扩展具有后缀笔名称,则可以直接执行具有所述扩展的文档,并且ZSH肯定会释放所提供的程序并且还将文件名作为参数传递。 因此,如果以上笔名称成立,则这些行相等:

/path/to/foo.ext
program /path/to/foo.ext
0
2019-05-08 14:05:51
资源

我最喜欢的ZSH属性之一称为目录站点。 您可以使用提供的名称导出变量,并使用指示特定课程的值:

export foo=/usr/bin

目前,您可以在命令中使用~foo来描述/usr/bin

cd ~foo
~foo/ls
cat ~foo/filename
0
2019-05-08 14:03:29
资源

如果您是快速打字员,可以在方便的地方找到:

alias grpe='grep --color=tty'
alias gpre='grep --color=tty'
alias rgep='grep --color=tty'
alias gerp='grep --color=tty'

此宏可帮助您计算结果列的总量:文档维度,字节,包,您需要做的就是定义要添加的列:

total ()
{
        if [ x$1 = x ]; then set `echo 1`; fi
        awk "{total += \$$1} END {print total}"
}

您使用类似于此的示例,没有辩论,它包括第一列的总量:

du | total

如果给出参数,它肯定会对该列求和,例如,这为您提供了/ tmp中所有C#文档使用的完整字节数:

ls -l /tmp/*cs | total 5

由于你错误地看了二进制文件(例如pet cat / bin / ls),你的控制台偶尔会被搞砸,你可以用这个shell函数恢复无法治愈:

restaura ()
{
    perl -e 'print "\e)B";'
}

我喜欢我的ls利用个性来识别文档类,以及隐藏我的编辑器创建的备份提交(备份文档以〜个性结束):

alias ls='ls -FB'
0
2019-05-08 12:26:57
资源

我个人最喜欢的是

find . -name <i>filename</i> | xargs grep -in '<i>pattern to search for</i>'

上面的命令所做的是找到名称为x的文档,然后声明的搜索适用于您正在寻找的任何模式。 如果您在子目录中的某个位置的文档中寻找某些小代码,那将是非常有价值的。

0
2019-05-08 11:29:17
资源

如果您需要在庆祝活动中修改特别冗长的命令行

^X^E (Ctrl-X Ctrl-E) 

肯定会在编辑器中打开它($ EDITOR)。

在zsh中,您可以通过将其包含在.zshrc中来获得相同的实践:

autoload edit-command-line
zle -N edit-command-line
bindkey '^X^e' edit-command-line 
0
2019-05-08 11:09:11
资源

坚持“方法”的方法实际上并不强硬或显着,但它们对其他各个方面都有一些影响。 如果我们不能利用我们的工作来改善我们的生活,那么我们需要重新考虑一些问题。

我比如alias。 我最喜欢的方法是修改〜/。 bash_aliases在我的gf的计算机系统上,因为她错过了,并添加了如下行:

alias gfname='echo Myname is thinking of you'

或者额外的迷人报价。

一个额外的“方法”我具体如下:

#!/bin/bash
xaa=123`
for ((a=1; a <= xaa; a++))
do
#sleep 1;
mail -s "Happy Birthday $a" [email protected] < mails.txt
done
exit 0`

其中123是我想要满足的生日庆祝活动的个人,而且mails.txt也有我喜欢写作电子邮件正文的信息。 休息1; 偶尔是必不可少的,因为对fork()有限制。 您还可以使用命令行辩论$1等。

0
2019-05-08 10:44:37
资源

我最喜欢的是

man 7 ascii

因此直截了当真的很有价值。

   Oct   Dec   Hex   Char                        Oct   Dec   Hex   Char
   ────────────────────────────────────────────────────────────────────────
   000   0     00    NUL '\0' (null character)   100   64    40    @
   001   1     01    SOH (start of heading)      101   65    41    A
   002   2     02    STX (start of text)         102   66    42    B
   003   3     03    ETX (end of text)           103   67    43    C
   004   4     04    EOT (end of transmission)   104   68    44    D
   005   5     05    ENQ (enquiry)               105   69    45    E
   006   6     06    ACK (acknowledge)           106   70    46    F
   007   7     07    BEL '\a' (bell)             107   71    47    G
   010   8     08    BS  '\b' (backspace)        110   72    48    H
   011   9     09    HT  '\t' (horizontal tab)   111   73    49    I
   012   10    0A    LF  '\n' (new line)         112   74    4A    J
   013   11    0B    VT  '\v' (vertical tab)     113   75    4B    K
   014   12    0C    FF  '\f' (form feed)        114   76    4C    L
   015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M
   016   14    0E    SO  (shift out)             116   78    4E    N
   017   15    0F    SI  (shift in)              117   79    4F    O
   020   16    10    DLE (data link escape)      120   80    50    P
   021   17    11    DC1 (device control 1)      121   81    51    Q
   022   18    12    DC2 (device control 2)      122   82    52    R
   023   19    13    DC3 (device control 3)      123   83    53    S
   024   20    14    DC4 (device control 4)      124   84    54    T
   025   21    15    NAK (negative ack.)         125   85    55    U
   026   22    16    SYN (synchronous idle)      126   86    56    V
   027   23    17    ETB (end of trans. blk)     127   87    57    W
   030   24    18    CAN (cancel)                130   88    58    X
   031   25    19    EM  (end of medium)         131   89    59    Y
   032   26    1A    SUB (substitute)            132   90    5A    Z
   033   27    1B    ESC (escape)                133   91    5B    [
   034   28    1C    FS  (file separator)        134   92    5C    \  '\\'
   035   29    1D    GS  (group separator)       135   93    5D    ]
   036   30    1E    RS  (record separator)      136   94    5E    ^
   037   31    1F    US  (unit separator)        137   95    5F    _
   040   32    20    SPACE                       140   96    60    `
   041   33    21    !                           141   97    61    a
   042   34    22    "                           142   98    62    b
   043   35    23    #                           143   99    63    c
   044   36    24    $                           144   100   64    d
   045   37    25    %                           145   101   65    e
   046   38    26    &                           146   102   66    f
   047   39    27    '                           147   103   67    g
   050   40    28    (                           150   104   68    h
   051   41    29    )                           151   105   69    i
   052   42    2A    *                           152   106   6A    j
   053   43    2B    +                           153   107   6B    k
   054   44    2C    ,                           154   108   6C    l
   055   45    2D    -                           155   109   6D    m

   056   46    2E    .                           156   110   6E    n
   057   47    2F    /                           157   111   6F    o
   060   48    30    0                           160   112   70    p
   061   49    31    1                           161   113   71    q
   062   50    32    2                           162   114   72    r
   063   51    33    3                           163   115   73    s
   064   52    34    4                           164   116   74    t
   065   53    35    5                           165   117   75    u
   066   54    36    6                           166   118   76    v
   067   55    37    7                           167   119   77    w
   070   56    38    8                           170   120   78    x
   071   57    39    9                           171   121   79    y
   072   58    3A    :                           172   122   7A    z
   073   59    3B    ;                           173   123   7B    {
   074   60    3C    <                           174   124   7C    |
   075   61    3D    =                           175   125   7D    }
   076   62    3E    >                           176   126   7E    ~
   077   63    3F    ?                           177   127   7F    DEL

看看这个网站commandlinefu.com

您还可以在他的博客网站上查看Peteris Krumins撰写的这4篇文章

0
2019-05-08 10:19:08
资源

两个庆祝功能,保存了几个关键的笔画。

每次成功完成CD后立即执行ls:

function cd {
    builtin cd "[email protected]" && ls
}

上升n度:

# Usage .. [n]
function .. (){
    local arg=${1:-1};
    local dir=""
    while [ $arg -gt 0 ]; do
        dir="../$dir"
        arg=$(($arg - 1));
    done
    cd $dir #>&/dev/null
}
0
2019-05-08 09:17:47
资源

pushd / popd命令让我节省了大量时间。 这些人允许您创建一堆目录站点,并且还可以降低一大堆键控:

/foobar/ > pushd /src/whatever/foo/test
/foobar/src/whatever/foo/test > make run
/foobar/src/whatever/foo/test > popd
/foobar/ > make
0
2019-05-08 09:07:06
资源

不确定这是否算作“方法”,但个人似乎并不知道典型的readline热键。 在覆盖物中的某些用法:

  • Ctrl + U - 剪切现有行
  • Ctrl + Y - 粘贴用Ctrl + U缩小的行
  • Ctrl + L - 清除屏幕并修改现有行
  • Ctrl + G - 获取一条新线并抛弃现有线
0
2019-05-08 08:20:33
资源

显示主机名所在的准时 充满活力 。 我尝试了一段时间的阴影激励,但依赖于历史,阴影肯定会看起来是负面的。 光辉的历史,黑暗的历史,蓝色的历史等,充满活力的使我受益

这仍然在my.bashrc中:

    bold=$(tput bold)
    reset=$(tput sgr0)
    export PS1="\[email protected]\[$bold\]\h\[$reset\]:\w \$ "
0
2019-05-08 08:18:12
资源

您可以使用CDPATH来设置与PATH匹配的目录站点; 如果您尝试cd foo并且现有目录站点中没有foo,那么shell肯定会检查CDPATH中寻找foo的每个目录站点,并且还会按下它找到的第一个目录站点:

export CDPATH="/usr"
cd bin # switches to 'bin' if there is one in the current directory, or /usr/bin otherwise
0
2019-05-08 08:03:30
资源
vi `which scriptname`

因为当你不知道某些东西存在的地方时,你也不知道。

0
2019-05-08 07:57:49
资源

我喜欢把尽可能多的东西扔到我的PS1中。 要记住一些有价值的要点:

\e[s以及\e[u专门保存并保存箭头位置。 我利用它在屏幕顶部创建了一个“细节 - 条形图”,线条很长,可以容纳额外的东西。 实例:

PS1='\[\e[s\e[7m\e[1;1H\]\w\n\t        \j / \! / \#\[\e[u\e[0m\e[33;1m\][\[email protected]\h \[\e[34m\]\W]\[\e[0m\]\$ '

alias clear='echo -e "\e[2J\n"'合并。 尝试出来!

此外,PROMPT_COMMAND变量指定每次在PS1之前执行的命令。

另外一个是bg命令。 如果忽略将&放在命令的末尾,只需按^Z并键入bg,它也会在历史记录中运行。

0
2019-05-08 07:54:53
资源

显示Git分支并且还准时站立

export GIT_PS1_SHOWDIRTYSTATE=true

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 "#%s")\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\[email protected]\h:\w$(__git_ps1 "#%s")\$ '
fi
0
2019-05-08 07:50:38
资源

BASH中的CTRL + R用于搜索/激活以前实现的命令(〜/ .bash_history的材料)。

这通常非常方便。 运行此笔名称肯定会在端口8000上通过HTTP(索引)提供PWD:

alias webserver="python -m SimpleHTTPServer"

而且由于我经常运行make,并且还spaz out并且也快速键入,这些笔名可能是我最常用的(严重):

alias maek=make
alias mkae=make
alias meak=make
alias amka=make
alias akme=make

而且我最经常使用的BASH项目是一个简单的手稿,我称之为上传。 我利用它将任何类型的Web内容发送到我的Linode,并且它还将生成的HTTP URL复制到我的剪贴板(中心点击)。 在IRC中将内容粘贴到个人身上非常有价值:

scp -r $* [email protected]$host:public_html && {
    URL="http://$host/~$user/$(basename $1)"
    echo "$URL"
    xselection -replace PRIMARY "$URL"
}

只需一对。 我可以稍后上传,必须回到功能!

0
2019-05-08 07:34:22
资源

我最喜欢的属性是没有颜色! =)

TERM = xterm - mono或TERM = linux - m依赖OS ...

我实际上喜欢黑色和白色IRSSI,mc以及任何其他各种“文本界面”设备

0
2019-05-08 07:28:43
资源

这是zsh,而不是slam,fyi(如果你还没有使用它,你会不会抱歉尝试它)。 这对于及时输入scp转移的长期课程非常有用。 它的功能类似于使用完成或详细说明可用的文件名/目录。

scp [email protected]:/home/webdev/domains/example.com/http.public/long<tab>

肯定会完成/home/webdev/domains/example.com/http.public/longdirname的课程。

我在实例中是否定的,但需要向你提供建议。 尝试它,它实际上可以保护你的手指键控。

# SSH Completion
zstyle ':completion:*:scp:*' tag-order \
   files users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
zstyle ':completion:*:scp:*' group-order \
   files all-files users hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:ssh:*' tag-order \
   users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
zstyle ':completion:*:ssh:*' group-order \
   hosts-domain hosts-host users hosts-ipaddr
zstyle '*' single-ignored show
0
2019-05-08 07:12:44
资源

执行最后一个命令作为原点:

sudo !!
0
2019-05-08 07:11:34
资源

另一个有价值的ZSH方法:

将命令的结果视为文档:

emacs =(hg cat -r 100 somefile)

这打开了一个旧版本的Mercurial - 跟踪文档在emacs中的语法 - 突出显示观看。 如果没有这个,我肯定需要弄乱hg reverthg archive,或者清楚地将hg cat结果发送到短期文档。

当然,这与开放文档的任何类型的程序以及发布到典型结果的任何类型的程序协作。

0
2019-05-08 06:56:16
资源

ZSH拥有国际笔名。 它会增加整个命令行中的笔名称。 我找到了这个有价值的主机名:

例如:

alias -g sub='sub.domain.tld'

在那之后,我可以做一个例子:

sftp sub
ssh sub

等等

0
2019-05-08 06:52:45
资源

因为在打算看之前我一直在命令行的中途(CTRL-R庆祝)我在my.bashrc中坚持

bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward

这表明,如果我在按下向上/向下键入cd之后,我可以看到我实际上cd所必需的所有替代方案。 我主要使用它来通常使用dirs。 就像“cd w”一样,我也在尽情地体验所有的工作空间。

0
2019-05-08 06:35:16
资源

如果命令采用stdin输入,则可以使用<filename从文档中读取输入。 这可以在整个命令中显示,因此这些行是相同的:

cat filename
cat <filename
<filename cat

这对grep特别有用,因为它允许你将表达式放在行的末尾,这样你就可以通过敲击Up来快速更改grep命令,而无需滚动委托来超越文件名:

<filename grep 'expression'
0
2019-05-08 06:23:40
资源

这通常在我的初创手稿中(.bashrc,。account,what)

shopt的好处,请查看备注:

shopt -s cdspell        # try to correct typos in path
shopt -s dotglob        # include dotfiles in path expansion
shopt -s hostcomplete   # try to autocomplete hostnames

保存击键的笔名:mkdir以及cd直接进入:

mkcd () { mkdir -p "[email protected]" && cd "[email protected]"; }

最后,我已经放弃了记住tar语法,所以:

extract () {
    if [ -f $1 ] ; then
        case $1 in
            *.tar.bz2)  tar xjf $1      ;;
            *.tar.gz)   tar xzf $1      ;;
            *.bz2)      bunzip2 $1      ;;
            *.rar)      rar x $1        ;;
            *.gz)       gunzip $1       ;;
            *.tar)      tar xf $1       ;;
            *.tbz2)     tar xjf $1      ;;
            *.tgz)      tar xzf $1      ;;
            *.zip)      unzip $1        ;;
            *.Z)        uncompress $1   ;;
            *)          echo "'$1' cannot be extracted via extract()" ;;
        esac
    else
        echo "'$1' is not a valid file"
    fi
}
0
2019-05-08 06:21:25
资源

庆祝 - - 在行的最后一个参数之前插入

alt - .是迄今为止最有价值的密钥组合之一,尝试它并且还看到,由于某种原因,没有人发现这个集合。

一次又一次按下以选择较旧的最后参数。

当你打算对你在一分钟之前使用的论证/文件做更多的事情时,你会很精彩。

0
2019-05-08 06:16:07
资源
alias s='sudo'
alias r='rake' # i'm a ruby developer
alias ..='cd ..' # although with autocd feature for zsh this comes packed.

在我忽略s时,我最喜欢的是:

$ s !! # last command with super user priviledges
0
2019-05-08 05:51:17
资源

这会增加这个答案中声明的!!方法。 实际上有许多与背景相关的命令往往会被遗忘(个人经常倾向于刺穿Up 100次,而不是寻求他们认可的键入命令)。

  • history命令肯定会显示最近运行的命令列表,左侧有一个场合指示符
  • !N肯定会替换与场合指示符N相关的命令
  • !-N肯定会取代N 最新命令; 例如,!-1肯定会替换最新的命令之一,!-2将取代最新的命令,等等
  • 如各种其他解决方案中所述,!!!-1的简写,以便及时替换最后一个命令
  • !string肯定会替换以string开头的最新命令之一
  • !?string?肯定会替换包含string的最新命令之一

可以将Word指示符添加到!后台命令中以更改结果。 冒号将场合和字母指示符分开,例如!!:0。 当使用字指示符时,场合指示符!!可简写为!,因此!!:0的数量为!:0

  • !:0肯定会获得已实现的命令
  • !:1肯定会得到第一个参数(并且!:2也是第二个,等等)
  • !:2-3肯定会得到第二次和第三次辩论
  • !:^是获取第一个参数的另一种方法。 !:$肯定会得到最后一个
  • !:*肯定会得到所有辩论(但是 命令)

修改器还可以添加到!后台命令中,每个命令都以冒号为前缀。 可以堆积任何类型的数字(例如!:t:r:p)。

  • h - - 排列到基本文件名
  • t - - 只有基本文件名
  • r - - 排队到文件名扩展名
  • e - - 只有文件名扩展名
  • s/search/replacement - - 用replacement替换search的第一个事件
  • gs/search/replacement - - 用replacement替换search的所有事件
0
2019-05-08 05:29:43
资源