Archive for the ‘メモ’ Category

terminal

送信

-P #portNumber

scp -Pxxx filename name@hostname :~/

ポート番号指定のオプションは小文字でなく大文字の-Pである。

コロン以下に転送先ホストのディレクトリを指定できる。

例ではfilenameをリモートサーバーのホームディレクトリに転送している。

受信の場合

scp -Pxxx name@hostname:/home/name/Desktop/hoge.txt ./

例ではリモートサーバー側デスクトップのhoge.txtをローカルサーバーのカレントディレクトリに送っている。

また、ファイルだけでなくディレクトリごと送受信するには、オプション -r を足してディレクトリ名を指定する。

terminal

先日、複数ファイルのファイル名の中にある2箇所の文字列を消したいなあと思い、いきついた方法。

たとえば、
hoge123fuga-ed.txt
という名前のファイルがあるとする。
このファイルは123から200まで連番であったと。

こいつを
123fuga.txtから
200fuga.txt
に変換したい。

そうした場合以下の方法が有効であった。

find ./* -type f | sed 'p;s/hoge//g;s/-ed//g' | xargs -n2 mv

findでカレントディレクトリ以下のファイルを全てリストアップする。

リストアップされたファイル名をsedをつかって編集する。

‘p;s/hoge//g;s/-ed//g’の意味は以下の通り

p;
によって元のファイル名が出力される事になる。
次に
s/hoge//g;
でファイル名の中のhogeを全て空白に変換している

そしてもういちど

s/-ed//g;

によってファイル名の中のすべての-edを空白に変換。

ここまでで実行すると

という結果がコンソールに表示される。

これらをパイプを介して

xargs -n2

する事によって

という形に整形できる。

あとは最後の

mv

によって全てのの元のファイル名が変更されたファイル名に変更される。

|xargs -n2 mv

って使い方初めて見ました。

リファレンスはこちら。
xargs コマンド | コマンドの使い方(Linux) | hydroculのメモ

不思議な感じでちょっと覚えにくいですが、こういう使い方ができるし、動きますっていう事で。

mint-logo-200

Conky

Linux Mintを使い始めた友人が、ConkyをLinux起動後にスタートしたいという事だった。

Linuxで最初に実行するファイルというと、大抵.bashrcや.bash_profileを想像する事と思う。

しかしこれだとtmuxなどで新たにウィンドウをつくるたびにconkyが起動する事になってしまう。

ちなみに、Linux Mint ver17.1 では.bash_profileの方が先に実行されるようなので、開始時に設定したいAliasなどは.bashrcにまとめて書いて

.bash_profileに
~/.bashrc

と書いている。

話がそれたが、LinuxMintのGUI、デスクトップ環境のスタート時に一度だけ実行する方法、昔調べたとおもったのだけど忘れていたので書いておく。

まず

と書かれたファイルを用意する。
名前は runConky.shとしよう。

つぎにこいつに実行権限を与える

$sudo chmod +x runConky.sh

homeにでもおいておくといいと思う。
私のばあい、実行ファイル関係は~/bin/以下に格納するようにしている

そしたらデスクトップ上で右クリックをする。
するとこんなコンテキストが出てくると思うので、新しいランチャをここに作成を選ぼう。

範囲を選択_106

設定画面が出てくるので、Nameのところは適当な名前を

CommandのところはBrowseを押して、さっき作ったrunConkyの場所を指定しよう。
CommentはあってもなくてもOK
ターミナルで実行したいコマンドではないので、Launch in Terminalのチェックはいれない。

範囲を選択_107

完了すると

範囲を選択_108

こういうファイルが出来上がる。

これを
/home/namae/.config/autostart/
に移動させよう。

その後ログアウトして再度ログインして、conkyが実行されれば成功。