技术解析

在命令行下,如何更舒服的退到某一层级的目录去。
0
2021-07-16 20:18:48
idczone
大多数 应该都是cd ../../../../..................................吧

git地址 https://github.com/peiliping/shell/blob/master/base/Function.sh

line num : 109

ccd和_ccd 在bashrc中 加载 并complete -F _ccd ccd

使用方法

ccd + tab 会提示pwd 中的每一级目录

ccd home 跳到 /home 目录下

ccd h + tab 提示pwd中 带h的目录名字或者自动补全

ccd 5 如果参数是数字 则直接向外跳N层目录(这个功能也许有人不喜欢吧,当初这么写是觉得以纯数字命令的目录名字会比较少,呵呵)

自己用了一段时间感觉还不错。
pushd popd

cd --

一般还真没有频繁切换这么深目录的时候

ccd数字不能忍...
有很多目录是 2014/02/23/ 这种...
web日志按小时切分存放的,同样也有2014/02/23/1500 这样的...
不过想法还是挺好的。

用了一下感觉不是很方便。不过确实以前没用过pushd popd

我主要是在代码目录切的时候比较多 ,你这个场景还真是没想到,去掉关于数字的判断就好了,或者加个 -N 之类的判断
主要是有tab提示,用起来舒服多了。

zsh+autojump

1. oh-my-zsh cd ... = cd ../../
2. brew install z

alias d.="cd .."

突然想到一个方法,待会写个demo发上来

google autojump

alias ..="cd .."

cd ../

回车

回车

好吧 刚才试了一下不行
思路是这样的 写个脚本 匹配参数与当前路径 然后做个 调整目录
但是问题是 这里的跳转并不影响shell 也就是调用脚本的终端 改变的只是当前进程的cwd
代码如下
python
import os
import sys
pwd=os.getcwd()
print pwd
pwds=pwd.split(os.sep)
print pwds
path='/'
if len(sys.argv)>1:
print sys.argv
for k in pwds:
print k
path=os.path.join(path,k)
if sys.argv[1] in k:
break
print(path)
os.chdir(path)
还是 zsh+autojump 靠谱

我的zsh里,command+u 是去上层目录,很方便

这个很科学

autojump

嗯, 我也是这个思路, 于是:
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

遇到一个名字叫 ... 的目录怎么办?

cd ./...

好问题,但是这样的异常情况我没遇到过,所以可以忽略吧。。。

cd -
用zsh的同学, 你懂的

autojump
dirs -v

ls 居然那么多 autojump 的。。。 表示还是 z 方便简洁

表示用的是z

常用的就这几个
bashrc
.. = cd ../
... = cd ../../
.... = cd ../../../
cdr = cd /
cdw = cd /home/www
然后是项目的
cdo = cd /home/www/xxx/....
已经非常快了
还有切换用户的
st = su tom
sr = su - root

一个叫..的目录,它本身不就是上级目录么?
我记得上级目录就叫..,难道还能另外创建这个目录?

Shell 记忆命令的功能走起
再把常用路径用 alias 缩短。

upto ()
{
cd "${PWD/\/[email&/>}
_complete_upto() {
local IFS=$'\n'
local word=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=($(echo ${PWD| sed 's|/|\n|g' | grep -i "^$word" | sed -e 's| |\\ |g'))
}
complete -o nospace -F _complete_upto upto
/var/www/test/file1/file2 $ upto test

autojump

zsh +1

蛋疼,人家说的是 ... 三个点,就不能看清楚再回么

"\C-xb": "cd ..^M"
bash也可以设置快捷键。

oh~my~zsh

常用路径可以加到CDPATH里面,cd可以直接读路径下的目录

惊现张教主

cd ls tab

高频目录,我都会pwd,粗暴直接

alias

http://blog.sae.sina.com.cn/archives/1213
这个脚本不错

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服