環境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
$ bash --version
GNU bash, version 5.0.16(1)-release (x86_64-pc-linux-gnu)
鶏頭なので,思い立ったらちょこちょこ加筆すると思う.
manuals
man - an interface to the on-line reference manuals
apropos - search the manual page names and descriptions
whatis - display one-line manual page descriptions
build-in commandsのmanual
cd,bg, evalなどのbuild-in commandsのいくつかは
$ man eval
No manual entry for eval
となるが
$ man builtins
もしくは
$ help eval
からマニュアルを参照可能.
manualの日本語
$ sudo apt-get install manpages-ja
を入れておけば日本語のmanualを参照できるが,terminalのlocal をen_US.UTF-8にしているので
$ alias man="env LANG=ja_JP.UTF-8 man"
としえおけば翻訳されたmanualを参照できる.日本語manualが無い場合は英語のmanualが参照される.original(英語)のmanualを参照したいときは
$ \man
のようにスラッシュを先頭につければ,aliasを無視して実行できる.
設定(~/.bashrc or ~/.bash_profile)
デフォルトのterminalだと
username@hostname:<path>$
のように表示されるがディレクトリ階層が深くなると冗長的なので
PROMPT_DIRTRIM=1
とすれば,current directory 以下は省略される. また,user名は自明なので省略する.
export PS1="[@\h \w]\\$ "
詳細は@IT > Linux & OSS > Linux Tips Index > bashのプロンプトを変更するには
apt-clone
$ sudo apt install apt-clone
からapt-cloneをinstallして
$ sudo apt-clone clone .
とすれば,current directory に apt-clone-state-<hostname>.tar.gzができるので新環境で
$ sudo apt-clone restore apt-clone-state-<hostname>.tar.gz
を実行すればapt環境をcloneできる.なおWolframEnginは
not installable: wolframscript
となったので,手動で設定する必要がありそう.
cd
$ cd -
で一つ前にいたディレクトリに戻れる.深いディレクトリで誤ってcdしてしまった場合等に対応できる.
ln
ln -s で作成したシンボリックリンクの解除は
$ unlink
type
を使えば,alias しているものの詳細やパスが取得できる
$ type gnuplot
gnuplot is aliased to `rlwrap -a -c -b"\"\"\\'\\'" gnuplot'
gnuplotをこのようにaliasしているのはtab保管(readline)がdefaultだとうまく機能しないので.
pdf編集
qpdfはaptでinstallでき,マニュアルが充実しているが,日本語の解説も詳しい.
ページの回転
$ qpdf in.pdf out.pdf --rotate=90:1,3,5
とすればp1, p3, p5のページが時計回りに90度回転することができる.マニュアルにはページ番号を省けば全ページ回転するとあるが,私の環境ではできなかったので最初と最後のページを明示的に示せば
$ qpdf in.pdf out.pdf --rotate=90:1-48
前ページ回転する.なお,seqと組み合わせて
$ qpdf in.pdf out.pdf --rotate=90:`seq-s',' 1 2 48`とすれば奇数ページだけ回転させることが出来る.総ページ数をコマンドラインで取得するには
$ qpdf in.pdf --show-npages
48
で取得できる.
結合,抽出
結合
$ qpdf --empty --pages in-A.pdf 1-3 in-B.pdf 2-3 -- out.pdf
ページ数をはしょれば,in-A.pdfの後に in-Bがマージされる
$ qpdf --empty --pages in-A.pdf in-B.pdf -- out.pdf
特定ページの抽出は
$ qpdf --empty --pages in.pdf 1-3 -- out.pdf
のようにすればよい.