どっちが先だったか、どうしても思い出せないときがあります。
基本的すぎて、なかなか人には聞けません。
・シンボリックリンクの作成
ln -s リンク先 リンクの名前
・ファイルがシンボリックリンクかどうか
ls -F
-Fをつけてlsすると、シンボリックリンクにはファイルの直後に@が付くのでシンボリックリンクと分かります。
ls -al
とやると、どこにファイルの実態があるのか把握できます。
シンボリックリンクは、Windowsのショートカットに近いものでファイルの実態が消えても残っています。
しかし、ハードリンクしてしまうとファイルの実態を消してもリンクの方を消しても両方削除されしまうようです。
-s抜きでシンボリックリンクを作成すると、ハードリンクになります。
基本的すぎて、なかなか人には聞けません。
・シンボリックリンクの作成
ln -s リンク先 リンクの名前
・ファイルがシンボリックリンクかどうか
ls -F
-Fをつけてlsすると、シンボリックリンクにはファイルの直後に@が付くのでシンボリックリンクと分かります。
ls -al
とやると、どこにファイルの実態があるのか把握できます。
シンボリックリンクは、Windowsのショートカットに近いものでファイルの実態が消えても残っています。
しかし、ハードリンクしてしまうとファイルの実態を消してもリンクの方を消しても両方削除されしまうようです。
-s抜きでシンボリックリンクを作成すると、ハードリンクになります。
ソース管理ツールとして、unix環境で非常にメジャーなツールであるところの「cvs」
コマンドを、クライアントとして使用するときのポイントに絞って説明します。
・環境変数の設定
csh系の環境変数だと以下となります
setenv CVSROOT :pserver:ユーザ名@サーバ名:/cvsのルートディレクトリ
これで、「cvs login」と打つだけでログインできます。
・既に作成済みのファイル群をディレクトリごとcvsへ
importコマンドを使用します
cd workdir(<-cvsへupしたいディレクトリ名)
cvs import -m "import sources" dira/dirb
これでcvsルートの下の「dira/dirb」の下へworkdirの
中身がディレクトリごと反映されます。
・反映したソースのその後の操作
上記作業で使ったディレクトリは、いったん消してcvs
サーバから、ソース群を取得します。
その後は、以下のコマンドで操作します
cvsサーバ上の保存ファイルと違うファイルがあるか調べる
cvs up
cvsサーバへファイルを反映させる
cvs commit -m "(改版内容等)" ファイル名
・cvsサーバから新規にファイルをダウンロードする
コマンドは「cvs co」コマンドを使用します
押さえどころとしては、現在のローカル側のカレント
ディレクトリに、指定したディレクトリ配下のファイルが
ダウンロードされてくる、というところです。
例示します
現在の居場所が「/home/user_a」だとします。
欲しいファイルは「cvsルート/dira/dirb/workdir」に
あります。
/home/user_a/のところで、「cvs co」コマンドを使用します。
cvs co dira/dirb/workdir
lsコマンドでカレントディレクトリ配下に「dira」ディレクトリが
作成されたことと思います。
間違ってはいけないのは、「dira/dirb/」の下にいるときに
上記コマンドを使用すると、「dira/dirb/dira/dirb/workdir」
というディレクトリが出来上がってしまうことです。
だいたい説明は終わりです。
クライアントとして使用するときには、上記コマンドで事足ります。
cvsサーバを運用して、自らのソース管理システムを構築したい方は↓など読んで
勉強してください。私はまだそこまでは..
“cvsコマンド(クライアント)押さえどころ”の続きを読む>>
コマンドを、クライアントとして使用するときのポイントに絞って説明します。
・環境変数の設定
csh系の環境変数だと以下となります
setenv CVSROOT :pserver:ユーザ名@サーバ名:/cvsのルートディレクトリ
これで、「cvs login」と打つだけでログインできます。
・既に作成済みのファイル群をディレクトリごとcvsへ
importコマンドを使用します
cd workdir(<-cvsへupしたいディレクトリ名)
cvs import -m "import sources" dira/dirb
これでcvsルートの下の「dira/dirb」の下へworkdirの
中身がディレクトリごと反映されます。
・反映したソースのその後の操作
上記作業で使ったディレクトリは、いったん消してcvs
サーバから、ソース群を取得します。
その後は、以下のコマンドで操作します
cvsサーバ上の保存ファイルと違うファイルがあるか調べる
cvs up
cvsサーバへファイルを反映させる
cvs commit -m "(改版内容等)" ファイル名
・cvsサーバから新規にファイルをダウンロードする
コマンドは「cvs co」コマンドを使用します
押さえどころとしては、現在のローカル側のカレント
ディレクトリに、指定したディレクトリ配下のファイルが
ダウンロードされてくる、というところです。
例示します
現在の居場所が「/home/user_a」だとします。
欲しいファイルは「cvsルート/dira/dirb/workdir」に
あります。
/home/user_a/のところで、「cvs co」コマンドを使用します。
cvs co dira/dirb/workdir
lsコマンドでカレントディレクトリ配下に「dira」ディレクトリが
作成されたことと思います。
間違ってはいけないのは、「dira/dirb/」の下にいるときに
上記コマンドを使用すると、「dira/dirb/dira/dirb/workdir」
というディレクトリが出来上がってしまうことです。
だいたい説明は終わりです。
クライアントとして使用するときには、上記コマンドで事足ります。
cvsサーバを運用して、自らのソース管理システムを構築したい方は↓など読んで
勉強してください。私はまだそこまでは..
“cvsコマンド(クライアント)押さえどころ”の続きを読む>>
UNIXマシンにWindowsからファイルをコピーしたら、改行コードがいつのまにかCR+LFに変わっていたりするわけです。
ファイル一個なら、まだなんとなく対処可能だったりしますが、大量にあると気が滅入るわけです。
そんなときにtrコマンドを利用した便利なスクリプト。
--ここから
#!/bin/sh
for i in *.c; do
cat $i | tr -d '\015\032' > $i.hozon
rm $i
mv $i.hozon $i
done
--ここまで
これで、カレントディレクトリ内にある全ての*.cファイルからCRコードを一斉削除。
カスタマイズして使用しましょう。
ファイル一個なら、まだなんとなく対処可能だったりしますが、大量にあると気が滅入るわけです。
そんなときにtrコマンドを利用した便利なスクリプト。
--ここから
#!/bin/sh
for i in *.c; do
cat $i | tr -d '\015\032' > $i.hozon
rm $i
mv $i.hozon $i
done
--ここまで
これで、カレントディレクトリ内にある全ての*.cファイルからCRコードを一斉削除。
カスタマイズして使用しましょう。
Windowsメインのユーザは、使うことのないコマンドなのです。
なんですが、SSHでしかログインできないセキュアなサーバーもあることも事実なわけで、
・とにかく使いたい(UNIX端末から)
1)ローカル->リモートのカレントディレクトリへの転送
scp ファイル名 ユーザー名@サーバー名:保存先ディレクトリ名
ex)scp hogehoge.txt watasi@anata.co.jp:./
2)リモート->ローカルのカレントディレクトリ
scp watasi@anata.co.jp:~/hogehoge.txt ./
3)ディレクトリごと一括
scp -r watasi@anata.co.jp:~/hogedir ./
・Windowsから操作したい
WinSCPなんてのを使用するとよろしいようで、私は今のところ困ってません。
まあ、手元のマシンがUNIXしかないなんてことありませんし、UNIXマシンからしか操作しちゃダメとか言われても、いったんWindowsからTelnetして、そこから操作してしまう人間なので..
なんですが、SSHでしかログインできないセキュアなサーバーもあることも事実なわけで、
・とにかく使いたい(UNIX端末から)
1)ローカル->リモートのカレントディレクトリへの転送
scp ファイル名 ユーザー名@サーバー名:保存先ディレクトリ名
ex)scp hogehoge.txt watasi@anata.co.jp:./
2)リモート->ローカルのカレントディレクトリ
scp watasi@anata.co.jp:~/hogehoge.txt ./
3)ディレクトリごと一括
scp -r watasi@anata.co.jp:~/hogedir ./
・Windowsから操作したい
WinSCPなんてのを使用するとよろしいようで、私は今のところ困ってません。
まあ、手元のマシンがUNIXしかないなんてことありませんし、UNIXマシンからしか操作しちゃダメとか言われても、いったんWindowsからTelnetして、そこから操作してしまう人間なので..
Windowsメインのユーザは、UNIXコマンドに苦労したりするわけです。
そんなコマンド。
tar に「z」オプションが使えなかったりしたら、途方にくれたりします・・。
・GNU tarが使える場合
圧縮:tar zcvf <作成するファイル>.tgz <圧縮するファイルorディレクトリ>
見る:tar ztvf <見るファイル名>.tgz
解凍:tar zxvf <解凍するファイル>.tgz
*画面に出さずに作業をしたい場合は「v」を外すもよし
・GNU tarが使えない場合
解凍:gzip -dc <解凍するファイル>.tgz | tar xvf -
そんなコマンド。
tar に「z」オプションが使えなかったりしたら、途方にくれたりします・・。
・GNU tarが使える場合
圧縮:tar zcvf <作成するファイル>.tgz <圧縮するファイルorディレクトリ>
見る:tar ztvf <見るファイル名>.tgz
解凍:tar zxvf <解凍するファイル>.tgz
*画面に出さずに作業をしたい場合は「v」を外すもよし
・GNU tarが使えない場合
解凍:gzip -dc <解凍するファイル>.tgz | tar xvf -




