Skip to content

コマンドリファレンス

Bookmark CLI Extension v1 の疑似 CLI コマンド、引数、例、代表的なエラーをまとめます。

このページでは、v1で扱う疑似CLIコマンドをユーザー視点で整理します。

詳細な設計方針は CLI仕様 を正とします。

エラーコードの詳細は エラーコード一覧 を参照します。

コマンドはDedicated extension pageの入力欄から実行します。

結果一覧の番号は、実行ごとに 1 から振り直します。

番号付きの結果一覧は、直前の結果一覧として一時保存します。

cd 2mv 3 Archive のような番号指定は、直前の結果一覧を参照します。

JSON出力は --format json で指定します。

mkdirmvrename は対象と変更先を解決できたら即時実行します。

rm はUnix commandの操作感に寄せ、通常実行では対話確認を挟み、-f または --force で確認なしに削除します。

Folderを削除する場合は、配下のBookmarkとfolderも削除するため -r-R、または --recursive を必須にします。

コマンド目的v1
goBookmarkを検索して開く対象
findBookmarkを検索して一覧表示する対象
markCLI起動元タブをBookmarkへ保存する対象
ls現在ディレクトリの中身を表示する対象
cd現在ディレクトリを移動する対象
pwd現在ディレクトリを表示する対象
treeBookmark Treeを階層表示する対象
helpヘルプを表示する対象
greppipeで結果一覧を絞り込む対象
copy直前結果またはpipe出力をcopyする対象
clear画面上のscrollback transcriptを消す対象
historyChrome閲覧履歴を表示する対象
recent最近開いたBookmarkを表示する対象
freqよく開くBookmarkを表示する対象
mkdirFolderを追加する対象
mvBookmarkまたはfolderを移動する対象
rmBookmarkまたはfolderを削除する対象
renameBookmarkまたはfolderのtitleを変更する対象
tagBookmarkの仮想タグを追加または削除する対象

BookmarkとChrome履歴をfuzzy検索し、もっとも一致したURLを開きます。

Terminal window
go <query>
go <result-number>
go [-l] <query>
Terminal window
go stripe bill
go github pr
go #prod admin
go 3
go -l stripe

候補が明確に1件へ絞れる場合は、そのURLを開きます。

直前結果一覧のBookmarkまたはChrome履歴を開く場合は、go 3 のように番号指定できます。

候補が複数ある場合は、番号付き一覧を表示して選択を求めます。

実行後の結果行に詳細情報を残したい場合は -l を指定します。

代表的なエラーは not_foundchrome_bookmarks_failedpermission_denied です。

BookmarkとChrome履歴をfuzzy検索し、候補一覧だけを表示します。

Terminal window
find [-l] <query> [--format json]
Terminal window
find stripe
find prod admin
find #finance stripe
find -l stripe
find "github.com" --format json

検索対象はBookmarkのtitle、url、folder path、仮想タグと、Chrome履歴のtitle、urlです。

# で始まるtokenは仮想タグとして扱います。

Chrome履歴は仮想タグを持たないため、#tag 検索ではBookmarkだけを対象にします。

BookmarkとChrome履歴に同じURLが存在する場合はBookmark resultとして表示し、Chrome履歴はscore補強にだけ使います。

Bookmark化されていないChrome履歴は HIST resultとして表示します。

通常の一覧では検索scoreを表示しません。

検索score、host、仮想tag、利用統計、Chrome Bookmark IDを確認したい場合は -l を指定します。

代表的なエラーは not_foundchrome_bookmarks_failed です。

Chrome閲覧履歴をBookmarkとは分けて一覧表示します。

Terminal window
history [query] [--limit <number>] [--format json]
Terminal window
history
history github
history stripe --limit 20
history | grep docs

queryを省略した場合は、Chrome履歴の直近URLを表示します。

queryを指定した場合は、Chrome History APIの検索結果だけを表示します。

初期表示件数は25件です。

結果は HIST resultとして表示し、go <result-number> で開けます。

Bookmark化済みURLの重複除外やscore補強は find / go の検索統合だけで行い、history はChrome履歴をそのまま読むためのcommandとして扱います。

Chrome履歴は読み取り専用で扱い、履歴の追加、削除、変更は行いません。

代表的なエラーはありません。

CLI起動元タブをBookmarkへ保存します。

Terminal window
mark [title] [--to <path>] [--allow-duplicate]
Terminal window
mark
mark "Production Admin"
mark --to Work/Admin
mark "Production Admin" --to Work/Admin
mark --allow-duplicate

保存先を省略した場合は、現在ディレクトリへ保存します。

保存先がCLI root / の場合は、browser root nodeではなくroot保存用containerへ保存します。

title を省略した場合は、CLI起動元タブのtitleを使います。

保存先に同じURLがある場合は保存せず、already_marked を返します。

別ディレクトリに同じURLがある場合は候補一覧を表示し、保存を止めます。

代表的なエラーは unsupported_tabfolder_not_foundalready_marked です。

現在ディレクトリ、または指定したpathの中身を表示します。

