だかひーwiki

順不同也。

これから調べますー

ps -ef
unzip
script -af

UNIX

viの基本操作

シェル操作時のショートカットキーについて

たまに間違ってCtrl+sを押して固まったりしたら確認しましょう。

viエディタで行番号を表示する

echo "set number" >> ~/.exrc

なんでもっと早く気付かなかったんだろう的な

キーマップを変更したい。

  • CentOS: loadkeys jp106.map
  • BSD: kbdcontrol –l /usr/share/syscons/keymaps/jp.106
  • Fedora 19 : setxkbmap jp -model jp106

fping -g :広範囲をまとめてping

  • 範囲指定をして一括ping
    • [fping -g 192.168.100.240/28] ←みたいなプレフィックス指定もできます。

nfk :文字コードを確認・変更したい

文字コードを確認: nkf -g hogehoge.php
文字コードをUTF-8、改行コードをLFへ変換して上書き: nkf -w -Lu --overwrite hogehoge.txt

指定したファイルや値を連続的に作成する

bashのバージョンが古いと使用できない(bash-3.0-alpha以前)ので下記のコマンドで確認。

vipw :パスワードを編集する

  • passwordを編集する場合はviではなくこちらを使うようにする。
  • vipwコマンドなら他のユーザーが割り込みで編集できないようにロックしてくれる他、shadowも編集できる

パスワードが変更された日時を割り出す

  • gamesユーザーの場合
    まずはshadowファイルを見る
    grep 'games' /etc/shadow
    games:*:15513:0:99999:7:::
  • 3区切り目の値:パスワード変更日を1970年1月1日から加算した値
    なので、この値を逆算する。
  • dateコマンドで足し算をする
    [root@dakahii ~]# date -d "19700101 + 15513 days"
    2012年  6月 22日 金曜日 00:00:00 JST
    いじょ

暗号化されたパスワードの文字列を検証する

  • まずはshadowファイルを見る
    grep 'hogehoge' /etc/shadow
    hogehoge:$6$gWTzBm1H$UOI98LisJg23pbjH6nIZQarqg2IyhKUSye5mBEIkZmoAIkpgabVjWmLkaHt1AOE9JUxwUOCJx8VSmaKmgQkJb0:15769:0:99999:7:::
  • perlコマンドでハッシュ関数を出力する
    perl -e 'print crypt("PASSWORD","\$6\$gWTzBm1H\$"),"\n"'
    # 'PASSWORD'の部分にパスワード文字列を入力する
    $6$gWTzBm1H$UOI98LisJg23pbjH6nIZQarqg2IyhKUSye5mBEIkZmoAIkpgabVjWmLkaHt1AOE9JUxwUOCJx8VSmaKmgQkJb0
    ↑文字列が一致すれば検証完了

ssh :暗号化状態でリモートログイン

ポート番号を指定してssh: ssh -p 指定ポート番号 アカウント名@ドメイン名かIPアドレス

tar :データの圧縮・展開

よく使う。サブシェルなんかも覚えておきたい

圧縮(カレントディレクトリに圧縮ファイルを新規作成) : tar cvf hogehoge.tar hogehoge
展開(カレントディレクトリに圧縮ファイルを残して展開): tar xvf hogehoge.tar
<オプション>
-C :展開先のディレクトリを変更
-z :gzip形式で圧縮、展開。ファイルサイズが半分くらいになる。
gzipファイルを別ディレクトリ(例:test/)に展開 : tar zxvf piyo.tar.gz -C test/

sed :文字を置き換え・削除

置き換えて更に上書き:  sed -i -e “s/AAA/ZZZ/g” INFILE.txt
※ sとgを区切る文字は/以外でも|とか\とかでもおk

find :検索したい

ファイル名で検索:   find / -name hoge.txt
コマンド構文例ではルートから全ファイルの検索をしています
サーバの全ディレクトリのフルパス・ユーザー・グループ・パーミッションを抽出
 find  / -exec ls -ld {} \; | grep ^"d" | awk '{ print $1 " " $3 " " $4 " " $10 }'

tree :ディレクトリをツリー表示で出力

文字コードをASCIIに指定する:   tree --charset=x /hoge/test
とか?リダイレクトで保存するならあんまり使わないかも。。

useradd :ユーザーの追加

userdel :ユーザーの削除

ユーザーの情報も残らず削除:userdel -r piyopiyo

unix2dos dos2unix :改行コードの変換

LFをCR+LFに変換   :unix2dos piyopiyo.txt
.txtファイルを全てLFに変換  : find / -type f -name "*.txt" | xargs dos2unix

scp :sshでファイル転送

ローカルの/hoge/piyo.txt をuserの/home/hoge配下に送る場合
scp /hoge/piyo.txt user@xxx.xxx.xxx.xxx:/home/hoge

rpm :rpmパッケージを管理

  • インストールしているパッケージのバージョンを確認する
    rpm -q --qf "%{name}-%{version}-%{release}.%{arch}.rpm\n" hogehoge
    hogehoge-X.X.X-X.elX.x86_64.rpm
  • 導入したパッケージが配置したファイルを確認
    rpm -ql hogehoge(パッケージ名)
  • 対象ファイルがどのパッケージから導入されたかを確認
    rpm -qf hogehoge(ファイル名)

yumリポジトリをローカルのisoイメージファイルにする

まずはリポジトリファイルを新規作成

cd /etc/yum.repos.d
vi centos-6.4-iso.repo

以下のように設定

例:CentOS 6.4.iso
[cent-iso]
name=CentOS 6.4-x86_64.iso
baseurl=file:///media/
enabled=0
gpgcheck=0
#gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release
リストが表示されるかチェック
yum --disablerepo=\* --enablerepo=cent-iso list
例:perl をインストールしたい場合
yum --disablerepo=\* --enablerepo=cent-iso install perl

ホスト名を変更したい

  • CentOS系
    1. /etc/hosts を編集
    2. /etc/sysconfig/network を編集
    3. 再起動(またはservice network restart)

FreeBSDの初期設定を確認

  • cat /etc/rc.conf.local
    IPアドレス ホストネーム ネットマスク 等の初期設定が一覧できる
    rc.conf 解説

プロセスを指定してgrep or kill

便利なので是非覚えましょう。

パスワードを標準入力から読み込む

echo 'password' | passwd --stdin username

ユーザー作成時に覚えておくと楽

lsof :ファイルを開いているプロセス情報を表示

例1:ログファイルを開いているプロセスを表示
[root@dakahii ~]# lsof /var/log/messages
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
rsyslogd 1111 root    1w   REG  252,3      146 2097488 /var/log/messages

例2:ポートをオープンしているプロセスを表示
[root@dakahii ~]# lsof -i:110
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
dovecot 4441 root   17u  IPv4 3396925      0t0  TCP *:pop3 (LISTEN)

その他

Megacli関連

  • リビルドの状況を確認
    スロット番号、ディスクの状況、HDDの型番を絞り込めます。
    MegaCli64 -PDList -aALL | egrep 'Slot|Firm|Inq'

すごーーいくだらないコマンド達

  • cal
    カレンダーを表示させる。デフォルトは当月のみ。月と年で指定可能。
    cal 2013

コマンド関連リンク

kazmax.zpp.jp

manページを自作スクリプトでHTML化しているらしい。非常に多くのコマンドが掲載されてる!

Linuxコマンド集 INDEX

ITpro-BPnetのlinuxコマンドまとめ。見やすさ&分かりやすさ◎


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-06 (水) 20:45:37 (1226d)