前提
今回大学でlinuxの実習をしたのでそれの学んだものの整理をします。 正直まだlinuxは何をするのか最初はわからなかったのですがlinux触れると開発のバイトで時給が上がるらしいのでしっかりと勉強しようと思います。時給が上がるってことは需要がありますもんね現在AIコンテストに作品を提出したのですがその際にpaizaの無料学習権をいただいたため、それでlinuxの勉強を大学の授業以外にやってもっと学びを深めたいと思います
まずlinuxとは何なのか?
ざっくりに言うとオープンソースのOSと習いました。 オープンソースとは簡単に言えばソースコードの中身を公開しているという事です。 オープンソースのメリットとしてはソースコードを公開しているため、いろんな人が開発にかかわりやすく発展性がとても高いという事です。 個人でバグを見つけたらそれを改良したり、新機能が欲しい人はそれを改良したりという事が出来るのです。正直な話僕はまだlinuxの解像度があまり高くないので、よくわかりませんし大学の授業でやったのはCUIを使ったファイル操作やコンパイルなどなのでその部分を今回はまとめてみます。
linuxのCUIの操作
cp
ファイルやディレクトリをコピーするコマンドです。
引数にコピー元とコピー先の名前が必要になります。
オプション
-r ディレクトリをまとめてコピーする
mv
ファイルやディレクトリを移動するコマンドです。
また、名前を変更する時にも使います。引数に移動元と移動先の名前が必要になります。
オプション
-i 上書きする前に確認をする
rm
ファイルやディレクトリを削除するコマンドです。
引数に削除する名前が必要になります。
オプション
-r ディレクトリをまとめて削除する
touch
空のファイルを作成するコマンドです。
引数に作成するファイル名が必要になります。
オプション
-c ファイルが存在しない場合は新規作成しない
touch
空のファイルを作成するコマンドです。
もちろん引数に作成するファイル名が必要になります。
オプション
-c ファイルが存在しない場合は新規作成しない
tar
複数のファイルやディレクトリをまとめるコマンドです。
引数にまとめるファイル名やディレクトリ名が必要になります。
オプション
-c 新しくアーカイブを作成する
-x アーカイブを展開する
-f ファイル名を指定する
dd
ファイルをコピーしたり変換したりするコマンドです。
引数に入力ファイルや出力ファイルを指定します。
オプション
if= 入力ファイルを指定する
of= 出力ファイルを指定する
ssh
別のコンピュータにリモート接続するコマンドです。
引数に接続先のユーザー名やIPアドレスを指定します。これはlinuxからwindowsに送ったりもできます
オプション
-p 接続するポート番号を指定する
chmod
ファイルやディレクトリの権限を変更するコマンドです。
引数に変更する権限とファイル名が必要になります。
また権限変更はxrwを2進数に直し3桁の数字で変更する必要があります。
オプション
-R ディレクトリ内をまとめて変更する
grep
ファイルの中から特定の文字列を検索するコマンドです。
引数に検索したい文字列とファイル名が必要になります。
オプション
-i 大文字と小文字を区別せず検索する
pwd
現在いるディレクトリの場所を表示するコマンドです。
引数は必要ありません。
オプション
-P シンボリックリンクではなく実際のパスを表示する
cat
ファイルの内容を表示するコマンドです。
引数に表示するファイル名が必要になります。
オプション
-n 行番号を表示する
大学ではこれらのコマンドを使って課題を解くといった感じでした!
CUI操作は少し前からやっていたのでそこそこ慣れていて楽しかったです
またlinux内でgccによってC言語のfileをコンパイルすることが出来るなどまだまだlinuxについての全体像をつかんでいる最中ですがあと2回ほどlinuxの授業ため、他にも学んで実務に生かせるよう精進します。linuxでgitの操作もできるそうなので楽しみです。