Linux ファイル操作でよく使われるコマンドのまとめ

Linux ファイル操作でよく使われるコマンドのまとめ

0. 新しい操作:

mkdir abc #新しいフォルダを作成 touch abc.sh #新しいファイルを作成

1. 表示操作

カタログを見る:

ll #ディレクトリファイルの詳細を表示する

ファイルの内容を表示します:

cat|head|tail コマンド

cat abc.txt #abc の内容を表示します。head -5 abc.txt #abc の最初の 5 行を表示します。デフォルトは 10 行です。tail [options] ファイル名オプションの意味は次のとおりです。
+num: 行番号 num 以降から表示を開始します。 -num: ファイルの末尾から num 行目から表示を開始します。 num パラメータを省略した場合、システムのデフォルト値は 10 になります。
-f: 循環読み取り。たとえば、サーバー ログを表示する場合、#filename ファイルの最後の部分が画面にリアルタイムで表示され、継続的に更新されるのを確認できます。
tail -f ファイル名 
#最後の20行を表示 tail -f ファイル名

more コマンド:

more コマンドは、一度に 1 画面分の情報を表示します。情報が完全に表示されない場合は、画面の下部に「-More-(xx%)」と表示されます。

このとき、スペースキーを押すと次の画面の内容が表示されます。

「Enter」キーを押すと、次の行のコンテンツが表示されます。

前の画面を表示するには、B キーを押します。

more コマンドを終了するには、Q キーを押します。

​ less コマンド: more コマンドに似ていますが、more コマンドよりも強力です。多くの場合、パイプなど、使用頻度を少なくする必要があります。例えば:

ll /etc | 以下

stat コマンド:

作成時間、変更時間、サイズなど、ファイルに関する詳細情報を表示します。

[root@localhost ZX] root_t:s0 last access:2019-09-02 21:47:41.824053666666666666666666621:44:33.588587500 +0800最終修正:2019-09-02 21:44:44:33.5800 +0800 +0800 +0800 +0800 +0800 +0800 +0800 creation time:

du コマンド:

オプション: -h 適切な単位で表示します (ファイル サイズに基づいて kb または M 単位を自動的に選択します)

[root@localhost zx]# du -h index.html 
32K インデックス.html

2. 削除操作

rm -f aa.txt #aa.txt を強制的に削除
rm -rf fileDir #fileDir フォルダとその中のすべてのファイルを強制的に削除します

3. コピー操作

同じマシンにコピー:

cp: ファイルまたはディレクトリをコピーする

文法:

cp [options] source dest

-a: このオプションは通常、ディレクトリをコピーするときに使用されます。リンク、ファイル属性を保持し、ディレクトリの下のすべてのコンテンツをコピーします。その効果は dpR パラメータの組み合わせと同じです。 -d: コピー時にリンクを保持します。ここで言及されているリンクは、Windows システムのショートカットに相当します。 -f: プロンプトを表示せずに既存のターゲット ファイルを上書きします。 -i: -f オプションとは異なり、ターゲット ファイルを上書きする前にプロンプ​​トが表示され、ユーザーに上書きするかどうかの確認を求めます。回答が「y」の場合、ターゲット ファイルは上書きされます。 -p: ファイルの内容のコピーに加えて、変更時刻とアクセス権限も新しいファイルにコピーされます。 -r: 指定されたソース ファイルがディレクトリ ファイルの場合、ディレクトリの下にあるすべてのサブディレクトリとファイルがコピーされます。 -l: ファイルをコピーせず、リンク ファイルのみを生成します。

例:

# ../html/index.html を現在のディレクトリにコピーします cp ../html/index.html 。 
#../html/ ディレクトリ内のファイルとサブディレクトリを現在の tt ディレクトリにコピーします。tt が存在しない場合は自動的に作成されます cp -r ../html/ tt/  
#ファイルfileを/usr/men/tmpディレクトリにコピーし、file1に名前を変更します。
cp ファイル /usr/men/tmp/file1 
 
