• 日本語
    • English (英語)
Avinton JapanAvinton JapanAvinton JapanAvinton Japan
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ

ファイル管理

  • ルーティング
  • データベースの命名規則
  • 三目並べ – 2.〇×を交互にゲーム盤に入るようにしよう
  • 三目並べ – 3.勝敗がつくようにしよう
  • クリーンコード(Clean Code)
  • 三目並べ – 4.「スタート」「リセット」ボタンをつけよう
  • 三目並べ – 5.先攻後攻を決めて、コンピュータ対戦にしよう(前編)
  • インフラストラクチャー(サーバー、コンポーネント、RAID)
  • 機械学習入門者向け Support Vector Machine (SVM) に触れてみる
  • YOLOv8を用いた物体検出
  • 正規表現とパイプ
  • 機械学習エンジニアに必要なスキル
  • 軽量版Kubernetesディストリビューション – k0s クラスターの構築
  • ファイル操作コマンド
  • グループとユーザー
  • 困った時に使うコマンド
  • 一般グループのユーザーとグループ
  • プライバシーポリシー
  • 三目並べ – 6.先攻後攻を決めて、コンピュータ対戦にしよう(後編)
  • フロントエンド開発のための環境構築
  • ファイル検索コマンド
  • 質問
  • 仮想化環境のディスク容量を拡張する
  • ユーザー権限とアクセス権
  • データ分析基礎 – Part1
  • 三目並べ – 0.導入
  • テキスト処理
  • データベースへのデータロード
  • 機械学習概要1
  • 機械学習入門者向け Naive Bayes(単純ベイズ)アルゴリズムに触れてみる
  • ファイル管理
  • SSHを使用してホストOSからゲストOSに接続する
  • 機械学習入門者向け ChainerRLでブロック崩しの学習
  • 機械学習入門者向け ランダムフォレストによる Kaggle Titanic生存者予測
  • 機械学習概要2
  • データ分析基礎 – Part 2
  • 機械学習入門者向け 分類と回帰の違いをプログラムを書いて学ぼう
  • フロントエンドのWeb開発について
  • ダイナミックルーティング
  • 三目並べ – 1.ゲーム盤を作ろう
  • 【Python入門】Python Numpy チュートリアル
  • Amazon EC2 インスタンスの初期設定をしよう
  • AmazonEC2とVPCでネットワークとサーバーを構築しよう
  • Apache NiFi Exercise
  • Apache NiFi データパイプライン基礎
  • Apache NiFiの環境設定
  • Apache Spark 基礎
  • Apache SparkとApache Zeppelinの概要と環境構築
  • Apache Superset maptoolの使い方
  • Apache Superset 基礎
  • Apache Superset 概要と環境構築
  • Apache Zeppelin 基本機能
  • APIのデモンストレーション
  • Avinton Academy コンテンツガイド
  • AWS CLIをインストールしてコマンド操作しよう
  • AWS CLIを使ってEC2のファイルをS3へアップロードしよう
  • AWS Route 53を使って独自ドメインのWebページを表示させてみよう
  • AWSアカウントの作成と必ずやるべきセキュリティ対策
  • AWSのEC2インスタンスでWordPressブログを公開してみよう
  • AWS入門者向け 初心者が最初に理解すべきEC2とVPCの基本的な用語解説
  • CCNA
  • Certbotを使ってSSL証明書を発行し、HTTP通信を暗号化しよう
  • CISCO 1800ルータセットアップ
  • CSV import & export – Node.js, mySQL – 1
  • CSV import & export – Node.js, mySQL – 2
  • Docker Compose(Nginx + Flask + MySQL)演習
  • Docker Engineのubuntu上へのinstall
  • Docker 概要とセットアップ
  • Docker, Kubernetesの学び方について
  • Dockerコンテナイメージの最適化/ベストプラクティス
  • DockerとApacheを使ってWebサーバーを構築しよう
  • EC2からS3へ自動でぽいぽいアップロードするスクリプトの作成
  • ESP32-CAMのサンプルアプリケーションを実行する
  • 01 – Sparkfun Inventor’s Kit の準備
  • 02 – Sparkfun Inventor’s KitでLチカ
  • 03 ポテンショメータでLEDの点滅間隔をアナログ入力する
  • 04 フォトレジスタで明るさに反応するシステムをつくる
  • 05 LCDに文字列を表示する
  • 06 – BME280とLCDを組み合わせて温度計をつくる
  • ESP32とArduino IDE/PlatfromIOでHello Worldアプリケーションの実行
  • ESP32と超音波センサー HC-SR04 で物体の距離を計測する
  • ESXi – Switchの追加とVLAN
  • ESXi – VyOS
  • ESXi – 小規模ネットワーク 構築
  • Gitとは
  • VS CodeでGitHub Copilotを設定する
  • VSCode リモート開発環境
  • GNS3のセットアップ
  • Kubernetesクラスター上へのOpenVINOモデルサーバーを使用したサンプルアプリケーションのデプロイ
  • Linuxとは
  • NAT
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – Socket.IO編
  • NVIDIA Cumulus VX + GNS3でBGPネットワークのシミュレーション
  • OpenCVのテストプログラム
  • PacketTracerのセットアップ
  • Pandasによる構造化データ分析
  • PCからルータ、スイッチへのSSH接続設定
  • PostGIS exercise
  • PostgreSQL – Python – Apache – Bootstrap
  • MySQLとMySQL Workbench のセットアップ
  • PostgreSQL Setup
  • PostgreSQL – インデックスを利用したパフォーマンス改善方法
  • PostgreSQL – パーティショニングを利用したパフォーマンス改善方法
  • PostgreSQLによるデータ分析
  • postgreSQLへのshp fileのimport
  • Python2.7とOpenCVのインストール
  • Python3.8 と OpenCV のインストール (Ubuntu20.04LTS)
  • Pythonでデータベースを操作する
  • Pythonで画像を分類するプログラムを作成する
  • Pythonによるマルチスレッドプログラミング実践
  • Raspberry Pi 4B のセットアップ
  • Raspberry PiとBME280を使用して温度と湿度、気圧を読み取る
  • REDIS
  • Redux基礎 – 主要な概念と用語
  • Ruby on Rails を MySQLでセットアップ
  • Ruby on Railsによる簡単なウェブアプリケーション
  • SampleアプリケーションのKubernetes上へのデプロイ
  • Scala 基礎
  • scikit-learnとは
  • Spark SQL エクササイズ
  • SparkMLによるKaggle Titanic生存者予測
  • KNIME, AutoMLライブラリによる住宅価格予測
  • SparkMLによる住宅価格予測
  • SQL 便利な関数
  • Ubuntuの基本設定
  • uhubctlでUSBデバイスのオンオフをコントロール
  • Terraform入門 2 – Terraformのstate管理
  • Terraform入門 1 – TerraformでAWS上にEC2インスタンスを作成する
  • Virtualisation and Container (仮想化とコンテナ) – Ansible, Docker and Kubernetes
  • viエディタ
  • VLAN
  • VMware ESXi サーバー構築
  • Webアプリ開発に欠かせないGoogle Chrome DevToolsの基本
  • Windows Server 2012 R2 Hyper-V
  • YOLOv5を用いた物体検出
