先日5月17日に、研究会でトークしたスライドです。
- ChatGPTの現状理解
- OpenAI社について
- ChatGPTとは?
- GPT-3.5とGPT-4
- フロンプトとは?
- ChatGPTの得意なこと・苦手なこと(事例とTipsも)
- R関数&パッケージ作成への活用
- GPT API keyの取得
- gptstudioパッケージを使って、RStudio上でChatGPTを使用する事例の紹介
先日5月17日に、研究会でトークしたスライドです。
Linux/Mac環境では圧縮されたファイルの中身を閲覧するときに、 わざわざ、ファイル解凍をしなくても、中身を確認することができます。
ただし、圧縮形式によっては、 複数ファイルを一緒に圧縮できる形式(zipやtar.gzなど)であるのか、 1つずつのファイルごとに圧縮する形式(gzなど)であるのか が変わってきます。よって、ファイルの中身の表示され方も変わってきます。
圧縮ファイルを解凍すると、一時的にでも大きなファイルが生成されるので、 解凍しなくて確認できれば、その余分な生成を避けることができます。 知っていると、とても便利な方法です。
それでは、圧縮ファイルを解凍せずに、中身を見る方法を紹介していきます。
M1 Mac環境で実行しています。
macOS Big Sur (バージョン11.5.2) MacBook Air (M1, 2020) チップ Apple M1 メモリ 16GB
まずは、適当なテキストファイルを圧縮(zip/gz)します。
#ファイル内表示 cat test.txt #hoge 1 #hoge 2 #hoge 3 #hoge 4 #hoge 5 #hoge 6 #hoge 7 #hoge 8 #hoge 9 #hoge 10 #zip圧縮: -rオプションで、ファイル名を指定する zip -r test.zip test.txt #gz圧縮: -kオプションで元ファイルを残す gzip -k test.txt #詳細表示 ls -lh #-rw-r--r--@ 1 sas staff 81B 1 18 18:10 test.txt #-rw-r--r--@ 1 sas staff 64B 1 18 18:10 test.txt.gz #-rw-r--r-- 1 sas staff 203B 1 18 18:32 test.zip
zipとgzipコマンドを用いて、ファイル圧縮を行いました。 次に、これらのファイルを使って、解凍せず表示というのをやってみます。
まずは、zip圧縮ファイルを使って実行します。
ここでは、zipinfo
あるいはunzip -Z
コマンドを使うことで、
圧縮されたファイルに含まれるファイル一覧が表示できます。・
#ZIPファイル内の情報の表示 zipinfo -lht test.zip #Archive: test.zip #Zip file size: 203 bytes, number of entries: 1 #-rw-r--r-- 3.0 unx 81 tx 37 defN 23-Jan-18 18:10 test.txt #1 file, 81 bytes uncompressed, 37 bytes compressed: 54.3% #unzip実行 unzip -Z test.zip #Archive: test.zip #Zip file size: 203 bytes, number of entries: 1 #-rw-r--r-- 3.0 unx 81 tx defN 23-Jan-18 18:10 test.txt #1 file, 81 bytes uncompressed, 37 bytes compressed: 54.3%
両コマンドで、表示結果は同じで、圧縮率まで表示されます。 今回の圧縮率は、54.3%となっていますね。
次に、gz圧縮ファイルを使ってやってみます。 gz圧縮形式だと、必ず1つずつファイル圧縮されているので、 この実行でファイルの中身(テキスト文)まで表示されます。
コマンドとしては、zcat
、gzip -dc
あるいはgunzip -c
を使います。
zcat
は、「gzip」コマンドなどで圧縮された圧縮ファイルの中身を表示するときの専用コマンドですね。
ただ、Macの場合、zcat
の代わりに、gzcat
を使うみたいです。
それでは、実行してみます。
#(LINUX)圧縮ファイルの中身の表示 zcat test.txt.gz #(Mac)圧縮ファイルの中身の表示 gzcat test.txt.gz #hoge 1 #hoge 2 #hoge 3 #hoge 4 #hoge 5 #hoge 6 #hoge 7 #hoge 8 #hoge 9 #hoge 10 #gzipでの実行方法 gzip -dc test.txt.gz #(省略) #gunzipでの実行方法 gunzip -c test.txt.gz #(省略)
gzipの-dc
オプションは、展開と標準出力を意味します。
また、gunzipの-c
オプションは、標準出力のみを実行します。
当然ながら、3つの方法とも、同じ出力結果となりますので、省略してます。
続いて、ファイル内をすべて表示されると冗長なとき、 ファイルの一部分のみを表示させたくなります。
そこで、実行の際にheadやtailをパイプで組み合わせることで、 先頭から数行とか、最終行から数行とかを部分を切り取って表示することができます。
例えば、gz圧縮されたファイル内の先頭から4行のみを表示したい場合には、以下のように実行します。
#(Mac)gzcat実行 gzcat test.txt.gz | head -n 4 #hoge 1 #hoge 2 #hoge 3 #hoge 4 #gzip実行 gzip -dc test.txt.gz | head -n 4 #gunzip実行 gunzip -c test.txt.gz | head -n 4
ちなみに、gz圧縮されたファイル内の最終行までの4行を表示したい場合には、以下と実行します。
#(Mac)gzcat実行 gzcat test.txt.gz | tail -n 4 #hoge 7 #hoge 8 #hoge 9 #hoge 10 #gzip実行 gzip -dc test.txt.gz | tail -n 4 #gunzip実行 gunzip -c test.txt.gz | tail -n 4
「先頭から4行」、「最終行までの4行」というかたちで、それぞれ出力できました。
このやり方を知れば、zipやgz形式の圧縮ファイルが現れても、 中身が見えて、安心ですね。。www
df
とdu
という、2つのコマンドを紹介します。
ハードディスクの容量監視をする上で、重要なコマンドなので、ぜひ知っておこう。
df
コマンドはディスクの空き領域を知るコマンド、
一方で、du
コマンドはディスクの使用量を出力するコマンドとなります。
各コマンドについて、オプションと具体的な実行例を紹介します。
M1 Mac環境です。
macOS Big Sur (バージョン11.5.2) MacBook Air (M1, 2020) チップ Apple M1 メモリ 16GB
df
コマンドを実行すると、ディスクの各空き領域のサイズを計算して表示してくれます。
オプションとしては、-lh
くらいがお勧めです。l
はローカルのみ、h
はサイズに単位をつけます。
あと、df
コマンドは、副次的に、ハードディスク全体のサイズや各割り当ても知ることができます。個人的には、主にこっちの使い方が便利かもですね。
ではでは、dfの基本的な実行例は以下の通りです。
#基本的な使い方 df -lh #Filesystem Size Used Avail Capacity iused ifree %iused Mounted on #/dev/disk3s1s1 228Gi 21Gi 49Gi 30% 553781 2393071179 0% / #/dev/disk3s6 228Gi 1.0Gi 49Gi 2% 1 2393624959 0% /System/Volumes/VM #/dev/disk3s2 228Gi 404Mi 49Gi 1% 1180 2393623780 0% /System/Volumes/Preboot #/dev/disk3s4 228Gi 616Mi 49Gi 2% 211 2393624749 0% /System/Volumes/Update #/dev/disk1s2 500Mi 6.0Mi 481Mi 2% 5 5119995 0% /System/Volumes/xarts #/dev/disk1s1 500Mi 7.5Mi 481Mi 2% 36 5119964 0% /System/Volumes/iSCPreboot #/dev/disk1s3 500Mi 648Ki 481Mi 1% 37 5119963 0% /System/Volumes/Hardware #/dev/disk3s5 228Gi 154Gi 49Gi 76% 1189578 2392435382 0% /System/Volumes/Data #/dev/disk2s1 5.0Gi 1.9Gi 3.1Gi 38% 60 52428300 0% /System/Volumes/Update/SFR/mnt1 #/dev/disk3s1 228Gi 21Gi 49Gi 30% 553724 2393071236 0% /System/Volumes/Update/mnt1
du
コマンドは、フォルダ・ディレクトリごとにサイズを集計して出力します。
また、デフォルトなら、作業ディレクトリ、および全てのサブディレクトリの使用サイズを集計します。
実際、サブディレクトを含めて全て展開すると、
表示が冗長なので、-h -d 1
あたりのオプションを用いてます。
-h
は単位表示、-d 1
は集計するディレクトリの深さを1階層のみにする設定です。
では、duの基本的な実行例は以下の通りです。
#基本的な使い方 du -h -d 1 #少し応用事例 with grep du -h -d 1 | grep -v '[.]/[.]' # 11G ./Research # 64M ./Music #248K ./ResearchMap_skume #509M ./Pictures #1.6G ./mecab-ipadic-neologd # 25G ./Desktop # 12G ./Library # 0B ./Public #860K ./Movies # 0B ./Applications #474M ./Dropbox #519M ./Documents #365M ./Downloads #797M ./miniconda # 53G .
dfとduコマンドの実行時の違いを解説しました。
dfとduは時々使いますが、 実際、どちらがどっちだったかよく不明になります。 とりあえず、両方とも実行します。。