忘れそうなことをメモしていくスタイル
☆シバンの書き方
sudo which python3 ←フルパスを調べたいときに使う。
sudo which bash
#!/bin/sh
cat ./test.sh
#! /usr/bin/bash
sl
https://qiita.com/Nick_paper/items/b9655e02721a583f29b5
https://qiita.com/jkr_2255/items/84366f677be3365331cd
☆chroniumのエラー対処
☆ファイル名を変更したい
sudo mv index.html index2.html
☆困ったときのwhich 実行コマンドをフルパスで表示
which sl
☆困ったときのrasp-config
sudo raspi-config
☆FTPサーバを導入
sudo apt update
sudo apt install vsftpd
☆☆再起動 ←これ大事!!!
sudo systemctl restart vsftpd
☆☆アップロード先のパーミッション
sudo chmod o+w 転送先のディレクトリ
☆☆ write_enableをコメントアウトを除く
/etc/vsftpd.conf を編集
☆仮想端末を導入
sudo apt install tmux
☆☆仮想端末での操作
tmux → 仮想端末起動
Ctrl + b → Shift + 5 :縦分割
Ctrl + b → Shift + 2 :横分割
Ctrl + b →十字キー :操作コンソール選択
Ctrl + b → d :仮想端末から切断
tmux a → 仮想端末に再接続
tmux ls → 仮想端末一覧を表示
tmux kill-session * → *のセッションを削除
Ctrl + d → 仮想端末から完全に切断(セッションなし)
☆アスキーアート文字の導入
sudo apt update
sudo apt install figlet
☆chmodの操作
chmod +x test.sh → すべてのユーザに実行権限を与える。
- rw-r--r-- → -rwxr-xr-x
chmod -x test.sh → すべてのユーザに実行権限を取り除く
- rwxr-xr-x → -rw-r--r--
u 所有者の権限
g グループの権限
o その他のユーザーの権限
a すべての権限
- 後に記述した権限を付加する
- 後に記述した権限を削除する
= 後に記述した権限にする
r 読み込み権限
w 書き込み権限
x 実行権限
s セットID
t スティッキ・ビット
(スティッキービットとは、UNIX系OSのファイルシステムで設定される特殊なアクセス権の一つで、
ファイルやディレクトリの所有者とスーパーユーザー(rootユーザー)以外、ファイルの改名や削除をできないようにするもの。
多くのシステムではディレクトリにのみ設定できる。)
☆MariaDBのインストール
sudo apt -y install mariadb-server
mariaDBの基本操作
https://knt60345blog.com/mysql/
※rootのパスワードを予め変更して、rootユーザーで実行する。
sudo passwd root
su root
root :mysql -u root -p
mariaDBコンソール:create database neo3016db; (neo3016DBを作成する。)
mariaDBコンソール:use neo3016db; (neo3016DBを選択する。)
mariaDBコンソール:CREATE TABLE fruits_table (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,fruits VARCHAR(32),value INT); (フルーツテーブルの作成)
mariaDBコンソール:INSERT INTO fruits_table (fruits, value) VALUES ("apple", 100); (フルーツテーブルにappleレコードを追加する。)
mariaDBコンソール:SELECT * FROM fruits_table; (すべてのカラム(*)をフルーツテーブルを表示する。)
mariaDBコンソール:SELECT id,fruits,value FROM fruits_table; (すべてのカラム(*)をフルーツテーブルを表示する。) ※上と同じSQL
root権限にアクセス権を付与する。
https://qiita.com/yummy888/items/25621bc1451f218e010a
☆Webサーバ(Apache2)のインストール
sudo apt -y install apache2
☆☆Webサーバの再起動
sudo systemctl restart apache2
https://pentan.info/server/pdo_could_not_find_driver.html
https://www.delftstack.com/ja/howto/linux/how-to-start-stop-and-restart-apache-web-server-in-linux/#:~:text=Apache%20%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7%E3%81%AF%E3%80%81%E8%B5%B7%E5%8B%95,%E7%94%A8%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82
☆☆index.htmlのありか
/var/www/htmlの内部
index.htmlのパーミッションは、sudo chmod o+r
画像とかあったのなら、どうようにパーミッションの設定をすること。sudo chmod o+r
sudo chmod o+r でおk
☆PHPのインストール
https://pentan.info/server/pdo_could_not_find_driver.html
sudo apt -y install php-mysql
☆☆PHPの本体もインストール
sudo apt install php
☆☆DBを参照するPHP
https://www.javadrive.jp/xampp/mysql/index6.html
query($sql) as $row) {
print($row['id'].',');
print($row['fruits']);
print($row['value']);
print('
');
}
}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}
$dbh = null;
?>
☆☆Access denied for user 'root'@'localhost'の対処
https://qiita.com/yummy888/items/25621bc1451f218e010a
rootユーザで実行 :mysql -u root -p
mariaDBコンソール: use mysql;
mariaDBコンソール: truncate table user; ( テーブル内のデータ全て削除)
mariaDBコンソール: flush privileges; ( テーブルを再ロード)
mariaDBコンソール: create user 'ユーザー名' identified by 'パスワード'; (ユーザー作成 & パスワード設定)
mariaDBコンソール: grant all privileges on *.* to 'root'; (GRANT OPTION を除き、指定されたアクセスレベルにあるすべての権限を付与します。)
mariaDBコンソール: flush privileges; ( テーブルを再ロード)
☆python のpip でシンタックスエラーを吐く
律儀にptyhonでプロンプトを>>>にした状態でpip installで発生する。
通常のlinuxのターミナルでpip install で問題なし
☆ttyUSB*の番号を調べる。
USBシリアルケーブルをLinuxマシンにUSB接続したらdmesgコマンドを実行してください。 一番最後の行で「ttyUSB0」としてデバイスファイルが認識された事がわかります。
☆vsftpd (FTPサーバの起動)
sudo service vsftpd start
☆定期的にコマンド(≠シェル)を実行したい。
while ture ; do sudo python3 ./※※.py ; date ; sleep 300 ; done
※; 実行したいコマンド ; でおk
☆環境変数を確認したい
printenv
追記パート
パーミッションごと、ファイルをコピーする。
cp -p
ユーザの確認
sudo cat /etc/passwd
プロセスの確認
sudo ps aux | grep "確認したいプロセス"
プロセスの停止
プロセスIDをしているのが一般的っぽいが、pkillのほうが簡単だった←
sudo pkill "停止したいプロセス 例:sshd / apache2 /vsftpd…"
プロセスの確認(現在実行中のプロセスをCPU利用率が高い順に表示)
sudo top
ログの確認
sudo cat /var/log/syslog or sudo cat /var/log/auth.log
(長すぎるので↓)
sudo tail /var/log/syslog or sudo tail /var/log/auth.log
※ tail -f は、ァイルの追記を監視するため、待機する。とのこと。
Ssystemctlについて
systemctl [オプション] 命令 [サービス名]
start サービスの開始
stop サービスの停止
restart サービスの再起動
reload サービスの再読み込み
status サービスの状態表示
enable サービスの自動起動オン
is-enable サービスの自動起動確認
disable サービスの自動起動オフ
daemon-reload 設定ファイルの再読み込み
serviceの登録
sudo cd /etc/systemd/system (systemのディレクトリに移動)
sudo vim ./lampp_start.service (serviceファイルの作成)
投入例:
[Service]
ExecStart=/opt/lampp/lampp start
Type=forking
[Install]
WantedBy=multi-user.target
sudo systemctl enable lampp_start.service (enable=起動時に指定されたサービスを起動するように)
sudo systemctl status lampp_start.service (サービスのステータスが確認できる=failだと失敗している
runningだとおけ。)
sudo systemctl restart lampp_start.service (サービスの再起動)
sshでrootによるログインを許可する。
とりま、rootのパスワードを設定しておく。
sudo vim /etc/ssh/sshd_config で設定を変更する
PermitRootLogin yes を追記する。
sudo systemctl restart sshd.service でsshのサービスを再起動する。
sudo systemctl status sshd.service でsshのサービスの状況を一応確認しておく。
USBをマウントする。
USBを指す前にデバイスの確認
ls /dev/sd*
USBを刺した後にデバイスの確認
ls /dev/sd*
表示内容に差異が起こるので、sdaXの値を確認しておく。
いざ、マウントしる。
mount -t vfat /dev/sda[先ほど調べた値] /media
アンマウント(未確認)
umount -t vfat /dev/sda[先ほど調べた値] /media
リンクを作る。(シンボリックリンク、ハードリンク)
$ ln -s /var/xxx yyy
(-s オプションは、シンボリックリンクを作成する意)
※オプション無は、ハードリンクでリンクを作成する。
シンボリックリンク:windowsのショートカットと同じ働き
ハードリンク:ファイル・ディレクトリに別名を追加する。(本名A,別名B的なイメージ)
ちな、別名Bが設定されている場合、本名Aを指定して削除をしても別名が生きているので、ファイル参照・編集が可能。
画面のコマンドをいったんクリアする。
単純にclear でおk
Ubuntuのバージョン確認方法
cat /etc/os-release
LXCなどのIPアドレスをCLIで変更したい
※netplanの設定ファイルの作成
vim /etc/netplan/99-config.yaml
※設定ファイルの中身、ひな形として利用
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.0.16/24
routes:
- to: default
via: 192.168.0.254
nameservers:
search: []
addresses: [192.168.0.254]
~
※netplanの設定変更を反映させる。
netplan apply
ユーザを作成する(ubuntu)
sudo adduser test (ユーザ名)
ユーザをsudoグループに追加する
sudo usermod -G sudo test(ユーザ名)
sudo権限付与
gpasswd -a test(ユーザ名) sudo
グループにユーザーが所属しているか確認する(ubuntu)
※sudoグループに所属しているユーザの確認
getent group sudo
ユーザを削除する
sudo userdel test(ユーザ名)
ホームディレクトリも削除する場合は、-r オプションを設定する。