Linux オペレーティング システムで一般的に使用されるコマンドの完全なコレクション: ファイル操作

Linux オペレーティング システムの説明書

Previous: Linux オペレーティング システムの説明 (1) システム管理

mkdirコマンド

構文: mkdir [option] dirname...
機能: 現在のディレクトリの下に「dirname」という名前のディレクトリを作成します
共通オプション:

-p、--parents ** にはパス名を指定できます。このとき、パス内にまだ存在しないディレクトリがある場合、このオプションを追加すると、システムは存在しないディレクトリを自動的に作成します。つまり、一度に複数のディレクトリを作成できます。

例:

mkdir –p test/test1 : 递归建立多个目录  

rmdir コマンド && rm コマンド

rmdirはmkdirに相当するコマンドです。mkdirはディレクトリの作成、rmdirは削除のコマンドです。

  • 文法:
 rmdir [-p] [dirPath]
  • 対象:カレントディレクトリの操作権限を持つすべてのユーザー

  • 機能: 空のディレクトリを削除

  • 一般的なオプション:

    • -p サブディレクトリを削除した際に、親ディレクトリも空ディレクトリになった場合は、親ディレクトリも一緒に削除します。

rm コマンドはファイルまたはディレクトリを同時に削除できます

  • 文法:

     rm [-f-i-r-v] [dirName/dir]
    

    パラメータ情報:

    • -f ファイル属性が読み取り専用であっても、直接削除します
    • -i 削除する前に 1 つずつ確認を求めます
    • -r ディレクトリとその下のすべてのファイルを削除します
  • 対象者:全ユーザー

  • 機能: ファイルまたはディレクトリの削除

cpコマンド

このcpはあのcpではない!うわー

構文: cp [オプション] ソース ファイルまたはディレクトリ ターゲット ファイルまたはディレクトリ

機能:ファイルまたはディレクトリをコピーします。

説明: cp コマンドは、ファイルまたはディレクトリのコピーに使用されます。同時に 3 つ以上のファイルまたはディレクトリが指定され、最終的な宛先が既存のディレクトリである場合、以前に指定されたすべてのファイルまたはディレクトリがこのディレクトリにコピーされます。 。複数のファイルまたはディレクトリを同時に指定し、最終的な宛先が既存のディレクトリではない場合、エラー メッセージが表示されます。

一般的なオプション:

  • -f または --force 宛先のファイルまたはディレクトリが既に存在するかどうかに関係なく、ファイルまたはディレクトリを強制的にコピーします。
  • -i または --interactive ファイルを上書きする前にユーザーに確認する
  • -r 再帰処理。指定したディレクトリ下のファイルとサブディレクトリをまとめて処理します。ソースファイルやディレクトリの形式がディレクトリやシンボリックリンクに属さない場合は、通常のファイルとして扱われます。
  • -R または --recursive 再帰処理。指定されたディレクトリ内のファイルとサブディレクトリが一緒に処理されます。

例:

# ファイルをコピーする

cp test.c new.c # 現在のフォルダーに new.c ファイルをコピーして生成します

cp test.c … # 上位ディレクトリに test.c ファイルをコピーして生成

cp test.c …/new.c # 上位ディレクトリに new.c ファイルをコピーして生成します

# フォルダーをコピーする

cp -r test new # 現在のディレクトリ内のテスト フォルダーを新しいフォルダーにコピーします。ソース フォルダー内のファイルがユーザーに属していない場合は、プロンプトが表示されます。

cp -rf test new # 現在のディレクトリのテスト フォルダーを新しいフォルダーにコピーし、ユーザーの所有権を無視します

mvコマンド

mvコマンドはmoveの略で、ファイルの移動(切り取り)やファイル名の変更に使用できます。

構文: mv [オプション] ソース ファイルまたはディレクトリ ターゲット ファイルまたはディレクトリ

