第15章 知っていると便利なコマンド

テキスト:第15章(p.207)

  • whatis
  • which
  • whereis
  • du
  • cmp
  • diff
  • comm
  • head
  • tail
  • wc
  • split
  • cat
  • script
  • find
    $ find . -name '*.c'

Pager ページャ

  • more
  • less
  • lv

第21章 ファイルとディレクトリの高度な操作

(Text 上巻 p.314)

広義のファイル

  • 普通のファイル
  • 広義のファイル
    • 名前があるファイル
    • 読み書きできるファイル
    • プロセス間のデータのやりとり

ハードリンクとシンボリックリンク

  • ln
    • ハードリンク
      % ln oldname newname
    • シンボリックリンク
      % ln -s oldname newname
  • ノード番号を表示
    % ls -li

ファイルとディレクトリに関するいくつかの技

  • ファイルをディレクトリ以下にコピー
    % cp file1 file2 file3 dir
  • ディレクトリ単位のコピー
    % cp -r olddir newdir
  • ディレクトリ単位の削除
    % rm -r dirname
  • ディレクトリ以下に移動
    % mv file1 file2 file3 dir
  • 「-」からはじまる名前のファイルの削除
    % rm ./-filename

バイナリファイル

  • od
    % od -x filename

マスクとモード

  • モード:ファイルの型とアクセス権を制御する16ビット(8進数表現する)
    • モードは,ls -lコマンドで左側に表示される.
      上位4bituidgidstickyusergroupothers
      sstrwxrwxrwx
  • 型:
    ls -l上位4bit(8進表現)上位4bit意味
    -0101000plain file(通常のファイル)
    d0040100ディレクトリ
    l0121010シンボリックリンク
    c0020010文字型デバイスファイル
    b0060110ブロック型デバイスファイル
    s0141100socket
    p0010001名前付きパイプ

set-uidビット,set-gidビット

実行ファイルのOwner,Groupの権限でユーザが実行するためのモード ユーザ j06001 グループ y06j が,以下のコマンドhogehogeを実行したとき,

モードコマンド実効ユーザ実効グループ
通常-rwxr-xr-x j06001 y06j hogehogej06001y06j
set-uidビットがオン-rwsr-xr-x root wheel hogehogerooty06j
set-gidビットがオン-rwxr-sr-x root wheel hogehogej06001wheel
% ls -l /{,usr/,usr/local/}{,s}bin/ | grep 'r[-w]s'

上記のコマンドで,set-uidビット,set-gidビットが立っているファイルを探そう.

stickyビット

ディレクトリの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ビットが立っているディレクトリを探そう.

例:

% 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

よく使われるモード

ls -lの表示8進数
rw-r--r--644
rwxr-xr-x755
rw-------600
rwx------700
例:
% chmod 755 file1
% chmod g+r file2

マスク:新しくファイルを作成する際に、許可しないビットを示す

(上巻 p.329)

マスクの表示 % umask

マスクの変更

$ umask 066

ファイルの属性変更

  • 所有者属性の変更
    % chown owner file1
  • グループ属性の変更
    % chgrp owner.group file1

その他のファイル

  • デバイスファイル
  • ソケット
  • 名前付きパイプ
  • プロセスファイル

ファイルシステム

  • マウントとアンマウント
  • NFSマウント
  • ファイルシステムの操作

標準的なディレクトリ構成

ディレクトリ構成を調べましょう.(以下はMac OS Xの例)

% cd /
% ls -lF
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

第33章 検索

(テキスト第33章 pp.661)

vi

(テキスト第18章 pp.250)

  • 起動
    % vi filename
  • 終了
    :q! [return]
  • 編集部分を保存して終了
    ESC を押した後
    Z Z を入力
    または,
    ESC を押した後
    :wq [return]

検索機能

(テキスト p.662)

コマンド意味
/keyword順方向検索
?keyword逆方向検索
n順方向検索繰返
N逆方向検索繰返

Emacsでの検索機能

コマンド意味
C-s keyword順方向インクリメンタルサーチ
C-r keyword逆方向インクリメンタルサーチ

grep, egrep, fgrep

書式 grep keyword files

% ps aux | grep '^root'
% grep -n '^aaaa' test.txt

find

書式 find ディレクトリ名 検索条件

% find . -name hello.c -print
% find . -name '*.c' -ls 
% find . -name '*.tex' | xargs nkf --overwrite -w
% find . -name '*.c' -ctime -15 -ls
オプション意味
-atime最終アクセス時刻
-mtime最終更新時刻(ファイルの中身)
-ctime最終変更時刻(ファイルのステイタス)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-07-17 (木) 15:32:02 (1894d)