20210227のLinuxに関する記事は6件です。

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標準教科書

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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.html

balenaEtcherを使用してブートUSBを作成

ダウンロードはここから

起動するとこんな感じ。わかりやすいUIですね。
image.png

作成が完了するとこのような画面になるはずです。

image.png

最後に

あとはお手持ちのPCに差し込んでBIOSから起動順を変更すれば、linuxが起動すると思います。
それではlinuxlifeを楽しみましょう!!

役立ったと思ったらLGTMお願いします!!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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 ~]# 
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ついさっきまでいたディレクトリに戻る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

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[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> 

無事に動作し一安心。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

勉強メモ15_Linuxコマンド一覧とその他色々メモ(辞書順、つどつど更新)

apt-cache (由来:)

apt-cacheとは

apt-cacheはDebian形式のパッケージ情報の検索・参照などを行うコマンド

オプション

apt-cache サブコマンド
k33784.jpg

使い方例

apt-get (由来:)

apt-getとは

インターネット上ないしはメディア上のパッケージ情報のデータベースを使い、依存関係を調整しながら、パッケージのインストール・アンインストールなどを行えるコマンド

・apt-get
パッケージのインストール・アンインストールなどを行うコマンド
(RPM系Linuxでは、yumがほぼ同等のコマンドにあたる)

・apt-cache
パッケージ情報の検索・参照などを行うコマンド

・apt
apt-getとapt-cacheの機能を統合したコマンド

オプション

k33777.jpg

apt-get cleanの事
→apt-get installなどでパッケージをインストールする際、
 パッケージファイルはまず「/var/cache/apt/archives/」ディレクトリにダウンロードされ、
 そこからインストールされます。
 放置しておくとディスク容量が逼迫する要因となりますので、
 apt-get cleanで適宜パッケージファイルを削除します。

使い方例

bzip2 (由来:)

bzip2とは

bzip2形式でファイルを圧縮する

オプション

k33963.jpg

使い方例

#1 「configure」ファイルをbzip2形式で「configure.bz2」というファイルに圧縮したい。また、圧縮前の元ファイルも残したい。
$ bzip2 -c configure > configure.bz2

cat (由来:)

catとは

オプション

k33853.jpg

使い方例

chown (由来:)

chownとは

オプション

使い方例

#1 「file」の所有グループのみをtestからgpに変更したい。
$ chown :gp file
$ chown .gp file

cp (由来:)

cpとは

オプション

k33927.jpg

使い方例

#1 testというディレクトリを、一つ上の階層にlpicというディレクトリとしてコピーする
$ cp -r test ../lpic

cpio (由来:)

cpioとは

cpio形式のアーカイブを扱う

オプション

k33926.jpg

使い方例

#1 カレントディレクトリ以下にある全てのファイルを1つにまとめて、ユーザのホームディレクトリに「backup.cpio」というアーカイブを作成
$ find . | cpio -o > ~/backup.cpio
#2 「backup.cpio」というcpio形式のアーカイブからファイルを展開する
$ cpio -i < backup.cpio

cut (由来:)

cutとは

テキストファイルの各行から指定したフィールドを取り出すコマンドです。

オプション

k33869.jpg

使い方例

dd (由来:dataset definition)

ddとは

ファイルからデバイスにコピーを行う

オプション

k33972.jpg

使い方例

#1 「boot.img」というイメージファイルをUSB(ここでは/dev/sdcとする)にコピー
$ dd if=boot.img of=/dev/sdc

dmesg (由来:)

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.txt

dpkg (由来:)

dpkgとは

Debian形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンド

オプション

k33766.jpg

使い方例

du (由来:)

duとは

オプション

k34075.jpg

使い方例

#1 カレントディレクトリとそのサブディレクトリが占めている容量をメガバイト単位で表示
$ du -m

e2fsck (由来:)

e2fsckとは

ext2/ext3/ext4ファイルシステムのチェック、および問題を修復することができます。

オプション

k33761.jpg

使い方例

#1 「/dev/sda4」をチェックする際、問い合わせに対して全て自動的に「yes」と回答する
$ e2fsck -y /dev/sda4

fdisk (由来:)

fdiskとは

MBR方式のハードディスクにおけるパーティションの作成、削除、変更および情報表示を行う

オプション

k34343.jpg

使い方例

#1 /dev/sda のパーティションを設定
$ fdisk /dev/sdb 

find (由来:)

findとは

オプション

k33936.jpg

使い方例

#1 100kより小さい容量のファイルを検索
$ find ./ -size -100k
#2 カレントディレクトリ以下にある14日以上アクセスの無いファイルを削除
find . -atime +13 -type f -exec rm {} \;

grep (由来:)

grepとは

オプション

k34025.jpg
grepコマンドの書式は以下のとおりです。
grep [オプション] 検索パターン [ファイル名]
以下は主な正規表現とその使用例をまとめたものです。
k34024.jpg

使い方例

#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 PIN

journalctl (由来:)

journalctlとは

・systemdが管理するジャーナル(システムログ)を参照するためのコマンド
・systemdの動作するシステムではsystemd-journaldデーモンを動作させ、ログの一元管理を行います。
・systemd-journaldはsystemdから起動したプロセスの標準出力やsyslogへのログメッセージをバイナリ形式で記録します。
・systemd-journaldが書き込むログファイルはバイナリ形式のため、catコマンドなどで中を表示することが出来ません。systemd-journaldのログを表示するには journalctlコマンドを使用します。
・journalctlコマンドは以下みたいな感じ
 journalctl [オプション] [検索文字列]

オプション

使い方例

#1 

kill (由来:)

killとは

オプション

k34001.jpg

使い方例

ls (由来:)

lsとは

オプション

k33932.jpg

使い方例

man (由来:)

manとは

オプション

オプション
k33849.jpg
セクション番号
kkk33849.jpg

使い方例

#1 sambaというキーワードを一部に含むmanページを検索する
$ man -k samba
$ apropos samba
※↑↑両方同じ意味になる
#2 

mkdir (由来:makeDirectory)

mkdir とは

オプション

使い方例

#1 ホームディレクトリに\workディレクトリを作成する
$ mkdir ~/\\work

mount (由来:)

mountとは

オプション

mount [オプション] [マウントするデバイス名] [マウントポイント]
k34088.jpg

使い方例

#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 /export

mv (由来:)

mvとは

ファイルやディレクトリを移動する

オプション

k33952.jpg

使い方例

od (由来:)

odとは

ファイルの内容を8進数や16進数で表示する

オプション

k33863.jpg
-t オプションで出力形式を指定することができます。
kkk33863.jpg

使い方例

#1 「/bin/ls」ファイル(lsコマンドのバイナリファイル)の内容を16進数で表示
$ od -t x /bin/ls

parted (由来:)

partedとは

MBR形式、GPT形式のパーティションテーブルをサポートするパーティション操作コマンド

オプション

主なサブコマンド
kkkkkkkkk34271.jpg

使い方例

passwd (由来:)

passwdとは

オプション

使い方例

#1 rinchomeユーザーのパスワードを変更する ※実行したらパスワードを2回入力する
$ passwd rinchome

paste (由来:)

pasteとは

複数のファイルを行単位で結合するコマンド

オプション

使い方例

#1 使い方↓↓
$ cat file1
Monday
Tuesday
Wednesdat

$ cat file2
月曜日
火曜日
水曜日

# 「:」で結合
paste -d : file1 file2
Monday:月曜日
Tuesday:火曜日
Wednesdat:水曜日

ps (由来:)

psとは

オプション

オプション
kk33995.jpg

使い方例

reniece (由来:)

renieceとは

オプション

オプション
kk34014.jpg

使い方例

#1 「test1」プログラムを最も高い優先度(-20)で実行する
$ nice -n -20 test1
$ nice --20 test1

rpm (由来:)

rpmとは

rpmはRPM形式のパッケージのインストール・アンインストールなど、基本的なパッケージ管理を行うコマンドです。また、パッケージの参照および検査も行えます。

オプション

オプション
k33792.jpg
*「-h(--hash)」オプションは「-e(--erase)」オプションとは併用できない

k33797.jpg

使い方例

#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 postfix

sed (由来:)

sedとは

オプション

オプション
sed [オプション] 編集コマンド [ファイル名]
sed [オプション] -e 編集コマンド1 [-e 編集コマンド2 ...] [ファイル名]
sed [オプション] -f スクリプト [ファイル名]
k34032.jpg

使い方例

#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.txt

set (由来:)

setとは

シェルには様々なオプション機能があります。シェルのオプション機能はsetコマンドで有効・無効を設定します。

オプション

set [-o][+o] オプション
k34897.jpg

使い方例

#1 シェルでのキーバインドをemacs風にしたい
$ set -o emacs
#2 シェルのオプションの設定状態を確認
$ set -o

shutdown (由来:)

shutdownとは

オプション

k33734.jpg
「時間」は以下のように指定します。
・HH:MM HH時MM分に実行
・+M M分後に実行  
・now 今すぐに実行

使い方例

sort (由来:)

sortとは

行単位でファイルの内容をソートする

オプション

k33873.jpg

使い方例

#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」などの文字列が順番に付きます。

例)「file」ファイルを500行ごとに分割する場合
k33877.jpg

