* nix-way:食べられたとしても、少なくとも2つの出口がある

GNU / Linuxオペレーティングシステムを使用する場合、通常、同じツールを使用して特定の操作を行うことに慣れます。 UNIXの哲学(* nix-way)は、単純なアクションを実行するための単純なプログラムが多数存在することを想定しており、結果はストリームを介して異なるプログラム間で転送できます。 しかし、誰かが誤って、愚かさまたは善意から、多かれ少なかれ頻繁に使用したコマンドのバイナリファイルである実行可能ファイルを誤って削除した場合に、状況が発生すると想像してください。 そして、何をすべきか?



そして、ここから楽しみが始まります。 実践では、多くのことが複数の方法で行えることを示しています。 Linuxで複数の方法で実行できる交換可能なアクションの短いリストを作成しようとしました。







1)行番号

nl <file>
      
      



=

 cat -n <file>
      
      







2)ルートテーブルを表示する

 route -e
      
      



=

 netstat -r
      
      



=

 ip route
      
      







3)ネットワークインターフェイスのリストを表示する

 ifconfig -s
      
      



=

 netstat -i
      
      



=

 ip addr
      
      







4)ユーザーの作成:

 adduser <username>
      
      



=

 useradd <username>; mkdir /home/<username>; chown <username>:<username> /home/<username>; passwd <username>
      
      







5)ユーザーパスワードロック

 passwd -l <username>
      
      



=

 usermod -L <username>
      
      







6)ユーザーパスワードのロック解除

 passwd -u <username>
      
      



=

 usermod -U <username>
      
      







7)グループへのユーザーの追加

 adduser <username> <groupname>
      
      



=

 usermod -aG <groupname> <username>
      
      







8)ファイル所有権グループの変更

 chown :<groupname> <filename>
      
      



=

 chgrp <groupname> <filename>
      
      







9)ディレクトリの内容を表示する

 ls
      
      



=

 dir
      
      



=

 vdir
      
      







10)ハードリンクを作成する

 ln <file> <linkname>
      
      



=

 cp -l <file> <linkname>
      
      







11)シンボリックリンクの作成

 ln -s <file> <linkname>
      
      



=

 cp -s <file> <linkname>
      
      







12)tracerouteをpingコマンドに置き換えます。 ICMPパケットにはさまざまな種類があるため、完全に正直な方法ではありませんが、一般的な場合、トレース上のすべてのホストがping可能であれば適切です。

 traceroute remote-host
      
      



=

pingtrace.sh(引数としてIPを指定すると、ルートは非常に迅速に取得されます)

 #!/bin/bash REMOTE_HOST=$1 REMOTE_HOST_2=`host $1 | grep 'has address' | awk '{printf $4}'` TARGET_HOST="_" TARGET_TTL=1 echo Tracing host $REMOTE_HOST\($REMOTE_HOST_2\) while [ "$REMOTE_HOST" != "$TARGET_HOST" -a "$REMOTE_HOST_2" != "$TARGET_HOST" ] do TARGET_HOST=`ping -c 1 -t $TARGET_TTL $REMOTE_HOST | grep 'exceeded' | awk '{printf $2}'` if [ "$TARGET_HOST" != "" ] then echo $TARGET_HOST, TTL=$TARGET_TTL TARGET_TTL=$(($TARGET_TTL+1)) else echo $REMOTE_HOST, TTL=$TARGET_TTL exit fi done
      
      







コメントにもっと多くの同様の例があることを願っています



All Articles