関数:

  1. mv コマンドの 2 番目のパラメーターのタイプ (ターゲット ファイルかターゲット ディレクトリか) に応じて、mv コマンドはファイルの名前を変更するか、新しいディレクトリに移動します。
  2. 2 番目のパラメーターのタイプがファイルの場合、mv コマンドはファイルの名前変更を完了します。この時点では、ソース ファイルは 1 つだけ存在でき (ソース ディレクトリ名である場合もあります)、指定されたソース ファイルまたはディレクトリの名前が次のように変更されます。指定されたターゲットファイル名。
  3. 2 番目のパラメータが既存のディレクトリ名の場合、複数のソース ファイルまたはディレクトリ パラメータが存在する可能性があり、mv コマンドは各パラメータで指定されたソース ファイルをターゲット ディレクトリに移動します。

一般的なオプション:

  • -f : 強制は、ターゲットファイルがすでに存在する場合、確認せずに上書きすることを意味します
  • -i : 対象ファイル(宛先)が既に存在する場合、上書きするかどうかを尋ねます

例:

mv test.c newFolder/ # test.c ファイルを newFolder に移動します

mv test newFolder # テスト フォルダーを newFolder フォルダーに移動します。

mv test.c newName.c # test.c ファイル名を newName.c に変更します

猫コマンド

機能: ターゲット ファイルの内容を正の順序で表示します。出力の終わりがテキストの終わりになります。

構文: cat [オプション] [ファイル]

の:

  • -b 空ではない出力行の数
  • -n 出力のすべての行に番号を付けます
  • -s 複数の空行を出力しません。

拡張子: 対象ファイルの内容を逆順に表示します

tac [オプション] [ファイル] (名前は逆になります)

さらにコマンド

構文: more [オプション] [ファイル]
機能: more コマンド。この機能は cat に似ていますが、最初から表示を開始して徐々に下にスクロールし、一度に n 行の表示をサポートしますが、上へのスクロールはサポートしません
一般的なオプション:

  • -n 出力のすべての行に番号を付けます
  • q さらに終了

例:

more test.c # test.c ファイルを最初から読み込み、画面が到達できる最大行数をロードします。Enter キーを押して一度に 1 行ずつロードします

more -5 test.c # test.c ファイルを最初から読み取り、一度に 5 行ずつ読み取り、Enter キーを押して 5 行を追加します

#ビューをスキップ

more -5 test.c # 行数を指定します。指定しない場合は最大行がロードされます

/100

# 先頭から、表示中に「/100」と入力すると100行目を直接参照できますが、ファイルの行数を超えるとエラーが表示されます。

コマンドを減らす

機能:less は more と似ていますが、less を使用するとファイルを自由に参照できます。一方、more は前方にのみ移動でき、後方には移動できません。また、less は表示する前にファイル全体をロードしません

構文:less [パラメータ]ファイル

パラメータ:

  • -検索時に大文字と小文字を無視します
  • -N 各行の行番号を表示します
  • /string: 「string」を下方検索する関数
  • ?string: 「string」を上方向に検索する関数
  • n: 前の検索を繰り返します (/ または ? に関連)
  • N: 前の検索を逆方向に繰り返します (/ または ? を基準にして)
  • q:辞める

ヘッドコマンド

先頭または末尾に特定の数のテキスト ブロックを表示するために使用され、head はファイルの先頭を標準出力に表示するために使用されます。

構文: head [パラメータ]... [ファイル]...
機能: head は、ファイルの先頭を標準出力に表示するために使用され、デフォルトの head コマンドは、対応するファイルの最初の 10 行を出力します。
オプション:

-n<行数> 表示する行数

例:

head -5 test.c #test.c ファイルの最初の 5 行を出力します (標準出力に、人間の言語で: 画面に出力します)

テールコマンド

head と tail は名前と同じくらい理解しやすいもので、head はファイルの先頭を標準出力に表示するために使用され、tail はファイルの終わりを表示するために使用されます。tail コマンドは、指定された位置 (デフォルトは最後の 10 行) から始まるファイルを標準出力に書き込みます。

構文: tail[必須パラメータ][オプションパラメータ][ファイル]