オプション

使い方例

sudo (由来:)

sudoとは

スーパーユーザ(や他のユーザ)の権限でコマンドを実行するときに使うコマンド

オプション

①-u【ユーザ】→【ユーザ】としてコマンドを実行する
②-i →rootユーザーのデフォルトのシェルをログインシェルとして実行する。コマンドを指定しなかった場合は対話シェルとなる ※これをつけると、「.bash_profile」なども読み込まれるので、環境変数が設定される

使い方例

#1 rinchomeユーザーに切り替える
sudo -iu rinchome

systemctl (由来:)

systemctlとは

オプション

kkkkk34236.jpg

使い方例

umount (由来:)

umountとは

オプション

kk34088.jpg

使い方例

umountコマンドを発行したが、使用中である「busy」を示すエラーが表示された場合の原因について

・アンマウントしようとしているファイルシステムに、ユーザーがアクセスしている
・アンマウントしようとしているファイルシステムを、プロセスが使用している
image.png

tar (由来:)

tarとは

オプション

k33965.jpg

使い方例

#1 「hoge.tar」というアーカイブを展開
$ tar xf hoge.tar
#2 「test」ディレクトリをxz形式で圧縮した「test.tar.xz」というアーカイブ
$ tar cfJ test.tar.xz test

touch (由来:)

