スポンサードリンク

miyazakitom TwitterTwitterやってます
はてなブックマークに追加はてなブックマークに追加 このエントリーを含むはてなブックマーク
Yahoo!ブックマークに登録 Yahoo!ブックマークでこのサイトを登録している人数 人が登録
この記事をクリップ!
atom:
RSS:

■CentOS6.3サーバー構築マニュアルを無料プレゼント

  CenOS6.3のサーバー構築手順、VMware Player4の
  ダウンロードとインストール手順をまとめたマニュアルを
  無料でプレゼントしています。


  詳しくは↓のページで説明しています。今すぐクリックしてダウンロードしてください。
  CentOS6.3サーバー構築マニュアルを期間限定プレゼント

プロが現場で構築するLinuxサーバー技術が習得できる講座とセミナー

   → 【Linux講座】プロが使うLinuxサーバー構築講座

   → 【Linuxセミナー】リナックスマスター2日間集中セミナー【CentOS版】

Linux最強Tips集 > ディレクトリ・ファイル操作

ディレクトリ・ファイル操作


スポンサードリンク

ファイル・ディレクトリの所有権を変更する

ファイル、ディレクトリの所有権を変更するには、chownコマンドを使用します。ディレクトリ内にあるすべてのファイルの所有権を変更したい場合は、-Rオプションを付けて実行します。

ファイル、ディレクトリのデフォルトパーミッションを変更する

ファイルやディレクトリを新規に作成した場合、デフォルトのパーミッションが設定されます。このデフォルトのパーミッションを変更するにはumaskコマンドを使用します。

パーミッションの8進数表記
フラグ表記     rwx
対応する8進数   421

シンボリックリンクを確認する

シンボリックリンクは、一見普通のファイルに見えますが、実は実体となるファイルは別のディレクトリにあります。ファイルがシンボリックリンクかどうか、確認するには、lsコマンドにlオプションを付けて実行します。

ディレクトリ内のすべてのファイルを一覧を表示する

Linuxでディレクトリ内にあるファイルを表示するには、lsコマンドを表示します。しかし、通常のlsコマンドでは、「.」(ドット)から始まる隠しファイル表示することができません。

その場合は、lsコマンドに「-a」オプションを付けて実行します。

ディレクトリ内のファイルすべてを表示する

ディレクトリ内のファイルを表示させるにはlsコマンドを使用します。しかし、「.」(ドット)で始まるファイルは隠しファイルであるために、lsコマンドでは表示することができません。

「.」(ドット)で始まるファイルを表示させるにはlsコマンドのオプション「-a」を使用して実行します。

ディレクトリ内のファイルの所有権を別ユーザに変更する

ファイルやディレクトリの所有権を変更するにはchownコマンドを使用します。chownコマンドで指定したディレクトリ内にあるファイルも同時に所有権を変更する場合は、オプション-Rを指定して実行します。

複数階層のディレクトリを一度に作成する

ディレクトリを作成するにはmkdirコマンドの引数にディレクトリ名を指定して実行します。しかし複数の階層に渡ってディレクトリを指定すると、存在しないディレクトリがあるとエラーになります。

そこでオプション-pを指定して実行すると、存在しないディレクトリも強制的に作成し一度に複数の階層ディレクトリを作成することができます。

ファイルを誰でも書き込めるが、所有者しかファイルを削除できないディレクトリを作成する(スティッキービット)

複数のユーザー間でファイルを共有し、編集できるようにファイルに書き込み権限を設定すると、場合によっては、他のユーザーにそのファイルを削除されてしまう場合があります。

このような間違いを防ぐためにLinuxにはスティッキービットという仕組みがあります。
これを使用してディレクトリにスティッキービットを設定すると、設定されたディレクトリ内では、ファイルに書き込み権限が設定されていて所有者以外ふぃあるの削除は出来なくなります。

スティッキービットの設定は、chmodコマンドにa+tオプションを指定して実行します。
また、/tmpディレクトリは最初からスティッキービットが設定されており、root以外の権限ではファイルを削除できなくなっています。

ディレクトリを削除する(ディレクトリ内もまとめて削除)

ディレクトリの削除には通常rmdirコマンドを使用します。しかしディレクトリ内にファイルが含まれている場合、rmdirコマンドでは削除できません。

そこでディレクトリ内のファイルもまとめて削除するにはrmコマンドにオプション-rを指定して実行します。

ディレクトリの使用状況を調べる