機能: 指定したファイルの末尾の内容を表示するために使用されます。ファイルを指定しない場合は入力情報として処理されます通常、ログ ファイルを表示するために使用されます。

パラメータ:

  • f ループ読み取り
  • -n<行数> 行数を表示します。

tail コマンドの -f オプションを使用すると、変更中のログ ファイルを簡単に確認できます。tail -f filename を使用すると、更新だけでなく、filename の最後の内容が画面に表示され、最新のファイルの内容を確認できます。

拡張: 範囲を読み取るにはどうすればよいですか?

4 つの読み取り方法を学習しました。今度は範囲内のデータを読み取る方法を試してみましょう。

拡張知識ポイント:

Linux では、echo コマンドはコンテンツを標準出力に出力します。次に例を示します。

echo "Hello World"		
# output:
[root@]# echo "Hello World"
Hello World

echo 	
# output:
[root@]# echo 
...(空行)

このとき、デフォルトではダブルクォーテーションで囲まれた文字列を標準出力(画面)に入力しますが、その内容をファイルに出力する必要がある場合はどうすればよいでしょうか。非常に簡単ですが、今回は「出力リダイレクト」を導入しました。

echo "Hello World" > log.txt
# 这句话的意思是,将输出的内容,输出重定向流入log.txt文件内,不再流入标准输出器内(此刻的流是在语言层面上帮助理解,但不能认为操作系统该操作为“流”!!)
# 此时,我们会把Hello World文字输出到当前目录内的log.txt文件内,如果有当前文件则直接覆写,如果没有则创建之。

# 如果我们不想覆写写入文档内,那么我们只需要多加一个尖括号
echo "Hello World" >> log.txt
# 此时内容不再是覆写,而是“追加重定向”在文档尾部

前に説明した cat はファイルから標準出力に情報を読み取ることができるため、ファイル名を指定しない場合は、たとえば次のようになります。

cat
# 此时,我们系统会从我们的标准输入内读取信息(说人话:键盘,例如C/C++里的scanf, cin)

それから、今リダイレクトを出力できます。今リダイレクトを出力できますか? 答えは「はい」です。

cat < test.c
# 此时,test.c的内容会直接流入cat内

コンテンツを一時的に保存して次の単元に流す方法はありますか。非常に簡単に、「パイプライン」を使用できます。

cat file.txt | head -10
# 中间的 | 就是管道的意思。
# 这里的意思是,cat读取file.txt内的内容,并将内容通过管道 | 放入head 里,最后head在将其进行 -10 操作
# 系统像流水线一样将内容逐个处理完流入到最后一个处理单元内。
# 小tips: 使用管道时,默认隐式发生重定向!

基本が完了したので、コンパスを前に向けて、音程の内容を読み取る方法を見てみましょう。この時点で、ファイル内の 80 ~ 100 行のコンテンツの読み取りをシミュレートします。

  • 方法 1: 出力を一時ファイルにリダイレクトし、最後に一時ファイルを読み取る

    head -100 file.txt > temp.txt		# 从头开始读100行,并重定向到temp.txt内
    tail -20 temp.txt					# 读取temp.txt内后20行内容
    
  • 方法 2: 一時ファイルの代わりにパイプラインを使用します。

    #方式一
    cat file.txt | head -100 | tail -20
    # 1. 先读取file.txt,流入管道
    # 2. head从管道内进行-100
    # 3. tail从管道内进行-20
    #方式二
    head -100 file.txt | tail -20
    

    ソウルペインター:

    画像-20220729020608459

エピローグ

今後もLinuxに関する注意事項を更新していきます。記事が気に入ったらトリプルリンクをワンクリックして最新記事をフォローしてください。公式アカウント「01プログラミングハウス」のフォローもお忘れなく」を先に読んでください!小屋に注目して、迷わずプログラミングを学べます。皆様のご支援が私たちが前進し続ける原動力です!

おすすめ

転載: blog.csdn.net/weixin_43654363/article/details/126415918