Closed24

Linux ごった煮

t0mmyt0mmy

.bashrc.bash_profile は微妙に違う

  • .bash_profile は、ログインシェル起動時にのみ読み込まれる
  • .bashrc は、 ( bash コマンドなどで)bashを起動するたびに読み込まれる
t0mmyt0mmy

ユーザー個別の設定ファイルは、ホームディレクトリ直下に作成される。
全ユーザー共通設定は、 /etc/bashrcsrc/profile に記述する。

t0mmyt0mmy

some command をバッククォートでくくると、 $(some command) と同じ動作をする

t0mmyt0mmy

alias エイリアス名 で、 エイリアス名の詳細を確認できる。

$ alias ls
alias ls='ls --color=auto'
t0mmyt0mmy

./sample.sh と実行する場合、 sample.sh には r-x 権限が必要。
bash sample.sh と実行する場合、 sample.sh には r-- 権限が必要で十分。
なお、バイナリファイルは、 実行権限さえあれば実行できる。
理由は推測の域を出ない

t0mmyt0mmy

$0 は実行ファイル名。
コマンドライン引数は、 $1 以降に設定される

t0mmyt0mmy

ls -l の先頭一文字目の意味

  • - ... 通常のファイル
  • d ... ディレクトリ
  • l ... シンボリックリンク
  • c キャラクタ型デバイスファイル
    • キーボードなど
  • b ブロック型デバイスファイル
    • ストレージなど
t0mmyt0mmy

test -f file は、 file が通常ファイル(つまり、 ls -l の先頭が - の場合)に trueとなる。

t0mmyt0mmy

read コマンドに、複数の変数名が指定された場合、末尾の変数は、残り全部の文字が代入される。

$ read a b c <<< "1 2 3 4 5 6"
$ echo $c
3 4 5 6
t0mmyt0mmy

seq コマンドなるものがある。
一定のルールに従った数列を作成可能。

$ seq 5
1
2
3
4
5
$ seq 10 -3 3 
10
7
4
t0mmyt0mmy
seq 終了値
seq 初期値 終了値
seq 初期値 増分値 終了値

など

t0mmyt0mmy
$ man yes

NAME
       yes - output a string repeatedly until killed

パイプにて、他のコマンドと組み合わせて使う。
y/nを連続で聞いてくる処理を、自動化できる。

第二引数に文字列を指定できる。
指定すると、対象の文字列をひたすら標準出力する。

$ yes no
no
no
no
no
...
t0mmyt0mmy

ulimit コマンド
Linux ユーザが使用できるマシンリソースを制限できる。

t0mmyt0mmy

lsof コマンド

開いているファイルの一覧を表示できる。
PIDやユーザ名も併記されるので、「どのファイル」を、「どのプロセス」が開いているか、といった調査が可能。

「list open files」の略。

t0mmyt0mmy

/etc/nologin ファイル
このファイルが存在すると、rootユーザ以外ログインできなくなる。

◇関連

...
# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth       requisite  pam_nologin.so
...
t0mmyt0mmy

シェルの関数宣言

function キーワードは必須ではない。

function または () のいずれかが書かれていれば良い(両方書いてもよい)。

◇OK

function sample { ... }
sample() { ... }
function sample() { ... }
t0mmyt0mmy

timezone 情報は、 /etc/localtime に存在する。
そして、 /etc/localtime はシンボリックリンク。

$ ll /etc/localtime
lrwxrwxrwx 1 root root 30 Aug 19 09:51 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo

本体は、/usr/share/zoneinfo/ 内に存在する。

$ ls /usr/share/zoneinfo
Africa      Asia       CET
...
t0mmyt0mmy

at コマンド
指定した時間に、任意のコマンドやプログラムを実行できる。

cron が定期実行だとすれば、 at は一度きりの実行。

t0mmyt0mmy

crtl + D
入力を終了するショートカット。
ログインシェルからログアウトすることもできる。

t0mmyt0mmy

chage コマンド

パスワード関連情報を表示・編集できる。
chage は、CHange password AGE の略らしい。

このスクラップは2023/12/22にクローズされました