そもそもコマンドってどうやって使うの?
ターミナルで[コマンド]+[オプション]を打つことで使える。
使えるコマンドは/usr/bin/
,/usr/sbin/
,usr/local/bin
,usr/local/bin
にいるらしい。
ls /usr/bin
とかで一覧を確認できます。
オプションは割と共通の意味で使われていることが多かったりする(違うのもあるので注意)。
割と共通に思えるオプション。
-r 再帰的に行う(ディレクトリを指定したらその下のディレクトリやファイルまで含めて行う)
-f 強制的に行う(あまり使いたくない)
-a すべて
よく使うコマンド
ディレクトリの中身一覧を表示:ls
割と使うオプション
-lでリスト
-aで隠しファイルも含めてすべて
-tで新しいものから時間順
hoge@DESKTOP:~$ ls -la
total 8
drwxr-xr-x 1 hoge hoge 4096 Jul 15 21:58 .
drwxr-xr-x 1 root root 4096 Jun 8 21:53 ..
-rw------- 1 hoge hoge 341 Jul 15 21:49 .bash_history
-rw-r--r-- 1 hoge hoge 220 Jun 8 21:53 .bash_logout
-rw-r--r-- 1 hoge hoge 3771 Jun 8 21:53 .bashrc
drwx------ 1 hoge hoge 4096 Jul 15 21:57 .cache
drwx------ 1 hoge hoge 4096 Jul 15 21:57 .local
-rw-r--r-- 1 hoge hoge 807 Jun 8 21:53 .profile
-rw-r--r-- 1 hoge hoge 0 Jun 8 21:55 .sudo_as_admin_successful
drwxrwxrwx 1 hoge hoge 4096 Jul 15 22:22 python-test
ファイルの中身を見る:less ファイル名
lessの中でよく使うコマンド
q 閲覧終了
f 次のページへ進む
b 前のページへ戻る
g ファイルの最初へ
G ファイルの最後へ
/ 検索
n 次の検索結果
N 前の検索結果
hoge@DESKTOP:~$ less aaa.txt
aaa
bbb
ccc
aaa.txt (END)
ファイルの読み書き:vim ファイル名
よく使うモード
esc コマンドモード(ファイルに書き込んだりできない)
i インサートモード(ファイルへの書き込みができる)
v ビジュアルモード(コピーしたり、選択したりが便利)
よく使うコマンド
:wq 書き込んで終了
:q! 強制終了
/ 検索
x 文字削除
h ←
j ↑
k ↓
l →
めんどくさくなったので、あとはこのわかりやすいリンク先で。
新人達を1ヶ月でガチvimmerにした方法
コマンドでvimtutorって打つと基本的な操作について学べるのでそちらもおすすめ。
hoge@DESKTOP:~$ vim aaa.txt
aaa
bbb
ccc
~
"aaa.txt" 3L, 12C
コマンドのマニュアルを見る:man コマンド名
hoge@DESKTOP:~$ man ls
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
......略......
ディレクトリを移動する:cd ディレクトリ名
tabを押すと次の予測が出てくるので便利
パッケージをインストールする:apt(yum,brew) install パッケージ名
apt updateやapt upgradeでアップデートやアップグレードができる。
パッケージ管理システムについての説明はこれがわかりやすかった。
https://eng-entrance.com/category/linux/linux-package
ディレクトリを作る:mkdir ディレクトリ名
空ファイルを作る:touch ファイル名
コピーする:cp ファイル名 コピー先ディレクトリパス
詳しいオプションはこちらを参考に。
https://eng-entrance.com/linux_command_cp
移動させる:mv ファイル名 移動先ディレクトリパス
詳しいオプションはこちらを参考に。
https://eng-entrance.com/linux_command_mv
ファイル名を探す:find 検索先 -name ファイル名
ファイルの名前を探すことができます。
正規表現でワイルドカード(*)をよく使うかなぁ。
詳しいオプションはこちらを参考に。
https://eng-entrance.com/linux-command-find
ファイルの中身を探す:grep -r 文字列 検索先
再帰的に探すことが多いと思う。
パイプ(|)でつないで操作することも多い。
xargsとかと一緒に使われることも多い気がします。
https://wa3.i-3-i.info/word11619.html
詳しいオプションはこちらを参考に。
https://eng-entrance.com/linux-command-grep
コマンドが入っているか、入っているならどこなのかを探す。:which コマンド名
hoge@DESKTOP:~$ which ls
/bin/ls
こんな感じで場所を教えてくれます。
そもそもインストールされていないのか、ただパスが通っていないだけなのかなどを確認するときに使います。
自分が今どこのディレクトリにいるか知る:pwd
hoge@DESKTOP:~$ pwd
/home/hoge
ログを追いかけるコマンド:tail -f ファイル名
ログが書き込まれていくのを追っていくコマンド
そこまで頻繁には使わないけど、最初の設定とかで使うことがあるコマンド
パスワードの変更:passwd
所有者やグループの変更:chown,chmod
chown
chmod
リモートサーバの操作をしたりするとき使うコマンド
リモートサーバに入る:ssh サーバ名
sshの公開鍵方式でリモートサーバに入るには秘密鍵をローカルに置かなくてはいけない。
鍵があるディレクトリでssh
を叩くか-i
オプションで鍵を指定するか.ssh/config
で鍵の位置を指定する。
下記リンクで書き方や詳しい指定の仕方が書いている。
複数の仮想端末を使う:screen -U
特にリモートサーバで作業する場合、ウインドウを複数開かなくてよい、複数のプロセスを同時実行できる、セッション切れしても端末の状態を保存しておける、など便利です。
使い方の要点
https://qiita.com/ryounagaoka/items/8203e9c149b542986c92
マニュアル
https://linuxjm.osdn.jp/html/GNU_screen/man1/screen.1.html
ローカルからリモートに安全にファイルを転送する:scp 送り元 送り先
ssh接続をつかってファイル転送をできます。
.ssh/config
にサーバ名と鍵を指定しておけばサーバ名:指定ディレクトリ
だけで指定ができるので便利です。
インストールしたパッケージでよく使うコマンド
再帰的にディレクトリの構成を確認する:tree ディレクトリ名
apt(yum,brew) install tree
とかでインストールできるはず。
mysqlを起動する:mysql (-h ホスト名) -u ユーザ名 -p (-P ポート番号)
VirtualMachineなどを使ってmysqlを起動する場合、ホスト名とポート番号が必要になりますが、
通常起動であれば-u
と-p
オプションだけで大丈夫です。
まとめ
個人的に使うことがあるコマンドでした。
随時追記・修正行います。
間違っている等ご指摘あればお願いします。