UNIXコマンドをチートシート的な感じでまとめてみました。
PC及びターミナルの環境
MacBookPro(13-inch, M1, 2020)
チップ:Apple M1
使用アプリ:ターミナル(Mac標準搭載)
ターミナル環境:Homebrew
シェル:zsh
コマンドライン(CommandLineInterface/CaracterUserInterface/CUI)とは
クリックなどでコンピュータを操作すること(=GraphicalUserInterface/GUI)の代わりに文字命令(コマンド)だけでコンピュータを操作すること。
この記事ではMacOSなどのUNIX系OSやLinuxで主に利用されるUNIXコマンドについてまとめています。
このページの読み方
| 何の略語なのか
コマンドの意味
使い方の例
# 解説や補足など
pwd
| print working directory または present working directory
現在のディレクトリを表示する。
cd
| change directory
ディレクトリを移動する。
cd workspace
# cd 移動先のディレクトリ名(現在いるディレクトリ直下のディレクトリもしくはファイル)
cd ..
# 一つ上のディレクトリへ移動
cd ../..
# 二つ上のディレクトリへ移動
cd ~
# ホームディレクトリへ戻る
ls
| list segments
ファイルやディレクトリの詳細を表示する。
さまざまなオプションが用意されている。
ls -l
# ファイルやディレクトリの詳細な情報まで表示することができる
ls -a
# デフォルトでは表示されないドットファイル(隠しファイル)も表示できる
ls -la
# -lと-aオプションを組み合わせてディレクトリ下の全てのファイルの詳細を確認する
ls -F
# ファイル名の後ろにファイルの識別子をつける
mkdir
| make directory
ディレクトリを作成する。
mkdir workspace(ディレクトリ名)
# workspace という名前のディレクトリを作成
rmdir
| remove directory
空のディレクトリを削除する(空でないと削除はできない)。
rmdir workspace(ディレクトリ名)
# workspaceという名前の空ディレクトリを削除
mv
| move directory
ファイルやディレクトリを移動する。
mv hoge.txt(移動させたいファイルやディレクトリ名) workspace(移動先のディレクトリ名)
# hoge.txtという名前のファイルをworkspaceというディレクトリへ移動
mv workspace workspace2/workspace
# workspaceという名前もディレクトリをworlspace2直下へ移動する
ファイルやディレクトリ名を変更することもできる。
mv hoge.txt(変更したいファイルやディレクトリ名) fuga.txt(変更後のファイルやディレクトリ名)
# hoge.txtというファイルの名称を fuga.txtという名称に変更
cp
| copy
ファイルをコピーする。
cp hoge.txt(コピー元のファイル名) copyhoge.txt(コピー後に作成したいファイル名)
# 同一名称のファイルが存在すると上書きされてしまうため要注意
ディレクトリのコピーをする場合は -r
オプションを使う。
cp -r workspace(コピー元のディレクトリ名) workingspace(コピー後のディレクトリ名)
rm
| remove
ファイルを削除する。
さまざまなオプションが用意されている。
rm hoge.txt(削除したいファイル名)
# hoge.txtというファイルを削除する
rm -r workspace(削除したいディレクトリ名)
# workspaceというディレクトリを削除する
絶対に使用禁止!!!
PCが動作しなくなるため絶対に使用してはならないコマンド(禁術)
rm -rf /
# 全てのファイルを削除するコマンドでありルートディレクトリ以下の全ファイルを強制削除してしまう
rm
削除コマンド
-r
再起的に削除をするオプション
-f
強制的に処理実行するオプション
/
ルートディレクトリへ適用
上記を組み合わせると強制的にPCを動かすために必要な設定関連のファイルまで消してしまい、PCが動かなくなる!!!!!
touch
| touch
ファイルを作成する。
touch hoge.txt(作成したいファイル名)
ln
| link
ファイルやディレクトリへのリンクを作成する。
ln -s hoge/hoge.txt .symlink
# -sオプションでシンボリックリンク(ファイルの別名)を作成でき、ハードリンク(ファイルの正式名)を短くした名称で扱うことができる
cat
| concatenate(連結する の意味)
ファイルの中身を表示する。
cat hoge.txt(中身を表示したいファイル名)
find
| find
ファイルやディレクトリを検索する。
find ~ -name hoge(探したいファイルやディレクトリ名)
# -nameオプションで名前を指定、hogeという名前のファイルやディレクトリを検索する
grep
| global regular expression print
テキストファイルを正規表現(regular expression)で検索する。
grep aaa(検索したい表現) hoge.txt(検索先のファイル名)
# hoge.txtからaaaが含まれる行を検索し、表示する
chmod
| change mode
ファイルやディレクトリに対して所有権などの権限を設定する。
- 権限の区分(設定範囲)
1桁目 | 2桁目 | 3桁目 |
---|---|---|
所有者権限 | グループ権限 | その他ユーザ権限 |
- 主な権限の種別
読み込み権限 | 書き込み権限 | 実行権限 |
---|---|---|
r | w | x |
- 権限の範囲
数値 | 権限種別 | 内容 |
---|---|---|
0 | --- | なし |
1 | --x | 実行可能 |
2 | -w- | 書き込み可能 |
3 | -wx | 書き込み・実行可能 |
4 | r-- | 読み込み可能 |
5 | r-x | 読み込み・実行可能 |
6 | rw- | 読み込み・書き込み可能 |
7 | rwx | 読み込み・書き込み・実行可能 |
chmod 750(核桁に権限範囲数字) hoge(ファイル名)
# 所有者に7,グループに5,その他ユーザに0の権限を付与している
- 記号指定する場合
記号 | 対象者 |
---|---|
a | 全ユーザ |
u | 所有者 |
g | グループ |
o | その他ユーザ |
記号 | 付加・除去 |
---|---|
+ | 付加 |
- | 除去 |
= | 全クリア |
記号 | 主な権限の種別 |
---|---|
r | 読み |
w | 書き |
x | 実行 |
chmod a+w(対象者 付加・除去 権限種別) hoge(ファイル名)
# a(全ユーザ)に+(付加)w(書き込み権限)を与えている
echo
| echo(打ち込んだ文字を表示させる「こだま=エコー」 という由来)
ファイルに文字を追加(文字をそのまま表示)することができる
echo aiueo(追加したい文字列) >> hoge.txt(追加したいファイル名)
# hoge.txtにaiueoという文字列を追加
# >>は「リダイレクト」を表し、「>」は上書き、「>>」は内容追加ができる
wget
| get
get
から派生したダブルゲットというコマンド
指定したURLのファイルをダウンロードできる
wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config locales/
# wget ダウンロード先のURL
exit
| exit
ターミナル(コマンドライン)を終了する
さいごに
プログラミング未経験者が学習を始めて半年の間でよく使ったと実感したコマンドをまとめました。
今後実務でよく使うようになったコマンドも随時追加していきます。