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 file
(rwxr-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
はマルチプラットフォーム向けに便利!