Subscribed unsubscribe Subscribe Subscribe

F# Monkey

about

Bashのことはじめ

Bash

Basic

Bashの基本的なことのおさらい

2つの立場

$ ls       // 一般ユーザー
$ sudo ls  // スーパーユーザー

2つのコマンド

$ type -a cd
cd is a shell builtin
cd is /usr/bin/cd

$ type -a ls
ls is /bin/ls

ヘルプ!

$ man cd
$ mono --help

3つのデーター

- file
d directory
l symbolic link

ワイルドカード・プレース展開

*
[abc]     abcのいずれか (char)
[a-z]     小文字のみ
[A-Z]     大文字のみ
[0-9]     0..9
{txt,py}  txt or py (string)

// 小文字のテキストファイルのみを表示
$ ls [a-z]*.txt
hello.txt

// .txt or .py のみ表示
$ ls *.{txt,py}
hello.txt  md_test.py

bashの変数

// check
$ env

// bind
$ export HOME=/Users/kohei



Commnd

Bashのコマンド

basic command

cd        // 今いるポジションを変更
ls        // ファイルの一覧
cat       // ファイルの中身をみる ファイルをひとつにする 
mkdir     // dir をつくる
touch     // file をつくる
cp        // コピー
mv        // dir, file を移動する 名前を変更する
rm        // dir, file をけす

option

-r  recursive  // ファイルがいっぱいのときつかう
-f  force      // 問答無用のときつかう

chmod (change mode)

permissionを変更できる

$ sudo chmod 777 test.exe

下記の表を参考にbitで設定するとやりやすい

bit dip rwx english
0 000 --- none
1 001 --x execute only
2 010 -w- write only
3 011 -wx write and execute
4 100 r-- read only
5 101 r-x read and execute
6 110 rw- read and write
7 111 rwx read, write and execute

default permission

$ umask
0022

file ---> 666 - 022 = 644 ( rw- r-- r-- )
dir  ---> 777 - 022 = 755 ( rwx r-x r-x )

chown ( change owner )

ownerを変更できる

$ sudo chown callmekohei test.exe

chgrp ( change group )

groupを変更できる

$sudo chgrp staff test.exe

ln

リンクをつくる

ハードリンクはよくわかってない。。。

$ ls
test.txt

$ ln -s test.txt test2.txt

$ ls
test.txt  test2.txt

$ l -al
--w--w--w-   1 kohei  staff     0 feb  7 06:41 test.txt
lrwxr-xr-x   1 kohei  staff     8 feb  8 16:44 test2.txt -> test.txt

type and which

コマンドの場所

$ type -a cd
cd is a shell builtin
cd is /usr/bin/cd

$ which cd
/usr/bin/cd

grep

文字列を検索する

grep pattern file

$ grep a hello.txt 
a

// regular expression
$ grep [a-z] hello.txt 
b
a
d
c

mdfind

ファイルを検索する

findよりすごく高速

SYNOPSIS
mdfind [-live] [-count] [-onlyin directory] [-name fileName] query

$ mdfind *.fsx
Remove all ads