Viを使って実行してみた話
今週、viを使ってちょっとした実行処理を書く機会があったので自己学習で書いてみたのでそれを記事にしてみました。色々調べてやってみました。
かなり初心者向けなので温かく見てほしいです。
※自分の復習用で作成してます。
.txtファイルのバックアップ
今回一番作成しやすいものから挑戦してみました。すごく時間かかった
このファイルの中でテキストファイルだけをバックアップとれるようにviでtest.shというファイルを作成していきます。
vi test.sh・・・ファイル作成
chmod +x test.sh・・・・実行権限
./test.sh・・・実行
記述した内容
記述を開始するときは、a 又は iを使用 (ほかにもその行だけ修正したいときにsを使うこともあります。)
FILEDAY(なんでもいい) = "バックアップのファイル名"・・今回はbk(バックアップ)日付
mkdir "バックアップのファイル名"・・・バックアップファイル名のディレクトリファイル
ls *.txt | while read line ・・・テキストのみ
do ~ done ・・・この間に実行したい処理を書いていく
cp "$line" "$FILEDAY/$line" ・・・・コピーして作成したディレクトリーファイルへ入れる。
:wqで保存を忘れずviから抜けます。保存しないで抜けるときは:q!
バックアップファイルができました。
エクスプローラーで確認します。
バックアップファイルを確認してテキストファイルだけバックアップとれてます!!
パーミッション
ファイルの実行をする際に気をつけなければならないのは実行権限です。この権限がなければいくら実行ファイルを作成しても、エラーになってしまいます。
パーミッションは、3文字ずつ「所有ユーザへの許可」「所有グループへの許可」「それ以外の人へ許可」の9文字で構成されています。
「r」の読み出し可能
「w」の読み込み可能
「x」の実行可能
「-」の許可なし
コマンド
(例)chomod(パーミッション変更) +x ファイル名
また、パーミッションは数値でも変更が可能です。
コマンド
chmod 777 ファイル名 (すべてに許可)・・・rwxrwxrwx
それ以外にも
chmod 664 ・・・rw-rw-r--
chmod 644 ・・・rw-r--r--
実際、現場で触れる際も初めにパーミッションは確認しなければなりません。万が一、ファイルの権限を変更してしまいますとほかの人が書いたりすることができません。
最後に
ちなみに、「:s」で現在カーソルのあるところを書き換えられて、「:1s」で1行の範囲だけ書き換えることできます。これを置換するっていうですね。
本当、まだまだ知識も技術も足りないですね。頑張っていきます!