Linuxのディレクトリにどのくらいのファイルが保存されているのか、ディレクトリの使用状況を調べるにはduコマンドを使用します。

duコマンドはディレクトリが使用している容量をキロバイトで表示しますが、ディレクトリ自体もファイルとして扱われるので、多少の容量を消費しています。

ファイル内の文字数、行数を確認する

ファイル内の文字数や行数を調べるときには、wcコマンドを使用します。文字数を確認する場合はオプションとして-cを使用し、行数を調べるときには-lを使用します。

wcコマンドの実行方法として、引数に調査したいファイル名を指定します。

ファイルの種類を調べる

Linuxはファイルの区別を拡張子で行わないので、そのファイルが一体どのようなファイルなのかはファイル名、拡張子からは判断できません。Linuxのファイルの種類を調べるには、fileコマンドを使用します。

構文としては「file ファイル名」と実行します。

ファイルの内容を行番号付きで表示する

ファイルの内容を表示するにはcatコマンドをしようしますが、オプションなしで実行した場合、単に内容が表示されるだけです。行番号を付けてファイル内容を表示するには、catコマンドにオプション-nを付けて実行します。

ファイルの空行に行番号を付けたくない場合は、オプション-bを付けます。

ファイルの日付を変更する(タイムスタンプ変更)

Linuxのファイルは修正日時を記録しているタイムスタンプがあります。この日時を変更するにはtouchコマンドにオプション-tを付けて実行します。

日付のフォーマットは「MMDDhhmm」で指定します。

MM → 月
DD → 日
hh → 時間
mm → 分

空ファイルを作成するには

空ファイルを作成するには、touchコマンドを使用します。touchコマンドはファイルのタイプスタンプを変更するコマンドですが、引数で存在しないファイルを指定した場合は、0バイトのファイルを作成します。

ファイルの内容を8進数や16進数で表示するには

pgコマンドやcatコマンドで内容を表示できるファイルでも、実際には文字コードにしたがって記述されたバイナリファイルです。8進数でファイルを表示するにはodコマンドを使用します。また、16進数で表示するにはhexdumpコマンドを使用します。

確認しながらファイルを削除する

Linuxのファイルの削除は、rmコマンドを使用しますが、デフォルト(初期設定)では削除して良いか確認をしません。(ディストリビューションや権限によって確認するものもあります)

Linuxは一度誤って削除したファイルを元に戻すことができないので、これを防ぐには、rmコマンドにオプション-iを付けて実行を行います。

ファイルを文字列検索するには

Linuxシステム内に存在するファイルを検索するにはfindコマンドを使用します。findコマンドは次の文法を用いることで使用できます。

find (ディレクトリ名) (オプション) (ファイル名)

引数にそれぞれの値を設定し、検索を行います。
ディレクトリ名には、ファイル検索を行う基点となるディレクトリ名を指定します。findコマンドは指定されたディレクトリ以下、すべてのサブディレクトリを検索します。(権限で参照できないディレクトリを検索した場合エラーになります。)

オプションはどんなファイルを検索するかを指定できます。たとえば、ディレクトリのみを検索したり、ある所有者のファイルのみを検索できます。

ファイル名は、検索したファイル名を指定します。

24時間以内に修正されたファイルを検索する

findコマンドはファイルの作成日、更新日で検索する-mtimeオプションがあります。
このオプションを使用することで24時間以内、何日前に更新されたファイルを検索することが出来ます。

mtimeの後ろに数字で指定するとき、+を指定すると実行日より前に修正されたファイルを検索し、-を指定すると実行日よりあとに修正されたファイルを検索できます。

ファイルの変更を直ちにディスクに反映させる

ユーザーによるファイルへの変更と実際のハードディスクなどnメディアへの書き込みは時間差があることがあります。これはメモリ上に変更内容を一時保存し、複数の書き込み処理を一括で行うよう仕組みをファイルシステムが備えているからです。

このような場合にはsyncコマンドを使用すれば、直ちに変更内容をハードディスクなどのメディアに反映することが出来ます。shutdownコマンドなどでシステム終了する場合には自動的にメモリバッファと同期をとるようになっています。

しかしそれ以外でシステムを停止する場合、処理中のデータがハードディスクに書き込まれず、データが消滅することもありえます。そのようなときにsyncコマンドを事前に実行しておけば安全です。

lsコマンドの結果をソート(昇順)する

lsコマンドで表示されるファイルやディレクトリの一覧をソートすうときには、さまざまなオプションを付けて実行することで実現できます。lsコマンドのソート関連のオプションは下記のものがあります。

