LoginSignup
0
1

More than 1 year has passed since last update.

Linuxの基本コマンド

Posted at

Linuxとは

OSの一種、コンピュータを動かすための基本ソフト。
サーバー用や開発用に使われている

Linuxカーネル

中核となるソフトウェア。

Linuxディストリビューション

カーネルに色々なソフトウェアを組み合わせて使いやすくしたもの。

シェル

LinuxのCLI を提供するソフトウェア。
ユーザーとカーネルの仲介役。

コマンドを入力すると実行結果が出力される

①ユーザーがプロンプトにコマンドを打つ
②シェルが入力された名前のコマンドを探す
③Linuxカーネルが見つかったコマンドを実行する
④シェルが実行結果を画面に表示

ターミナルとシェルは別。ターミナルの中でシェルが動いている。

ディレクトリ

ファイルを格納する仕組みのこと

ショートカットキー

コマンド            内容
command + a 行の先頭に移動
command + e 行の最後に移動
command + h カーソルの左を1文字削除
command + d カーソル部分を1文字削除
command + w カーソル位置の単語を削除
command + u カーソル位置から行頭まで削除
command + k カーソル位置から行末まで削除
command + y 最後に削除した内容を挿入
command + c 実行中のコマンドを強制終了
command + l 画面の消去
command + s 画面表示のロック
command + q 画面表示ロックの解除
Tab コマンドやパスの補完
command + p,または↑ 一つ前の履歴を見る
command + n,または↓ 一つ後の履歴を見る

主要なディレクトリ

ディレクトリ          役割
/bin 一般ユーザー及び管理ユーザーの両方が使用するコマンドの実行ファイルを格納
/dev デバイスファイルを格納
/etc 設定ファイルを格納
/home ホームディレクトリが配置される
/sbin 管理者向けのコマンドの実行ファイルを格納
/tmp 一時的なファイルを格納
/usr 各種アプリケーションとそれに付随するファイルを格納
/var 変化するデータを格納

各種コマンド

cd

ディレクトリを移動するコマンド

$ cd [ディレクトリ]
ディレクトリ          意味
カレントディレクトリ 「.」 現在自分がいるディレクトリ
親ディレクトリ    「..」 一つ上の階層のディレクトリ
ホームディレクトリ 「~」 「/home/ユーザー名」ディレクトリ
ルートディレクトリ  「/」 「/」ディレクトリ

pwd

カレントディレクトリ(自分がいるディレクトリ)を表示するコマンド

$ pwd

ls

ファイルやディレクトリの一覧を表示するコマンド

$ ls [ディレクトリ・ファイル名]

#拡張子がhtmlのファイル一覧を表示
$ ls *.html
index.html home.html job.html

#zから始まり4文字で終わるファイルの表示
$ ls /bin/z???
/bin/zcat /bin/zcmp /bin/znew

#ファイルの詳細情報の表示
$ ls -l

#隠しファイルも含めた全てのファイルの表示
$ ls -a

#ファイルの種別を表示
# ls -F

mkdir

ディレクトリを作成するコマンド

$ mkdir <作成するディレクトリ>

#深いディレクトリを一度に作成
$ mkdir -p test/2021/08

rmdir

空のディレクトリを削除するコマンド

$ rmdir <ディレクトリ名>

--help

コマンドのヘルプメッセージを表示

$ <コマンド> --help

man

コマンドのマニュアルを表示

$ man <調べたいコマンド>

#キーワードから検索
$ man -k move 

cat

ファイルの中身を表示するコマンド

$ cat <ファイル名>

#ファイルの詳細情報を表示
$ cat -n <ファイル名>

#複数のファイルをまとめて表示
$ cat <ファイル名> <ファイル名>

less

ファイルの中身をスクロール表示する

$ less <ファイル名>
<スクロールの操作>
コマンド         内容
スペースキー, f 一画面下にスクロール
b     一画面上にスクロール
j 一行下にスクロール
k 一行上にスクロール
q lessコマンド終了
/<文字列> 下方向に向かって検索
?<文字列> 上方向に向かって検索
n 次の検索結果に移動
N 前の検索結果に移動

touch

空のファイルを作成

$ touch <新規ファイル名1> <新規ファイル名2>

rm

ファイル・ディレクトリを削除するコマンド

