Linux/Unix入門~ファイル操作編~

公開日:2019-06-07
最終更新:2019-06-07

未経験でIT企業に入社した方など、LinuxやUnixの操作をする必要があるが操作方法がいまいち分からない、という人向けに書きました。シェルのコマンドを紹介する記事です。オプションはなしで紹介していきます(数が多くてキリがないため)。

WindowsとUnix系OSの違い(ファイルの扱い方の違い)

IT未経験の場合、そもそもCUIを使ったことがないことがほとんどかと思います。CUIとGUIではファイル操作の勝手が違います。
Windowsでいうところのフォルダのような、ファイルをまとめた場所をLinux/Unixでは「ディレクトリ」といいます。Linux/Unixでのファイル操作は、自分がいるディレクトリを起点にしてファイルを探し、そのファイルに対して操作を行うようなイメージです。

ファイルの操作に関するコマンド

今後、コマンドの使用例と実行結果は以下のような形式で表示します。
実行コマンド #=> 出力または結果

  • pwd
    現在自分が入っているディレクトリを確認する。
    pwd #=> /home/user
    現在自分が入っているディレクトリを「カレントディレクトリ」と呼びます。
    ディレクトリは"/"区切りで記述し、"/home/user/"(ディレクトリ)や"/home/user/test.txt"(ファイル )といったファイルやディレクトリの場所と名前を記述したものを「パス (path)」と呼びます。

  • cd
    引数に指定したディレクトリに移動する。
    cd /test/ #=> '/test'というディレクトリに移動する。(出力はない。)

  • ls
    引数のディレクトリ内のファイル一覧を出力する。引数を渡さなかった場合はカレントディレクトリのファイル一覧を出力する。
    ls #=> カレントディレクトリのファイル・ディレクトリ一覧
    ls /home/ #=> /home内の全てのファイルとディレクトリを出力する。

  • mkdir
    引数で与えた名称のディレクトリを作成する。
    mkdir /home/user/test #=> /home/userの中にtestというディレクトリが作成される
    mkdir test #=> カレントディレクトリの中にtestというディレクトリが作成される。

    • 補足:相対パスと絶対パスについて
      パスの表現方法には絶対パスと相対パスがあります。絶対パスはrootディレクトリから見たディレクトリの位置を表現し、相対パスはカレントディレクトリから見たディレクトリの位置を表現します。
      カレントディレクトリが/home/user/のとき、カレントディレクトリの中にあるtestというディレクトリに移動する場合は以下のような違いになります。
      絶対パスの書き方・・・rootディレクトリ("/")から書き始める。
      cd home/user/test
      相対パスの書き方・・・カレントディレクトリから見た位置を書く。
      cd test
      なお、相対パスではカレントディレクトリを"."と表現し、カレントディレクトリの親ディレクトリを".."と表現します。(/home/user/だったら、homeがuserの親ディレクトリになる。)
  • touch
    ファイルの最終アクセス日時、最終更新日時を変更する。ファイルを作成する。
    (後者の用途での使用が多いかと思います。)
    touch test.txt #=> カレントディレクトリに0byteのtest.txtが作成される。

  • cp
    第1引数のファイルを第2引数のファイルにコピーする。
    cp test.txt test2.txt #=> test.txtと同じ内容のtest2.txtが生成される

  • mv
    ファイルを移動したりリネームしたりする。(それらを同時に行うことも可能)
    mv test.txt /home/tmp #=> test.txtが/home.tmpディレクトリ内に移動する。
    mv test.txt test_rename.txt #=> test.txtのファイル名がtest_rename.txtに変更される。

  • rm
    ファイルやディレクトリを削除する。
    rm test.txt #=> test.txtが削除される
    オプションを使用すればディレクトルや本来消すべきでないファイル・ディレクトリも削除できてしまうので、注意して使いましょう。(調べると失敗談がたくさん出てきます。)

  • rmdir
    ディレクトリを削除する。
    rmdir /home/user/tmp #=> /home/user/tmpディレクトリが削除される。

  • chmod
    ファイルやディレクトリのパーミッションを変更する。
    ※パーミッション・・・各ファイル・ディレクトリに設定されている、ユーザグループに応じた読み取り、書き込み、実行の権限のこと。
    chmod 777 test.sh #=> test.shのパーミッションを777に設定する。
    パーミッションには読み取り=4、書き込み=2、実行=1の数値が割り当てられており、その数値の和をグループに設定することで権限を割り当てる。777はすべてのユーザグループにすべての権限が付与されている状態。

    -find
    ファイルやディレクトリを検索する。
    find test.txt #=> カレントディレクトリとカレントディレクトリ配下のディレクトリからtest.txtを探し出す。

長くなってしまったので以上です。
読んでいただきありがとうございました!

記事が少しでもいいなと思ったらクラップを送ってみよう!
23
+1
勉強や仕事で得た知識をつらつら書いていきます。

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする