CentOSのバージョン確認方法

	$ cat /etc/redhat-release 

シェルのHello World! | shell

shファイルをテキストエディタなどで作成する。
作成したshファイルのディレクトリに移動し、shコマンドでshファイルを実行する。
日本語文字化けするので shファイルはutf8で保存すること。

shファイル(hello.sh)
	#!/bin/sh
	
	echo "Hello World!"
	

shコマンドでshファイルを実行する
	$ sh hello.sh
	Hello, World!
	


Windows上でshファイルをダブルクリックで実行したとき、すぐにターミナルを閉じないようにする

shファイルの末尾に「cmd /k」を記述する。
	#!/bin/sh
	
	echo "Hello World!"
	cmd /k
	

注意

改行は「\n」にすること
Unix環境でシェルを動かすことが多く、その環境の改行は「\n」であるためである。


ローカルのシェルファイルでsshログイン後、サーバー環境のコマンドを実行する

#!/bin/sh

echo 'SSHでログインしてサーバー上のコマンドを実行します。'
ssh -l 【ユーザー名】 【ユーザー名】.sakura.ne.jp "
	cd www;
	pwd;
	exit;
	"

echo "------------ 完了"
cmd /k
	

出力例
SSHでログインしてサーバー上のコマンドを実行します。
/home/【ユーザー名】 /www
------------ 完了

ローカルからサーバー上のshファイルを実行する


ssh -l ユーザー名 ユーザー名.sakura.ne.jp "
	sh www/rab/hello.sh;
	"

シェル版( test.sh)

#!/bin/sh

echo 'SSHでログインしてサーバー上のshファイルを実行します。'
ssh -l ユーザー名 ユーザー名.sakura.ne.jp "
	sh www/rab/hello.sh;
	"

echo "------------ 終わり"
cmd /k

シェルの対話式 | キーボード入力の受付

test.sh
#!/bin/sh

echo "あなたの猫の名前は何ですか?"
read neko_name
echo "あなたの$neko_nameはいい猫ですね"

cmd /k

出力
あなたの猫の名前は何ですか?
ニャーニャー
あなたのニャーニャーはいい猫ですね

GitBashでrsyncコマンドを使えるようにする │ MSYS2のインストール

  1. 「rsync.exe」があれば、GitBashでもrsyncコマンドは使えるようになる。
  2. 「rsync.exe」を入手するため MSYS2 をダウンロードする。
    Windows10 64bitなら「x86_64...」を選択する。
  3. ダウンロードしたMSYSをウィザードにそってインストールする。
  4. インストールするとMSYS2のコンソールが立ち上げる。 この時点んでMSYS2を利用できる状態になっている。
  5. MSYS2のコンソールで下記コマンドを実行してrsyncを使えるようにする。
    	pacman -S rsync


  6. MSYS2をインストールした場所に「rsync.exe」があるのでコピーする。
    「rsync.exe」が置いてある場所の例
    	C:\msys64\usr\bin\rsync.exe
  7. GitBashのルートフォルダに「bin」フォルダを作成し、「rsync.exe」をペーストする。 配置の例(C:\Users\userがGitBashのルートである場合)
    	C:\Users\user\bin\rsync.exe

    注意

    2021年1月時点では、rsync.exeだけでなく同じ場所にあるmsys-zstd-1.dllとmsys-xxhash-0.8.0.dllもコピペする必要がある。
  8. 以上でGitBashでもrsyncコマンドが利用できるようになる。
参考サイト


補足:上手くいかなかった場合、下記のコマンドも試すことができる。

Znn:Git Bashにrsyncとnetcatをインストールする

Git Bashを管理者権限で起動後、下記コマンドでMSYS2をインストール可能。
別のWindowsユーザーである場合は、インストール後、Git Bashを通常起動。(ルートが管理者ユーザーになっているので)

$cd ~
curl http://repo.msys2.org/msys/x86_64/zstd-1.4.5-2-x86_64.pkg.tar.xz |tar CvxJf / -
curl http://repo.msys2.org/msys/x86_64/rsync-3.2.2-2-x86_64.pkg.tar.zst |tar Cxvf / - --zstd
curl http://repo.msys2.org/msys/x86_64/openbsd-netcat-1.206_1-1-x86_64.pkg.tar.xz |tar CxvJf / -
curl http://repo.msys2.org/msys/x86_64/libzstd-1.4.5-2-x86_64.pkg.tar.xz |tar CxvJf / -
curl http://repo.msys2.org/msys/x86_64/libxxhash-0.8.0-1-x86_64.pkg.tar.zst  |tar Cvxf / - --zstd
	

rsyncコマンドでローカルからリモートに差分アップロード

	$ rsync -auvz ~/git/note_prg/linux/ 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/note_prg/linux/

更新日時に無関係でアップロードする方法

同期先のファイルの方が新しい場合にスキップしない
$ rsync -avz ~/git/note_prg/linux/ 【ユーザー名】@【ユーザー名】.sakura.ne.jp:www/note_prg/linux/

参考サイト


rsyncコマンドのコピーにおいてコピー除外を指定する。 | --exclude

例) 「database.php」というファイル名があれば、コピー除外にする。
rsync -auvz --exclude='database.php' ../app example@example.sakura.ne.jp:www/animal

例)
aaaフォルダをbbbフォルダにコピーする際、butaフォルダだけコピー対象から除外する。
rsync -auvz --exclude='buta/' aaa bbb

変数を使う

	neko='ネコ'
	echo $neko
	
※「=」の前後にスペースを入れないこと。


シェルに引数を渡す

	$ sh test.sh 猫 犬
	
test.sh

	#!/bin/bash
	echo $0
	echo $1
	echo $2
	echo $#
	cmd /k
	

出力

test.sh ←シェル名
猫 ←第一引数
犬 ←第二引数
2 ←引数の数
	

ターミナル(GitBash)でphpコマンドを使えるようにする | Windows環境

Windows 10 で検証。
  1. Windowsの左下から「環境変数」で検索し、「システム環境変数を編集」を開く。
  2. 「システムのプロパティ」が開くので「環境変数」ボタンを押す。
  3. 上段の一覧にて「Path」を選択し、編集ボタンを押す。
  4. 新規ボタンを押し、「C:\xampp\php」を入力。(php.exeのディレクトリパスを指定)
  5. OKボタン
  6. PCを再起動
  7. ターミナルを立ち上げ、「$ php -v」をコマンド入力する
  8. phpのバージョン情報が表示されたら成功。