(ロリポップ) ssh接続でスクリプトファイル編集
- (2022-11-23 11:54:39)
Unix系コマンド
Unix系のコマンドは恐ろしいので触りたくないが、webサイトのあるページをある時刻で自動切替したくて勉強した。
前もって準備している「index.LIVE.html」を、たんに「index.html」へと上書きするだけのスクリプト。
「ssh接続」
う~ん、やりたくなかったが、ロリポップ社の解説ページを見ながら、Win10のDOSモードで接続してみた。ちなみにWin7では接続できなかった。
ssh 「アカウント名」@ssh.lolipop.jp -p 2222
あれ!「Crtl + V」が効かない!
恐ろしく長いパスワードをコピペでできないと痛手である。
→ Win10のコマンドモード画面の「プロパティ」で「Ctrl+Shit+C/Vを使用する」にチェックを入れて、これを試すとなぜだか「Crtl + Shift + V」が効く!
(なぜだ~!)
シェルは何?
Unixのインターフェースは複数種類ある。「シェル」とか言っていたような・・
誤字コマンドなど打つと「-bash:コマンドが見つかりません」みたいなエラーがでるから、ロリポップ・サーバーのシェルは「bash」のようだ。
Linuxはおおむねbashが標準シェルのようである。
昔試したシェルはコマンドを途中まで打つと候補が自動的に提案されていたが、bashにはそれはないみたい・・と検索すると
途中まで記入して「Tab」キーで補完される。
「Tab」連続2回で複数候補を表示。
記憶が残っていた唯一のコマンドは「ls」のみ
bashコマンドは前回いつ触ったか記憶がないくらい。
唯一覚えていたコマンドはファイル表示の「ls」。
自分が今どこのディレクトリーにいるか知りたいが、どうしても思い出せない、調べたら「pwd」だった。
pwd・・普通は「powered」の短縮形に見えるが、これが現在のパス表示のコマンド・・先は遠い。
ssh接続で変なコマンド打ち込んで、サーバーを落としたりしたらと思うと恐ろしい。
当然、危険なコマンドは打てないよう制限されていると思うが、バカというのは想定外の天才的なミスを犯すものなので・・・
おお「vi」!
エディター「vi」を触ったのは前回はいつだったか記憶がない、とにかく使いにくくて変なエディターである。
しかし、Unixが生まれて以来、綿々と提供されているとことを見るとUnix使いには便利なんだろうな、きっと嵐のようなキー入力ができるエディターなんだろうと空想する。
知り合いにUnix使いの人がいたら聞いてみたいが、いないので・・
このviでシェルスクリプトを書くことにした。
「シェルスクリプト」とか言ったって、コピーとか削除とかのコマンドを1~2行書くだけだが。
ジョブスケジューリング・・cron
Windowsには「タスクスケジューラ」があるが、Linuxには?・・「cron」かな?
一回きりの動作なら「at」コマンドがあるらしいが、ロリポップのsshでは動作しなかった。
cronで上の「test.sh」を実行させたい日時にセットした。
Linuxの勉強
---------------
viエディタの勉強
---------------
Unix誕生の時から付属しているデフォルトエディターと思われる。
viコマンド → 編集モードと入力モード,切り替えはESCキー
vi test.sh
ESCキー → モード切替
iキー → 入力コード
Rキー →
yyキー → 1行コピー
xキー → 1文字削除
ddキー → 1行カット
:wq → 保存して終了
:w! → 保存せずに終了
---------------
bashコマンドの勉強
---------------
(たぶん、Unix使いの人々は自分でコマンドを作ちゃうんだよな~
その自由度は自分向きだが、自分にはそういう才能がないので
Unixは自分には敷居が高い)
pwd:カレントディレクトリの表示(何の略か全然空想できない)
ls:ディレクトリ内ファイルの表示
cd:ディレクトリ移動
mkdir/rmdir:ディレクトリの作成・削除
cp:ファイルコピー → cp test1 test2
mv:ファイル名変更 → mv test.txt test.old
rm:ファイル削除 → rm test.old
echo:標準出力
パスの表示:echo $PATH
---------------
ロリポップのbash・・/bin/bash
---------------
https://lolipop.jp/manual/user/ssh/
---------------
シェルスクリプトとバッチファイル
---------------
Windowsにはバッチファイルがあるが、Linuxにはあるのかな?・・
というか、WindowsバッチファイルはUnixがお手本だし、
こういうテキストファイルによる操作やプログラミングは当然あると思う
---------------
シェルスクリプト「test.sh」の中身
---------------
mv (フルパス)/welcome.html (フルパス)/welcome.OLD.html
mv (フルパス)/web/welcome.LIVE.html (フルパス)/welcome.html
※test.shの拡張子「.sh」はなくてもよい
※test.shはあらかじめ「chmod 755 test.sh」のように実行権限を与えておくこと
※(フルパス)で書かないと実行してくれないみたい
---------------
シェルスクリプトの実行
---------------
>test.sh
でエンターしても実行されない!
(なんで~)
>./test.sh
で実行された。
「./」の部分はフルパスでもよい。意味ありげな仕様・・
---------------
パスが面倒、パスの通し方は?
---------------
Windowsはパスを気にしなくてもだいたい通っている。
Unixは明示的に通さないと何も動かない印象。
Unixは個人使用を前提としたWindowsと違って、複数の人々でコンピューターを共同利用することが前提だったのだろう。
セキュリティの考え方が全然違っていて、いちいちパスを通さなくちゃいかんし、実行させるためにもいちいち実行権限を与える必要がある。
Windowsのよう何でも簡単にさくっとやれると、なかにはシステムをダウンさせたり暴走させたりする人もいるわけで、そんな人に対するセキュリティなんだろう。
<< お名前.com、スパムメールが少なくなったか?< | >ドメイン名の取得リスクと廃止リスク >>