不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

『Linux教科書 LinuCレベル1 Version 10.0対応』:第4章 リポジトリとパッケージ管理(その1)

2021-04-23 23:24:36 | LinuC
今日は、『第4章 リポジトリとパッケージ管理』のうち、
「4.1 Debianパッケージ管理」と「4.2 APTによるパッケージ管理」を勉強した。

aptは、普段使うから特に問題ないけど、
dpkgはあまり使ったことないな。

今までは、このブログにメモをとっていたけど、
ちょっといろいろめんどいから、
勉強した内容は、markdown形式のファイルmemo.mdとして保存した。

markdownの記法はちょくちょく忘れちゃうから、
以下のサイトからチートシートをダウンロードした。



『Linux教科書 LinuCレベル1 Version 10.0対応』:第3章 GNUとUnixのコマンド(その3)

2021-04-17 22:32:27 | LinuC

第3章 GNUとUnixのコマンド


さて、小豆本を使ったLinuCの勉強をやっていこうか。
正規表現って結構苦手😫 
全然覚えらんないんだよな〜😣 

 

3.4 正規表現を使ったテキスト検索

  • 正規表現(Regular Expression)
    • 任意の1文字:「.」
    • 文字クラス:「[」と「]」で囲む。ただし、[^abc]は、abc以外の1文字。
    • 行頭:「^」
    • 行末:「$」
    • 空行:「^$」
    • 繰り返し:「*」。0回以上の繰り返し。
      • 拡張正規表現では、「{n}」:nは回数
    • 特殊文字:正規表現に使われている上記のようなメタキャラクタを文字として使いたい場合は、「\」を使う。
  • grepコマンド:ファイルやテキストストリームの中に、正規表現によって表される検索文字列があるかどうかを調べる。
    • egrep:拡張正規表現を使う場合。
      • +:直前の文字の1回以上の繰り返し
      • ?:直前の文字の0回以上の繰り返し
      • |:左右いずれかの記述にマッチする
      • {n}:直前の文字のn回の繰り返し
      • {n,m}:直前の文字のn回からm回の繰り返し
    • fgrep:文字列で検索する。
  • sedコマンド:sed(stream editor)は、テキストストリームに対して編集をおこなう。
    • d:マッチした行を削除
    • s:パターンに基づいて文字列を置換。gスイッチを使うと、マッチ箇所全て置換。
    • y:文字を置換。

3.5 ファイルの基本的な編集

  • Linuxでは、Unixで標準的に使われているviエディタを拡張した以下のエディタがよく使われている。
    • Vim(Vi IMproved), Emacs, nano
    • Ubuntuのデフォルトエディタはnano
	$ export EDITOR=/user/bin/vim
  • vimエディタ
    • コマンドモード
      • 入力モードへの切り替え:Escキーで戻る。
        • i:カーソルの前にテキストを入力する
        • a:カーソルの後にテキストを入力する
        • I:行頭の最初の文字にカーソルを移動し、その直前にテキストを入力する
        • A:行末にカーソルを移動し、その直後にテキストを入力する
        • o:カレント行の下に空白行を挿入し、その行でテキストを入力する
        • O:カレント行の上に空白行を挿入し、その行でテキストを入力する
      • カーソル操作
        • h:1文字左へ移動する
        • j:1行下へ移動する
        • k:1行上へ移動する
        • l:1文字右へ移動する
        • O:行の先頭へ移動する
        • $:業の末尾へ移動する
        • H:画面の一番上の行頭へ移動する
        • L:画面の一番下の行頭へ移動する
        • gg:ファイルの先頭業へ移動する
        • G:ファイルの最終行へ移動する
        • nG:ファイルのn行目に移動する
        • :n:ファイルのn行目に移動する
      • viの終了、ファイル保存、シェルコマンドの実行
        • :q:ファイルへ保存せずに終了(保存するかどうか確認)
        • :q!:編集中の内容を保存せずに終了
        • :wq:編集中の内容を保存して終了
        • ZZ:編集中の内容を保存して終了
        • :w:編集中の内容でファイルを上書き保存
        • :e!:最後に保存した内容に復帰
        • :r ファイル名:ファイルの内容をカレント行以降に読み込む
        • :!コマンド:viを終了せずにシェルコマンドをジッコする
        • :r!コマンド:シェルコマンドの実行結果を挿入する
      • 編集コマンド
        • x:カーソル位置の文字を削除
        • X:カーソル位置の手前の文字を削除
        • dd:カレント行を削除
        • dw:カーソル位置から次の単語までを削除
        • yy:カレント行をバッファにコピー
        • p:カレント行の下にバッファの内容を貼り付け
        • P:カレント行の上にバッファの内容を貼り付け
        • r:カーソル位置の1文字を置換
      • 検索コマンド
        • /パターン:カーソル位置から後方に向かってパターンを検索
        • ?パターン:カーソル位置から前方に向かってパターンを検索
        • n:次を下方向に検索
        • N:次を上方向に検索
        • :noh:候補のハイライト表示を解除
        • :%s/A/B/:最初に見つかった文字列AをBに置換
        • :%s/A/B/g:すべての文字列AをBに置換
      • 設定変更
        • :set nu:行番号を表示
        • :set nonu:行番号を非表示
        • :set ts=タブ幅:タブ幅を数値で指定
      • vimtutorコマンド:チュートリアル形式で学習できる。

