2022年12月26日月曜日

Ubuntuでコマンドから圧縮ファイル展開機能を呼び出す


背景

zipならunzipを使えば良いと分かりますが、tar.xzなどは展開(解凍)に必要なコマンドの調査に手間かかります。
そういう場合はファイルエクスプローラーを開いて右クリックで「ここで展開」を選んでいましたが、同じことがコマンドでもできるはずなので調べました。

調査の結果ubuntuの標準のファイルエクスプローラーnautilusはfile-rollerを展開に利用しているとわかりました。
コマンド例と参考情報をまとめます。

使ったもの

ubuntu22.04をインストールしたPC

展開コマンド: file-rollerに-hでファイルを渡す

下記のコマンドで圧縮されたファイルを展開できます。
file-roller -h 圧縮されたファイル

コマンドで実行しますが、GUIで使われる前提で作られているようで、上書きするか確認や残り時間表示の画面が出てきます。



file-rollerを覚えずに済むようaliasを設定

下記のように.bashrcにaliasを設定すると、decompress [展開したいファイル]で展開できるので便利です。
設定後はログインしなおすか「source ~/.bashrc」を実行するとdecompressを呼び出し可能になります。

/home/[ユーザー名]/.bashrc
alias decompress='file-roller -h'

file-rollerを覚えておかなくても展開コマンドを呼べます。
decompress 展開したい.zip

終わり

file-rollerの呼び出しによって、ファイルの展開をgui操作ではなくコマンド動作で拡張子を気にせず出来ました。

参考

ファイルエクスプローラーnautilusがfile-rollerを使っている情報は下記の課題のコメントで知りました
Extracting an archive by right-clicking and selecting "Extract here" results in many extracted files to be 0 bytes in size

nautilusのコードを検索すると、file-rollerが使われていると分かります
search file-roller on nautilus

nautilusより軽い動作をしてくれるnemoというファイルエクスプローラー(nautilusの古いバージョンのフォーク)もfile-rollerを利用していました
Missing nemo right-click "extract/compress files"

archlinuxの説明書きでもfile rollerのエクステンションが紹介されており、利用されていると分かります
Nemo - archlinux

変更履歴

2023.05.21 aliasの設定を追加しました

0 件のコメント :