touchとは

オプション

使い方例

#1 空白を含めたディレクトリー作成
$ touch "new file"
#2 複数ファイルを作成する(aaaとbbbっていうファイルを作成)
$ touch {aaa,bbb}

tr (由来:)

trとは

オプション

オプション
kk33884.jpg
文字クラス
kkk33884.jpg

使い方例

#1 Windowsのメモ帳で作成したテキストファイル「file1.txt」をLinuxで正しく扱うために、改行コードを変換して「file2.txt」として保存
$ tr -d '^M' < file1.txt > file2.txt
#2 #1と同じことができるコマンド(sed)
$ sed s/^M//g file1.txt > file2.txt

tune2fs(由来:)

tune2fsとは

ext2/ext3/ext4ファイルシステムのパラメータを設定するコマンド

オプション

k34080.jpg

使い方例

#1 現在、「/dev/sda2」のファイルシステムチェック間隔はデフォルト値の180日となっている。これを、1週間に一度ファイルチェックを行えるようにしたい。
$ tune2fs -i 7 /dev/sda2
#2 「/dev/hda5」のラベル名を「/WORK」に設定する
$ tune2fs -L /WORK /dev/hda5

useradd (由来:)

useraddとは

オプション

使い方例

#1 rinchomeユーザーを追加する
# useradd rinchome