Home Avintonアカデミー ファイル管理
ここでは、ファイルシステムの概念と管理操作を身に付けます。

Linuxのファイル管理

Linuxのファイルを管理するためには、ハードディスクとファイルシステムとディレクトリ構造の知識が必要です。

ファイルシステムとは

ファイルシステムとは、ファイル名・更新二付けなどの属性データファイルデータ本体を効率よく管理するための仕組みです。ファイルシステムにはいくつか種類があり、利用するファイルシステムにより、ファイルをアクセスしたときに得られる効率や安全性が変わります。

パーティションとは

ハードディスクを利用するために、ハードディスクを区切った単位です。ディスクの内部を複数のパーティションを区切る作業が必要です。パーティションを分割する作業をパーティショニングと呼びます。

/ディレクトリ

Linuxのディレクトリ構造はツリー上になっていることを以前の章で説明しました。最上階層にあるディレクトリは/ディレクトリであり、ルートディレクトリと呼ばれます。/rootディレクトリとは異なるので気を付けてください。

マウント

WindowsなどのOSでは、ハードディスクやUSBメモリをつないだとき、それらを独立したドライブとして認識しますが、LinuxではハートディスクやUSBメモリを1つのデバイスファイルとして認識します。そしてそれらを1つのディレクトリとして認識させます。この操作を「マウントする」といいます。
LinuxでハードディスクやUSBメモリを利用するには、1つ目を必ず/ディレクトリにマウントします。複数のディスクを利用する場合は、2つ目以降のディスクをすでにマウントされているディスクの中のディレクトリにマウントします。ここで気を付けるべきことは、既に中身があるディレクトリにディスクをマウントすると、マウントされたディレクトリが/ディレクトリであっても中身が置き換わってしまい、今まであったディレクトリの中身は読み書きできなくなります。また、間違えても/rootディレクトリには絶対マウントしないようにしてください。

ファイルシステムの作成方法

