空ディレクトリを探す?
find ./ -type d -empty
条件にマッチしたファイルに対してコマンド実行その1
find ./ -regex .*\.db -exec rm {} \;
条件にマッチしたファイルに対してコマンド実行その2
find ./ hogehoge -print0 | xargs -0 ls -l
一度にリネーム色々
(例2) 拡張子 .htm を.html に変更する
$ rename 's/.htm/.html/' *.htm
(例3) 拡張子 .htm を削除する
$ rename 's/.htm//' *.htm
(例4) 先頭に文字「20070610-」を加える
$ rename 's/^/20070610-/' *
(例5) 上の2007を2008に変更する
$ rename 's/2007/2008/' *
bash Ctrl+Dでログアウト 回数
環境変数 IGNOREEOFに警告回数を設定
DiskImage 圧縮しながらバックアップ
dd if=/dev/sda5 | gzip -c > <お好みのイメージファイル名>
DiskImage マウント
ddコマンドで作成したHDD全体イメージのパーティションをマウントするには、パーティションのオフセットを指定する必要があります。
パーティションのオフセットは、fdiskで調べることができます。
fdiskで-uを付けると、セクター単位でパーティションの開始・終了位置を取得できます。
fdisk -l -u hdd.img Disk www.hda_backup.img: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = セクタ数 of 1 * 512 = 512 bytes
デバイス Boot Start End Blocks Id System hdd.img1 * 63 208844 104391 83 Linux hdd.img2 208845 1847474 819315 82 Linux swap / Solaris hdd.img3 1847475 156296384 77224455 83 Linux 領域 3 は異なった物理/論理終点になっています: 物理=(1023, 254, 63) 論理=(9728, 254, 63)
この結果のStartにUnitsのバイト数をかけるとパーティションのオフセット値が算出できます。
例えば、hdd.img3のオフセットは、1847475 * 512 = 945907200です。
hdd.img3をマウントするコマンドは下記のようになります。
mount -o loop,offset=945907200 hdd.img /mnt/hdd
インストール済みパッケージバックアップ
ディレクトリのバックアップ
/home , /etc , /usr/local
インストール済みパッケージのリストを生成
$ sudo dpkg --get-selections > install.pkg.lst
リストをセットアップする
$ sudo dpkg --set-selections < install.pkg.lst
セットされたリストのステータスを実行する(インストール)
$ sudo apt-get dselect-upgrade
DiskImageの中身を見る
$ head -c 16 backuped-sda1-pbr.img | hexdump -C 00000000 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....| 00000010
apt公開鍵追加
gpg --keyserver pgp.mit.edu --recv-keys 07DC563D1F41B907 gpg --armor --export 1F41B907 | apt-key add -
特定ディレクトリのファイル数
find /home/takahashi/www/ -type f | wc -l
wget
- --user
- ユーザー名
- --password
- パスワード
- -r, --recursive
- 再帰的にダウンロードする
- -l, --level=NUM
- 再帰的にダウンロードするときの階層数。0なら無限
- -x, --force-directories
- ディレクトリを強制的に作る
- --no-check-certificate
- サーバ証明書の検証をしない
- --restrict-file-names=nocontrol
- 文字化け回避
- -A, --accept=LIST
- ダウンロードする拡張子をコンマ区切りで指定する
- -H, --spqn-hosts
- 再帰中に別のホストもダウンロード対象にする
- -nd,--no-directories
- ディレクトリを作らない
- --limit-rate=100000
- 帯域制限(単位はbyte/s・例だと100kbyte/sで帯域制限)
ssh ポートフォワード
ssh -N -f -L [LocalHostListenPort]:[ForwardHost]:[RemoteHostPort] user@hostname
- -N
- リモートホストでコマンドを実行しない
- -f
- コマンドを実行し、バックグラウンド。一時的にフォワードするなら指定しない方がいいっぽいね
- -L [LocalHostListenPort]:[ForwardHost]:[RemoteHostPort] user@hostname
- ポートフォワード元、先のポート、ホストの設定
- [LocalHostListenPort]
- ローカルホストにて何番のポートでListenするか
- [ForwardHost]
- SSHサーバからみたポートフォワード先のアドレス
- [RemoteHostPort]
- ポートフォワード先のポート番号
snmp OID確認
snmpwalk -v 2c -c COMMUNITY AGENT [OID]
- -v
- SNMPのバージョンの指定
- -c
- コミュニティの指定
- -Onを指定するとOIDを数字で表示する
samba ログアウト
(Windowsのコマンドプロンプトで)
net use /delete *
ファイル暗号化/復号化
bash の場合
alias crypt="openssl enc -e -aes256 -k " alias decrypt="openssl enc -d -aes256 -k "
としておくと、
crypt パスワード < ファイル > 暗号を入れたいファイル
というような使い方ができます。
- -k はパスワードを指定するときのオプションです。-k を使わないときにはパスワードを聞いてきます。
ffserverとffmpegによるライブカメラストリーミング
ffserver -f /etc/ffserver.conf & ffmpeg -f video4linux2 -s 320x240 -r 30 -i /dev/video0 http://localhost:8090/feed1.ffm
killコマンド
kill [-s SIGNAL] PID
- -s|シグナルの指定
- SIGSTOP
- 一時停止
- SIGCONT
- 一時停止→継続
- KILL
- 強制終了
- TERM
- 終了
- HUP
- 再起動
DVD Rip & make iso
dvdbackup -M -i /dev/dvd -o /path/to/image_files_dir mkisofs -udf -dvd-video -o /path/to/image.iso /path/to/image_files_dir/title