Terminal window
ls [-a] [-l] [path]
ll [-a] [path]
Terminal window
ls
ls -a
ls -l Work/Admin
ls -la Work/Admin
ll -a
ls Work/Admin

ls は移動と選択のための軽い一覧として扱います。

ls -lll は整理と判断のための詳細一覧として扱います。

folderを先に表示し、その後にBookmarkを表示します。

各group内はtitle昇順で表示します。

通常の ls. で始まるtitleのentryを隠します。

-a. で始まるtitleのentryも表示します。

-l はURLのhost、仮想tag、疑似CLIから開いた回数、最終open日、folderの子node数、Chrome Bookmark ID、parent IDを詳細行として表示します。

Chrome Bookmark IDとparent IDは -l の詳細行へ統合します。

-la-al-l -a と同じ意味です。

llls -l の組み込み別名です。

ユーザー定義aliasはPopupの設定画面、または疑似CLIの alias / unalias で追加、削除、保存します。

aliasは先頭command tokenだけを実行時に1回展開します。

alias展開後のcommand種別は実行だけでなく、clear のscrollback transcript削除のようなUI副作用にも適用します。

Terminal window
g stripe
la /Work

g = gola = ls -la と設定している場合、上の入力はそれぞれ go stripels -la /Work として実行します。

代表的なエラーは folder_not_foundchrome_bookmarks_failed です。

command aliasを一覧表示、または設定します。

Terminal window
alias
alias <name>=<command>
Terminal window
alias
alias g=go
alias la='ls -la'

alias は現在のalias一覧を表示します。

alias <name>=<command> はaliasを追加または上書きします。

alias名は空白とpipe記号を含まない1 tokenに限定します。

aliasは再帰的に展開しません。

command aliasを削除します。

Terminal window
unalias <name>
Terminal window
unalias g
unalias la

空白またはEnter確定時に展開するcommand abbreviationを一覧表示、または設定します。

Terminal window
abbr
abbr <name>=<command>
Terminal window
abbr
abbr g=go
abbr la='ls -la'

abbr は現在のabbreviation一覧を表示します。

abbr <name>=<command> はabbreviationを追加または上書きします。

abbreviation名は空白とpipe記号を含まない1 tokenに限定します。

abbreviationは再帰的に展開しません。

abbreviationは先頭command tokenの後ろに空白を入力した時点で、入力欄上のcommandへ展開します。

未展開のままEnter確定した場合も、transcriptの実行commandと履歴へ展開後commandを保存します。

たとえば g = go と設定している場合、g と入力した時点で go に展開します。

g stripe をEnterで確定すると go stripe として表示、実行、履歴保存します。

command abbreviationを削除します。

Terminal window
unabbr <name>
Terminal window
unabbr g
unabbr la

現在ディレクトリを移動します。

Terminal window
cd [path-or-index]
Terminal window
cd
cd Work
cd ../Research
cd ~
cd 2

pathを省略した cd はroot pathの / へ戻ります。

~/ のaliasです。

番号指定は直前の結果一覧を参照します。

番号がfolderを指していない場合は not_found を返します。

代表的なエラーは folder_not_foundnot_found です。

現在ディレクトリを表示します。

Terminal window
pwd

代表的なエラーはありません。

保存済みの現在ディレクトリが存在しない場合は / に戻します。

現在ディレクトリ、または指定したpath配下のBookmark Treeを表示します。

Terminal window
tree [-d] [path] [--depth <number>] [--format json]
Terminal window
tree
tree Work
tree -d Work
tree --depth 3
tree Work --depth 3

初期表示の深さは2階層です。

--depth で表示する深さを指定します。

-d を指定した場合は、Bookmarkを表示せずfolderだけを表示します。

表示は結果番号とkind列を揃え、title列にtree guideを表示します。

Faviconやiconは、tree を含むすべての結果行でtitleやURLの前に表示します。

これにより、通常resultとtree resultでicon位置を統一します。

Directory行のtitleはURL色のcyanとは分けたblue accentで表示し、Bookmark行のtitleと見分けやすくします。

1 | DIR | /Work/Admin ├── Admin
2 | DIR | /Work/Admin/Billing │ ├── Billing
3 | URL | /Work/Admin/Billing │ │ └── Invoice
4 | URL | /Work └── Stripe Dashboard

代表的なエラーは folder_not_foundchrome_bookmarks_failed です。

コマンド一覧、または指定したコマンドや概念topicの説明を表示します。

Terminal window
help [command]
man <command>
<command> --help
<command> -h
Terminal window
help
help go
help history
man ls
go --help
ls -h

history topicでは、history commandでChrome履歴を一覧表示できることを確認できます。

Chrome履歴が find / go の検索候補として扱われることも確認できます。

HIST result、#tag 検索では履歴を含めないことも確認できます。

代表的なエラーは not_found です。

結果一覧を出す読み取りcommandの出力を絞り込みます。

Terminal window
<result-command> | grep <query>
<result-command> | grep <query> | grep <query>
Terminal window
ls | grep stripe
ls Work | grep admin
find docs | grep github
history | grep docs
recent | grep stripe

