ファイル操作
ファイルとディレクトリの基本 操作
basename
パスからファイル名 を抽出
basename /path/to/file.txt
# 出力: file.txtbat
現代 的 な cat の代替 。シンタックスハイライト、行番号 、git 統合 をサポート
# ファイルを表示(自動シンタックスハイライト)
bat config.yaml
# 行番号と git 変更を表示
bat --style=numbers,changes file.py
# プレーンテキストのみを表示(装飾なし)
bat --plain file.txt
# 2つのファイルを比較
bat --diff file1.txt file2.txt
# 不可視文字を表示
bat --show-all script.shcd
ディレクトリを変更 、サポートされるディレクトリシンボル:
.: 現在 のディレクトリ..: 親 ディレクトリ~: ホームディレクトリ-: 前 のディレクトリ
cd ..
cd ~
cd -cp
ファイルとディレクトリをコピー
# ディレクトリをコピー
cp -r my_dir /tmp/my_dir1
# ファイルをコピー
cp new_file.txt copy_file.txt
cp [file ...] [destination]eza
現代 的 な ls/tree の代替 。カラー出力 、アイコン、git ステータスをサポート
# 基本リスト(カラー出力)
eza
# アイコン付き長形式
eza -l --icons
# git ステータスを表示
eza -l --git
# ツリー表示
eza --tree --level=2
# ディレクトリのみを表示
eza -D
# サイズで並べ替え
eza -l --sort=size
# 完全な情報(git、時刻を含む)
eza -la --git --icons --time-style=long-isofd
現代 的 な find の代替 。より簡潔 な構文 と高速 な検索
# ファイル名を検索
fd pattern
# 特定の拡張子を検索
fd -e py
# ディレクトリを検索
fd -t d dirname
# 隠しファイルを検索
fd -H pattern
# 検索深度を指定
fd -d 2 pattern
# コマンドを実行(find -exec に類似)
fd -e log -x rm {}
# ディレクトリを除外して検索
fd pattern -E node_modulesfind
ファイルを検索
# 基本検索
find / -name "filename"
find / -type d -name "<directory-name>"
# 正規表現を使用
find . -name "*.so*"
# 検索してコマンドを実行
find . -type f -name "file1.go" -exec dirname {} \;ln
ファイルリンクを作成
# ソフトリンクを作成
ln -s [source] [destination]
ln -s /usr/local/lib/libz.so.1 /usr/lib64/libz.so.1ls
ディレクトリ内容 を一覧 表示
# OS バージョンを確認
ls /etc/*release*
# 人間が読みやすい形式で一覧表示
ls -lh
# すべてのファイルを一覧表示(隠しファイルを含む)
ls -al
# inode 情報を一覧表示
ls -limkdir
ディレクトリを作成
# 単一のディレクトリを作成
mkdir <folder_name>
# 多層ディレクトリを作成
mkdir -p <folder_name>/<subfolder>/<subfolder>mv
ファイルを移動 /名前 変更
# ファイル名を変更
mv new_file.txt sample_file.txt
# ファイルを移動
mv [file ...] [destination]
# 上書き確認
mv -i file1 file2ncdu
インタラクティブなディスク使用量 分析 ツール。大 きなファイルを素早 く発見
# 現在のディレクトリを分析
ncdu
# 指定したディレクトリを分析
ncdu /var/log
# 特定のディレクトリを除外
ncdu --exclude .git
# 結果をエクスポート
ncdu -o output.json /home
# エクスポートした結果を読み込む
ncdu -f output.json
# 読み取り専用モード(削除禁止)
ncdu -r /インタラクティブ操作 :
↑/↓: ナビゲーションEnter: ディレクトリに入 るd: 選択 項目 を削除n: 名前 で並 べ替 えs: サイズで並 べ替 えq: 終了
rm
ファイルまたはディレクトリを削除
# 基本構文
rm [OPTION]... [FILE]...
# ディレクトリを再帰的に削除
rm -r [DIRECTORY NAME]
# 削除前に確認
rm -riscp
セキュアコピー
# ローカルファイルをリモートにコピー
scp -i test.pem -v "C:\Users\User\Downloads\api-server.jar" ec2-user@52.74.112.210:/tmp
# リモートからローカルにファイルをコピー
scp -i test.pem ec2-user@[ip]:/home/java/api/server.log [download_destination]touch
空 ファイルを作成 またはタイムスタンプを更新
# 新しいファイルを作成
touch new_file.txt