【目次】
【サイト内の主な Ubuntu 関連ページ】
【サイト内のまとめページへのリンク】
「端末」というとき,正確には,端末の機材を使う場合と,端末のソフトウェア(端末の機材相当の機能を持つので,「端末エミュレータ」ともいったりする)を使う場合がある. 端末のソフトウェアとしては,Windows の場合,コマンドプロンプト (Command Prompt) などがある. 端末の画面には,シェルのプロンプトが表示され,シェルのコマンドを入れることができる.そして,コマンドの結果を確認することができる
Ubuntu での端末ソフトウェアの例
Linuxのときは,シェルを管理者として実行するすることはなるべく避けて,個々のコマンドに「sudo」を付ける
bash シェルは Linux で広く使われているシェルである.
bash シェルは,Linux コマンドの実行に便利である.
Linux のシェルでは,使用するメモリ量,コアダンプサイズ,同時にオープンできるファイル数などを制限できる機能がある. 解除するには ulimit コマンドを用いる.
ulimit -c unlimited
ヒアドキュメントは,シェルで,文字列の開始と終了を,区切りを示す文字列で囲んだもの.
bash シェルでのヒアドキュメントの例を次に示す. 下の bash コマンドでは,文字列を「COMMAND」で囲んでいる.ヒアドキュメントは,複数行にわたる1つの文字列をシェルで扱うときに便利.
#!/bin/bash cat > /tmp/1 <<-COMMAND hoge hoge2 hoge3 COMMAND
次は,ヒアドキュメントを使い Python プログラムを実行している.
#!/bin/bash rm /tmp/hoge.py cat > /tmp/hoge.py <<-BPY import bpy import os bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = '/tmp/image.png') BPY blender -b --python hoge.py
sudo は,コマンドを管理者の権限で実行するためのコマンド.Linux などで使用.
オペレーティングシステムに,システム管理者 (root) でログインし,そのシェルを使いはじめること.
CSV ファイルは,カンマで区切られたテキストファイルのこと. 実は,CSV ファイルにもいろいろ種類があるが,例えば,表計算ソフト Excel の CSV ファイルは次のようになっている.
りんご,150,4,200,12月30日に購入した みかん,30,2,60,"25円のものを買う予定だったが,売り切れだった"
このデータは2行のテキストファイルであって,各行が5つのデータを含んでいる. Excel の CSV ファイルから次のことが分かる.
安全面の強化のため SSH の公開鍵,秘密鍵を使って SSH サーバを運用することが多い. Ubuntu での設定手順は,別ページ »で説明
リモート接続してコマンドを実行したとき,リモート接続を閉じても,コマンドの実行が継続するように, nohup 状態でプログラムを実行する.
実行したいコマンド ctrl + Z (同時押し) jobs -l bg %<jobs -l で調べた番号> disown %<jobs -l で調べた番号>
リモート接続しているときなどに,終了まで時間がかかるコマンドを実行開始し,リモート接続を終了したいことがある。
次のように実行
at now 実行したいコマンド ctrl + D (同時押し)
実行できているかは,atq, ps -augx で確認。
別ページ に Python の機能などをまとめている.
Python プログラムのソースコードを実行するためのソフトウェアのこと
Windows, Ubuntu での Python 起動コマンドについて:別ページ で説明している.
Google Colaboratory について:別ページ で説明している.
Ubuntu のシステム Python: 別ページ »で説明.
Python, pip, Python 開発環境,Python コンソールのコマンドでの起動: 別ページ »で説明.
Ubuntu で,システム Python 以外の Python をインストールするには pyenv の利用が便利である. pyenv は,Linux, MacOS で動く Python バージョン管理のツールである.
Ubuntu のシステム Python,Ubuntu での Python のインストール:別ページ で説明している.
venv は,Python の隔離された環境の作成が簡単にできる機能.
venv について: 別ページ »で説明
virtualenv, virtualenv-wrapper について: 別ページ »で説明
pyenv は,Linux, MacOS で動く Python バージョン管理のツールである.
pip について: 別ページ »で説明
2to3: 別ページ »で説明.
Jupyter Qt Console は Python コンソールの機能を持ったソフトウェア.
Jupyter Qt Console について:別ページ で説明している.
Jupyter ノートブックは,Pythonなどのプログラムのソースコード,実行結果などを1つのノートとして残す機能をもったノートブック.
Jupyter ノートブック について:別ページ で説明している.
Jupyter Lab は Python プログラム作成に関する種々の機能を持ったソフトウェア.
JupyterLab について:別ページ で説明している.
Spyder について: 別ページ »で説明
PyCharm は Python プログラム作成に関する種々の機能を持ったソフトウェア.
PyCharm について:別ページ で説明している.
Anaconda3 について:別ページ で説明している.
git はバージョン管理のソフトウェア.
特定のバージョンのブランチをチェックアウトしたいときは,次のようにバージョン指定を行う.
git のページ: https://git-scm.com/
git clone https://github.com/open-mmlab/mmdetection.git cd mmdetection git checkout v2.14.0
Ubuntu での git のインストールは, 次のコマンドを実行.
sudo apt -y update sudo apt -y install git
cmake は,ソフトウェアのソースコードからのビルドを簡単に行えるようにするためのソフトウェアである.
cmake のオプションは,Ubuntu など Linux 系では ccmake コマンドで確認できる.
Ubuntu では,端末で,次のコマンドを実行して,cmake をインストールする.
sudo apt -y update sudo apt -y install cmake cmake-curses-gui cmake-gui
cmake のジェネレータは,次のページに説明がある.
https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html
Ninja はビルドシステム.
起動は,gdb <ファイル名>です.
gdb a.out
終了は,quit です.
quit
デバッガ gdb の機能
デバッグを行うソフトウェアとしては gdbなどがある. Visual Studio Code のプラグインには,デバッガとの連携機構を持つものがある. PyCharm は,Python プログラムのデバッグの機能を持つ.
デバッガには,ブレークポイント,ブレークポイントにおける変数値などの表示,ステップ実行の機能がある. ステップ実行の操作には,以下の通り,ステップイン,ステップオーバー,ステップアウト,続行の操作がある.
JDK は Java プログラムの作成や動作に必要である。
【OpenJDK のインストール】
【Java のバージョンの確認】
Java のバージョンは,次のコマンドで確認できる。
java -version
【Ubuntu での Java プログラムの実行】
Main.java を実行するために,次のコマンドを, コマンドプロンプトで実行する.
javac -encoding UTF-8 Main.java java Main
Main.java として次の Java プログラムを実行すると,結果として「3.000000」が表示される.
class Ball { double x; double y; String color; public Ball(double x, double y, String color) { this.x = x; this.y = y; this.color = color; } public double dist() { return this.x + this.y; } } public class Main { public static void main(String[] args) { Ball a = new Ball(1, 2, "red"); Ball b = new Ball(3, 4, "green"); System.out.printf("%f", a.dist()); } }
【サイト内の Java 関連の資料】
Ubuntu のリリース名の確認は,次のコマンドで行うことができる
lsb_release -sc
Ubuntu でのレポジトリの追加では,次のようにリリース名を指定する必要があることが多い.
sudo add-apt-repository "deb [arch=amd64] https://archive.panda3d.org/ubuntu `lsb_release -sc` main"
パッケージのアップデート操作
端末を開き,次のように操作(端末を開くには,右クリックメニューが便利)
sudo apt -y update sudo apt -yV upgrade
カーネルに関するパッケージである linux-headers と linux-image の新しい版を追加したい場合には次の操作を行う.
sudo apt -yV dist-upgrade sudo apt -yV autoremove sudo apt autoclean sudo shutdown -r now
Ubuntu では,apt, apt-cache, dpkg コマンドを用いて,パッケージ管理を行うことができる
Ubuntu では,NVIDIA ドライバは次のコマンドでインストールできる.
sudo ubuntu-drivers autoinstall
グラフィックスドライバは次のコマンドで確認
nvidia-smi
ARP テーブルには,ネットワークにつながっている機器の IP アドレスが格納されている. 「arp -a」コマンドにより表示することができる.
Ubuntu では次のように操作する.
touch /tmp/now find . -newer /tmp/now gsettings list-recursively > /tmp/1
Linux の機能を用いて,新規作成,更新されたファイルをリアルタイムに検知できる.
inotifywait -e create -e close -r -m /tmp | tee -a /var/tmp/log-inotifywait > /dev/null
sudo fdupes -rf /home | sort | uniq | grep -v '^$' > /tmp/remove.lst # while read file; do rm -v "$file"; done < remove.lst
cd /home sudo find . -type d -empty -delete
Ubuntu で fdupes コマンドを用いて, /home 下の重複ファイルを除去する操作は次の通り。 実行前に,必ずバックアップを行うこと。
sudo fdupes -rf /home | sort | uniq | grep -v '^$' > /tmp/remove.lst while read file; do rm -v "$file"; done < remove.lst
Linux で find コマンドを用いて,空のディレクトリを削除する操作は次の通り。
cd /home sudo find . -type d -empty -delete
cat ファイル表示 ls ファイル名表示 cp ファイルコピー mv ファイルの移動,ファイル名の変更 rm ファイル削除 cd カレントディレクトリの移動 pwd カレントディレクトリの表示 which コマンドのフルパス表示
ps プロセス表示 df ディスク情報の表示 sudo 管理者権限でコマンドを実行 passwd パスワードの変更 shutdown システムのシャットダウン uname -a カーネルのバージョンなどの表示
apt install パッケージのインストール apt-get search パッケージの検索 dpkg -L インストール済みパッケージの中身の表示 dpkg -l インストール済みパッケージの表示
ip neigh APRテーブルの表示 ip -s addr IPアドレスの表示 ip -s link ネットワークデバイスの使用状況 ping パケットを送り,応答を調べる ss ソケットの状態表示
lsusb USBデバイスの一覧表示 lcpci PCIデバイスの一覧表示 lshw ハードウェア情報の表示