Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ITAC | Linux Basics

ITAC | Linux Basics

ITAC | Linux Basics

racterub

July 20, 2020
Tweet

More Decks by racterub

Other Decks in Programming

Transcript

  1. 我是誰 • 元智電通英專⼤⼀ • ID: Racterub • 2017-19 AIS3 學員

    • 2019 台灣好厲駭 學員 • 最近在補技術債QQ • 我就爛 2
  2. • / 根⽬錄 • /bin 系統內建會⽤到的執⾏檔 • /boot 系統啟動會⽤到的檔案 •

    /dev Linux 核⼼有認識的設備和裝置的資訊 • /etc 系統設定檔 • /home 所有(非 root)使⽤者的家⽬錄 Filesystem 11
  3. Filesystem • /lib & /lib64 系統程式庫和核⼼模組 • /media & /mnt

    裝置的掛載點 • /opt 無法透過套件安裝的軟體的安裝點 • /proc 每個 process 相關檔案 • /root root 使⽤者的家⽬錄 • /usr/bin Ubuntu 預載或是透過套件安裝的安裝點 12
  4. Filesystem • /usr/local ⾃⼰⼿動編譯安裝的安裝點 • /var 常態性變動的檔案 • /tmp 暫存檔

    (每次重開機都會清除) Ref: http://linux.vbird.org/linux_basic/0210filepermission.php#dir_fhs 13
  5. VM • How to use? • 打開 Terminal • 輸入

    cd ~/Desktop/ • (如果要重置的話輸入 removepg ) • (輸入完再輸入 cd ../playground ) 16
  6. Commands • ls [options] <dir> :列出當前⽬錄 • options • -a

    all • -l long-list • -h human-readable • cd <dir> :切換當前⽬錄 20
  7. Commands • cp [options] <src> <dst> :複製檔案/資料夾 • -r recursive

    • rm [options] <file> :刪除檔案/資料夾 • -r recursive 21
  8. Command • mkdir <dir> :建立資料夾 • rmdir <dir> :刪除資料夾 •

    rmdir v.s rm? • rmdir 只能刪除空資料夾,rm 則沒限制 22
  9. Command • find <basedir> [options] :搜尋檔案/資料夾 • -type <options> •

    d 資料夾 • f 檔案 • l 連結檔 (Only symbolic link) • s socket 23
  10. Command • find <basedir> [options] :搜尋檔案/資料夾 • -name <filename> •

    這個指令建議配 sudo 使⽤,要不然會噴⼀堆垃圾給你 24
  11. Command • cat <filename> :讀取並輸出檔案內容 • head / tail [options]

    <filename> :讀取前⾯部分檔案內容並 輸出 • -c <bytes> 讀取前N-bytes • -n <lines> 讀取前N⾏ 25
  12. Command • ssh <user>@<ip/domain> [options] • options • -p <port>

    指定 port • -i <identity file> 指定 key file • -R -L 可做 port-forwarding • https://dev.to/samuyi/the-how-to-of-ssh-port- forwarding-1f4e
  13. Command • vim / emacs • 痾那個 • 我不會⽤ emacs

    • 不要砲我 • 會的可以上來教 • https://emacs.was.best 27
  14. Vim • Normal mode • 輸入 “:” 就可以輸入指令 • :w

    寫入檔案 • :q 離開 vim • 也可 :wq 就是寫入後離開 • 按下 i 就可以進入 insert mode 29
  15. apt • sudo apt <command> [arg1, arg2 …] • command

    • install • update • upgrade • show • list • info • remove 32
  16. Webserver • 主流 • IIS (Microsoft) • Apache (Apache Software

    foundation) • Nginx (Nginx, Inc. or F5 Networks) 34
  17. 36

  18. 38

  19. 40

  20. Nginx • 系統內建並沒有 nginx ,所以必須透過 apt 安裝 • sudo apt

    install nginx 42 ▲安裝完成⽤瀏覽器會看到這⼀⾴
  21. Nginx + php ▲注意,這邊 php7.0-fpm.sock 要改成 php7.2-fpm.sock 46 安裝完了之後就要在 Nginx

    接上 php,所以需要在兩個地⽅改設定 ▲在 index.html 後⾯加上 index.php
  22. Nginx + php • 最後還要修改⼀個 php 的設定,他會造成你的 php server 出現漏洞

    • 檔案在 /etc/php/7.2/fpm/php.ini • ;cgi.fix_pathinfo = 1 ➤ cgi.fix_pathinfo = 0 47
  23. Nginx + php • 最後重啟 nginx 跟 php-fpm 就可以了 •

    sudo systemctl restart nginx • sudo systemctl restart php7.2-fpm 48