はじめに
今回学んだこと
- 基本のコマンド(pwd,ls,cd)
- コマンドラインの基本操作
pwdコマンド
→カレントディレクトリ(現在作業中のディレクトリ)を確認するためのコマンド
$ pwd
Enterキーを押して実行すると作業中のディレクトリが表示される
/home/imagata
今回ここで表示されているパスは何なのかというと、imagataというユーザのホームディレクトリのパスとなる。
ユーザーごとに自由に編集できるディレクトリとなる。
マシン内の重要なファイルを誤って操作しないためにもユーザが作成したファイルはここに配置する。
lsコマンド
→ディレクトリの中身を表示するためのコマンド
$ ls
オプションと引数を指定することが可能なため試してみよう
引数にルートディレクトリを指定する
$ ls /
実行すると...
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
といった具合に、ルートディレクトリの中身を確認することができる
次に詳細情報を表示する-iオプションを入力してみよう
上記同様引数でルートディレクトリを指定するので
$ ls -l /
このように入力し、実行。
total 20
lrwxrwxrwx 1 root root 7 Aug 15 14:29 bin -> usr/bin
dr-xr-xr-x 5 root root 4096 Aug 15 14:34 boot
(以下略)
オプションを付けたことにより、デフォルトのlsコマンドから振舞いが変わって、詳細情報を一覧表示している。
cdコマンド
→カレントディレクトリを変更するコマンド
/home/imagata(ホームディレクトリ)からルートディレクトリに移動してみよう
$ cd /
実行後,pwdでカレントディレクトリを確認
$ pwd
/
変更することができました。
便利な機能として引数へハイフンを指定する方法があります。
これを実行することで一つ前のカレントディレクトリに戻すことができます。
そのため上記の例を実行した上で実行すると...
$ cd -
実行後
home/imagata
と戻ることができました。
コマンドラインの基本操作
カーソルの移動
シンプルに矢印キーを使ってもよいが、Ctrlキーを使う方法もある
操作 | 移動先 |
---|---|
Ctrl + f | 1文字右 |
Ctrl + b | 1文字左 |
Ctrl + e | 右端 |
Ctrl + a | 左端 |
なぜCtrlキーを使った方法を覚えるべきか、という点については、矢印キーはキーボードの離れた位置に存在するため、効率を考えるとCtrlキーを使った方法に慣れたほうが速いということだ。練習しましょう。(自分に言い聞かせてる)
文字を削除する方法
操作 | 削除対象 |
---|---|
Ctrl + h | カーソル位置の左の文字 |
Ctrl + d | カーソル位置の文字 |
Ctrl + w | カーソル位置から単語の先頭まで |
Ctrl + u | カーソル位置から左端まで |
Ctrl + k | カーソル位置から右端まで |
Ctrl + y | 削除した文字列を貼り付け |
普段のPC操作におけるbackspaceとdeleteキーの代わりとなるCtrlキーでの操作もおそらく手のポジションの都合上覚えておいたほうが良いものと考える。
そのほか、単語ごとの削除などまとめて削除できる機能も時間をカットするためには慣れておいたほうがよいと思った。
入力補完
Tabキーを利用すると途中まで入力してくれたコマンドやパスを補ってくれる
例としてhistoryコマンド(コマンド履歴を確認するコマンド,後述する)に対して行ってみる。
$ his
スペルを途中まで入力した状態でTabキーを押すと
$ history
このように補完できる。パスの補完も同様。
コマンド履歴を確認
historyコマンドを実行することでコマンドの履歴(過去に実行したコマンド)を確認できる。
実行後(例)
1 pwd
2 ls
3 ls /
4 cd/
5 cd -
6 history
引数に数値を指定することで直近の数値の個数だけコマンドを表示する
$ history 3
この場合は
4 cd -
5 history
6 history 3
このように確認できる。
これらの履歴から再利用する場合は「!」マークに履歴に表示された対象のコマンドの番号を付けて入力する
$ !4
こちらはcd -を実行することとなる
おつかれさまでした
Linuxについての学習は始まったばかりですが、最初のうちから一つ一つの動作に対して時間を削減したり効率を意識することで作業もそうですが、学習スピードを向上させることができると思っています。
記憶に定着させることも重要ですが、体で覚えることを重視したいと考えます。
特に今回学習したコマンドは頻回に使うことでしょうし、頭で思い浮かべるよりも先に手が動くといったところまで練習したいと思います。