dn
9unk Lv5

安装


1
2
[root@localhost ~]# git colne https://github.com/tomlockwood/dn.git
[root@localhost ~]#cd dn && cat dn >> ~/.bashrc

使用


dn:创建笔记(以日期来命名)

1
2
3
[root@localhost dn]# dn "The same thing we do every night"
[root@localhost dn]# cat 2019-11-30
* The same thing we do every night

dno:和 dn 是一样的效果,但是第一个参数是文件名,用于给笔记添加注释

1
2
3
4
[root@localhost dn]# dno 2019-11-30 "fuck"
[root@localhost dn]# cat 2019-11-30
* The same thing we do every night
* fuck

dnt:显示今天的笔记

1
2
3
4
[root@localhost dn]# dnt
2019-11-30
* The same thing we do every night
* fuck

dnview:查看所有的笔记,或者查看指定笔记

1
2
3
4
5
6
7
8
[root@localhost dn]# dnview
2019-11-30
* The same thing we do every night
* fuck
[root@localhost dn]# dnview 2019-11-30
2019-11-30
* The same thing we do every night
* fuck

dnte:编辑今天的笔记

1
2
3
4
5
6
7
[root@localhost dn]# dnte
* The same thing we do every night
* fuck
~
~
~
"~/dn/2019-11-30" 2L, 44C

dnoe:编辑指定笔记,

1
2
3
4
5
6
7
[root@localhost dn]# dnoe 2019-11-30
* The same thing we do every night
* fuck
~
~
~
"~/dn/2019-11-30" 2L, 44C

脚本分析


设置环境变量 DN_PATH

1
2
3
# Daily Notes Aliases
export DN_PATH=~/dn

dn

  • $1:表示从命令行接收第一个参数值。
    例如:
1
2
$ dn "The same thing we do every night"
# The same thing we do every night 就是第一个参数值。
1
2
3
4
# 输出"* 【第一个参数值】" 并追加到 ~/dn/2019-11-30 中
dn() {
echo " * $1" >> $DN_PATH/$(date "+%Y-%m-%d")
}

dno

  • $2;表示从命令行接收第二个参数
    例如:
1
2
3
$ dno 2019-11-30 "fuck"
# 2019-11-30 第一个参数
# fuck 第二个参数
1
2
3
4
# 输出"* 【dno 命令的第二个参数值】" 并追加到 ~/dn/【dno 命令的第一个参数值】 中
dno() {
echo " * $2" >> $DN_PATH/$1
}

dnoe

1
2
3
4
# 编辑 ~/dn/【dnoe 命令的第一个参数值】文件
dnoe() {
vim $DN_PATH/$1
}

dnt

1
2
3
4
5
# 输出今天的日期(2019-11-30),查看今天的笔记(2019-11-30)
dnt() {
echo $(date "+%Y-%m-%d")
cat $DN_PATH/$(date "+%Y-%m-%d")
}

dnte

1
2
3
4
# 编辑今天的笔记(2019-11-30)
dnte() {
vim $DN_PATH/$(date "+%Y-%m-%d")
}

dnview

find

作用:查找文件

  • -type f:查找普通文件
  • -exec:执行命令
  • {}:用于与 -exec 选项结合使用来匹配查找到的所有文件

basename

作用:截取文件名称

1
2
[root@localhost dn]# basename /root/dn/2019-11-30
2019-11-30

例如:

1
2
3
4
5
6
7
8
9
[root@localhost dn]# find $DN_PATH/$1* -type f
/root/dn/2019-11-30

[root@localhost dn]# find $DN_PATH/$1* -type f -exec basename {} \;
2019-11-30

[root@localhost dn]# find $DN_PATH/$1* -type f -exec cat {} \;
* The same thing we do every night
* fuck
1
2
3
4
# 查找 ~/dn/【第一个参数】或是所有(*)普通文件;之后再执行 basename 命令,截取文件名;最后执行 cat 命令,查看所有文件内容。
dnview() {
find $DN_PATH/$1* -type f -exec basename {} \; -exec cat {} \;
}

reference

find命令

$1 $2 $3等

dn

Linux命令之basename使用

Linux中basename和dirname命令的妙用

  • 本文标题:dn
  • 本文作者:9unk
  • 创建时间:2019-11-30 16:37:53
  • 本文链接:https://9unkk.github.io/2019/11/30/dn/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!