# dir2 ディレクトリがすでに存在する場合は、cp -r dir1/. dir2 を使用する必要があります。
#この時点で cp -r dir1 dir2 を使用すると、dir1 ディレクトリも dir2 にコピーされますが、これは明らかに要件を満たしていません。
ps: dir1 と dir2 を対応するディレクトリ パスに変更するだけです。

リモートレプリケーション

#現在のディレクトリにある test.txt をリモート 111.12 マシンの /zx ディレクトリにコピーします。scp test.txt [email protected]:/zx

#test.txt をリモート ユーザーのルート ディレクトリにコピーし、textA.txt という名前を付けます。
scp テスト.txt ルート@192.168.111.12:testA.txt

#次のように、ユーザーを指定せずに後続のプロンプトに入力することもできます。
SCP テスト.txt 192.168.111.12:/zx

#リモートからローカルにコピー: -r はディレクトリ全体を再帰的にコピーするために使用されます scp -r remote_user@remote_ip:remote_folder local_path

4. モバイル操作:

移動操作は、ファイルをコピーしてから元のファイルを削除することとして理解できます。

例1:

mv /zx/soft/* . # /zx/soft ディレクトリ内のすべてのファイルを現在のディレクトリにコピーします。 mv a.txt ./test/a.txt # 現在のディレクトリ a.txt を現在のテスト ディレクトリにコピーします。
mv /zx/soft/ /tmp/soft # フォルダーを /tmp/ にコピーします。tmp が存在することを確認してください。

5. 名前変更操作:

名前の変更では、引き続き移動操作コマンドが使用されます。次に例を示します。

#ディレクトリ(ファイル)Aの名前をBに変更
AB の
#/a ディレクトリ (ファイル) を /b に移動し、名前を c に変更します。 b ディレクトリが存在することを確認してください。
動画 /a /b/c
#現在のtest1ディレクトリを現在のテストディレクトリに移動し、bという名前を付けます
mv ./test1 ./test/b

6. 解凍と圧縮の操作

タール
-c: 圧縮アーカイブを作成 -x: 解凍 -t: 内容を表示 -r: 圧縮アーカイブの末尾にファイルを追加 -u: 元の圧縮パッケージ内のファイルを更新

これら 5 つは独立したコマンドであり、圧縮および解凍にはそのうちの 1 つが必要です。他のコマンドと組み合わせて使用​​することもできますが、使用できるのは 1 つだけです。必要に応じてアーカイブを圧縮または解凍する場合、次のパラメータはオプションです。

-z: gzip 属性を持つ -j: bz2 属性を持つ -Z: 圧縮属性を持つ -v: すべてのプロセスを表示する -O: ファイルを標準出力に解凍する

次のパラメータ -f が必要です

-f: ファイル名を使用します。このパラメータは最後のパラメータであり、ファイル名のみが続くことに注意してください。

3. 例:

tar -cf all.tar *.jpg このコマンドは、すべての .jpg ファイルを all.tar という名前のパッケージにパックします。 -c は新しいパッケージを生成することを意味し、-f はパッケージのファイル名を指定します。 tar -tf all.tar このコマンドは、all.tar パッケージ内のすべてのファイルを一覧表示します。-t は、ファイルを一覧表示することを意味します。 tar -xf all.tar このコマンドは、all.tar パッケージ内のすべてのファイルを抽出します。-x は抽出することを意味します。 圧縮 tar –cvf jpg.tar *.jpg //ディレクトリ内のすべての jpg ファイルを jpg.tar にパッケージ化します。例 2: tar -xzf nginx-1.14.0.tar.gz //現在のディレクトリに解凍します。 tar -zxf nginx-1.14.0.tar.gz -C /usr/local/nginx #対応するディレクトリに解凍します。例 3: tar -zxvf nginx...tar.gz #解凍してプロセスを表示します

注: 一部の圧縮プログラムでは、コマンドが見つからないためインストールする必要があるというメッセージが表示されます。次に例を示します。

yum インストール 解凍
またはUbuntuの場合:
apt-get インストール 解凍

IV. 結論

1. tar –xvf で *.tar を解凍します。 2. gzip -d または gunzip で *.gz を解凍します。 3. tar –xzf で *.tar.gz と *.tgz を解凍します。 4. bzip2 -d または bunzip2 で *.bz2 を解凍します。 5. tar –xjf で *.tar.bz2 を解凍します。 6. uncompress で *.Z を解凍します。 7. tar –xZf で *.tar.Z を解凍します。 8. unrar e で *.rar を解凍します。 9. unzip で *.zip を解凍します。

解凍時に既存のファイルを上書きしたくない場合は、-nパラメータを追加することができます。

unzip -n test.zip unzip -n -d /temp test.zip 圧縮せずに、zip アーカイブに含まれているファイルのみを確認します unzip -l test.zip 表示されたファイル リストに圧縮率も含まれていることを確認します unzip -v test.zip zip ファイルが破損していないかどうかを確認します unzip -t test.zip 同じファイルがすでに存在する場合は、unzip コマンドに元のファイルを上書きするように指示します unzip -o test.zip -d /tmp/ 例: eg1: unzip mydata.zip -d mydatabak #mydatabak ディレクトリ 10. xz に解凍します

これは2層圧縮方式で、外層はxz圧縮方式、内層はtar圧縮方式なので、2段階で解凍することができます。

 $ xz -d ノード-v6.10.1-linux-x64.tar.xz
 $ tar -xvf ノード-v6.10.1-linux-x64.tar

7.ファイルアップロードツール

ローカル Windows からリモート Linux サーバーにファイルをアップロードするには、xshell の xftp または次の小さなツール lrzsz を使用すると便利です。

yum install lrzsz #安裝工具

一般的なコマンド:

sz dist.zip #ファイルdist.zipをローカルマシンにダウンロードします rz #ウィンドウを開いてファイルをリモートサーバーにアップロードします

8.ln、file、touch コマンド

ln コマンド: ハードリンクやシンボリックリンクなどのリンクファイルを作成するために使用されます。ソフト リンクとも呼ばれるシンボリック リンクがよく使用されます。ソフト リンクは、Windows のショートカットに似ています。

例:

#現在のディレクトリに /etc/fastab を指すソフトリンク (fastab という名前) を作成します。
ln -s /etc/fastab

#現在のディレクトリに/boot/grubを指すソフトリンクを作成し、gbという名前を付けます
ln -s /boot/grub ギガバイト

注: ソフト リンクを削除する正しい方法は次のとおりです。

rm -rf ./gb

間違った方法:

rm -rf ./gb/

これにより、GRUB の下の元のコンテンツが削除されます。特にシステム ファイルのソフト リンクについては、削除する際に注意が必要です。

**ファイルコマンド:**ファイルの種類を識別するために使用します

Linux のファイルサフィックスは、ユーザー識別の便宜を図るためだけのものであり、実際の制限効果はありません。 file コマンドを使用すると、ファイルの実際のタイプを表示できます。

ファイル [-bcLz] ファイル|ディレクトリ

オプションの説明:

ファイル|ディレクトリ: 識別するファイルまたはディレクトリ -b: 識別結果を表示するときにファイル名を表示しない -c: 実行プロセスを表示する -L: シンボリックリンクファイルが指すファイルの種類を直接表示する -z: 圧縮ファイルの内容を解釈しようとする

例: index.mp4 は、本質的には mp4 ファイルではなく HTML ファイルであることがわかります。

[root@VM_0_13_centos soft]# ファイル index.mp4 
index.mp4: HTML ドキュメント、UTF-8 Unicode テキスト、非常に長い行を含む

**touch コマンド: **ファイルまたはディレクトリのアクセス時刻と変更時刻を変更するために使用されます。

touch [-am] [-t<日付 時刻>] [ディレクトリ|ファイル]

指定されたディレクトリファイルが存在しない場合は、空のファイルが直接作成されるため、空のファイルを作成するために touch もよく使用されます。

#新しいファイルaa.txtを作成します
タッチ aa.txt

オプションの説明:

-a: アクセス時刻のみを変更します。 -m: 変更時刻のみを変更します。 -t: システム時刻の代わりに指定された日付と時刻を使用します。たとえば、2019 年 10 月 20 日 16:38:13 に変更する必要があります。パラメータは「20191020163813」です

例:

変更する前に、ファイルのタイムスタンプを確認できます。statコマンドを使用して表示します。

[root@VM_0_13_centos soft]# 統計index.html 
 ファイル: 'index.html'
 サイズ: 17215 ブロック: 40 IO ブロック: 4096 通常ファイル
デバイス: fd01h/64769d Inode: 529352 リンク: 1
アクセス: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
アクセス: 2019-10-23 15:15:37.280616254 +0800
修正: 2019-10-23 15:15:37.280616254 +0800
変更: 2019-10-23 15:15:37.290616257 +0800
 生年月日: -

変更を開始します: index.html ファイルのアクセス時刻と変更時刻を現在のシステム時刻に変更します。

touch index.html

9. 操作コマンドを見つけます。

使用する必要があるファイルやディレクトリを忘れてしまうことがよくあるので、検索コマンドを使用することが非常に重要です。

find: ファイルまたはディレクトリを検索する(よく使われる)

構文は次のとおりです。

find [ディレクトリ...] [-amin <分>] [-atime <24 時間>] [-cmin <分>] [-ctime<24 時間>][-empty][-exec<実行コマンド>][-fls<リストファイル>][-follow] [-fstype <システムファイルタイプ>] [-gid <グループ番号>] [-group <グループ名>] [-nogroup] [-mmin <分>] [-mtime <24 時間>] [-name <検索内容>] [-nogroup] [-nouser] [-perm <権限値>] [-size <ファイルサイズ>] [-uid <ユーザー番号>] [-user <ユーザー名>] [-nouser]

いくつかの一般的なオプションの説明:

-size <ファイル サイズ>: 指定されたサイズに一致するファイルを検索します。ファイル サイズの単位は、バイトの場合は「c」、KB の場合は「k」になります。値が「100k」に設定されている場合、find コマンドはサイズがちょうど 100KB のファイルを検索します。値が「+100k」に設定されている場合、find コマンドはサイズが 100KB を超えるファイルを検索します。値が「-100k」に設定されている場合、find コマンドはサイズが 100KB 未満のファイルを検索します。 -user <ユーザー名>: 指定したユーザーが所有者であるファイルまたはディレクトリを検索します。ユーザー番号も指定できます。 -name <検索内容>: 指定した内容を検索します。検索内容の任意の数の文字を表すには「*」を使用し、任意の文字を表すには「?」を使用します。 -mtime <24 時間>: 指定した時間に内容が変更されたファイルまたはディレクトリを検索します。単位は 24 時間です。 2 に設定されている場合、find コマンドは 48 時間前に内容が変更されたファイルを検索します。+2 に設定されている場合、find コマンドは 48 時間以上前に内容が変更されたファイルを検索します。-2 に設定されている場合、find コマンドは 48 時間以内に内容が変更されたファイルを検索します。 -mmin <分>: 指定された時間内に内容が変更されたファイルまたはディレクトリを分単位で検索します。 cmin <分>: 指定された時間 (分単位) 内に権限属性が変更されたファイルまたはディレクトリを検索します。 -ctime は時間に対応します。 -amin <分>: 指定された時間にアクセスされたファイルまたはディレクトリを検索します。 -atim は時間に対応します。 -perm <権限値>: 指定された権限値に一致するファイルまたはディレクトリを検索します (権限値については第 6 章を参照)。設定が「0700」の場合、find コマンドは、権限値が正確に「0700」であるファイルまたはディレクトリを検索します。設定が「+0700」の場合、find コマンドは、権限値が「0700」より大きいファイルまたはディレクトリを検索します。設定が「-0700」の場合、find コマンドは、権限値が「0700」より大きいファイルまたはディレクトリを検索します。

オプションはおおよそ次のようになります。

1. 時間範囲で検索

2. ファイルサイズで検索

3. ファイル名で検索

4. 他のユーザーによる設定: 権限、ユーザー グループ、タイプなど

例:

#ルートディレクトリから開始し、名前がnginxで始まるディレクトリとファイルを検索します。 find / -name nginx* 
#サイズが100Mを超えるファイルを検索する find / -size +100M
# /home/zx ディレクトリ内で 10 分以内に変更されたファイルとディレクトリを検索 find /home/zx/ -mmin -10

探す: ファイルまたはディレクトリを検索する (あまり使用されない)

検索コンテンツを見つける

たとえば、locate nginx は、nginx を含むすべてのディレクトリとファイルを一覧表示します。 * または ? を使用できます。一致する文字に等しい。

locate コマンドは非常に高速に検索しますが、データベースを検索するため、新しく変更されたファイルやディレクトリが見つからない場合があります。 updatedb コマンドを使用してデータベースを更新できます。

which: ファイルを検索する(あまり使われない)

どの[ファイル]

which コマンドは、PATH 環境変数で定義されたパスとコマンド エイリアスのみを検索するため、その範囲は制限されます。

whereis : ファイルを検索します (あまり使用されません)

whichis [-bu] [-B<ディレクトリ>] [-M<ディレクトリ>] [-S<ディレクトリ>] [ファイル]

一般的なオプション:

ファイル: 検索コマンド

-b: バイナリファイルのみ検索

-u: 指定されたタイプを含まないファイルを検索します

-B<ディレクトリ>: 指定されたディレクトリ内のバイナリファイルのみを検索します

-M<ディレクトリ>: 指定されたディレクトリ内のヘルプファイルのみを検索します

-S<ディレクトリ>: 指定されたディレクトリ内のみソースディレクトリを検索します

たとえば、デフォルトでは、指定されたディレクトリのみが検索されます (/bin、/etc、/usr)

[root@VM_0_13_centos soft]# nginxはどこにあるか
nginx: /usr/local/nginx /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

要約する

上記は、編集者が紹介した Linux ファイル操作でよく使われるコマンドのまとめです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linuxファイル処理共通コマンド操作スキル
  • Linux での RPM ファイル操作の一般的なコマンドの概要
  • 1日1シェルコマンド Linuxファイル内容操作シリーズ - catコマンド詳細解説
  • 1日1シェルコマンド Linuxファイル操作シリーズ - lnコマンドの詳しい説明
  • Python ファイルの読み書き操作と Linux シェル変数コマンドの対話型実行方法

<<:  MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

>>:  ネイティブ JavaScript でシンプルな Gobang ゲームを実装する

推薦する

CSS ボックスの折りたたみに対する 5 つの解決策

まず、ボックスコラプスとは何でしょうか?親ボックスの内側にあるべき要素が外側にあります。第二に、箱は...

Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装

現在、Redis とコンテナについて学習中なので、Docker を使用して Redis マスタースレ...

CSS フォントの新しい使い方: カラーフォントの実装

デザイナーが特別なイベントのタイトルフォントとして以下のフォントを使用したい場合はどうすればよいでし...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル

Jenkins はオープンソース ソフトウェア プロジェクトです。Java をベースに開発された継続...

ノードの対応するバージョンに関する簡単な説明 node-sass sass-loader

目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

Vue の匿名スロットと名前付きスロットの詳細な説明

目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...

Vue バックエンド管理システムのページング機能の実装例

この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

SQL文のANDとORの実行順序で発生する問題

質問昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメン...

jsを使って簡単な計算機を作る

この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...

MySQL における distinct と group by の違い

簡単に言うと、distinct は重複を削除するために使用され、group by は統計を集計するよ...

MySQLデータをOracleに移行する正しい方法

mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...

遭遇したいくつかのブラウザ互換性の問題について簡単に説明します

背景ブラウザの互換性の問題を解決するのは非常に面倒なことです。高度な技術はそれほど必要ありませんが、...