vi(由来:)

viとは

オプション

コマンドモード
k33893.jpg
k33911.jpg
k33886.jpg
viエディタの終了とファイルの保存に関する主なviコマンドをまとめたもの
k33906.jpg

使い方例

whereis(由来:)

whereisとは

指定したコマンド、またそのマニュアル、ソースコードが格納されている場所を検索し、絶対パスで表示します。

オプション

使い方例

#1 lsの場所を調べる
$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

which(由来:)

whichとは

環境変数PATHで設定しているディレクトリから、指定したコマンドが格納されている場所のみを検索し、絶対パスで表示するコマンドです。whereisと違い、マニュアルやソースコードの場所は表示しません

オプション

使い方例

#1 lsの場所を調べる
$ which ls
alias ls='ls --color=auto'
        /usr/bin/ls

xargs(由来:)

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.txt 


xz(由来:)

xzとは

bzips2 < xz がいいらしい(情報が古いかも)
bzip2よりも圧縮率が高い圧縮形式として、
LZMA2圧縮アルゴリズムを採用したxzフォーマットがあります。
xzはbzip2よりも多くのCPU/メモリを要求しますが、その分圧縮率が高く、
また展開速度はbzip2より短いためファイル配布時の圧縮形式として
採用されることが増えています。Linuxカーネルソースの配布形式としても採用されています。

オプション

使い方例

yum(由来:)

yumとは

オプション

使い方例

#1 既にインストールしたソフトウェアの一覧を表示します。
$ yum list installed 

zcat(由来:)

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.gz

zypper(由来:)

zypperとは

ZypperはopenSUSE(SUSE Linuxから改名)が採用しているコマンドラインのパッケージ管理ツールです。
aptコマンドやyumコマンドのように、zypperコマンドでリポジトリやパッケージの操作を行えます。

オプション

k35405.jpg

使い方例

#1 zypperコマンドを使用して、リポジトリの一覧を表示
$ zypper repos
$ zypper lr 

その他(リダイレクト関連)

リダイレクト関連とは

オプション

kkkkk33976.jpg

使い方例

その他(ランレベル関連)

ランレベル関連とは

オプション

k33726.jpg
kkk34236.jpg
デフォルトのランレベルに0または6を設定してはいけません。設定すると、起動してもすぐに停止または、再起動を繰り返してしまいます。

使い方例

その他(GRUB関連)

GRUB関連とは

オプション

GRUB起動オプション
kk33690.jpg

使い方例

その他(USBデバイスクラス関連)

USBデバイスクラス関連とは

主なUSBデバイスクラス
k33711.jpg

オプション

使い方例

その他(FHSで規定されている「/usr」)

FHSで規定されている「/usr」とは

FHSで規定されている「/usr」以下のディレクトリ配置をまとめたもの
k34123.jpg

オプション

使い方例

その他(正規表現)

正規表現とは

オプション

k34024.jpg

使い方例

その他(Linuxでメッセージダイジェストを計算・チェックする主なコマンド)

Linuxでメッセージダイジェストを計算・チェックする主なコマンドとは

オプション

k35706.jpg

使い方例

その他(主なディレクトリー)

主なディレクトリーとは

オプション

k33739.jpg

使い方例

その他(systemd)

systemdとは

SysVinitを置き換える新しいinitの仕組みです。systemdでは以下のデーモンプロセスが連携して動作しています。
k34236.jpg
systemdで扱う処理はUnitという単位で管理します。

Unitは設定ファイルであり、Unitの設定に従ってsystemd自体が処理を実行します。SysVinitのようにスクリプトを実行するわけではありません。
Unitには各機能ごとに拡張子が割り当てられており、拡張子を見ることでどういった機能のためのUnitかが判別できるようになっています。