$ rm <ファイル名1> <ファイル名2> //複数削除可能

#ディレクトリも併せて削除
$ rm -r <ディレクトリ名>

#ファイルを削除する際に警告文を表示しない
$ rm -f <ファイル名>

#ファイルの削除前に確認
$ rm -i <ファイル名>

mv

ファイルの移動、ファイル名を変更するコマンド

$ mv <移動元> <移動先>

#ファイル名を変更
$ mv <旧ファイル名> <新ファイル名>

#ファイルを移動
$ mv <ファイル名> <ディレクトリ名>

#上書きする前に確認する
$ mv -i <旧ファイル名> <新ファイル名>

cp

ファイル・ディレクトリをコピーするコマンド

$ cp <コピー元> <コピー先>

#ファイルをコピー
$ cp <ファイル名> <ファイル名>

#ファイルをディレクトリ内にコピー
$ cp <ファイル名> <ディレクトリ名>

#上書き前に確認する
$ cp -i <ファイル名> <ファイル名>

#ディレクトリをコピーする
$ cp -r <ディレクトリ名> <ディレクトリ名>

ln

リンクを張るコマンド

$ ln [オプション] <リンク元のファイル> <リンク名>

#ハードリンクを張る
$ ln <ファイル名> <ファイル名>

#シンボリックリンクを張る
$ ln -s <ファイル名> <ファイル名>

find

ファイルを検索するコマンド

$ find <検索開始ディレクトリ> <検索条件> <アクション>
$ find . -name README.md -print

#ファイル名を指定してファイルを検索。ファイル名の大文字小文字は区別する。
$ find . -name README.md

#ワイルドカードが使える。*を使うときは"で囲う
$ find . -name '*.html' -print

#ファイル名を指定してファイルを検索。ファイル名の大文字小文字は区別しない。
$ find . -iname readme.md
#通常ファイルの検索
$ find . -type f -print

#シンボリックリンクの検索
$ find . -type l -print

#ディレクトリの検索
$ find . -type d -print

#複数の検索条件を指定。-aは省略可能。
$ find . -type d -a -name images -print

リダイレクト

#入力リダイレクト(キーボードの代わりにファイルから入力する機能)
$ cat < /etc/hosts

#出力リダイレクト(コマンドの実行結果をファイルに保存)
$ ls > output.txt
$ cat > output.txt

#エラー入力のリダイレクト(エラー結果をファイルに保存)
$ ls /hoge 2> error.txt

#出力とエラー出力をまとめる
$ ls / /hoge > output.txt 2>&1

#リダイレクトで追記
$ echo Hello! >> output.txt

/dev/null

入力先として指定しても何も返さず、出力先として指定してもデータは消え何も表示されないファイル。

#入力先として指定、入力先が何もない状態となる
$ cat < /dev/null

#出力先として指定、結果が何も表示されない
$ ls / > /dev/null

パイプライン

複数のコマンドを連携させる機能。

コマンド | コマンド
$ ls /bin | less
$ ls /bin | grep systemd | less

chmod

ファイルやディレクトリのパーミッションを設定

$ chmod [ugoa] [+-=] [rwx] <ファイル名>
$ chmod u+r file

#数値で指定
$ chmod <8進数の数値> <ファイル名>
$ chmod 755 file
記号        内容
u 所有者の権限
g    グループの権限
o その他のユーザーの権限
a 全ユーザーの権限
+ 権限の追加
- 権限を削除
= 記述した権限にする
パーミッション        数値
r(読み取り) 4
w(書き込み)   2
x(実行) 1

sudo

スーパーユーザーとしてコマンドが実行可能
管理者権限を持つユーザーがスーパーユーザー

$ sudo <コマンド>

ps

実行中のプロセスを表示するコマンド

$ ps [オプション]

#全ユーザーのプロセスを、詳細情報を合わせて表示
$ ps aux

jobs

現在のジョブの一覧を表示するコマンド

$ jobs

fg,bg

ジョブをフォアグラウンド、バックグラウンドにするコマンド

$ fg %<ジョブID>
$ bg %<ジョブID>

kill

ジョブやプロセスを終了させるコマンド

$ kill %<ジョブID>
$ kill %<プロセスID>

参考リンク

0
1
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
0
1