ハードディスクを利用するには、以下の手順で作成して利用できます。
・パーティションの作成:fdiskコマンド
・ファイルシステムの作成:mkfsコマンド
・マウント:mountコマンド
これらのコマンドは/sbinディレクトリにあるシステム管理用のコマンドですので、rootユーザ(管理者)でなければコマンドを実行することができません。そのため、事前にrootユーザに切り替える必要がありますが、ubuntu環境下ではsuコマンドは使えないので、sudoコマンドの後にシステム管理用のコマンドを入力して実行してください。

ディスクのパーティション

fdiskコマンドは、分割されたパーティションの情報を調べたり、パーティションを作成、削除したりできます。
Linuxでは、システムとデータのバックアップ頻度を差別化したり、障碍児の影響範囲を狭めたりするために、パーティションを分割します。

1
fdisk オプション デバイスファイル

【代表的なオプション】

コマンド一例

【演習】

fdiskコマンドを実行して現在認識されているハードディスクのパーティション情報を表示しましょう。
以下の例に従ってコマンドを実行してみてください。

ここでは、接続されているハードディスクのデバイス名は/dev/sda1、/dev/sda2、/dev/sda5の3つです。つまり、1つ目のハードディスク(sda)が3つに分割されていることが分かります。(2つ目以降のハードディスクはsdb、sdc、sde…という風にアルファベット順になっています。)

パーティションの分割

コンピュータのハードディスクとして主にSATAとSASの2つのインターフェース(周辺機器を接続するためのハードウェア)規格が広く使われています。ハードディスクは、1つのパーティションとして使うか、最大4つまでのパーティションに分割できます。
各パーティションは、基本パーティションまたは拡張パーティションとなります。拡張パーティションは1台のハードディスクに1つだけ作成することができ、拡張パーティションの中には、さらに論理パーティションを複数作ることができます。
【パーティション分割例】
・基本パーティションを4つ
・基本パーティションを3つ+拡張パーティションを1つ
※Linuxでは4つ以上のパーティションが必要となるケースが多いので、拡張パーティション1つと他の3つを基本パーティションという構成で使う場合が多くなります。

ハードディスクを増設して利用可能にする

新しいハードディスクには、データ用の領域と、スワップ領域(Linuxがメモリの代わりにプログラムを置いておく領域)の2つを作成します。
fdiskコマンドを用いてパーティションを分割しますが、分割後にサイズ等の変更が難しいのであらかじめどのようにパーティションを分割するか計画して行ってください。また、既に利用しているハードディスクのパーティションを操作すると、大切なデータが消えてしまうので気を付けてください。

ファイルシステム

ファイルシステムとは、ディレクトリやファイルの情報やデータをディスクのどこに保存してあるか管理するためのシステムです。
ファイルシステムは、ディレクトリやファイルのファイル名やファイルの作成時間、所有権限などの情報を管理しています。また、ディスクのデータが書いてある場所と書いていない場所なども管理しています。
ファイルシステムはオペレーティングシステムによって利用されるファイルシステムが異なります。Linuxの場合はディストリビューションによって採用するファイルシステムは異なりますが、多くの場合ext3もしくはext4が利用されます。CDやDVDなどはISO9600という規格のファイルシステムが使われます。
linuxファイルシステム一覧

ジャーナリング機能

ジャーナリングとは、ファイルシステムに対する書き換え処理をファイルシステムに逐一記録する機能です。ジャーナリング昨日はコンピュータ我流停止するなどの障害時に有効となります。コンピュータが急停止し、ファイルのデータがファイルシステムに書き込み途中であった場合、処理されていないコマンドを対処します。ext3ファイルシステム以降のファイルシステムはこのジャーナリング機能を取り入れています。

マウント状態の表示

dfコマンドを実行すると、現在マウントされているファイルシステムのリストを表示できます。

例えば、udevは/devディレクトリに、/dev/sda1は/ディレクトリにマウントされていることが分かります。
このようにマウントするために利用するディレクトリを「マウントポイント」といいます。

ファイルシステムの作成

ハードディスクを利用するためには、パーティションに分割した後ファイルシステムを作成します。ファイルシステムの作成にはmkfsコマンドを使います。

1
mkfs オプション

【代表的なオプション】
コマンドオプション4

マウント(mountコマンド)

ハードディスクやリムーバブルメデイアなどをマウントポイントにマウントするためにmountコマンドを使います。

1
mount -t タイプ -o オプション デバイスファイル マウントポイント

【代表的なオプション】
コマンドオプション

アンマウント(umountコマンド)

マウントされたハードディスクやリムーバブルメディアを利用しなくなるとアンマウントします。アンマウントするには、umountコマンドを使います。

1
umount マイウントポイント

スワップ領域の作成

