-
設定されている環境変数を表示printenv
env -
シェル変数と環境変数を表示(関数も含む)set
declare -
環境変数HOMEの値を表示するprintenv HOME
echo $HOME -
シェルのオプションを有効にするset -o オプション名
-
シェルのオプションを無効にするset +o オプション名
-
【シェルのオプション】
作成・変更した変数を自動的にエクスポートする
Emacs風のキーバインドにする
vi風のキーバインドにする
Ctrl+Dによるログアウトを拒否する
出力リダイレクトによる上書きを禁止する
メタキャラクタを使ったファイル名展開を無効にする【シェルのオプション】
allexport
emacs
vi
ignoreeof
noclobber
noglob -
シェルでメタキャラクタを使ったファイル展開を無効にする設定をするset -o noglob
-
シェルで設定されているオプションを確認するset -o
-
エイリアスを解除するunalias エイリアス名
-
一時的にエイリアスを使用せずにコマンドを実行する\コマンド
-
echo "test"を行う関数funcを定義するfunction func() { echo "test"; }
function func() {
echo "test"
}
※functionはなくても可 -
定義されているすべての関数の内容を表示するdeclare -f
-
定義されている関数funcの内容を表示するdeclare -f func
-
ログイン時に実行され、全ユーザーから参照されるbashの設定ファイル/etc/profile
-
bash起動時に実行され、全ユーザーから参照されるbashの設定ファイル/etc/bash.bashrc
-
~/.bashrcから参照されるbashの設定ファイル/etc/bashrc
-
ログイン時に実行されるユーザー固有のbashの設定ファイル~/.bash_profile
-
~/.bash_profileがない場合に実行される、ユーザー固有のbashの設定ファイル~/.bash_login
-
~/.bash_profileも~/.bash_loginもない場合に実行される、ユーザー固有のbashの設定ファイル~/.profile
-
bash起動時に実行されるユーザー固有のbashの設定ファイル~/.bashrc
-
ログアウト時に実行されるbashの設定ファイル~/.bash_logout
-
シェルスクリプトのファイル名を表す変数$0
-
シェルスクリプトの1番目の引数を表す変数$1
-
シェルスクリプトの引数の数を表す変数$#
-
シェルスクリプトのすべての引数のリストを表す変数(スペース区切り)$@
-
シェルスクリプトで、変数に格納された引数を一つずつずらす(FIFO)shift
-
コマンド1の正常終了時にのみコマンド2を実行するコマンド1 && コマンド2
-
コマンド1が正常終了でない場合のみコマンド2を実行するコマンド1 || コマンド2
-
【testコマンドの条件式】
(ディレクトリを除く)ファイルが存在すれば真
ディレクトリが存在すれば真
ファイルが存在し、読み込み可能であれば真
ファイルが存在し、書き込み可能であれば真
ファイルが存在し、実行可能であれば真
サイズが0より大きいファイルがあれば真
シンボリックリンクであるファイルがあれば真
(ディレクトリ含む)ファイルが存在すれば真【testコマンドの条件式】
-f ファイル
-d ディレクトリ
-r ファイル
-w ファイル
-x ファイル
-s ファイル
-L ファイル
-e ファイル -
【testコマンドの条件式】
file1がfile2より修正時刻が新しければ真
file1がfile2 より修正時刻が古ければ真
条件式が偽であれば真
両方の条件式が真であれば真
いずれかの条件式が真であれば真【testコマンドの条件式】
file1 -nt file2
file1 -ot file2
!条件
条件1 -a 条件2
条件1 -o 条件2 -
【testコマンドの条件式】
数値1=数値2ならば真
数値1≠数値2ならば真
数値1≥数値2ならば真
数値1>数値2ならば真
数値1≤数値2ならば真
数値1<数値2ならば真【testコマンドの条件式】
数値1 -eq 数値2
数値1 -ne 数値2
数値1 -ge 数値2
数値1 -gt 数値2
数値1 -le 数値2
数値1 -lt 数値2 -
【testコマンドの条件式】
文字列の長さが0より大きければ真
文字列の長さが0であれば真
二つの文字列が等しければ真
二つの文字列が等しくなければ真【testコマンドの条件式】
-n 文字列
-z 文字列
文字列1 = 文字列2
文字列1 != 文字列2
※変数は必ず""などで囲って展開する -
if else文if 条件式
then
実行文1
else
実行文2
fi -
case文case 式 in
値1)
実行文1 ;;
値2)
実行文2 ;;
...
esac -
for文for 変数名 in リスト
do
実行文
done -
10から15までの連続した数値のリストを生成するseq 10 15
-
while文while 条件
do
実行文
done -
iを1増加させるlet i=i+1
i=`expr $i + 1` -
信頼性の高い通信を実現するためのコネクション型のプロトコルTCP
-
TCPやUDP、ICMPなどのデータ転送(ルーティング)を司る、コネクションレス型のプロトコルIP
-
データの転送速度に重点を置いたコネクションレス型のプロトコル(トランスポート層)UDP
-
エラーメッセージや制御メッセージを伝送する、コネクションレス型のプロトコル
ping、tracerouteなどICMP ( Internet Control Message Protocol) -
ホスト部のビットをすべて1にしたアドレスブロードキャストアドレス
-
IPアドレスとサブネットマスクの論理積ネットワークアドレス
-
クラスAのプライベートアドレスの範囲10.0.0.0〜10.255.255.255
-
クラスBのプライベートアドレスの範囲172.16.0.0〜172.31.255.255
-
クラスCのプライベートアドレスの範囲192.168.0.0〜192.168.255.255
-
一つのネットワークインターフェースを識別するIPv6アドレスユニキャストアドレス
-
複数のホストの集合に割り当てられるIPv6アドレスエニーキャストアドレス
-
IPv4のブロードキャストアドレスに相当する IPv6のアドレスマルチキャストアドレス
-
IPv4でネットワーク部に相当するIPv6の部分プレフィックス
-
IPv4でホスト部に相当するIPv6の部分インターフェースID
-
TCP or UDP, port:FTP データ転送TCP, 20
-
TCP or UDP, port:FTP コントロールTCP, 21
-
TCP or UDP, port:SSHTCP, 22
-
TCP or UDP, port:TELNETTCP, 23
-
TCP or UDP, port:SMTPTCP, 25
-
TCP or UDP, port:DNSTCP/UDP, 53
-
TCP or UDP, port:DHCP serverUDP, 67
-
TCP or UDP, port:DHCP clientUDP, 68
-
TCP or UDP, port:HTTPTCP, 80
-
TCP or UDP, port:POP3TCP, 110
-
TCP or UDP, port:NTPUDP, 123
-
TCP or UDP, port:IMAPTCP, 143
-
CentOSやRHELで採用されている、ネットワーク管理システムNetworkManager
-
NetworkManagerの状態を表示するnmcli general status
nmcli g status -
NetworkManagerでホスト名を表示するnmcli general hostname
nmcli g hostname -
NetworkManagerで指定したホスト名に変更するnmcli general hostname ホスト名
nmcli g hostname ホスト名 -
NetworkManagerのネットワークを有効にするnmcli networking on
nmcli n on -
NetworkManagerのネットワークの状態を表示するnmcli networking connectivity
nmcli n connectivity -
NetworkManagerでWi-Fiの状態を表示するnmcli radio wifi
nmcli r wifi -
NetworkManagerでWi-Fiの接続を有効にするnmcli radio wifi on
nmcli r wifi on -
NetworkManagerでモバイルブロードバンド接続を有効にするnmcli radio wwan on
nmcli r wwan on -
NetworkManagerですべての無線接続を有効にするnmcli radio all on
nmcli r all on -
NetworkManagerで接続インターフェース情報の一覧を表示するnmcli connection show
nmcli c show -
NetworkManagerで現在アクティブな接続インターフェース情報の一覧を表示するnmcli connection show --active
nmcli c show --active -
NetworkManagerで指定したenp0s3の接続を設定sるnmcli connection modify enp0s3 パラメータ
nmcli c modify enp0s3 パラメータ -
NetworkManagerで接続を有効にするnmcli connection up UUID
nmcli c up UUID -
NetworkManagerで接続を無効にするnmcli connection down UUID
nmcli c down UUID -
NetworkManagerでデバイスの状態を表示するnmcli device status
nmcli d status -
NetworkManagerで指定したデバイスの情報を表示するnmcli device show インターフェース名
nmcli d show インターフェース名 -
NetworkManagerで指定したデバイスを接続するnmcli device connect インターフェース名
nmcli d connect インターフェース名 -
NetworkManagerで指定したデバイスを切断するnmcli device disconnect インターフェース名
nmcli d disconnect インターフェース名 -
NetworkManagerでWi-Fiアクセスポイントを表示nmcli device wifi list
nmcli d wifi list -
NetworkManagerでWi-Fiアクセスポイントに接続nmcli wifi connect SSID
-
ネットワークインターフェースのデータリンク層の情報を表示するip link show
ip link -
【ipコマンドの出力のいみ】
mtu
qdisc
state
qlen
link/loopback
brd
dev
inet
default via IPアドレス【ipコマンドの出力のいみ】
1回の転送パケットサイズ上限(max transmission unit)
送信パケットの送信順や廃棄に関する設定(Queueing Discipline)
ネットワークインターフェースの状態
キューの長さ
MACアドレス
ブロードキャストアドレス
デバイス名
IPv4アドレス
デフォルトゲートウェイ -
ネットワークインターフェースeth0に、IPアドレス192.168.162.0、サブネットマスク255.255.255.0を設定ifconfig eth0 192.168.162.0 netmask 255.255.255.0
-
eth1を有効にするifup eth1
-
eth1を無効にするifdown eth1
-
192.168.162.30にICMPパケットを4回0.5秒ごとに送り、その反応を表示するping -c 4 -i 0.5 192.168.162.40
-
example.comまでにパケットが伝わる経路を表示するtraceroute example.com
tracepath example.com -
ホスト名を表示するhostname
-
ホスト名をtesthost.comに変更するhostname testhost.com
-
利用しているすべてのTCPポートを表示netstat -at
ss -at -
ルーティングテーブルを表示ip route show
ip route
route
netstat -r -
利用しているすべてのUDPポートを、PIDとプロセス名含めて表示netstat -aup
ss -aup -
ポート12345番で待ち受けて受け取ったデータをlisten.logファイルに出力するnc -l -p 12345 -o listen.log
-
ホストexample.comの12345ポートに対して、data.txtの内容を出力するnc example.com 12345 < data.txt
-
192.168.0.0/24のネットワーク宛のパケットを、ゲートウェイ172.30.0.254に送られるように設定route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.30.0.254
-
デフォルトゲートウェイを192.168.162.30に設定route add default gw 192.168.162.30
ip route add default via 192.168.162.30
ip r a default via 192.168.162.30 -
「192.168.0.0/24宛のパケットをすべて172.30.0.254経由にする」という設定を削除するroute del -net 192.168.0.0 netmask 255.255.255.0 gw 172.30.0.254
-
DNSの設定ファイル
(内容)
ホストが属するドメイン名を記述する行
ドメイン名省略時に補完するドメイン名
参照先DNSサーバーのIPアドレス/etc/resolv.conf
(内容)
domain
search
nameserver -
名前解決の手段の順序を指定するファイル/etc/nsswitch.fonf
-
ホスト名の一覧を取得するgetent hosts
-
www.example.comのIPアドレスを問い合わせるhost www.example.com
dig www.example.com -
IPアドレスが192.168.162.30であるホストのホスト名を問い合わせるhost 192.168.162.30
-
mail.example.comのメールサーバー情報を詳しく問い合わせるdig mail.example.com mx
-
DNSサーバーを8.8.8.8と指定して、www.example.comのIPアドレスを問い合わせるdig @8.8.8.8 www.example.com
-
ユーザーuser1を作成する。
ホームディレクトリを/home/test
デフォルトシェルを/bin/bash
プライマリグループはデフォルト
subgroup1,subgroup2グループにも所属する。useradd -d /home/test -s /bin/bash -G subgroup1,subgroup2 user1 -
ホームディレクトリを作成し、user2を作成するuseradd -m user2
-
user2のプライマリグループをgroupA に変更するusermod -g groupA user2
-
user3を一時的に無効化するusermod -L user3
-
user4を削除する。ホームディレクトリは残すuserdel user4
-
user4を削除する。ホームディレクトリも消すuserdel -r user4
-
パスワードを変更するpasswd
-
グループを作成するgroupadd
-
グループ名をbeforeからafterに変更するgroupmod -n after before
-
グループを削除するgroupdel グループ名
-
ユーザーuser1が所属するグループを調べるid user1
-
シャドウパスワードの記録先/etc/shadow
-
user1のcrontabファイルの配置先/var/spool/cron/user1
/var/spool/cron/crontabs/user1 -
crontabファイルを編集するcrontab -e
-
crontabファイルの内容を表示するcrontab -l
-
crontabファイルを削除するcrontab -r
-
crontabの書き方m h dom m dow command
-
システム用のcrontabファイルの配置先と、これが呼び出すファイル(メタキャラクタで)/etc/crontab
/etc/cron.* -
各種のcronジョブを記述したファイルを収めたディレクトリ/etc/cron.d/
-
1時間に1度実行されるcronジョブを記述したファイルを収めたディレクトリ/etc/cron.hourly/
-
日次実行されるcronジョブを記述したファイルを収めたディレクトリ/etc/cron.daily/
-
システム停止中に経過してしまったスケジュールのcronジョブを実行する仕組みanacron
-
anacronのスケジューリングの記述先/etc/anacrontab
-
明日の5時にtest_jobを実行するat -f test_job 5:00 tomorrow
または
at 5:00 tomorrow で対話に入り
at> test_job
at> ^D -
/etc/cron.allowと/etc/cron.denyの両方があった場合、どうなるか/etc/cron.allowに記述されたユーザーのみがcronを利用でき、
/etc/cron.denyファイルは無視される -
/etc/at.allowと/etc/at.denyの両方があった場合、どうなるか/etc/at.allowに記述されたユーザーのみがatコマンドを利用でき、
/etc/at.denyファイルは無視される -
利用者の地域情報のことをなんというかロケール
-
【ロケールカテゴリ】
文字の種類
文字の照合・整列
メッセージ表示に使用する言語
通貨
数値の書式
日付や時刻の書式
すべてのカテゴリをまとめて設定
すべてのカテゴリのデフォルト値を設定【ロケールカテゴリ】
LC_CTYPE
LC_COLLATE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
LC_ALL
LANG -
【ロケール名】
英語
日本語/Uniclde
日本語/EUC-JP
日本語/シフトJIS
英語(米)/Unicode【ロケール名】
C、POSIX
ja_JP.utf8またはja_JP.UTF-8
ja_JP.eucJP
ja_JP.shiftJIS
en_US.utf8 -
現在のロケール名を確認するlocale
-
ロケールに利用できる文字コード一覧を確認するlocale -m
-
コマンド実行時に一時的にロケールを英語に変更するLANG=C コマンド
-
【文字コード】
7ビットで表される基本的な128種類の文字
↑の拡張版で、8ビットの文字コードで表せる256種類の文字
Unicldeを使った文字コードで、1文字を1〜6バイトで表す
UNIXで標準的に利用されていた日本語の文字コード
Windowsで利用される日本語の文字コード
電子メールなどで利用される日本との文字コード【文字コード】
ASCII
ISO-8859
UTF-8
EUC-JP(日本語EUC)
シフトJIS
ISO-2022-JP -
file1の文字コードをEUC-JPからUTF-8に変換し、file2に保存するiconv -f euc-jp -t utf8 file1 > file2
-
変換可能な文字コードの一覧を表示iconv -l
-
ユーザー作成時に自動的にホームディレクトリにコピーされたい雛形を配置するディレクトリ/etc/skel
-
システム時刻を表示するdate
-
システム時刻を今年の3月4日12時に設定するdate 030412002023
date 03041200 -
システム時刻を2023-03-04 12:00 (Sun)みたいな書式で表示するdate "%Y-%m-%d %H:%M (%a)"
-
ハードウェア時刻を表示するhwclock -r
hwclock --show -
システム時刻をハードウェア時刻に合わせるhwclock -w
hwclock --systohc -
ハードウェア時刻をシステム時刻に合わせるhwclock -s
hwclock --hctosys -
systemdで現在の日付・時刻とタイムゾーン、NTPを表示するtimedatectl
timedatectl status -
systemdで現在の日時を2020-03-12 13時45分に設定するtimedatectl set-time 2020-03-12 13:45:00
-
systemdでNTPを使ってシステム時刻を同期させるtimedatectl set-ntp yes
-
systemdで設定できるタイムゾーンを一覧表示するtimedatectl list-timezones
-
タイムゾーン情報が格納されている場所/usr/share/zoneinfo/*
-
システムでタイムゾーンをAsia/Tokyoに設定する方法以下6つの方法がある
timedatectl set-timezone Asia/Tokyo
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
環境変数TZ="Asia/Tokyo"を設定
/etc/timezoneファイルにAsia/Tokyoと設定
tzselectで対話的に設定 -
指定したNTPサーバーexample.ntp.orgから現在時刻を取得するntpdate example.ntp.org
-
ntpでNTPサーバーの設定を行うファイル
(設定パラメータ)
補正情報ファイルを/etc/ntp.driftに設定
NTPサーバーをexample.ntp.orgに指定
ログファイルを/var/log/ntp.logに指定/etc/ntp.conf
(設定パラメータ)
driftfile /etc/ntp.drift
server example.ntp.org
logfile /var/log/ntp.log -
ntp/ntpdateの代替となるNTPサーバー・クライアントソフトウェア
デーモンプロセス
コマンドChrony
chronyd
chronyc -
ChronyでNTPサーバーの設定を行うファイル
(設定パラメータ)
補正情報ファイルを/var/lib/chrony/driftに設定
NTPサーバーをexample.ntp.orgに指定
ログファイルを/var/log/chrony下に入れる
ハードウェア時刻と同期させる/etc/chrony.conf
(設定パラメータ)
driftfile /var/lib/chrony/drift
server example.ntp.org iburst
rtcsync
logdir /var/log/chrony -
ChronyでNTPサーバーごとの情報を表示するchronyc sources
-
システムログを取得して処理するソフトウェアsyslog, rsyslog, syslog-ng
-
ChronyでNTPサーバーのオンライン・オフライン数を表示chrony activity
-
Chronyで時刻ソースの統計情報を表示するchrony sourcestats
-
Chronyで時刻ソースの情報を表示するchrony sources
-
rsyslogの設定ファイル/etc/rsyslog.conf
/etc/rsyslog.d/* -
rsyslog設定ファイルでimuxsockモジュールを有効にする$ModLoad imuxsock
-
rsyslog設定ファイルで作業ディレクトリを/var/lib/rsyslogに設定$WorkDirectory /var/lib/rsyslog
-
rsyslog設定ファイルで/etc/rsyslog.d以下の設定ファイルを読み込む設定$IncludeConfig /etc/rsyslog.d/*.conf
-
rsyslog設定ファイルでmailとauthpriv以外のinfoメッセージを/var/log/messagesに出力する*.info;mail.none;authpriv.none /var/log/messages
-
rsyslog設定でcron関連ログをすべて/var/log/cronに保存するcron.* /var/log/cron
-
【rsyslogのファシリティ(生成元)】
認証システム
cron
各種デーモン
カーネル
印刷システム
メールサービス
ユーザーアプリケーション
ローカルシステムの設定【rsyslogのファシリティ(生成元)】
auth, authpriv
cron
daemon
kern
ipr
mail
user
local0~local7 -
rsyslogのプライオリティ高い順に並び替える
crit warning info debug emerg notice alert erremerg
alert
crit
err
warning
notice
info
debug -
【rsyslogアクションフィールド】
ログファイル/var/log/messagesに出力
コンソールtty1に出力
ホストu.example.comにUDPで出力
ホストt.example.comにTCPで出力
ユーザーuser1の端末に出力
ログイン中のすべてのユーザーの端末に出力【rsyslogアクションフィールド】
/var/log/messages
/dev/tty1
@u.example.com
@@t.example.com
user1
* または:omusrmsg:* -
rsyslogの再起動systemctl restart rsyslog
-
rsyslog設定ファイルでログをUDPで受け取る設定$ModLoad imudp
$UDPServerRun 514 -
rsyslog設定ファイルでログをTCPで受け取る設定$ModLoad imtcp
$InputTCPServerRun 514 -
rsyslogですべてのログをUDPでu.example.comに送る設定*.* @u.example.com:514
-
rsyslogですべてのログをTCPでt.example.comに送る設定*.* @@t.example.com:514
-
ファシリティをsyslog、プライオリティをinfoとして、タグにTestをつけて
ログメッセージを生成する。内容は「test message」logger -p syslog.info -t Test "test message" -
systemdでコマンドの実行結果をジャーナルで書き込む
その結果を見る(最新情報詳細表示)systemd-cat コマンド
journalctl -xe -
systemdのログを閲覧するコマンド
(オプション)
末尾を表示し続ける
新しい順に表示
末尾のみ表示
詳細表示
カーネルメッセージのみ表示
ブート時のメッセージを表示
指定したプライオリティ以上のメッセージを表示
指定したUnitのログを出力
プレーンテキストで出力
カレントユーザーによるサービスのメッセージのみ
1ページごとではなく、すべて表示journalctl
(オプション)
-f, --follow
-r, --reverse
-e, --pager-end
-x, --catalog
-k, --dmesg
-b, --boot
-p, --priority プライオリティ
-u, --unit Unit名
--full
--user
--no-pager -
httpd関連のログをsystemdで表示するjournalctl -u httpd
-
journalctlで表示されるログについての設定ファイル
(設定)
永続的にログを残す(デフォルトは揮発性)
ログファイルのサイズ上限を10GBとする/etc/systemd/journald.conf
(設定)
Storage=Persistent
SystemMaxUse=10GB -
【ログファイルのローテーション設定】
周期を1週間とする
バックアップログを4周期分保存する
ローテーションさせたら、空のログファイルを作成する
ローテーションさせたら、空のログファイルをパーミッション664、所有者root、グループgroup1で作成する
ログファイルを圧縮する【ログファイルのローテーション設定】
weekly
rotate 4
create
create 0664 root group1
compress -
直ちにログのローテーションを実施するlogrotate -f /etc/logrotate.conf
-
25番のポートを開いているソフトウェアを調べるnetstat -anp | grep 25
fuser -n tcp 25 -
コマンドラインでメールを送信する
題名はtest、宛先をユーザーuser1
内容はHello Worldの一行とするmail -s test user1
Hello World
. -
コマンドラインでメールボックスに届いているメールを確認するmail
-
root宛に届いたメールをadminとuser1で受け取れるように設定する
設定ファイルとその内容
この設定を有効にするコマンド/etc/aliasesファイルで、
root: admin, user1 を設定し、
newaliasesで更新 -
user1宛に届いたメールをtest@example.comで受け取れるようにする/home/user1/.forwardにtest@example.comと記述する
-
SUIDが設定されているファイルをすべて検索するfind / -perm -u+s -ls
-
対話的にパスワードに有効期限を設定するchage ユーザー名
-
コマンドでuser1のパスワードに有効期限を設定する
変更してから変更できるまでの最短日数を3日、
最大有効期限日数を90日、
有効期限切れの警告開始を7日前、
有効期限切れ後、7日後に使用不能に、
アカウント自体は2024年6月30日に無効になる
ように設定する。chage -m 3 -M 90 -W 7 -l 7 -E 2024-06-30 user1 -
ログイン中のユーザーを確認するwho
-
ログイン中のユーザーとシステム情報を確認するw
またはwhoとuptime -
最近ログインしたユーザーの一覧を表示last
-
ローカルで開いているポートを確認するnetstat
ss
lsof -i -
example.comで開いているポートを確認するnmap example.com
-
user1のログインを禁止するusermod -s /sbin/nologin user1
-
10分間端末への入力がなければ自動でログアウトするには環境変数TMOUT=600を設定
-
各ユーザーが利用できるリソースを制御するコマンドulimit
-
visudoコマンドで開かれるファイル/etc/sudoers
-
/etc/sudoersでuser1に対してすべてのroot権限必要なコマンドの実行を許可user1 ALL=(ALL) ALL
-
/etc/sudoersでuser2に対して/usr/sbin/shutdownのみ許可するuser2 ALL=(ALL) /usr/sbin/shutdown
-
rootアカウント以外のログインを禁止するには/etc/nologinファイルを作成する
-
user1のアカウントをロックするpasswd -l user1
usermod -L user1 -
リモートホストexample.comのuser1ユーザーのホームディレクトリに、ローカルホストのdata.txtをコピーするscp data.txt user1@example.com:
-
リモートホストexample.comの/etc/hostsファイルを、ローカルホストのカレントディレクトリにコピーするscp example.com:/etc/hosts .
-
秘密鍵ファイルを利用する際に、パスフレーズを入力しないで済むbashシェルを起動するssh-agent bash
ssh-add -
ローカルホストの10110番ポートに接続すると、リモートホストpop.example.comの110番ポートに接続できるようにSSHポートフォワーディングを行う
ただし、これをバックグラウンドで転送のみを実行させるssh -f -N -L 10110:pop.example.com:110 user1@pop.example.com -
著作権を放棄したソフトウェアのことパブリックドメインソフトウェア
-
GPLソフトウェア利用時の注意点GPLを改変したソフトウェアにもGPLを適用する必要がある(コピーレフト)
ソフトウェアを公開・販売する場合はソースコードの公開が必要 -
LGPLとGPLの違いLGPLはGPLより制限が緩い
-
AGPLとGPLの違いGPLではソフトウェアをネットワーク越しに利用するユーザーにソースコードを知らせる義務はない
AGPLにはある -
BSDソフトウェアのライセンス内容と派生ライセンスソースコード公開は不要、BSD以外のライセンスでの配布が可能
MIT、Apache -
GPLとMPLの違いMPLのソフトウェア自体はソースコードの公開が必要だが、
これを利用したソフトウェアのソースコード公開は不要
ログイン