「Linux標準教科書」読書会レポート vol.2

株式会社リゾーム 技術部 システム開発 第2グループの土井です。 「Linux標準教科書」読書会の第2回レポートです。第1回目のレポートはこちらです。 tech.rhizome-e.com

読書会の題材

前回に引き続きLinux標準教科書を題材としています。

2回目レポート

今回は2章「Linuxのインストール」と3章「基本的なコマンド」で、参加者は7名でした。

それぞれの感想・意見交換

Linux のインストール
  • WSL2でUbuntu(20.04 LTS)の環境を構築した
    • Ubuntu.exe起動時に「システムコールに渡されるデータ領域が小さすぎます」とエラーメッセージが表示された
    • FILESTREAMが有効なMSSQLサービスが実行されているときにこのエラーメッセージが表示されて起動できない模様
    • 無効にしPCを再起動すると無事起動することが出来た
  • Hyper-V+CentOSで環境作成した
    • 仮想スイッチが難しかったがDefault Switchで事足りそうだったので、Default Switchを使用した
  • VirtualBox+CentOSで環境構築した
    • VirtualBoxCentOSのバージョンが合致するものとしないものがあるらしい
  • VirtualBoxCentOSGUI環境を作った
    • Audioを無効にしないとエラーで強制終了する
ファイル操作
  • 大学の頃に使用していたコマンドが登場して懐かしい気持ちになった
  • sshで入った際に使うことが多い
  • クライアントで使うことは少ない
    • GUI操作で済むから
  • 権限に関するコマンドは使うことが多い印象
  • ファイル絞り込みで文字数が分かっている場合は?を使って絞り込める事を知ったが、 *で十分な気がする
    • cpやmvとかにもワイルドカードが使えるので、txt拡張子全てを操作したいときとかは便利
lsコマンド
  • lsオプションで -lや-aはよく使う
    • よくll(ls -l)とかla(ls -a)とか使う
    • ls -laSr でファイルサイズでソートしたりもする
    • -tで最終更新時間でソートできる事を知った
cpコマンド
  • マウス操作でファイル複製するからあまりcpは使ったことがなかった
  • cpとmvは-iオプションで上書きミスを防げるので使うときは-iを付けることを基本としたらいいかもしれない
  • cp のオプションを使う機会はあまりなかったので学び
rmコマンド
  • ディレクトリ削除(rm -rf)は万が一があるので注意して扱う必要がある
ディレクトリの操作
pwdコマンド
  • pwdコマンドは知っていたが正式名称Print Working Directoryは初めて聞いた
  • pwdの略は昔教えてもらったことがあったことを読んでて思い出した
  • 字面的にパスワードに見える、このコマンドはいつも心の中でパスワードって呼んでる
  • pwdは使ったことなかった
    • RailsだとRails.rootがあるから使ってないな...
  • pwdは特にCUIに慣れない頃によく使っていた覚えがある
    • cdしまくると自分がどこにいるのかわからなくなった…
  • いきなり自分の知らない地点に行くことってないのであんまり使うことないけど、DockerとかだとImageから作ったコンテナに入ったときに今どこにいるか知りたくて実行することはある
cdコマンド
  • cdなどはWindowsでも常連のコマンドのため、業務でも使うことが多い
  • cdは、よく使ってるコマンド
  • 一番使ってるコマンドかなー
mkdirコマンド
  • mkdirはあまり使ったことがない
  • mkdirの-pオプションは初めて知った
  • mkdirとtouchをまとめてできるコマンド欲しいなってよく思う
rmdirコマンド
  • rmdirは実は知らなかったコマンド
  • 中身があるない関係なく消したいことの方が多いのでいつも rm -r で消してる
  • ディレクトリの作成ミスで使うぐらい
パス指定
  • ディレクトリ(..)やルートはcdで使うことがよくある
  • 絶対パスは現在位置に左右されずに使える
  • あるパッケージ内のみでファイルの参照関係が完結する場合、例えばアプリケーション開発の場面とかでは基本的に相対パスを使う
  • 必ずrootパスから追いたい時は絶対パスを使う、パッケージじゃなくてサーバ自体に依存する時とか
ファイルの内容を表示
cat,more,lessコマンド
  • catはドットファイルを確認するときに使うことが多い、moreやlessは知らなかった
  • catとlessはよく使うがmoreは使ったことが無い
  • moreとlessとmanは初めて知った、今後使えそう
  • ログファイルの閲覧でless +Fをとてもよく使う
    • less +Fはファイルが更新されると、リアルタイムで表示も更新される
  • lessで事足りるので、moreはあまり使わないかなあ
  • catはファイルの中身を丸ごと別のファイルに挿入したい時とかでよく使うかな...
    • ファイルの中身を参照したいだけだったらlessとかtailの方をよく使う
  • ページングとページャの名前は初めて聞いたことと、機能としては意識していなかった
  • moreはファイル末尾まで行くと終了するらしい
  • catで標準出力→grepで絞り込み→lessで表示みたいな感じで、パイプで繋いで使ったりもする
  • ファイル開いた後のコマンドモードで使うコマンド類は覚えておくと作業がだいぶ捗る
  • catコマンドは複数ファイルを指定して結合してくれる
ファイルの検索
findコマンド
  • findもあまり使ったことがない
  • findは使い方をあまりおぼえていないので、あまり使っていない...
  • shellの世界で頑張る必要がある時に結構使う
    • 普段だとFinderとかGUIでファイル探す方がわかりやすいしあんまり使わない気がする
  • findコマンドは卒業研究で前年度までのプログラムを探す際に助けられた
  • 指定ディレクトリ以下のファイルを対象とする場合に使う
コマンドのパス
whichコマンド
  • whichはほぼ使ってない
  • whichは使うことはほぼなさそうだけれど覚えておこうと思った
  • whichもトラブルシューティングでよく使う
    • どこのコマンドを参照しているのかとか
      • yumでインストールしたコマンド、ソースからビルドしたコマンドが同居していて、意図していないコマンドを利用していたり
  • ツール類をいろんなところからインストールしてる程よく使うかな...
    • 例えばRubyとかも公式からインストールしたやつじゃなくてrbenvでインストールしたやつになってるか確認する時とか
  • ライブラリのバージョンが変わらない時に使ったりもする
ヘルプの使い方、マニュアルの使い方
  • man, helpはこのコマンドのオプション何だったか調べるときに良く使っている
helpオプション
  • helpオプションを使うのはオプションの確認する時ぐらい?
manコマンド
  • manもほぼ使ってない
  • コマンド名知ってれば使うことってあまりないよな...コマンド名がうろ覚えの時とかに使うのかな?Linuxコマンド以外のマニュアルを見たい時に使うんだろうなーって感じはする
  • manコマンドがセクションで分かれていることは知らなかった
  • ゲームのコマンド(セクション6)もあるみたい

まとめ

基本的なコマンドでも担当業務が異なると使うもの、使わないものがあることが分かりました。実際にどのような場面で使ったり、どういった使い方をすることで便利に扱えるかといった部分で意見の交換を行えてとても参考になりました。

今後の業務などで、ここは読書会で触れたところだなと思いだし活かしていければと思います。

次回は第4章「正規表現とパイプ」です。