ファイル

File -- Quick Ref. -- My Job -- Yashiro's home

Last update: 2024/11/22
Since 1995/11/6

      <contents>
    1. ファイル情報の表示 (2014/10/24)
    2. 属性の変更 (1995/11/6)
    3. 操作 (1995/11/6)
    4. 容量 (2006/11/17)
    5. ファイルの検索 (2013/12/2)
    6. ファイルの内容の検索 -- grep/head/tail/strings/wc (2006/11/17)
    7. 16進表示 (2006/11/17)
    8. ファイル名のメタ文字 (1995/11/6)
    9. 標準出力先の変更 (1995/11/6)
    10. コマンドの実行結果の引用(1995/11/6)

  1. ファイル情報の表示
    1. ファイル名の表示
            % ls filename
            % ls -l            パーミッション, 所有者名
            % ls -all      全ファイル  
            % ls -ltr          修正日付の古い順にソート
            % ls -ld dir_name    ディレクトリ自身の情報
            % ls -lL dir_name    シンボリックリンクのディレクトリ下のファイル一覧
            % ls -C | more     マルチカラム出力
            % ls -R		 再帰的表示
      
            % ls -o                 -l からグループ名を除いた表示
            % ls -l --time-style=+%y/%m/%d\ %H:%M
                                   日付表示形式を指定 (この例では yyyy/mm/dd hh:mm)
            % ls -l --full-time    日付表示形式を指定 (この例では yyyy/mm/dd hh:mm)
            % ls -l  --time-style=long-iso
                                   日付表示ISO形式 (yyyy-mm-dd hh:mm)
      
            % stat filename    print inode contents
      	
    2. パーミッションの表示
            ディレクトリ    % ls -ld directory
            ファイル        % ls -l filename
             d rwx(owner) rwx(group) rwx(all)
              s <-- x  : setuserid/setgroupid を設定
      	
    3. 種別の表示
        % file *


  2. 属性の変更
    1. 所有者
      % chown <to_whom> <filename/dir_name>
      % chown -R <to_whom> <dir_name> ........ 再帰処理
    2. 所属グループ
      % chgrp <group> <filename/dir_name>
      % chgrp -R <group> <dir_name> ........ 再帰処理
    3. パーミッション
      % chmod [u/g/o/a][+/-][rwx]
      % chmod -R [u/g/o/a][+/-][rwx] ........ 再帰処理
      % umask nnn ........ ファイル作成時のパーミッション(のマスク)
        n=(0:rwx, 1:rw-, 2:r-x, 3:r--, 4:-wx, 5:-w-, 6:--x, 7:---)
    4. Time stamp 時刻
      % touch -t yymmddhhmm ........ 更新日付

  3. 操作
    1. ファイル
          注: 複写, 移動にてシンボリックリンクも保持する場合には tar を利用する.
      複写
      % cp -p <original> <copy> ........ 修正時刻, 許可モードを保持
      % cp -r <dirname> <dirname> ........ サブディレクトリを含めて複写
      移動
      % mv <fielname> <newname/dir_name>
      消去
      % rm <fielname>
      % rm -f <fielname> ........ Protection 無視
      改名
      % mv <fielname> <newname>
      連結
      % cat file1 file2 > outfile
      内容
      % more <fielname>
        Sun4: <#>b ..... 逆方向スクロール
      時刻変更
      % touch <fielname> 最終修正時刻の変更

    2. ディレクトリ
      作成
      % mkdir <dirname>
      消去
      % rmdir <dirname> ........ 中身が空のとき
      % rm -r <dirname> ........ 中身を含めて消去
      改名
      % mv <dirname> <newname>
      複写
      % cp -r <dirname> <dirname2>

    3. リンク
      別名の設定(シンボリックリンク)
        % ln -s <path> <linkname>
      ハードリンク(同一パーティションないのみ)
        % ln <filename> <new_name>
      間違えて作成したシンボリックリンクの削除 (SystemV, 92/09. 児玉氏)
        % /etc/unlink <filename> ........ (cf.) % man 1m unlink

    4. 内容の比較
      % diff <fromfile> <tofile>
      % diff <from_dir> <to_dir>
      % diff -b <from> <to> ........ 連続空白を1つとみなす

  4. 容量
    1. ディレクトリ下のファイル容量の合計
        % du -s *
    2. ディスクの容量
        % df
        % df -t type ........ type: ext2(linux), nfs, etc.

  5. ファイルの検索
  6. 指定した directory 以下の fille/directory 検索し、表示あるいは操作する。
        % find <directory> <options>
    
        % find . -name '*s' -print			名称の最後が s のものを表示
        % find . -name '*s' -perm 700 -print	名称の最後が s で、アクセス権限が 700 のものを表示
        % find . -mtime <n> -print			最近の n 日間に修正
        % find . -ctime <n> -exec ls -l {} \;	最近の n 日間に作成
        % find . -newer <checkfile> -print		checkfile より以降に修正
        % find . -name core -exec rm {} \;  	rm コマンドの実行
        % find . -type f -print;  			fille についてアクセス権限と日時を表示
        % find . -type d -exec ls -ld {} \;  	directory についてアクセス権限と日時を表示
        % find . -type -not -perm -004 -exec chmod 444 {} \;  
                                                   	others に read 権限がない場合には 444 に変更する
    

  7. ファイルの内容の検索
  8.     % grep <pattern> <filename>	: pattern の検索
    	% grep -v ..... 	: exclude the pattern
    	% grep -c ..... 	: count the no. of lines
        % head [-<#>] <filename>	: 先頭部分のリスト,  標準は <#>=10
        % tail -<#> <filename>	: 最後部分のリスト
        % strings <filename>	: Binary file から ascii 文字列の抽出
        % wc <filename>		: 単語数、文字数、行数をかぞえる
    
    
    

  9. 16進表示
  10. % od <filename> : 8進表示 % od -h/x <filename> : 16進表示 % od -a <filename> : ascii 表示 (HI-UX ではない)

  11. ファイル名のメタ文字
  12. * 任意の文字列 ? 任意の1文字 [ab] いづれか [a-f] 範囲内のいづれか {uranus,sygnus,x} いづれか {{ura,syg}nus,x}* (応用例)

  13. 標準出力先の変更
  14. > >& ファイルに出力 % cat file1 > file2 >! >$! 置き換え 保護機構(set noclobber)の回避 >> >>& 追加出力 % cat file1 >> file2 >>! >>$! 置き換え 保護機構(set noclobber)の回避 | |& 標準出力を次のコマンドの入力にする ☆ & 付きは csh, 標準エラー出力もファイルに出力 command >& /dev/null 出力を棄てる (command > outfike) >& errorfile 標準出力と標準エラー出力を分ける command >& /dev/tty 出力先を端末にする command |& tee > log_file

  15. コマンドの実行結果の引用
  16. % rm `ls -a` % cp `cat listfile` /tmp