Chiroru's Diary

日々の学びをちょこちょこメモしていきます

再入門Linuxおさらい、APTについて

【学習内容】
Linux のファイル操作の基本を理解する
・標準入力・リダイレション・パイプのおさらい
・apt の基本を理解する

【目次】

.bash_profileについて

ログインシェルがbashで、ログインする時に読み込まれる設定ファイルのこと。
なお途中でbashに変更した場合には、.bashrcという違う設定ファイルが読み込まれるので注意。

ポイント

  • ホームディレクトリにあるもの
  • 初めからないので必要時に作成
$ cd ~
$ ls -la  
# 隠しファイルを表示する  

$ touch .bash_profile  
# なければ作成  

$ vim ~/.bash_profile  
# bash_profile開く  

$ source ~/.bash_profile  
# 保存して終了後、すぐ反映したければ

参考サイト:IT用語辞典
参考サイト:macでPATHを通す方法

再入門 体で覚えるLinuxの基本

便利なコマンド

cut

ファイルなどの各行から指定したものを取り出す。

$ cut -c 5- <ファイル名> 
# 5文字以降を取り出す
オプション 意味
-b バイト
-c 文字
-f フィールド

wc

テキストやファイルの行数・単語数・バイト数を表示する。

$ wc <ファイル名>

duとdf

duはファイルのディスク使用量を表示。
dfはファイルのディスク使用状況を表示。

シェルの基本操作

ディレクトリ・スタック

カレントディレクトリを別の場所に保存しておき、必要に応じて特定のディレクトリに変更できる機能のこと。

コマンド 意味
dirs ディレクトリ・スタックの内容を表示
pushd カレントディレクトリをディレクトリ・スタックに入れ、引数で指定のパスに変更する
popd 引数を指定しなければ、カレントディレクトリをディレクトリ・スタックのなかで最上のパス名に戻す

参考:再入門 体で覚えるLinuxの基本

ファイル・標準入出力・リダイレクション・パイプについておさらい

ファイル

PC上の情報は、意味のある単位で別々の情報(データ)として管理されている。
ファイルはこの情報の単位のこと。

標準入出力

コマンドなどプログラムを実行する時に、最初から決まっている入力先と出力先のこと。

イメージとしては

  • 標準入力:キーボード入力
  • 標準出力:スクリーンへの出力

リダイレクション(リダイレクト)

標準入出力先を変更する機能のこと。

$ < file  
# 標準入力をfileに切替え  

$  > file  
# 標準出力ををfileに切替え  
# 同名のファイルがあると上書きされるので注意  

$ << word(※終了文字)  > testfile.txt
# wordと入力するまで標準入力を受付け、最終的にその結果をtxtにリダイレクト

$ >> file  
# 標準出力ををfileに切替え
# 出力データはファイル末尾に追加される  

$ 2> file  
# 標準エラー出力ををfileに切替え  
# 同名のファイルがあると上書きされるので注意    

$ 2>> file
# 標準エラー出力ををfileに切替え  
# 出力データはファイル末尾に追加される  

$ > file 2>&1    
# 標準出力と標準エラー出力を共にファイルに変更  

$ >/dev/null 2>&1  
# 「コマンドの標準出力をゴミ箱へながし標準エラー出力も標準出力と同一のゴミ箱へ」

参考:リダイレクトの基本
参考:5分で一通り理解できる!Linuxのリダイレクト 使い方と種類まとめ

パイプ(パイプライン)

あるコマンドの結果を別のコマンドでも使用するための機能。
シンプルなコマンドを部品として組み合わせて複雑な処理が行えるようになる。

<コマンド> | <コマンド2> [ | <コマンド3>]

例えばlessコマンドは、標準出力に結果を表示するコマンド(lsとか)とパイプで繋がれて、表示結果が長いものを1ページずつ閲覧できるようにする。

なお、パイプラインは標準出力だけを次のコマンドに送るので、「標準出力エラー」もまとめてパイプラインに送りたい時は2> &1という記法を追加して、標準エラー出力を標準出力へリダイレクトしておく。

$ ls -l / /xxxxx 2>&1 | less

参考:日報20日
参考:新しいLinuxの教科書(184~195)

aptについて

APTはDebian用のパッケージ管理システム。 Debian系のLinuxディストリビューションでは、debというパッケージファイル形式を採用しており、これをインストールやアンインストール、情報検索することができるコマンド。

aptは「何」を「どこ」からダウンロードしてくるのか

aptパッケージリポジトリ(gitのイメージに近い)からダウンロードしてくる。
パッケージは必要なソフトやライブラリのまとめのこと。
リポジトリはパッケージを配布してる場所のこと。

apt-getでインストールやアンインストール
apt-cacheで情報表示や検索

またこれらを統合したaptitudeというコマンドもある。
これはOSインストール時の指定によってデフォルトではインストールされないもので、自分もaptitudeコマンドが実行できず、インストールをした。

$ sudo apt-get install <パッケージ名>   
# root権限でパッケージをインストールする  

$ sudo apt-get remove <パッケージ名>   
# パッケージの削除(アンインストール)  

$ sudo apt-get purge <パッケージ名>  
# 設定ファイルなど含めた完全ば削除  

$ apt-cache search (--names-only) <検索ワード>    
# パッケージの検索  
# (※--names-only パッケージ名だけに限定したい時つける)  

パッケージ間の依存性

多くのパッケージは、先に入れておかないといけない別のパッケージを持つ。
これを依存性を持つといい、APTは必要に合わせて一緒にインストールするなど、依存性の問題を自力で解決する。

参考:APT

標準以外のソフトをインストール

デフォルトでリポジトリに登録されてないものをインストールする練習をこちらのサイトを参考に行なった。

その際vimE45 readonly option is set(add ! to override)のエラーが出た。
以下で強制的に保存できる。

:w !sudo tee %  

:q!