概要
ShellはUnix管理では必須です。
勉強方法
http://www.tsden.org/takamiti/shText/
上記サイトの文章で勉強は可能です。あとは日常的に利用するようにすれば大概慣れます。
基本構文
bashの構文ですが以下を参照すれば概要がまとまっています。
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
システムプログラム(第10週):shスクリプトでよく使われる機能
普通にmanで読んでもよいかと思います。
Tips
簡単な物は以下の文書にまとまっている。
http://www.linux.or.jp/JF/JFdocs/Bash-Prog-Intro-HOWTO.html
Shellにかぎらず掲載されているが以下も読むとよい。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/tipsindex.html
ソート
sort | uniq ナンテ使ウナヤ sort -u
ファイル名取得
${parameter##word} echo "script name is ${0##*/}"
拡張子一括変換
for i in *.jpg; do mv $i ${i%.jpg}.jpeg; done
basenameを利用する手もある。
ファイル名に日付を付加
tar cfz moin`date "+%Y%m%d"`.tar.gz moin
SSH
(cd path && tar cvfj - .) | ssh username@hostname "(cd path && tar xvfj -)"
連番の作成
seq(gun sh-utile)やjotを利用すると簡単。利用できない場合はもありますが、、
i=0; while [ $i -lt 10 ]; do echo $i; n=`expr $i + 1`; done
for i in `seq 0 10`; do echo $i; done
本日から一週間前を計算
env TZ=JST`echo "7*24-9"|bc` date
関連リンク
http://www.netfort.gr.jp/~tomokuni/lms/shell/text/shell3.txt
LinuxCommand.org: Learn the Linux command line. Write shell scripts.
CategoryPrograming CategoryMac CategoryUnix CategoryProgramLanguage