v1でpipe sourceにできるcommandは pwdlsllfindhistorytreerecentfreqhelp です。

grep はtitle、folder path、url、description、details、result種別を大文字小文字を区別せずに部分一致で検索します。

絞り込み後の結果一覧は番号を振り直し、直前結果一覧も絞り込み後の結果へ更新します。

grep はpipe stageとして扱い、standalone commandとしては扱いません。

未対応のpipe stageや書き込み系commandをpipe sourceにした場合は、未対応commandとして扱います。

直前結果またはpipe sourceの表示内容をclipboardへcopyします。

Terminal window
copy [--url|--path|--title] <result-number>
pwd | copy
<result-command> | copy
Terminal window
copy 1
copy --url 1
copy --path 1
copy --title 1
pwd | copy
ls | copy
find stripe | grep dashboard | copy

copy 1 は直前結果1番のURLをcopyします。

対象がURLを持たないfolderの場合、copy 1 はfolder pathをcopyします。

copy --url 1 はURLだけをcopyします。

URLを持たない結果に --url を指定した場合はcopyしません。

copy --path 1 はCLI上で対象を指せるpathをcopyします。

Bookmarkの場合は folderPath/title、folderの場合はfolder pathをcopyします。

copy --title 1 はtitleをcopyします。

pwd | copy は現在pathをcopyします。

ls | copyfind ... | copy は表示行をplain textとしてcopyします。

画面上のscrollback transcriptを消します。

Terminal window
clear

現在ディレクトリ、コマンド入力履歴、保存済みBookmarkデータは削除しません。

clear 自体は通常の入力としてコマンド入力履歴へ保存できます。

代表的なエラーはありません。

疑似CLIから最近開いたBookmarkを表示します。

Terminal window
recent [--limit <number>] [--format json]
Terminal window
recent
recent --limit 20

初期表示件数は10件です。

Chrome履歴は参照しません。

代表的なエラーはありません。

疑似CLIからよく開くBookmarkを表示します。

Terminal window
freq [--limit <number>] [--format json]
Terminal window
freq
freq --limit 20

初期表示件数は10件です。

Chrome履歴は参照しません。

代表的なエラーはありません。

現在ディレクトリ、または指定したpath配下にfolderを追加します。

Terminal window
mkdir <name> [--to <path>]
Terminal window
mkdir Tools
mkdir /Project
mkdir Admin --to Work

CLI root直下へ作成する場合は、Bookmarks APIへroot node IDを渡さず、root保存用containerへ作成します。

同じ親folderに同名folderが存在する場合は already_exists を返します。

代表的なエラーは folder_not_foundalready_existspermission_denied です。

Bookmarkまたはfolderを移動します。

Terminal window
mv <item> <path>
Terminal window
mv 3 Archive
mv "GitHub" Work/DevTools

対象と移動先folderを解決できた場合は、確認を挟まずChrome Bookmarks APIへ書き込みます。

代表的なエラーは not_foundfolder_not_found です。

Bookmarkまたはfolderを削除します。

Terminal window
rm <path-or-index>
rm -f <path-or-index>
rm --force <path-or-index>
rm -r <path-or-index>
rm -rf <path-or-index>
rm --recursive --force <path-or-index>
Terminal window
rm 5
rm ./Stripe Dashboard
rm -r ./Archive
rm -rf /Other Bookmarks

rm <path-or-index> は対象を表示し、Remove <title>? y/N の確認待ちに入ります。

対象は直前の結果番号、または現在ディレクトリからの相対path、rootからの絶対pathで指定します。

確認待ちはcommand行とは別の新しいstatus output行に表示します。

rm は削除対象の行を結果一覧として再表示しません。

確認待ちの次の入力で y または yes を入力すると削除します。

nno、空入力、またはそれ以外の入力は削除せず確認待ちを解除します。

-f または --force を指定した場合は確認なしで削除します。

Folderを対象に -r を指定しない場合は削除せず、recursive指定が必要であることを表示します。

Bookmark削除はChrome Bookmarks APIの remove を使います。

Folder削除はChrome Bookmarks APIの removeTree を使い、対象folder配下のsubtreeを削除します。

Other Bookmarks などのbrowser管理folderは、-rf 指定でも削除せず理由を表示します。

代表的なエラーは not_foundpermission_denied です。

Bookmarkまたはfolderのtitleを変更します。

Terminal window
rename <item> <title>
Terminal window
rename 3 "GitHub Pull Requests"

対象を解決できた場合は、確認を挟まずChrome Bookmarks APIへ書き込みます。

代表的なエラーは not_found です。

Bookmarkへ仮想タグを追加または削除します。

Terminal window
tag <item> <tag...>
tag <item> --remove <tag...>
Terminal window
tag 3 prod finance
tag current urgent
tag 3 --remove prod
tag 3 --remove prod finance

tag名は先頭の # を含めずに指定します。

current は現在タブと同じURLを持つBookmarkを対象にします。

同じURLを持つBookmarkが複数ある場合は候補一覧を表示します。

代表的なエラーは not_foundunsupported_tabinvalid_argument です。