サービスの並列起動によって高速なシステム起動や停止が行えます。
cgroupsでプロセスのリソースを管理します。
kk34236.jpg

オプション

使い方例

その他(設定されている変数を一覧で確認する)

設定されている変数を一覧で確認するとは

設定されている変数を一覧で確認するには以下のコマンドを使用
k33829.jpg

オプション

使い方例

その他(プロセスのデフォルト)

プロセスのデフォルトとは

プロセスは、通常nice値0で起動します。
k34014.jpg
プロセスのnice値はniceまたはreniceコマンドで指定することができます。

オプション

使い方例

パーミッション (由来:)

パーミッションとは

ファイルやディレクトリに対する権限です。権限には「読み取り権」「書き込み権」「実行権」の3種類があります。
れらの権限は、「所有ユーザ」(ファイルの所有ユーザ)、「所有グループ」(ファイルの所有グループ)、「その他のユーザ」(所有ユーザ、所有グループ以外のユーザ)のそれぞれに対して設定されます。

オプション

パーミッションの表現方法には「記号表現」と「数値表現」の2つがあります。
kk34129.jpg
なおそれぞれの権限は、ファイルに適用した場合とディレクトリに適用した場合では、それぞれ許可される内容が異なりますので、注意して下さい。
kkkkk34129.jpg

使い方例

その他(「/proc」ディレクトリ)

/proc」ディレクトリについて

「/proc」ディレクトリはプロセス、ハードウェアおよびシステムリソースなどの情報を扱うための仮想的なファイルシステムです。そのため、ハードディスク上にファイルは存在せず、システムが起動する際にメモリ上に作成されます。
以下は「/proc」ディレクトリ配下にある主なファイルです。
k33695.jpg
「/proc」ディレクトリ配下に格納されているファイルの多くはASCIIテキスト形式なので、catコマンドなどで内容が確認できます。
また、以下のようなコマンドを使用して、これらのファイルの内容を効率的に確認することもできます。

・lspci
PCIデバイスに関する情報を表示します。

・lsmod
ロードされているカーネルモジュールに関する情報を表示します。

・lsusb
USBデバイスに関する情報を表示します。

オプション

使い方例

その他 (Linuxで主に使用されるファイルシステム)

Linuxで主に使用されるファイルシステムについて

k34064.jpg
inodeの数が制限されるファイルシステムは、動的inodeの機能がないファイルシステムです。

オプション

使い方例

その他 (あらかじめ用意されている代表的な環境変数)

あらかじめ用意されている代表的な環境変数について

k34146.jpg

オプション

使い方例

その他 (パーティションの設計)

パーティションの設計について

/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以上:負荷に依存するが、少なくとも4GB

512MBのメモリを搭載したシステムの適切な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」ファイルに反映させます。

 image.png

【カーネル】
 
 ①カーネルは起動されると、高度にハードウェアを認識・制御し、ルートファイルシステムのマウントなど様々な初期化処理を行います。

 ②ブートローダはカーネルと初期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_herestring
ipaddr="192.0.2.4"
cut -d. -f1-3 <<< ${ipaddr}
output
192.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

オプション

使い方例

その他 (クラウドのサービスモデル)

クラウドのサービスモデルについて

image.png

【SaaS(Software as a Service)】
  
 ①ユーザはインフラも開発環境も意識することなく、単純にソフトウエアを利用する
  例:ソフトウェア

【PaaS(Platform as a Service)】

 ①ソフトウエアの開発、実行環境をサービスとして提供するもの

【IaaS(Infrastructure as a Service)】
 ①サーバ、ストレージ、ネットワーク等、仮想化されたインフラ環境をサービスとして提供する
  例:仮想マシン、仮想ネットワーク、ブロックストレージ(ハードディスク)

オプション

使い方例

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む