Linux シェル:基本
目次
シェルã¨ã¯
UNIXコマンドインタプリタ
ï¼ã‚³ãƒžãƒ³ãƒ‰(命令)を解釈ã€ã‚«ãƒ¼ãƒãƒ«ã¸ä¼é”ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ
カーãƒãƒ«ã‚’åŒ…ã‚€ã‚·ã‚§ãƒ«ã‚¿ãƒ¼ã®æ„味
bashã€zshã€tcshç‰ã®ã‚·ã‚§ãƒ«ãŒä¸€èˆ¬çš„
å†åˆ©ç”¨å¯èƒ½ã«ãƒ•ァイル化ã—ãŸã‚·ã‚§ãƒ«ã‚’シェルスクリプトã¨å‘¼ã¶
利点
・履æ´ãŒæ®‹ã‚‹(呼ã³å‡ºã—å¯èƒ½)
・軽ã„
・リダイレクトã€ãƒ‘イプ機能を使ã£ã¦è¤‡é›‘ãªå…¥å‡ºåŠ›ãŒå¯èƒ½
・自動化ãŒå®¹æ˜“
èµ·å‹•
echo $shell
起動シェル確èª
起動シェル変更
chsh
例) new shell ~: /bin/bash
シェルコマンド一覧
for x in ${PATH//:/ } do ls -l $x done | sort | uniq
for x in ${PATH//:/ }
do
 ls -l $x
done
| sort
| uniq
標準入力・標準出力
標準(=ç”»é¢)
ç”»é¢ã‹ã‚‰å…¥åŠ› ⇒ ç”»é¢ã¸å‡ºåŠ›
$ ls
リダイレクト
入力・出力を標準ã‹ã‚‰åˆ¥ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã¸åˆ‡ã‚Šæ›¿ãˆ
・画é¢ã‹ã‚‰å…¥åŠ› ⇒ ファイルã¸å‡ºåŠ›
$ ls > list ※上書ã
$ ls >> list ※追åŠ
・ファイルã‹ã‚‰å…¥åŠ› ⇒ ç”»é¢ã¸å‡ºåŠ›
$ ls < list ※上書ã
$ ls << list ※追åŠ
パイプ処ç†
ã‚る命令ã«ã‚ˆã‚‹å‡ºåŠ›ã‚’ã€åˆ¥ã®å‘½ä»¤ã®å…¥åŠ›ã¸ã¨ç¹‹ã
「|ã€ã§ç¹‹ã
Linuxã§ã¯ã€Œâ†‘ã€ã‚ーã§å‰å›žã®ã‚³ãƒžãƒ³ãƒ‰ã‚’呼ã³å‡ºã›ã‚‹ã®ã§å‘¼ã³å‡ºã—&パイプã§ã€
ç°¡å˜ã«è¿½åŠ ã®å‡¦ç†å‘½ä»¤ã‚’記述ã§ãã‚‹
$cat /etc/passwd
⇒passwdã®ä¸èº«ãŒç”»é¢ã«è¡¨ç¤ºã•れる
passwdã®ä¸èº«ã‚’grepã¸ã®å…¥åŠ›ã¨ã™ã‚‹
grepã§ã¯ã€Œ/binã€ã‚’å«ã‚€è¡Œã®ã¿ã‚’抽出
$ cat /etc/passwd | grep /bin
↑を更ã«cutã¸ã®å…¥åŠ›ã¨ã™ã‚‹
cutã§ã¯æ–‡å—列を':'ã§åˆ†å‰²ã—ã€ï¼‘番目ã®åˆ—ã®ã¿æŠ½å‡º
$ cat /etc/passwd | grep /bin | cut -d ':' -f 1
↑を更ã«sortã¸ã®å…¥åŠ›ã¨ã™ã‚‹
sortã§ã¯æ–‡å—åˆ—ã‚’ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã«ã‚½ãƒ¼ãƒˆ
$ cat /etc/passwd | grep /bin | cut -d ':' -f 1 | sort
↑を更ã«wcã¸ã®å…¥åŠ›ã¨ã™ã‚‹
wcã§ã¯æ–‡å—列ã®è¡Œæ•°ã‚’å–å¾—
$ cat /etc/passwd | grep /bin | cut -d ':' -f 1 | sort | wc -l
⇒行数ã®ã¿ç”»é¢ã¸è¡¨ç¤ºã•れる