#navi(ソフトウェア基礎I/11)
*第15章 知っていると便利なコマンド [#v6112171]
テキスト:第15章(p.207)
-whatis
-which
-whereis
-du
-cmp
-diff
-comm
-head
-tail
-wc
-split
-cat
-script
-find
 $ find . -name '*.c'
**Pager ページャ [#q79e2e03]
-more
-less
-lv


*第21章 ファイルとディレクトリの高度な操作 [#f0950826]
**広義のファイル [#y624011b]
-普通のファイル
-広義のファイル
--名前があるファイル
--読み書きできるファイル
--プロセス間のデータのやりとり
**ハードリンクとシンボリックリンク [#vd9750a8]
-ln
--ハードリンク
 % ln oldname newname
--シンボリックリンク
 % ln -s oldname newname
**ファイルとディレクトリに関するいくつかの技 [#xe37a66d]
-ファイルをディレクトリ以下にコピー
 % cp file1 file2 file3 dir
-ディレクトリ単位のコピー
 % cp -r olddir newdir
-ディレクトリ単位の削除
 % rm -r dirname
-ディレクトリ以下に移動
 % mv file1 file2 file3 dir
-「-」からはじまる名前のファイルの削除
 % rm ./-filename


**バイナリファイル [#o3fc668f]
-od
 % od -x filename
**マスクとモード [#b88149fe]
-モード:ファイルの型とアクセス権を制御する16ビット(8進数表現する)
--モードは,ls -lコマンドで左側に表示される.
|上位4bit|uid|gid|sticky|user|group|others|
|型|s|s|t|rwx|rwx|rwx|

-型:
|ls -l|上位4bit(8進表現)|上位4bit|意味|
|-|010|1000|plain file(通常のファイル)|
|d|004|0100|ディレクトリ|
|l|012|1010|シンボリックリンク|
|c|002|0010|文字型デバイスファイル|
|b|006|0110|ブロック型デバイスファイル|
|s|014|1100|socket|
|p|001|0001|名前付きパイプ|
***set-uidビット,set-gidビット [#zca25ac8]
実行ファイルのOwner,Groupの権限でユーザが実行するためのモード
ユーザ j06001 グループ y06j が,以下のコマンドhogehogeを実行したとき,
|モード|コマンド|実効ユーザ|実効グループ|h
|通常|-rwxr-xr-x  root wheel   hogehoge|j06001|y06j|
|set-uidビットがオン|-rwsr-xr-x  root wheel   hogehoge|root|y06j|
|set-gidビットがオン|-rwxr-sr-x  root wheel   hogehoge|j06001|wheel|

 % ls -l /{,usr/,usr/local/}{,s}bin/ | grep 'r[-w]s'
上記のコマンドで,set-uidビット,set-gidビットが立っているファイルを探そう.



-関連
--UNIXの部屋 setuid 特定の権限でコマンドを実行する仕組み http://x68000.q-e-d.net/~68user/unix/pickup?setuid
--setuid は慎重に http://www.ipa.go.jp/security/awareness/vendor/programming/b07_03.html
***stickyビット [#bd4a315a]
ディレクトリのOtherに対して適用されて,任意のユーザに読み書き可のディレクトリ下の削除権限をオーナーのみに限るモード(これがオンでないとき,誰にでも読み書きできるうえに,削除もされてしまう.)
 % ls -ld /private/tmp 
 drwxrwxrwt    18 root  wheel   612 Jul  6 10:26 /private/tmp/
というように,otherの実行ビットのところがtで表示される.

 % ls -l /{,private/} | grep 'r[-w]t'
上記のコマンドでstickビットが立っているディレクトリを探そう.
-関連
--UNIXの部屋 chmod http://x68000.q-e-d.net/~68user/unix/pickup?chmod

例:
 % ls -l
 drwxr-xr-x    2 koji     teach        4096 Jun 27 08:51 public_html/
 -rw-r--r--    1 koji     teach           4 Jul  4 00:41 test.txt
***よく使われるモード [#cae62b0b]
|ls -lの表示|8進数|
|rw-r--r--|644|
|rwxr-xr-x|755|
|rw-------|600|
|rwx------|700|
 例:
 % chmod 755 file1
 % chmod g+r file2

***マスク:新しくファイルを作成する際に、許可しないビットを示す [#vdc8b9a3]
 % umask
**ファイルの属性変更 [#t08f79fe]
-所有者属性の変更
 % chown owner file1
-グループ属性の変更
 % chgrp owner.group file1

**その他のファイル [#f1e7720b]
-デバイスファイル
-ソケット
-名前付きパイプ
-プロセスファイル
**ファイルシステム [#e46d451e]
-マウントとアンマウント
-NFSマウント
-ファイルシステムの操作
**標準的なディレクトリ構成 [#hb46e9e7]
ディレクトリ構成を調べましょう.(以下はMac OS Xの例)
 % cd /
 % ls -lF
#pre(){{
drwxrwxr-x   485 root  admin     16490 Jul 10 21:49 Applications/
drwxrwxr-x    22 root  admin       748 Oct  6  2003 Applications (Mac OS 9)/
drwx------     6 koji  admin       204 Jan 15  2004 Desktop/
-rw-r--r--     1 root  admin    441344 Jul  6 15:17 Desktop DB
-rw-r--r--     1 root  admin   2786674 Jul  6 15:17 Desktop DF
drwxrwxr-x     2 root  admin        68 Jul 31  2003 Desktop Folder/
drwxrwxr-x    18 root  admin       612 Jun 19 08:50 Developer/
drwxrw-rw-    11 koji  wheel       374 Oct 17  2005 Documents/
drwxrwxr-x    61 root  admin      2074 Jun  7 19:21 Library/
drwxr-xr-x     1 root  wheel       512 Jul 11 09:25 Network/
drwxr-xr-x     4 root  wheel       136 Apr  4 10:12 System/
drwxrwxr-t     8 root  admin       272 Feb 14 08:47 Users/
drwxrwxrwt     4 root  admin       136 Jul 11 09:52 Volumes/
drwxr-xr-x     4 root  admin       136 Dec  6  2005 automount/
drwxr-xr-x    40 root  wheel      1360 Jun 28 06:34 bin/
dr-xr-xr-x     2 root  wheel       512 Jul  5 21:40 dev/
lrwxrwxrwx     1 root  admin        11 Jun 27 09:05 etc@ -> private/etc
lrwxr-xr-x     1 root  admin         9 Jul  5 21:40 mach@ -> /mach.sym
-r--r--r--     1 root  admin    603108 Jul  5 21:40 mach.sym
-rw-r--r--     1 root  wheel   4338660 Jun 23 13:56 mach_kernel
drwxr-xr-x     6 root  wheel       204 Jul  5 21:40 private/
drwxr-xr-x    63 root  wheel      2142 Jun 28 06:34 sbin/
lrwxr-xr-x     1 root  admin        11 Oct  5  2005 tmp@ -> private/tmp
drwxr-xr-x    13 root  wheel       442 May 22 18:10 usr/
lrwxr-xr-x     1 root  admin        11 Oct  5  2005 var@ -> private/var
}}


#navi(ソフトウェア基礎I/11)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS