##概要
皆様、初めまして。
Webエンジニアを目指すにあたり、雑食系エンジニアのYouTuberとしても活動されているKENTAという方が発信してくださっている動画を拝見しました。
また、たくさんの方がQiitaやnoteにエンジニアを目指すためのロードマップとして、「Linuxの基礎を勉強するべき」とおっしゃっていました。
私自身、ネットワーク周りやファイル管理などの知識に疎く、プログラミング学習だけでは成長できないと考え、Linuxの基礎から勉強していくことにしました。
そこで、私が勉強したことをここにアウトプットして、自分だけでなく勉強を始めたばかりの方々の知識のインデックスにしたいと思います。
記事初投稿になるので、至らぬ点はご容赦ください。
##実行環境
- macOS BigSur 11.4
- CentOS7 (macOS上でLinux環境を構築する方法はこちらを参考にしました)
##基本のコマンド
私個人的に便利でよく使うな〜と思うコマンドをいくつかピックアップしました。
####1. ls (ファイル参照)
書式
$ ls [option]
よく使うオプション
- -a : 隠しファイルやディレクトリまで全て表示
- -l : データサイズや権限などを詳細表示
- -R : カレントディレクトリ以下の全階層のファイル、ディレクトリを表示
####2. cd (ディレクトリ移動)、 pwd (カレントディレクトリ確認)
書式
$ cd [target_directory]
相対参照(ex. cd ../dir
)や絶対参照(ex. cd /etc/
)は覚えておくと非常に便利。
現在の作業ディレクトリを確認するコマンドpwd
と合わせて覚えておくとなおよし。
####3. mkdir (ディレクトリの作成)
新規ディレクトリを作成するコマンド
書式
$ mkdir [new_dirname]
####4. rm (削除コマンド)
書式
$ diff [option] [file1] [file2]
よく使うオプション
- -r : ディレクトリまで含めて削除
- -f : 強制削除
基本このオプションつけて作業してた。
本当は -i オプションをつけて確認したほうが安全。
####5. touch (ファイル作成、タイムスタンプ変更等)
書式
$ touch [filename]
指定したファイル名のファイルが存在しない場合、指定した名前で新しくファイルを作ってくれるので、適当なテストファイルとかを作成する際に便利。
####6. cat >, >> (catコマンドを用いたリダイレクト)
書式
$ cat > [filename]
$ cat >> [filename]
コマンドの挙動確認のために標準入力の内容をそのままファイルに格納し、テストファイルを作成する。
Ctrl + D
で標準入力を終了する。
>
で新規作成、>>
で追記。
各種コマンド実行後に、その標準出力結果を新規ファイルに保存するときなどにも使える。
####7. tail (ファイルの終わりを標準出力)
書式
$ tail [option] [filename]
- -f オプションについて
ファイルの終わり部分を標準出力するコマンドだが、-f オプションをつけることによって、ファイルを動的に読み込むことができる。
Ctrl + C
を押すまでシェルに制御が戻らない。
Webサーバーのアクセスログやエラーログを見る場合に使えそう(その辺りはまだ勉強中)。
####8. sort (ソート)
書式
$ sort [option] [filename]
ファイル内容を列の内容に応じてソートするコマンド。
オプションの付け方で様々なソートが可能(アルファベット降順、数値昇順など)
よく使うオプション
- -k : ソートする列数をnで指定する
- -n : n列目の数字を文字列ではなく数値としてソートする(100, 70, 20みたいな時に文字列だとうまくソートできない)
####9. diff (差分比較)
書式
$ diff [option] [file1] [file2]
二つのファイルの差分を比較するコマンド
よく使う(と思われる)オプション
- -u : わかる人にはわかる見覚えのある差分表示になる。普通にこのオプションつけたほうが見やすいと思う。
##参考文献
この記事は以下の情報を参考にして執筆しました。