Mac shell のコマンド一覧

UB3/informatics/index_mac_shell_commands

このページの最終更新日: 2024/09/30

  • 多くのコマンドは、Mac のターミナルと Linux で共通。
  • Mac, Win のコマンド対照表 も参照のこと。
  • オプションなどは、リンク先のコマンドのページにあります。
  1. フォルダ・ファイル操作のコマンド
  2. 変数・文字列操作のコマンド
  3. ユーティリティー的なコマンド
  4. ネットワーク関連のコマンド
  5. バイオ研究関連のコマンド

フォルダ・ファイル操作のコマンド

basename

フルパスからパスを除き、ファイル名のみを取得する。ファイル名を拡張子なしでリストにするときに使用。参考ページ

cd

他のディレクトリに移動する。

cat

ファイルを結合したり、ファイルの中身を見たりする。

diff

ファイルやフォルダの内容を比較し、差分を表示する。

find

特定の規則に従ってファイルを検索する。

less

ファイルの内容を見る。

rm

ファイルを削除する。Windows では del。

rmdir

フォルダを削除する。ただし、このコマンドを覚えるよりも rm に -r オプションを付けることに慣れておく方がよい。rmdir は空のフォルダの削除のみだが、rm -r はフォルダの中身ごと全て削除する。rm -r の方が使う機会が多いだろう。

mv

ファイルを移動する。ファイルの名前変更にも使う。ディレクトリ移動のときも、特にオプションは不要。

cp

ファイルをコピーする。cp file1 file2

rename

ファイル名を一括で変更する。

setfile

setfile -d "MM/DD/YYYY" filename でファイルの作成日時を変更。-m オプションで最終更新日時を変更。

split

ファイル分割。

  • split -d 100000 filename なら 100 kB ごとに分割。
  • -l なら行数指定で、-l 2 なら 2 行ずつに分割する。

sh, bash, zsh

.sh などのファイルを実行する。

  • -x オプションで、実際に実行されたコマンドを表示できる。
  • -v オプションで、これから実行するコマンドを表示できる。
  • --version でバージョンチェック

tar

.tar という拡張子のアーカイブファイルを作成または展開する。アーカイブのみで圧縮はしないが、オプションをつけることで圧縮も可能。この場合、拡張子は .tar.gz または .tgz になる。

  • tar -czvf filenames で、アーカイブの作成と gzip 形式の圧縮
  • tar -xzvf filename で、gzip 形式の圧縮ファイルを展開
gzip
gunzip

ファイルを圧縮 gzip または解凍 gunzip する。gzip filename のように使う。

LZ77 というアルゴリズムが使われ、拡張子は .gz となる。ゲノムデータは .fna.gz という圧縮ファイルであることが多いので、バイオインフォマティクスでは汎用される。

convert

ImageMagick パッケージのコマンド。画像形式を変えたり、pdf ファイルを一つにまとめたりできる。


変数・文字列操作のコマンド

ファイルではなく、その中の文字列に関するコマンド。

grep 特定にパターンにマッチする行の検索、抽出など
echo echo に続く言葉を繰り返すが、それだけではない。
wc

行数、単語数、バイト数を表示。実際は行数ではなく改行コードの数を数えているようで、末尾に改行コードがない場合は 1 行少なく表示される。

単語はスペース区切りで認識する。テキストファイルの単語数をチェックする場合、経験的に Word の単語数カウントと極めて近い数になる。Word を立ち上げるよりこっちの方が早くて便利。

sort

ファイル内の文字列をソートする。使えるオプションは、例えば以下のもの。

  • -b : 行の最初にあるスペースを無視する
  • -n : 数字の順にソートする。このオプションをつけないと、例えば 1 の次に 10、その次に 100 がきてしまう。
  • -r : 降順にソートする。
  • -o : アウトプットファイルを指定。
uniq ファイル内の重複行を表示または削除。ただし sort 後に。
cut 特定の文字で区切られた部分を抽出する。
vi vi エディタを起動する。
awk スペースを区切り文字と認識し、各行を指定通りに処理する。
od od -c xyz.txt | less で 改行コード を調べられる。
tr

置換のコマンド。echo KOTATSU | tr '[:upper:]' '[:lower:]' のようにして大文字・小文字を一括変換することも可能 (Ref)。

インプットは文字列なので、ファイルに対して使いたい場合は cat からパイプする。cat input.txt | tr -d ^abc で、input.txt というファイルの中にある行頭の abc という文字列を削除することになる。

  • -d option: 指定文字列 1 を削除する
read

ユーザーが入力した文字列を変数として格納するコマンド (Ref)。sh ファイル中で read abc とすると、ユーザー入力を abc という変数に保存できる。echo $abc でその内容を出力できる。


ユーティリティー的なコマンド

script

ターミナルのログをとる。exit で終了する。

ls

ディレクトリにあるファイルの一覧を取得。

clear

画面をクリアする。実際はたくさん改行を入れているだけ。

open

ファイルを開く。open . で現在のディレクトリを Finder 表示。

pwd

現在のパスを表示。

which

プログラムのパス (場所) を表示

top

システムモニタ。q で終了する。

setfile

ファイルの作成日時を変更する。

chmod

chmod 777 file のようにしてパーミッションを変更。パーミッションに関する説明もリンク先にあります。

man

ファイルの説明を表示する。q で終了。

source

Terminal 起動後 source .bashrc でコマンド検索パス追加。

export

シェル変数を環境変数としてエクスポートする。

ln

シンボリックリンクを張る。

java

java -version で Java のバージョンをチェックできる。

reboot

再起動をかける。

shutdown

sudo shutdown -r now でシステム終了と再起動。

softwareupdate

sudo softwareupdate --list でソフトウェアをアップデート。


ネットワーク関連のコマンド

nslookup

DNS サーバで名前解決。ドメイン名から IP アドレスを得るなど。

nslookup ultrabem.com とすると、まず 192.168.0.1 というアドレスが見える。これはルーターのアドレス。3 つの ub はアドレスが 183.90.240.19 で同一である。このことから、同じサーバー上にあると言っていいのだろうか。

dig

host

netstat

アクティブなインターネットの一覧を表示。

ssh

外部サーバーに接続する。

scp

ファイルの転送。


研究関連のコマンド

コンピューター解析を多用した生物の研究は、一般にバイオインフォマティクス bioinformatics と呼ばれています。この研究の過程でよく使うコマンド。

brew

homebrew

seqkit

FASTA ファイルを操作するコマンド。

seqret

seqkit と似ている。FASTA ファイル操作のコマンド。

blast 系

詳細は Mac の local blast のページを参照。

xcode

コマンドラインからの Xcode のアップデートはできないようだ。というか、消して再インストールするものらしい。

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install