ふぅ〜!
とりあえずこれで3章は全部終わった。
最初やってたコマンドもほとんど忘れちゃったな😅 

『Linux教科書 LinuCレベル1 Version 10.0対応』:第3章 GNUとUnixのコマンド(その2)

2021-04-13 21:52:49 | LinuC

第3章 GNUとUnixのコマンド


面倒いからちょっとずつやっていこう。
今日は、3.3節から。

3.3 テキスト処理フィルタ

  • テキストフィルタコマンド
    • cat,nl,od,head,tail,cut,paste,join,expand,unexpand,fmt,pr,tr,sort,split,uniq,wc

今日はここまで。
てか小豆本って、教科書みたいな感じでつまんないな〜😒 
あんまりコマンドの例もないし、どんなときに使うのかがあんまり分からん。
そしてもう今日は眠い。😴 

『Linux教科書 LinuCレベル1 Version 10.0対応』:第3章 GNUとUnixのコマンド(その1)

2021-04-11 21:41:59 | LinuC

第3章 GNUとUnixのコマンド


読み始めて分かったけど、
3章ってかなりボリューミーなのね!😅 
ぼちぼちやっていこう。

メモ

3.1 コマンドラインの操作

  • 代表的なシェル
    • Bourneシェル:sh→UNIXの標準的なシェル
    • Bourne Again Shell:bash→多くのLinuxの標準シェル
    • Cシェル:csh→C言語に似たスクリプトが利用できるシェル
    • tcsh→cshの拡張版
    • Kornシェル:ksh→shの拡張
    • Zシェル:zsh→kshにbashやtcshの機能を取り入れ
  • env:環境変数の確認

3.2 パイプとリダイレクト

  • パイプ「|」:コマンドの標準出力を次のコマンドの標準入力に渡す。
  • less
    • more
  • tree
  • xargs
    • -execオプションも参照
※ いまいちxargsの使いどころがわからん

今日は、3.2節まで😴 

『Linux教科書 LinuCレベル1 Version 10.0対応』:第2章 ファイル・ディレクトリの操作と管理

2021-04-11 14:25:40 | LinuC

第2章 ファイル・ディレクトリの操作と管理


メモ

  • ファイル操作コマンド
    • ls
    • cp
    • mv
    • mkdir
    • rm
    • rmdir
    • touch
    • file
    • type
  • ファイルの検索
    • find
    • locate:予め作されたデータベースを使うため、findより高速。
      • updatedb:データベースの更新
    • which:コマンドの絶対パスを表示
    • whereid:指定されたコマンドのバイナリファイル、ソースコード、マニュアルの場所。
  • ファイルの圧縮・解凍
    • 圧縮:gzip、bzip2、xz
    • 解凍:gunzip、bunzip2
  • アーカイブの作成・展開
    • 圧縮:tar cvf
    • 解凍:tar xvzf
  • ddコマンド
    • 入力側に指定したファイルからの入力を、ファイルもしくは標準出力に送る。
    • 例:ディスクの内容を、パーティション情報やファイルシステムごとコピーすることができる。
  • アクセス権・所有権
    • chmod
      • SUID, SGID
      • スティッキービット
    • umask
    • chown
    • chgrp
  • ハードリンク、シンボリックリンク
    • ハードリンク:ln
    • シンボリックリンク:ln -s
  • FHS(Filesystem Hierarchy Standard):ファイルシステム階層標準
    • /bin:基本的なコマンド。一般ユーザーでも実行可能。
    • /sbin:システム管理に必須のコマンド。rootユーザーのみ実行可能。
    • /etc:システムやアプリケーションの設定情報、スクリプトファイルなど
    • /dev:ハードディスクやDVD-ROMなどのデバイスファイル。
    • /lib:共有ライブラリやカーネルモジュール。
    • /media:DVD-ROMなどリムーバブルメディアのマウントポイント。
    • /mnt:一時的にマウントするファイルシステムのマウントポイント。
    • /opt:パッケージ管理の仕組みを使ってプログラムがインストールされる。
    • /proc:カーネル内部の情報にアクセスするための仮想的なファイルシステム。
    • /root:rootユーザーのホームディレクトリ。
    • /boot:起動に必要な設定やカーネルイメージ。
    • /home:ユーザーごとのホームディレクトリ。
    • /tmp:一時ファイル
    • /var:ログファイル、メールやプリンターのスプール。
      • /var/cache:manコマンドで表示するために整形したデータなど、一時的なキャッシュファイル。
      • /var/lock:アプリケーションが排他制御を使うためのロックファイル。
      • /var/log:ログファイルが書き出される。
        • messages:システムのログファイル
        • maillog:メールシステムのログファイル
      • /var/run:システムの状態を示すファイル。
      • /var/spool:印刷待ちのデータ(lpd)や予約されたジョブ(at)などの処理待ちのデータ。
    • /usr:コマンドやユーティリティ。
      • /usr/bin:ユーザーが一般的に使うコマンド。緊急時に必須ではない。
      • /usr/sbin:システム管理コマンド。緊急時に必須ではない。
      • /usr/lib:プログラムに必要な共有ライブラリ。
      • /usr/local:ローカルシステムで必要とされるコマンドやライブラリ、ドキュメント。
      • /usr/share:x86やx86-64といったシステムアーキテクチャに依存しないファイルが配置される。
      • /usr/src:Linuxのカーネルソースなどのソースコード。