- 投稿日:2021-02-27T20:44:16+09:00
Linux の基本操作①
ファイルディレクトリの参照(ls)
書式(そのコマンドが用いられる形式を示す)
$ls (オプション) (ファイル)
オプション(コマンドにつける事により、その動作を変えられる)
-a... .で始まる隠しファイル等も全て(all)出力
-l... 長(long)形式で出力。
-t... 最終更新時間(time)によって、ソートして出力
※ドットで始まるファイルは隠しファイルであり、システム設定が書かれているファイル等で使われる。
コピー(cp)
書式
$ cp (オプション) コピー元 コピー先実例
$cp src-file dst-file→src-fileをdst-fileにコピーするオプション
-i... 処理を行う時、確認を行う。誤っての上書きを防ぐ。
-r... ディレクトリをコピーする。cpコマンドは基本的にファイルをコピーする機能だが、-rをつける事により、ディレクトリない全てのファイル、ディレクトリに対してコピーする。
-p... 元のファイルを保存→新しい内容を作成せず、古い情報を保持したままコピーを作成したい場合に使用
ファイルの移動(mv)
ファイルを移動する時に使用するコマンド
書式
$ mv 移動元ファイル 移動先ファイル実例
$ mv src-file dst-fil →src-fileをdst-fileの下に移動する。オプション
-i... コピーのオプションと同じ
-f... 強制的に処理を実行
ファイルの削除(rm)
書式
$ rm ファイル名実例
$ rm file-delete →file-dleteというファイルを削除しますという意味オプション
-i... コピー(cp)、移動(ムーブ)と同じ
-f... 強制的に処理を実行
-r... ディレクトリを対象とする。ディレクトリのファイルやディレクトリも削除する。
※Linuxを含むunix系OSでは、一度削除したファイルは復活させることはできないので注意。
rmコマンドではオプションなしではディレクトリを削除できない。
参考文献
Linux標準教科書
- 投稿日:2021-02-27T18:10:46+09:00
macをしかない状況でもlinaxmintのブートUSBを作成する
はじめに
NPOで使用していた供用windowsPCが重すぎてどうしようもないのでlinuxにしたらなんとかなるかなと思ったのが発端です。
macでブート用のUSBメモリを作る知見があまりなかったので書き留めておきますね。Linux Mintをダウンロード
ダウンロードが早いのでおすすめは理研のページから
リンクはこちら公式のページはこちら
今回は松竹梅で言えば竹級のMateを選択
USBメモリをフォーマット
二つ方法があります
1. ディスクユーティリティを使用する
2. コマンドライン上から行う
参考:https://jp.easeus.com/mac-data-recovery/format-usb-flash-drive-to-fat32-on-mac.htmlbalenaEtcherを使用してブートUSBを作成
ダウンロードはここから
作成が完了するとこのような画面になるはずです。
最後に
あとはお手持ちのPCに差し込んでBIOSから起動順を変更すれば、linuxが起動すると思います。
それではlinuxlifeを楽しみましょう!!役立ったと思ったらLGTMお願いします!!
- 投稿日:2021-02-27T15:50:25+09:00
z/OSからRHELへ送信されてきたテキストファイルの中身を確認する
背景
HULFTを使用してIBMのメインフレームz/OSからRHELへデータ送受信をする際に、HULFTで文字コード変換はしないという要件だった。
z/OSとRHELでは文字コードが違う(z/OS: EBCDIC、RHEL: UTF-8)ため、普通にcat
コマンドで中身を見ると文字化けしてしまう。
データが正常に受信できているかを確認するのに少し手間取ったため、対応内容のメモを残しておく。対応内容
iconvコマンドで変換
最終的にたどり着いたのは
iconv
コマンドで変換するやり方だった。
こっちの方が簡単に中身を確認できる。
入力のオプション-f
には EBCDIC-IT を指定し、出力のオプション-t
には UTF-8 を指定する。[root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA* -rw-rw---- 1 root root 80 12月 10 13:33 /tmp/HULFT.TESTDATA [root@hogehoge ~]# [root@hogehoge ~]# iconv -f EBCDIC-IT -t UTF-8 /tmp/HULFT.TESTDATA -o /tmp/HULFT.TESTDATA.txt [root@hogehoge ~]# [root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA* -rw-rw---- 1 root root 80 12月 10 13:33 /tmp/HULFT.TESTDATA -rw-r--r-- 1 root root 80 12月 10 13:35 /tmp/HULFT.TESTDATA.txt [root@hogehoge ~]# [root@hogehoge ~]# cat /tmp/HULFT.TESTDATA.txt HAISIN TEST [root@hogehoge ~]# [root@hogehoge ~]#odコマンドで変換
od
コマンドで変換し、z/OS側で出してもらった文字コードと突き合わせ or EBCDIC文字コード表と突き合わせする方法で確認できる。
1バイト単位16進数らしいので、オプション-t x1
を指定する。
確認は手間だけれど、文字コードの仕組みが見れて個人的にはちょっと楽しかった。[root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA 合計 4 -rw-rw---- 1 root root 80 12月 10 13:33 HULFT.TESTDATA [root@hogehoge ~]# [root@hogehoge ~]# od -t x1 /tmp/HULFT.TESTDATA 0000000 c8 c1 c9 e2 c9 d5 40 e3 c5 e2 e3 40 40 40 40 40 0000020 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 * 0000120 [root@hogehoge ~]#
- 投稿日:2021-02-27T11:20:31+09:00
ついさっきまでいたディレクトリに戻るLinuxコマンド
$ cd -で、ついさっきまでいたディレクトリに戻ることができます。
例えばカレントディレクトリが
/Users/user_name/Pictures/summer
の場合$ pwd /Users/user_name/Pictures/summer # いったん別のディレクトリに移動 $ cd /bin $ pwd /bin #ついさっきまでいたディレクトリに戻る $ cd - $ pwd /Users/user_name/Pictures/summerこんな便利なコマンドがあるなんて知らなかったです?
参考
https://linuxjourney.com/lesson/change-directory-cd-command
- 投稿日:2021-02-27T10:14:52+09:00
[Ruby]irbが動作しなくなったお話。[エラー]
先日、irbを起動させようと思ったら、、、
~ $ irb /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-exec: /Users/inouesyo/.rbenv/versions/2.6.6/bin/irb: /Users/inoueshou/.rbenv/versions/2.6.6/bin/ruby: bad interpreter: No such file or directory /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-exec: line 47: /Users/inouesyo/.rbenv/versions/2.6.6/bin/irb: Undefined error: 0
という表示が出て起動できず。
エラーを読むに原因は恐らく、以前にホームディレクトリの名前を変更したのでそれが原因でパスが通ってないのかな?と推測。と言うことで、user/Users/inouesyo/.rbenv/versions/2.6.6/bin/irb:のirbファイルを編集する。
irbファイルはUNIX実行ファイルとなっているため、右クリック→このアプリケーションで開く→からテキストエディタで開く。
するとirb#!/Users/inoueshou/.rbenv/versions/2.6.6/bin/ruby # # This file was generated by RubyGems. # # The application 'irb' is installed as part of a gem, and # this file is here to facilitate running it. # require 'rubygems' version = ">= 0.a" str = ARGV.first if str str = str.b[/\A_(.*)_\z/, 1] if str and Gem::Version.correct?(str) version = str ARGV.shift end end if Gem.respond_to?(:activate_bin_path) load Gem.activate_bin_path('irb', 'irb', version) else gem "irb", version load Gem.bin_path("irb", "irb", version) end一行目のホームディレクトリの部分が以前のホームディレクトリ名になっていたので変更。
~ $ irb irb(main):001:0>無事に動作し一安心。
- 投稿日:2021-02-27T01:41:44+09:00
勉強メモ15_Linuxコマンド一覧とその他色々メモ(辞書順、つどつど更新)
apt-cache (由来:)
apt-cacheとは
apt-cacheはDebian形式のパッケージ情報の検索・参照などを行うコマンド
オプション
使い方例
apt-get (由来:)
apt-getとは
インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、依存関係を調整しながら、パッケージのインストール・アンインストールなどを行えるコマンド
・apt-get
パッケージのインストール・アンインストールなどを行うコマンド
(RPM系Linuxでは、yumがほぼ同等のコマンドにあたる)・apt-cache
パッケージ情報の検索・参照などを行うコマンド・apt
apt-getとapt-cacheの機能を統合したコマンドオプション
apt-get cleanの事
→apt-get installなどでパッケージをインストールする際、
パッケージファイルはまず「/var/cache/apt/archives/」ディレクトリにダウンロードされ、
そこからインストールされます。
放置しておくとディスク容量が逼迫する要因となりますので、
apt-get cleanで適宜パッケージファイルを削除します。使い方例
bzip2 (由来:)
bzip2とは
bzip2形式でファイルを圧縮する
オプション
使い方例
#1 「configure」ファイルをbzip2形式で「configure.bz2」というファイルに圧縮したい。また、圧縮前の元ファイルも残したい。 $ bzip2 -c configure > configure.bz2cat (由来:)
catとは
オプション
使い方例
chown (由来:)
chownとは
オプション
使い方例
#1 「file」の所有グループのみをtestからgpに変更したい。 $ chown :gp file $ chown .gp filecp (由来:)
cpとは
オプション
使い方例
#1 testというディレクトリを、一つ上の階層にlpicというディレクトリとしてコピーする $ cp -r test ../lpiccpio (由来:)
cpioとは
cpio形式のアーカイブを扱う
オプション
使い方例
#1 カレントディレクトリ以下にある全てのファイルを1つにまとめて、ユーザのホームディレクトリに「backup.cpio」というアーカイブを作成 $ find . | cpio -o > ~/backup.cpio #2 「backup.cpio」というcpio形式のアーカイブからファイルを展開する $ cpio -i < backup.cpiocut (由来:)
cutとは
テキストファイルの各行から指定したフィールドを取り出すコマンドです。
オプション
使い方例
dd (由来:dataset definition)
ddとは
ファイルからデバイスにコピーを行う
オプション
使い方例
#1 「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピー $ dd if=boot.img of=/dev/sdcdmesg (由来:)
dmesgとは
カーネルが出力するメッセージが格納されるリングバッファの内容を出力
オプション
使い方例
#1 マシンを再起動せずにカーネルのリングバッファの内容をクリアする $ dmesg --clear #2 dmesgコマンドの標準出力を、ディスプレイに表示すると共に「log.txt」ファイルに保存 #teeコマンドは標準入力の内容を、まさにTの字のように、 #標準出力先(デフォルトはディスプレイ)とファイルの双方に出力するコマンドです。 #teeコマンドは通常、パイプ(|)と共に使用します。 #パイプを使用して、コマンドの標準出力をteeコマンドの標準入力に渡します。 $ dmesg | tee log.txt #3 dmesgコマンドの標準出力を、ディスプレイに表示すると共に「log.txt」ファイルに追加 # オプション-a を入れる $ dmesg | tee -a log.txtdpkg (由来:)
dpkgとは
Debian形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンド
オプション
使い方例
du (由来:)
duとは
オプション
使い方例
#1 カレントディレクトリとそのサブディレクトリが占めている容量をメガバイト単位で表示 $ du -me2fsck (由来:)
e2fsckとは
ext2/ext3/ext4ファイルシステムのチェック、および問題を修復することができます。
オプション
使い方例
#1 「/dev/sda4」をチェックする際、問い合わせに対して全て自動的に「yes」と回答する $ e2fsck -y /dev/sda4fdisk (由来:)
fdiskとは
MBR方式のハードディスクにおけるパーティションの作成、削除、変更および情報表示を行う
オプション
使い方例
#1 /dev/sda のパーティションを設定 $ fdisk /dev/sdbfind (由来:)
findとは
オプション
使い方例
#1 100kより小さい容量のファイルを検索 $ find ./ -size -100k #2 カレントディレクトリ以下にある14日以上アクセスの無いファイルを削除 find . -atime +13 -type f -exec rm {} \;grep (由来:)
grepとは
オプション
grepコマンドの書式は以下のとおりです。
grep [オプション] 検索パターン [ファイル名]
以下は主な正規表現とその使用例をまとめたものです。
使い方例
#1 以下の「test.txt」ファイルに対して、「grep -E 'bu?!' test.txt」コマンドを実行した時 $ cat test.txt b! ba! bu! buu! buuu! $ grep -E 'bu?!' test.txt b! bu! ※なお「?」は拡張正規表現ですので、 grepコマンドの「-E」オプションを使用するか、egrepコマンドを使用する必要があります。 #2 「test.txt」ファイルからPINという文字列を含む行を抽出 $ grep PIN test.txt $ cat test.txt | grep PINjournalctl (由来:)
journalctlとは
・systemdが管理するジャーナル(システムログ)を参照するためのコマンド
・systemdの動作するシステムではsystemd-journaldデーモンを動作させ、ログの一元管理を行います。
・systemd-journaldはsystemdから起動したプロセスの標準出力やsyslogへのログメッセージをバイナリ形式で記録します。
・systemd-journaldが書き込むログファイルはバイナリ形式のため、catコマンドなどで中を表示することが出来ません。systemd-journaldのログを表示するには journalctlコマンドを使用します。
・journalctlコマンドは以下みたいな感じ
journalctl [オプション] [検索文字列]オプション
使い方例
#1
kill (由来:)
killとは
オプション
使い方例
ls (由来:)
lsとは
オプション
使い方例
man (由来:)
manとは
オプション
使い方例
#1 sambaというキーワードを一部に含むmanページを検索する $ man -k samba $ apropos samba ※↑↑両方同じ意味になる #2mkdir (由来:makeDirectory)
mkdir とは
オプション
使い方例
#1 ホームディレクトリに\workディレクトリを作成する $ mkdir ~/\\workmount (由来:)
mountとは
オプション
mount [オプション] [マウントするデバイス名] [マウントポイント]
使い方例
#1 rootユーザでログイン後にすぐログファイルのあるディレクトリに移動したい。ログディレクトリ「/var/log」をrootユーザのホームディレクトリ配下の「/root/systemlogs」にマウントする $ mount --bind /var/log /root/systemlogs #2 ext3ファイルシステムの「/dev/sda1」を「/export」に読み取り専用でマウントしたい。 $ mount -t ext3 -o ro /dev/sda1 /exportmv (由来:)
mvとは
ファイルやディレクトリを移動する
オプション
使い方例
od (由来:)
odとは
ファイルの内容を8進数や16進数で表示する
オプション
使い方例
#1 「/bin/ls」ファイル(lsコマンドのバイナリファイル)の内容を16進数で表示 $ od -t x /bin/lsparted (由来:)
partedとは
MBR形式、GPT形式のパーティションテーブルをサポートするパーティション操作コマンド
オプション
使い方例
passwd (由来:)
passwdとは
オプション
使い方例
#1 rinchomeユーザーのパスワードを変更する ※実行したらパスワードを2回入力する $ passwd rinchomepaste (由来:)
pasteとは
複数のファイルを行単位で結合するコマンド
オプション
使い方例
#1 使い方↓↓ $ cat file1 Monday Tuesday Wednesdat $ cat file2 月曜日 火曜日 水曜日 # 「:」で結合 paste -d : file1 file2 Monday:月曜日 Tuesday:火曜日 Wednesdat:水曜日ps (由来:)
psとは
オプション
使い方例
reniece (由来:)
renieceとは
オプション
使い方例
#1 「test1」プログラムを最も高い優先度(-20)で実行する $ nice -n -20 test1 $ nice --20 test1rpm (由来:)
rpmとは
rpmはRPM形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンドです。また、パッケージの参照および検査も行えます。
オプション
オプション
*「-h(--hash)」オプションは「-e(--erase)」オプションとは併用できない使い方例
#1 同じ意味 $ rpm -qlp postfix-1.1.12-1.i386.rpm $ rpm --query --list --package postfix-1.1.12-1.i386.rpm #2 依存関係を無視して「postfix」パッケージを強制的にアンインストールしたい(以下、2つは同じ意味) $ rpm -e --nodeps postfix $ rpm --erase --nodeps postfixsed (由来:)
sedとは
オプション
オプション
sed [オプション] 編集コマンド [ファイル名]
sed [オプション] -e 編集コマンド1 [-e 編集コマンド2 ...] [ファイル名]
sed [オプション] -f スクリプト [ファイル名]
使い方例
#1 「test.txt」ファイル内の全ての「pingt」という文字列を「hoge」に置換し、行頭が「#」の行を削除して表示 $ sed -e s/pingt/hoge/g -e /^#/d test.txt #2 「test.txt」ファイルの「#」から始まる行を削除して出力する $ sed '/^#/d' test.txt #3 「test.txt」ファイル内の全ての「a」を「A」に、また「b」を「B」に置換 #以下、2通り $ sed y/ab/AB/ test.txt $ sed -e s/a/A/g -e s/b/B/g test.txt #4 sedコマンドで「file1.txt」中の全ての制御コード「^M」を空白文字に置換(つまり削除)して「file2.txt」に出力 $ sed s/^M//g file1.txt > file2.txtset (由来:)
setとは
シェルには様々なオプション機能があります。シェルのオプション機能はsetコマンドで有効・無効を設定します。
オプション
使い方例
#1 シェルでのキーバインドをemacs風にしたい $ set -o emacs #2 シェルのオプションの設定状態を確認 $ set -oshutdown (由来:)
shutdownとは
オプション
「時間」は以下のように指定します。
・HH:MM HH時MM分に実行
・+M M分後に実行
・now 今すぐに実行使い方例
sort (由来:)
sortとは
行単位でファイルの内容をソートする
オプション
使い方例
#1 sortコマンドでファイルの2番目のフィールドを基準に、数値として昇順にソート $ sort -k 2 -n -t , file # cat ddd aaa,200,AAA bbb,100,BBB ccc,1000,CCC ddd,300,DDD #sort -k 2 -n -t , ddd bbb,100,BBB aaa,200,AAA ddd,300,DDD ccc,1000,CCC # nは、数字を文字でなく数値としてソート # -tは指定した文字を区切り文字としてフィールドを認識 # -bは行頭の空白を無視split (由来:)
splitとは
splitコマンドは指定した行数でファイルを分割するコマンドです。splitで分割する塊をチャンクと呼びます。
splitコマンドの書式と主なオプションは以下のとおりです。split [-行数] [入力ファイル名 [出力ファイル名]]
split [-l 行数] [入力ファイル名 [出力ファイル名]]「-行数」または-lオプションでファイルを何行ごとに分割するかを指定できます。なお、デフォルトは1000行です。
また、出力(分割)されたファイルのファイル名は、出力ファイル名を指定しない場合は先頭が「x」、出力ファイル名を指定した場合は先頭が「出力ファイル名」で、末尾に「aa」、「ab」、「ac」などの文字列が順番に付きます。オプション
使い方例
sudo (由来:)
sudoとは
スーパーユーザ(や他のユーザ)の権限でコマンドを実行するときに使うコマンド
オプション
①-u【ユーザ】→【ユーザ】としてコマンドを実行する
②-i →rootユーザーのデフォルトのシェルをログインシェルとして実行する。コマンドを指定しなかった場合は対話シェルとなる ※これをつけると、「.bash_profile」なども読み込まれるので、環境変数が設定される使い方例
#1 rinchomeユーザーに切り替える sudo -iu rinchomesystemctl (由来:)
systemctlとは
オプション
使い方例
umount (由来:)
umountとは
オプション
使い方例
umountコマンドを発行したが、使用中である「busy」を示すエラーが表示された場合の原因について
・アンマウントしようとしているファイルシステムに、ユーザーがアクセスしている
・アンマウントしようとしているファイルシステムを、プロセスが使用している
tar (由来:)
tarとは
オプション
使い方例
#1 「hoge.tar」というアーカイブを展開 $ tar xf hoge.tar #2 「test」ディレクトリをxz形式で圧縮した「test.tar.xz」というアーカイブ $ tar cfJ test.tar.xz testtouch (由来:)
touchとは
オプション
使い方例
#1 空白を含めたディレクトリー作成 $ touch "new file" #2 複数ファイルを作成する(aaaとbbbっていうファイルを作成) $ touch {aaa,bbb}tr (由来:)
trとは
オプション
使い方例
#1 Windowsのメモ帳で作成したテキストファイル「file1.txt」をLinuxで正しく扱うために、改行コードを変換して「file2.txt」として保存 $ tr -d '^M' < file1.txt > file2.txt #2 #1と同じことができるコマンド(sed) $ sed s/^M//g file1.txt > file2.txttune2fs(由来:)
tune2fsとは
ext2/ext3/ext4ファイルシステムのパラメータを設定するコマンド
オプション
使い方例
#1 現在、「/dev/sda2」のファイルシステムチェック間隔はデフォルト値の180日となっている。これを、1週間に一度ファイルチェックを行えるようにしたい。 $ tune2fs -i 7 /dev/sda2 #2 「/dev/hda5」のラベル名を「/WORK」に設定する $ tune2fs -L /WORK /dev/hda5useradd (由来:)
useraddとは
オプション
使い方例
#1 rinchomeユーザーを追加する # useradd rinchomevi(由来:)
viとは
オプション
コマンドモード
viエディタの終了とファイルの保存に関する主なviコマンドをまとめたもの
使い方例
whereis(由来:)
whereisとは
指定したコマンド、またそのマニュアル、ソースコードが格納されている場所を検索し、絶対パスで表示します。
オプション
使い方例
#1 lsの場所を調べる $ whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gzwhich(由来:)
whichとは
環境変数PATHで設定しているディレクトリから、指定したコマンドが格納されている場所のみを検索し、絶対パスで表示するコマンドです。whereisと違い、マニュアルやソースコードの場所は表示しません
オプション
使い方例
#1 lsの場所を調べる $ which ls alias ls='ls --color=auto' /usr/bin/lsxargs(由来:)
xargsとは
オプション
使い方例
#1 「file.txt」ファイルに記載されているファイル名を元に、複数の新規ファイルを一度に作成する $ cat file.txt | xargs touch # イメージは下記の感じ ----実行例---- $ ls file.txt $ cat file.txt file1.txt file2.txt file3.txt $ cat file.txt | xargs touch $ ls file.txt file1.txt file2.txt file3.txtxz(由来:)
xzとは
bzips2 < xz がいいらしい(情報が古いかも)
bzip2よりも圧縮率が高い圧縮形式として、
LZMA2圧縮アルゴリズムを採用したxzフォーマットがあります。
xzはbzip2よりも多くのCPU/メモリを要求しますが、その分圧縮率が高く、
また展開速度はbzip2より短いためファイル配布時の圧縮形式として
採用されることが増えています。Linuxカーネルソースの配布形式としても採用されています。オプション
使い方例
yum(由来:)
yumとは
オプション
使い方例
#1 既にインストールしたソフトウェアの一覧を表示します。 $ yum list installedzcat(由来:)
zcatとは
オプション
使い方例
#1 zip形式で圧縮された「configure.gz」ファイルを展開して標準出力へ送信する $ zcat configure.gz #実行例のイメージ $ cat configure aaaa bbbb cccc $ gzip configure $ ls configure.gz $ file configure.gz configure.gz: gzip compressed data, was "configure", from Unix, last modified: Sun Dec 6 13:00:50 2020 $ zcat configure.gz →★標準出力 aaaa bbbb cccc $ ls →★展開はされていない configure.gzzypper(由来:)
zypperとは
ZypperはopenSUSE(SUSE Linuxから改名)が採用しているコマンドラインのパッケージ管理ツールです。
aptコマンドやyumコマンドのように、zypperコマンドでリポジトリやパッケージの操作を行えます。オプション
使い方例
#1 zypperコマンドを使用して、リポジトリの一覧を表示 $ zypper repos $ zypper lrその他(リダイレクト関連)
リダイレクト関連とは
オプション
使い方例
その他(ランレベル関連)
ランレベル関連とは
オプション
デフォルトのランレベルに0または6を設定してはいけません。設定すると、起動してもすぐに停止または、再起動を繰り返してしまいます。使い方例
その他(GRUB関連)
GRUB関連とは
オプション
使い方例
その他(USBデバイスクラス関連)
USBデバイスクラス関連とは
オプション
使い方例
その他(FHSで規定されている「/usr」)
FHSで規定されている「/usr」とは
FHSで規定されている「/usr」以下のディレクトリ配置をまとめたもの
オプション
使い方例
その他(正規表現)
正規表現とは
オプション
使い方例
その他(Linuxでメッセージダイジェストを計算・チェックする主なコマンド)
Linuxでメッセージダイジェストを計算・チェックする主なコマンドとは
オプション
使い方例
その他(主なディレクトリー)
主なディレクトリーとは
オプション
使い方例
その他(systemd)
systemdとは
SysVinitを置き換える新しいinitの仕組みです。systemdでは以下のデーモンプロセスが連携して動作しています。
systemdで扱う処理はUnitという単位で管理します。Unitは設定ファイルであり、Unitの設定に従ってsystemd自体が処理を実行します。SysVinitのようにスクリプトを実行するわけではありません。
Unitには各機能ごとに拡張子が割り当てられており、拡張子を見ることでどういった機能のためのUnitかが判別できるようになっています。サービスの並列起動によって高速なシステム起動や停止が行えます。
cgroupsでプロセスのリソースを管理します。
オプション
使い方例
その他(設定されている変数を一覧で確認する)
設定されている変数を一覧で確認するとは
オプション
使い方例
その他(プロセスのデフォルト)
プロセスのデフォルトとは
プロセスは、通常nice値0で起動します。
プロセスのnice値はniceまたはreniceコマンドで指定することができます。オプション
使い方例
パーミッション (由来:)
パーミッションとは
ファイルやディレクトリに対する権限です。権限には「読み取り権」「書き込み権」「実行権」の3種類があります。
れらの権限は、「所有ユーザ」(ファイルの所有ユーザ)、「所有グループ」(ファイルの所有グループ)、「その他のユーザ」(所有ユーザ、所有グループ以外のユーザ)のそれぞれに対して設定されます。オプション
パーミッションの表現方法には「記号表現」と「数値表現」の2つがあります。
なおそれぞれの権限は、ファイルに適用した場合とディレクトリに適用した場合では、それぞれ許可される内容が異なりますので、注意して下さい。
使い方例
その他(「/proc」ディレクトリ)
/proc」ディレクトリについて
「/proc」ディレクトリはプロセス、ハードウェアおよびシステムリソースなどの情報を扱うための仮想的なファイルシステムです。そのため、ハードディスク上にファイルは存在せず、システムが起動する際にメモリ上に作成されます。
以下は「/proc」ディレクトリ配下にある主なファイルです。
「/proc」ディレクトリ配下に格納されているファイルの多くはASCIIテキスト形式なので、catコマンドなどで内容が確認できます。
また、以下のようなコマンドを使用して、これらのファイルの内容を効率的に確認することもできます。・lspci
PCIデバイスに関する情報を表示します。・lsmod
ロードされているカーネルモジュールに関する情報を表示します。・lsusb
USBデバイスに関する情報を表示します。オプション
使い方例
その他 (Linuxで主に使用されるファイルシステム)
Linuxで主に使用されるファイルシステムについて
inodeの数が制限されるファイルシステムは、動的inodeの機能がないファイルシステムです。オプション
使い方例
その他 (あらかじめ用意されている代表的な環境変数)
あらかじめ用意されている代表的な環境変数について
オプション
使い方例
その他 (パーティションの設計)
パーティションの設計について
/varは高速に書き込みできるディスクに割り当てる
オプション
使い方例
その他 (SWAP領域のサイズ)
SWAP領域のサイズについて
スワップ領域とは、物理メモリ(実メモリ、RAM)に収まらなかった情報を
一時的に格納する為の、通常ハードディスク上に作成する領域です。Red Hat Enterprise Linux 8でのスワップ領域の推奨値は以下です。
RAMが2GB未満の場合:RAMの2倍
RAMが2GB~8GBの場合:RAMと同量
RAMが8GB~64GBの場合:4GBからRAMの0.5倍
RAMが64GB以上:負荷に依存するが、少なくとも4GB512MBのメモリを搭載したシステムの適切なswap領域のサイズは、1GB位
オプション
使い方例
その他 (一般的なLinuxシステムでは、BIOS→ブートローダ→カーネル→initの順にブートプロセスが進行)
一般的なLinuxシステムでは、BIOS→ブートローダ→カーネル→initの順にブートプロセスが進行について
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
それぞれの役割と、各段階の詳細は以下のとおりです。
この知識は、OS起動に失敗する場合の問題特定の際にも重要なので、
自分で順を追って説明できるようにしておきましょう。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★【BIOS(Basic I/O System)】
①最もハードウェアに近い部分を司るシステムで、物理的なハードウェア(マザーボード)上に書き込まれています。
②コンピュータの電源を入れると、まずBIOSが起動し、記憶装置(HDD)等に関して最低限の認識をして起動デバイスの優先順位を決定します。
③その後、優先順位に従って各デバイスの先頭セクタにあるMBR(ブート用の特殊領域。ブートローダが格納されている)を読み込み、得られたブートローダに制御を移します。ブートローダが得られない場合は次のデバイスのMBRを読み込みます。
④起動デバイスの優先順位は、BIOSセットアップ画面で任意の順序に設定変更できます。BIOSセットアップ画面はコンピュータの起動時に特定のキー(DEL、F2など)を押すことで呼び出せます。
⑤最近のシステムではUEFI(Unified Extensible Firmware Interface)への移行が進んでいます。
【ブートローダ】
①LinuxシステムではGRUBが該当します。
②MBRに格納されている第一段階部分と、記憶装置内の別の場所に格納されている第二段階部分があります。
③このように分かれている理由は、MBRには厳しいサイズ制限があるためです。
④ブートローダは記憶装置内のカーネルをロードし、カーネルに制御を移す役割を果たします。
⑤第一段階のブートローダはMBRの先頭446バイトの領域にインストールされます。
⑥ブートローダであるGRUB2の設定ファイルは「/boot/grub/grub.cfg」です。
しかし、「/boot/grub/grub.cfg」ファイルを直接編集することはありません。
設定内容は「/etc/default/grub」ファイルおよび
「/etc/grub.d」ディレクトリ内のファイルに
記述し、「grub-mkconfig」コマンドで設定内容を
「/boot/grub/grub.cfg」ファイルに反映させます。【カーネル】
①カーネルは起動されると、高度にハードウェアを認識・制御し、ルートファイルシステムのマウントなど様々な初期化処理を行います。②ブートローダはカーネルと初期RAMディスク(initramfs)の内容をメモリ上に展開し、カーネルはメモリ上に展開された初期RAMディスク内の、ファイルシステムへアクセスするために必要なドライバやスクリプトを使用してルートファイルシステムをマウントします。
③その後、init(/sbin/init)という特別な最初のプロセスをルートファイルシステムから起動します。
④カーネルイメージと、カーネルのバージョンに対応する初期RAMディスクは「/boot」ディレクトリに格納されます。初期RAMディスクは展開してイメージ内のディレクトリ、ファイルを参照することができます。
【init】
①最初に起動されるプロセスで、PID(プロセス ID)は必ず1です。「SysVinit」と呼ばれる従来のinitプログラムを採用しているシステムでは、「/sbin/init」が起動されます。
②initプロセスは設定ファイル「/etc/inittab」の記述に基づいて、自動起動するべきプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。
③以降、initプロセスは全てのプロセスの先祖(直接・間接的な呼び出し元)として存在し続けます。
④なお、最近のシステムではinitプログラムとして、初期化処理を高速化したUpstartやsystemdを採用している場合があります。その場合は基本的に「/etc/inittab」ファイルは使用されません。
オプション
使い方例
その他 (ヒアストリングとヒアドキュメント)
ヒアストリングとヒアドキュメントについて
【ヒアストリング】
変数を擬似的にファイルのように取り扱える ※ bash依存
echo 変数 | command の代替になれる。sample_herestringipaddr="192.0.2.4" cut -d. -f1-3 <<< ${ipaddr}output192.0.2【ヒアドキュメント】
複数行をコマンドに渡したり、出力したりできる。## コマンドに渡す $ sendmail -t << EOT > From: foo@example.com > To: bar@example.com > Subject: test > > test > EOT $## 複数行の出力 hoge="foo" fuga="bar" cat << EOF 1st ${foo} 2nd ${bar} EOFオプション
使い方例
その他 (クラウドのサービスモデル)
クラウドのサービスモデルについて
【SaaS(Software as a Service)】
①ユーザはインフラも開発環境も意識することなく、単純にソフトウエアを利用する
例:ソフトウェア【PaaS(Platform as a Service)】
①ソフトウエアの開発、実行環境をサービスとして提供するもの
【IaaS(Infrastructure as a Service)】
①サーバ、ストレージ、ネットワーク等、仮想化されたインフラ環境をサービスとして提供する
例:仮想マシン、仮想ネットワーク、ブロックストレージ(ハードディスク)オプション
使い方例