メインコンテンツへスキップ

Unix/Linuxファイル操作系コマンド

📝 touch:空のファイルを作成/更新

文法

touch [オプション] ファイル名

主なオプション

  • -c : ファイルが存在しない場合は作成しない

  • -t [[CC]YY]MMDDhhmm[.ss] : 明示的にタイムスタンプを指定

使用例

touch newfile.txt
touch -c existingfile.txt

📄 cat:ファイルの内容を表示/連結

文法

cat [オプション] ファイル...

主なオプション

  • -n : 行番号を付けて表示

  • -E : 行末に $ を表示

使用例

cat file.txt
cat -n file.txt

📦 cp:ファイルやディレクトリをコピー

文法

cp [オプション] コピー元 コピー先

主なオプション

  • -r : ディレクトリを再帰的にコピー(必須)

  • -i : 上書き前に確認する

  • -p : タイムスタンプやパーミッションを保持

使用例

cp file1.txt file2.txt
cp -ri dir1/ dir2/

🚚 mv:ファイルやディレクトリを移動/リネーム

文法

mv [オプション] 移動元 移動先

主なオプション

  • -i : 上書き前に確認

  • -n : 上書きしない(何もしない)

使用例

mv oldname.txt newname.txt
mv -i file.txt /backup/

🗑️ rm:ファイルやディレクトリを削除

文法

rm [オプション] 対象

主なオプション

  • -i : 確認しながら削除

  • -r : ディレクトリごと再帰的に削除

  • -f : 強制削除(確認なし)

 rm -rf は取り返しがつかないので注意!

使用例

rm file.txt
rm -rf old_dir/

📁 mkdir:ディレクトリを作成

文法

mkdir [オプション] ディレクトリ名

主なオプション

  • -p : 上位ディレクトリも一緒に作成

使用例

mkdir mydir
mkdir -p parent/child/grandchild

🧹 rmdir:空のディレクトリを削除

文法

rmdir [オプション] ディレクトリ名

使用例

rmdir emptydir

rmdir空でないディレクトリは削除できないので注意!


🧾 stat:ファイルの詳細情報を表示

文法

stat [ファイル]

使用例

stat myfile.txt

🔍 find:条件に合うファイルを検索

文法

find [検索パス] [条件] [アクション]

主なオプション例

  • -name : 名前で検索(ワイルドカードOK)

  • -type : ファイルタイプで絞り込み(f: ファイル、d: ディレクトリ)

  • -mtime : 最終更新日(例:-mtime -3 → 3日以内)

  • -exec : 見つかったファイルにコマンドを実行

使用例

find . -name "*.log"
find /var -type d -name "cache"
find . -type f -mtime -1 -exec ls -lh {} \;

👀 ls -l:ファイルのパーミッションを確認

使用例

ls -l filename

表示例(左端の -rw-r--r-- がパーミッション):

-rw-r--r--  1 user group  1234 May 21 10:00 filename

🛠️ chmod:ファイルのパーミッションを変更

文法

chmod [オプション] モード 対象

モードの指定方法

  • 数値:chmod 755 filerwxr-xr-x

  • 記号:chmod u+x file(ユーザーに実行権を追加)

使用例

chmod 644 document.txt
chmod u+x script.sh
chmod a-w file.txt  # すべてのユーザーから書き込み権を削除

👤 chown:所有者とグループを変更

文法

chown [オプション] [ユーザー][:グループ] 対象

主なオプション

  • -R : 再帰的に変更(ディレクトリに対して)

使用例

sudo chown user1 file.txt
sudo chown user1:group1 dir/ -R

👥 chgrp:グループだけ変更

文法

chgrp [オプション] グループ名 対象

使用例

sudo chgrp staff file.txt

🗜️ tar:アーカイブファイル(.tar)を作成・展開

文法

tar [オプション] ファイル名

主なオプション

  • -c : アーカイブ作成(create)

  • -x : 展開(extract)

  • -v : 処理ファイルを表示(verbose)

  • -f : ファイル名を指定(file)

  • -z : gzipと併用(.tar.gz)

  • -j : bzip2と併用(.tar.bz2)

使用例

# 圧縮
tar -cvf archive.tar dir/
tar -czvf archive.tar.gz dir/

# 展開
tar -xvf archive.tar
tar -xzvf archive.tar.gz

💨 gzip:単一ファイルを圧縮(.gz)

文法

gzip [オプション] ファイル

主なオプション

  • -d : 解凍(gunzip と同じ)

  • -k : 元ファイルを残す(keep)

使用例

gzip file.txt         # → file.txt.gz を生成し、元ファイルは削除
gzip -k file.txt      # → file.txt.gz を生成し、元ファイルを保持
gunzip file.txt.gz    # 解凍

📉 bzip2 / bunzip2:より高圧縮(.bz2)

使用例

bzip2 bigfile.iso     # → bigfile.iso.bz2
bunzip2 bigfile.iso.bz2

🪶 xz / unxz:最高圧縮率(.xz)

使用例

xz hugefile.bin       # → hugefile.bin.xz
unxz hugefile.bin.xz

📃 zip / unzip:Windows互換の圧縮

使用例

zip archive.zip file1 file2 dir/
unzip archive.zip

.zipはマルチプラットフォーム向けに便利!