-t 修正時刻でソートする
-u アクセス時刻でソートする
-v ファイル名をバージョン順でソートする
-x 拡張子でソートする
-r 逆順にソートする
-U ソートしない

ファイルをGZIP形式で圧縮する

GZIPはLinuxでファイルを圧縮する際、もっとも使用される圧縮方法のひとつです。

普通tarコマンドで1つにまとめた(アーカイブした)ファイルを圧縮してファイルサイズを
小さくするのに使用されます。

GZIP形式の圧縮ファイルを解凍する

GZIP形式で圧縮されたファイルは、そのままでは使用できません。
使用するにはこのファイルを解凍して元に戻す必要があります。
元に戻すには、gunzipコマンドを使用します。

BZIP2形式でファイルを圧縮・解凍するには

LinuxやUNIXで多く利用されている圧縮形式はGZIPですが、さらに小さいサイズに圧縮したい場合にはBZIP2形式を利用します。

BZIP形式でファイルを圧縮するにはbzip2コマンドを使用します。またBZIP2形式のファイルを解凍するにはbunzip2コマンドを使用します。

tar.gz形式のファイルを解凍、展開するには

tarコマンドでまとめたアーカイブファイルをGZIP形式で圧縮してあるファイル(拡張子tar.gzまたはtgz)を一度に解凍して展開するには、tarコマンドにzオプションを付けて実行します。

tar.bz2ファイルを解凍して展開するには

tarコマンドでまとめたアーカイブファイルをBZIP2形式で圧縮してあるtar.bz2ファイルを解凍して展開するには、tarコマンドにjオプションを付けて実行します。

ファイル名に日付を付ける

サーバー運用していると、ファイルのバックアップをする時や、
ファイル名を別名にして保存する時、いつ、その作業を行ったのか記録したい場合があります。

私が過去経験した現場では、設定ファイルを変更する際、
変更前ファイルは削除せず、必ず保存するルールになっていました。

それは、設定を変更した事によって何かトラブルが起きても、すぐ元に戻せるようにする為です。
その時の決まりとして、変更前の設定ファイルには、変更当日の日付をつけて
管理するという決まりでした。

具体的に言うと、『 ファイル名 + 日付 』という形式でファイルをバックアップしていました。

だから、過去に何度も設定を変更しているファイルはファイル名の日付部分の違うファイルが
いくつもあり、歴管理されていました。

これは、後から何年何月何日に設定ファイルのどこを
変更したのかを一目瞭然にしておく為です。

今日は楽に日付ファイル名を付ける方法を紹介します。
日付を表示するコマンドは「 date 」コマンドを使います。

Linuxでファイルコンテンツの検索をする

Linuxには、ファイルを検索するコマンドとして、
findコマンドやgrepコマンドが用意されています。

これらのコマンドはLinuxシステム内からユーザが指定する条件
(ファイル名やファイルタイプなど)でファイル検索、
ファイル内文字列検索を行えますが、それ単体だとシステム全体に
対してファイル内文字列検索するには不便です。

そこで今回は、Windowsでいう、「ファイルコンテンツの検索」を
Linuxで行う方法を紹介します。

Linuxでファイル内文字列検索をするには、
次のコマンドを実行します。

----------------------------------------------------------------------
find 検索したいディレクトリ -type f -print | xargs grep 検索文字列
----------------------------------------------------------------------


■CentOS6.3サーバー構築マニュアルを無料プレゼント

  CenOS6.3のサーバー構築手順、VMware Player4の
  ダウンロードとインストール手順をまとめたマニュアルを
  無料でプレゼントしています。


  詳しくは↓のページで説明しています。今すぐクリックしてダウンロードしてください。
  CentOS6.3サーバー構築マニュアルを期間限定プレゼント


スポンサードリンク

Linux最強Tips集:当サイトについて

  • Linux最強Tips集は個人で運営しているサイトです。
  • ご意見、ご質問はメールでお願いいたします。

CentOS6.3サーバー構築

サイト内検索



基本コマンドTips

Linux起動Tips

ユーザー管理Tips

ディレクトリ・ファイル操作Tips

ディスク操作Tips

テキスト処理Tips

システム管理Tips

RPM Tips

ネットワークTips

セキュリティTips

サーバー管理Tips

Linux用語

相互リンク募集

facebook公式ページ

copyright(c) 2007-2012 Linux最強Tips集 All Rights Reserved.
ファンデーション
<>