2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linuxでよく使う基本的なコマンドの逆引きチートシート

Last updated at Posted at 2022-03-12

これからLinuxを始める知人に見せるために書きました

  • 必要そうなのは随時増やします
  • 書くと長そうなのは最低限だけ書いて残りをリンク先に丸投げします

ここに書かれたコマンドは全て非管理者権限のシェルで実行されることを想定しています

  • 管理者権限が必要なコマンドは頭にsudoをつけています(現状はない)
  • アクセスするのに管理者権限が必要な場合もsudoをつけてください
    このページはScrapboxからの移植です

全般

コマンドのヘルプを見る

<コマンド> --help

または

<コマンド> -h
  • どちらかしか対応していない場合がある

コマンドのマニュアルを見る

man <コマンド>
  • 全てのコマンドが対応しているわけではない
  • 日本語化されていないマニュアルもある

コマンドオプションについて

  • ls -a-aのことをオプションという
    • -(ハイフン)から始まるのがオプション
  • アルファベット1文字のオプションと複数文字のオプションがある
    • 例) ls -als --all
  • ほとんどのオプションは複数同時に使える
    • 例) ls -a -l
  • 1文字のオプションは連結できる
    • ls -a -l -> ls -al

ディレクトリ操作系

カレントディレクトリを変更する

cd <ディレクトリ>

ホームディレクトリをカレントディレクトリにする

cd

または

cd $HOME

カレントディレクトリを確認する

pwd

ファイルの一覧を見る

カレントディレクトリの中を見る場合

ls

特定のディレクトリの中を見たい場合

ls <ディレクトリ>

ファイルごとの詳細な情報も見たい場合

ls -l

または

ll
  • .bashrcなどでエイリアスが有効になっている場合のみ使える

表示される主な情報

  • パーミッション
  • ファイルタイプ(ディレクトリかどうかもわかる)
  • 作成日時
  • 更新日時
  • ファイルサイズ
  • ファイル名・ディレクトリ名
  • リンク先(シンボリックリンクの場合)
    • ハードリンクも何か出たっけ?

隠しファイルや隠しディレクトリも表示したいとき

ls -a

または

la
  • .bashrcなどでエイリアスが有効になっている場合のみ使える

ファイルのみを表示したいとき

ls -F | grep -v / | sed s/\*$//g

ディレクトリのみを表示したいとき

ls -F | grep / | sed s/\\/$//g

ファイルを移動する

mv <移動前> <移動先>
mv foo.sh ./bar/
  • foo.shをbarディレクトリの中に移動する

ファイル名を変更するのにも使える

mv <変更前> <変更後>
mv foo.sh bar.sh
  • foo.shのファイル名をbar.shに変更する

ファイルをコピーする

cp <コピー前の場所> <コピー後の場所>

ディレクトリを丸ごとコピーする場合

cp -r <コピー前の場所> <コピー後の場所>

ファイルを削除する

rm <削除するファイル>

-fを付けないとファイルを削除するときに本当に削除していいか訊かれることがある

rm -f <削除するファイル>

ディレクトリごと削除する場合

rm -rf <削除するディレクトリ>
  • -fを付けないとディレクトリの中のファイルごとにいちいち質問されて面倒
  • つけ忘れて実行してしまった場合はCtrl-cで中断して初めからやり直そう

ファイルの圧縮・解凍

リンクの作成

シンボリックリンク(Windowsで言うショートカット)を作成する

ln -s <ファイル名> <リンク名>
  • -sがないとハードリンクになってしまうので注意

権限(パーミッション)編集系

権限の基礎知識

  • これを知らないことには何も始まらない

権限を設定できる__対象__は3つ

  • u: 所有者
  • g: 所有グループ
  • o: それ以外
    • a: 上記3つすべて

権限の種類も3つ

  • r: 読み取り権限
  • w: 書き込み権限
  • x: 実行権限
    • あくまでファイル自身を直接実行する場合
    • シェルスクリプトをshコマンドの引数に渡して実行する場合などでは必要ない

権限を確認する

ls -l

任意の権限を許可する

chmod <対象>+<種類> <ファイル>
chmod o+w foo.txt
  • foo.txtを誰でも書き込みできるようにする

任意の権限を剥奪する

chmod <対象>-<種類> <ファイル>
chmod a-x foo.sh
  • foo.shを(root以外)誰も実行できないようにする

ディレクトリとその中のファイル全てを一括で変更する

chmod -R <パーミッション> <ファイル>
  • 大文字のRなので注意

参考

所有者を変更する

chown <所有者のユーザー名> <ファイル>

所有グループを変更する

chown <所有者のユーザー名>:<所有グループ名> <ファイル>
  • 所有者を省略してコロン(:)から右だけを書いてもいい

ディレクトリとその中のファイル全てを一括で変更する

chown -R <所有者のユーザー名> <ファイル>
chown -R :<所有グループ名> <ファイル>
chown -R <所有者のユーザー名>:<所有グループ名> <ファイル>
  • 大文字のRなので注意

ソフトウェア(パッケージ)の管理

  • ディストリビューションによって違う

RedHat系(CentOSなど)

yumコマンドを使う

Debian系(UbuntuやRaspberry Pi OSなど)

aptコマンドを使う

ファイルを編集する系

ファイルの中身を確認する

cat <ファイル>

ファイルが長い場合は

cat <ファイル> | less

テキスト形式のファイルを編集する

vim <ファイル>
  • 基本はこれだけ覚えておけばよさそう
    • iキー: 挿入モードに入る
      • 普通のテキストエディタと同じような操作ができるようになる
      • Escキーで戻る
    • :w: 上書き保存
    • :wq: 上書き保存してから閉じる
    • :q: 閉じる(通常)
    • :q!: 変更を保存せずに閉じる
  • もっとちゃんと活用したい人は以下のページを参照
nano <ファイル>
  • 使い方は画面を見て

ほかにもありそうだけど筆者が使ったことがあるのがこれだけ

空のファイルを作成する

touch <ファイル名>
  • 何も書き込まれていないファイルが作成される

標準出力関連

  • 標準出力とはコンソール上に表示される文字のこと

標準出力をファイルに書き出す

<標準出力を出すコマンド> > <保存するファイル名>
ls --help > ls.txt
  • lsコマンドのヘルプがls.txtに保存される

長い出力をスクロールして見れるようにする

<標準出力を出すコマンド> | less

検索して合致した行だけを出力する

<標準出力を出すコマンド> | grep <検索文字列>

行数を出す

<標準出力を出すコマンド> | wc -l

その他

シェルスクリプトの実行

sh <スクリプトファイル>

コマンドが格納されている場所を確認する

which <コマンド>
  • 使用中のユーザーでしか使えないコマンドなのかを確認するのにも使える

蒸気機関車を走らせる

sl
  • あらかじめslコマンドをインストールしておかないと使えない

書きたいけどまだ書いてないコマンド

  • ps
  • kill
  • service
  • systemctl
  • top
  • df
  • ユーザー作成・編集・削除
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?