Desktop Documents indiecity ocr_pi.png python_games Scratch
以下整理了一些常用的指令 :
- 系統環境 :
$ uname -a (查詢 CPU 架構, Pi 3 是 ARMv71)
$ lsb_release -a (查詢 Linux 散佈版本資訊)
$ cat /etc/issue (查詢 Linux 版本)
$ cat /etc/debian_version (查詢 Debian 版本)
$ cat /etc/os-release (查詢 OS 版本) - 系統登入登出與關機 :
樹莓派預設帳號是 pi, 密碼是 raspberry, 但如果在設定時有改過密碼, 就要用新密碼登入.
登出系統的指令是 logout 或 exit, 執行後會回到登入前狀態 (按 Ctrl-D 亦可).
關機指令是 sudo halt 或 sudo poweroff, 關不掉時用 sudo poweroff -f (強制), 然後直接關掉電源即可.
$ sudo su (以 root 身分登入, 退出用 exit) - 系統更新 (依序下前 3 道後重開機) :
sudo apt-get update (更新 /etc/apt/sources.list 底下的套件清單)
sudo apt-get upgrade (比對套件清單決定是否需要更新, 若有相依性問題放棄更新)
sudo apt-get dist-upgrade (處理新版本套件與相依性套件的衝突)
sudo apt-get autoremove (刪除因為相依性而安裝但現在已不再使用的套件, 非必要)
sudo apt-get autoclean (清除下載到 /var/cache/apt/archives 的 .deb 套件檔, 非必要)
sudo rpi-update (更新核心和韌體到最新版本, 可能不穩定, 先備份重要資料) - 進入 GUI 圖形介面 :
$ startx (進入 X 視窗系統) - 系統設定 :
$ sudo raspi-config (進入系統設定表單) - 顯示自己的 IP
$ sudo /etc/rc.local - 允許 SSH 遠端登入
$ sudo update-rc.d -f ssh defaults 20 - 重新啟動 (reboot)
$ sudo reboot
$ sudo sync;
$ sudo shutdown -r now - 顯示網路設定
$ ifconfig (全部)
$ ifconfig wlan0 (只顯示無線網路卡 wlan0) - 系統更新
$ sudo apt-get update (取得遠端更新伺服器的套件檔案清單)
$ sudo apt-get upgrade (更新已安裝套件)
$ sudo apt-get clean (清除更新時所下載回來的檔案) - 應用程式或套件安裝移除 (參考 PyPi)
$ python3 -m pip install --upgrade pip (更新 pip 本身版本)
$ python3 -m pip install --user --upgrade requests (更新 requests)
$ sudo apt-get install PKGNAME (安裝 PKGNAME)
$ sudo apt-get install zip unzip (安裝 zip unzip)
$ sudo apt-get --purge remove PKGNAME (移除 PKGNAME)
$ sudo apt-get remove --purge 'mysql-.*' (移除 MySQL 伺服器)
$ pip install PKGNAME (安裝 PKGNAME)
$ pip install "PKGNAME==1.0.4" (安裝 PKGNAME-指定版本)
$ pip install "PKGNAME>=1.0.4" (安裝 PKGNAME-指定最小版本)
$ pip install -U PKGNAME (更新 PKGNAME)
$ pip uninstall PKGNAME (移除 PKGNAME)
$ sudo apt-get autoremove (自動移除已不需要的套件)
$ pip list (顯示已安裝之套件)
註 : Python 3 使用 pip3; Python 2 使用 pip2, 而 pip 則是安裝至目前環境 (Python2/3)
$ pip --version (查詢 pip 版本) - 查詢程式安裝位置 :
$ where python
$ which python
$ which python3
$ whereis python - 重新命名檔案
$ sudo mv old_name new_name - 切換目錄
$ cd (切換到使用者根目錄)
$ cd ~ (切換到使用者根目錄, 與 cd 同)
$ cd .. (切換到上一層目錄) - 顯示檔案
$ ls -l (顯示檔案列表-詳細資訊)
$ ls -a (顯示全部檔案列表-包含隱藏檔)
$ ls -al /etc | more (顯示 /etc 目錄下的全部檔案列表, 一次顯示一頁, 按 q 跳出)
$ cat /etc/password (顯示檔案內容) - 修改檔案權限
$ chmod 755 test.py (權限改為擁有者 rwx-可讀可寫可執行, 群組 rw, 其他 rw)
$ chmod 644 test.py (權限改為擁有者 rw-可讀可寫, 群組 r, 其他 r)
$ chown pi.abc test.py (修改 test.py 之擁有者為 pi, 群組為 abc)
注意 : 因為安全性考量, 在 Linux 執行程式時必須在前面加上 ./ - 複製檔案
$ sudo cp interfaces /etc/network/interfaces
$ sudo cp wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf - 移除檔案
$ rm file_name
$ rm -f file_name (強制刪除)
$ rm -rf dir_name (強制刪除目錄及其下的全部檔案與子目錄) - 字串搜尋 :
$ grep foo *.py (搜尋工作目錄下所有 .py 檔案內容中含有字串 foo 者)
$ ps -aux | grep python (搜尋目前系統中正在執行的 Python 程式) - 查詢檔案 :
$ df (列出全部硬碟使用情形, 單位 byte)
$ df -h (列出全部硬碟使用情形, 人性化以 MB/GB 為單位)
$ df -Bm (列出全部硬碟使用情形, 以 MB 為單位)
$ sudo find . -name 'test.py' (查詢現在目錄下是否有 test.py)
$ sudo find . -name '*.py' (查詢以 .py 結尾之檔案)
$ sudo find / -name 'test'.py' (查詢根目錄下是否有 test.py)
$ sudo find / -name 'test*' (查詢根目錄下以 test 開頭的檔案) - 掃描無線基地台
$ sudo iwlist wlan0 scan - 重新啟動網路卡設定 (即 /etc/network/interfaces 之設定)
$ sudo /etc/init.d/networking restart - 重置網路卡
$ sudo ifdown wlan0 (拉下來)
$ sudo ifup wlan0 (拉上去) - 連線主機
$ ping yahoo.com - 查詢區網 IP :
$ hostname -I (傳回樹莓派從 DHCP 獲得指派之 IP)
$ ifconfig (傳回樹莓派有線無線介面之設定) - 壓縮解壓縮 :
$ tar -zcvf myfile.tar.gz mydir (將 mydir 目錄下的檔案全部壓縮成 myfile.tar.gz)
$ tar -zxvf myfile.tar.gz (將 myfile.tar.gz 解壓縮到 myfile 資料夾)
$ gzip -r mydir (將 mydir 目錄下的檔案全部壓縮)
$ gzip -d myfile.gz (將 myfile.gz 解壓縮)
$ zip zippedfile file1 file2 file3 (將 file1, file2, file3 壓縮成 zippedfile, , 須安裝 zip)
$ zip -r myfile.zip mydir (將 myfile 含子資料夾壓縮成 myfile.zip, 須安裝 zip)
$ unzip myfile.zip (解壓縮 zip 檔, 須安裝 unzip) - 系統管理 :
$ su (切換到管理者帳號)
$ htop (顯示系統狀態, 列出前幾名耗用 CPU 資源之程序, 記憶體用量, CPU 各核心負載)
$ ps -aux (查看有多少程序在執行, 可查得其 PID 與程式名稱 COMMAND)
$ sudo kill 123 (刪除 PID=123 的執行中程序)
$ sudo kill -9 123 (強制刪除 PID=123 的執行中程序)
$ sudo pkill python (刪除目前正在執行中的全部 Python 程序)
$ clear (清空畫面)
$ pwd (顯示目前工作目錄)
$ passwd (更改密碼)
$ su (從現在登入帳號轉改換為系統管理者權限, 須輸入管理者帳號)
$ exit (離開系統管理者權限回到原本登入帳號權限)
$ free -h (檢查記憶體剩下多少)
$ swapon -s (檢查 swap 虛擬記憶體交換空間大小配置)
$ sudo nano /etc/dphys-swapfile (編輯 swap 設定檔, 調整 CONF_SWAPSIZE 參數)
$ sudo service dphys-swapfile restart (重新起始 swap 交換空間配置服務)
$ df -h (檢查 SD 卡剩餘多少空間)
$ du -sh (檢查目前資料夾下的檔案與子目錄總大小) - 使用者管理 :
$ sudo useradd tony (新增使用者帳號 tony)
$ sudo userdel tony (刪除帳號為 tony 的使用者)
$ sudo usermod -d /var/www/html/tony tony (更改帳號 tony 的預設目錄) - Apache+MySQL 伺服器
$ sudo apt-get install apache2 (安裝 Apache2 網頁伺服器)
$ sudo apt-get install php5 libapache2-mod-php5 (安裝 PHP5 語言解譯引擎)
$ sudo /etc/init.d/apache2 restart (重啟 Apache 伺服器)
$ sudo service apache2 restart (重啟 Apache 伺服器)
$ sudo apt-get install mysql-server mysql-client php5-mysql (安裝 MySQL 伺服器)
$ sudo apt-get install php5-mcrypt (安裝 PHP5 安全性模組)
$ mysql -u root -p (以 root 帳號進入 MySQL 命令列, 須輸入密碼)
$ systemctl status mysql.service (顯示 MySQL 服務之狀態 Active/Failed)
$ sudo service mysql restart (重啟 MySQL 伺服器)
$ use TABLE_NAME (進入資料表, 可下達 SQL 指令)
$ exit (跳出 MySQL 命令列) - VNC 伺服器
$sudo apt-get install tightvncserver (安裝 VNC 伺服器)
$sudo tightvncserver (啟動與設定 VNC 伺服器)
$ vncserver :1 (執行 VNC 伺服器)
$ vncserver :1 -geometry 1366x768 -depth 16 -pixelformat rgb565 (指定解析度與彩色)
$ sudo vncserver -kill :1 (結束)
$ vncpasswd (修改連線密碼)
$ service vncserver restart (重新啟動 VNC 伺服器) - GCC :
$ gcc -o helloworld helloworld.c (將 helloworld.c 編譯成 helloworld) - Crontab :
$ crontab -e (編輯 crontab)
$ crontab -l (顯示 crontab)
$ crontab -r (刪除 crontab)
$ crontab -i (刪除 crontab 前提示)
$ sudo cat /var/log/cron.log (查看 crontab 執行記錄檔)
$ sudo nano /etc/rsyslog.conf (編輯系統紀錄設定檔, 拿掉 cron.* 前之 # 即啟用 cron 紀錄)
$ sudo /etc/init.d/rsyslog restart (重啟系統紀錄設定檔, cron 紀錄設定生效) - 查詢 Debian 版本 :
$ cat /etc/debian_version - 查詢螢幕解析度 :
$ tvservice -s - 查詢 CPU 溫度 :
$ vcgencmd measure_temp - 查詢 CPU 頻率 :
$ vcgencmd measure_clock arm - 套件管理 (使用 Debian 套件管理器 dpkg) :
$ dpkg -i package_file (安裝套件檔案)
$ dpkg --list (列出目前已安裝之套件)
$ dpkg -r package_name (移除名稱為 package_name 之套件)
$ dpkg -P package_name (移除名稱為 package_name 之套件與配置文件)
$ sudo apt-get --purge remove package_name (刪除套件)
$ dpkg --print-architecture (顯示作業系統運行之 CPU 架構, 例如 arm64)
$ sudo dpkg --add-architecture amd64 (新增 CPU 架構 amd64)
$ sudo dpkg --remove-architecture amd64 (移除 CPU 架構 amd64)
從 MobaXterm 進入 X 視窗不是用 startx, 要下 :
$ lxsession&
# 第五章、 Linux 常用網路指令 (鳥哥)
# GNU / Linux 各種壓縮與解壓縮指令
# Linux / UNIX: Delete a file
2016-03-27 補充 :
為了少敲些字,
沒有留言 :
張貼留言