Linuxのカーネルと呼ばれる根幹のプログラムは、ハードディスクからプログラムやデータをメモリ領域へ読み込んで実行します。プログラムやデータを新たに読み込むための空きメモリ領域がなくなると、Linuxのカーネルは今利用していないメモリ上のプログラムやデータをスワップ領域へ一時的に退避させます。

スワップファイルシステムの作成

スワップ領域を作成するには、mkswapコマンドを実行します。

1
mkswap デバイスファイル

【代表的なオプション】

コマンドオプションc

スワップ領域の作成と利用

スワップ領域は作成した後にswaponコマンドを実行すると有効化できるようになります。

無効化するときにはswapoffコマンドを使います。

1
swapon デバイスファイル

【代表的なオプション】

コマンド一例2

1
swapoff デバイスファイル

【代表的なオプション】
コマンドオプション

シンボリックリンクとハードリンク

リンク機能は、ファイルをコピーしたり移動したりせずに、別のディレクトリにあるように扱うことができる機能です。例えば、コマンドの引数としてファイルやディレクトリを指定する場合、パスが長くて複雑になると入力を間違える可能性があると思いますが、リンク機能を使えばよく使うファイルを自分のホームディレクトリにおいてあるように扱うことが可能となります。

ハードリンク

ハードリンクは、ファイルの実態を直接指し示して共有します。ハードリンクを削除しても元ファイルは削除されません。ハードリンクは、iノード番号を共有することで実現しているので、別ファイルシステムには作成することができません。

シンボリックリンク

シンボリックリンクは、元ファイルが保管されている位置を示す疑似的なファイルを作成します。シンボリックリンクを消しても元ファイルに影響はありません。元ファイルを消すとシンボリックリンクからのアクセスはエラーとなります。シンボリックリンクは、別ファイルシステムのあいだで作成することができます。windowsでいうショートカットと似たようなものと認識してもらって構いません。

1
ln 元ファイル名 リンク先名

【代表的なオプション】

コマンド一例3

①ハードリンクの作成

【演習】

/usr/bin/file(fileコマンドの実行ファイル)のコピーをホームディレトクトリに作成し、ハードリンクを作成してみましょう。
その後、コピーしたfileファイルを削除してもfile2が実行できるのを確認しましょう。
②シンボリックリンクの作成
lessコマンドのマニュアルをリダイレクトでファイル出力したものにシンボリックリンクを張ってシンボリックリンクを参照してみましょう。

ディスクを管理するコマンド

ハードディスクを管理するコマンドとして、ファイルシステムをチェックして修復するfsckコマンドや、ファイルやディレクトリが使っているディスク容量を調べるduコマンドがあります。

ファイルシステムの確認と修復(fsckコマンド)

コンピュータが異常終了するなど正常にシャットダウンが行われないと、ファイルシステム「のファイル管理情報とハードディスクに書き込まれたデータ間でつじつまが合わなくあることがあります。この場合、fsckコマンドを使って整合性を確認し、修復を行う必要があります。
※このコマンドは、異常終了した後のシステム起動時に自動的に実行されます。

1
fsck デバイス名

ディレクトリ使用量の確認(duコマンド)

細かいディレクトリの使用量を調べるにはduコマンドを使います。

1
du ディレクトリorファイル

【代表的なオプション】

コマンドオプション5

【演習】

自身のホームディレクトリの使用量を確認してみましょう。

採用情報

採用情報

Categories

  • 相互学習
  • 採用
  • 社員インタビュー
  • 学習&資格取得
  • 技術解説
  • イベント告知
  • 学内説明会&講義
  • 産学連携
  • 就職活動
  • イベントレポート
  • その他
  • 技術ブログ&インタビュー
  • mainpage
  • New Graduates Interviews
  • 中途エンジニア
  • カテゴリーなし
  • ニュースリリース&イベント

Avinton SDGs

SDGsへの貢献

Search

タグ

AI時代の経営 AvintonAcademy on Campus AWS Docker DQN FINOLAB Git IoT James Cauchi LPIC LPIC-2 PM&PMO Predictive Maintenance Raspberry Pi Sound Analysis SSD イベントレポート インターン インフラ エッジコンピューティング エリクソン クラウトネイティブ セミナー ディープラーニング データ生成 データ解析 ファンダフルリレーマラソン モブワーク リスキリング リードエンジニア 中瀬幸子 企業説明会 勉強会 大学&専門学校 帰社日 強化学習、機械学習 技術ブログ 採用 掲載告知 未経験 田中 研之輔 画像分類 社員紹介 第一級陸上特殊無線技士 観光データ
© 2023 Avinton | All Rights Reserved | プライバシーポリシー
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ
  • 日本語
    • English (英語)
Avinton Japan