1. 權限
    1. chmod -R 644 *
      1. change mode
        1. -R
          1. chmod -R 744
          2. owner
          3. rwx
          4. 4+2+1
          5. 7
          6. group
          7. r--
          8. 4
          9. 4
          10. others
          11. r--
          12. 4
          13. 4
        2. rwx/rw-/---
          1. Read
          2. Write
          3. eXecute
    2. umask
      1. 預設值需減掉的權限
      2. ex
        1. chmod 666
        2. umask 002
        3. result 664
    3. chown [onwer/:group] [Filename]
      1. [-R] 包含子目錄與檔案
        1. chown dinolai lol.exe
        2. chown :lab317 lol.exe
        3. change owner
    4. chgrp
      1. change group
        1. [-R] 包含子目錄與檔案
          1. chgrp lab317 lol.exe
    5. user
      1. useradd [username]
      2. useradd -g [groupname] [username]
        1. 加入主群組
      3. useradd -G [groupname] [username]
        1. 加入副群組
      4. usermod -g [groupname] [username]
        1. 將已存在帳號加入主群組
      5. usermod -a -G [groupname] [username]
        1. 將已存在帳號加入副群組
    6. 群組與加入群組
      1. etc/group
      2. groupadd [groupname]
      3. gpasswd -a [username] [groupname]
        1. 新增一使用者至群組
      4. gpasswd -d [username] [groupname]
        1. 從一群組刪除一使用者
    7. batch
      1. chmod 664 $(find ./ -type f)
  2. 目錄
    1. cd
      1. .
        1. 此層目錄
      2. ..
        1. 上一層目錄
      3. -
        1. 前一個工作目錄
      4. ~
        1. 家目錄
      5. ~account
        1. account的家目錄
    2. pwd
      1. 顯示目前目錄
    3. mkdir
      1. 建立新目錄
    4. rmdir
      1. 刪除空目錄
    5. ls
      1. | wc -l
        1. 查看目錄總檔案數
  3. files
    1. locate
    2. find
    3. grep
      1. -r
        1. grep -r "abc" /var/www/website/*
          1. 在多個資料檔案裡查詢指定字串
    4. file
      1. 檔案基本資料
    5. cat
      1. 顯示檔案內容
    6. wc
      1. wc [option] file
        1. -c
          1. --bytes 顯示位元數統計
        2. -m
          1. --chars 顯示字母數統計
        3. -l
          1. --lines 顯示行數統計
        4. -L
          1. --max-line-length 印出最長一行的字數
        5. -w
          1. --words 顯示單字數(word)統計
    7. touch
      1. 新建檔案
    8. mv a.out b.out
      1. 將a.out 改名為b.out
    9. which
      1. 尋找執行檔
    10. whereis
      1. 尋找特定檔案
    11. locate
      1. 使用部份名稱尋找檔案
  4. Process
    1. kill
    2. crontab
      1. 例行性工作排程
    3. at
      1. 一次性工作排程
    4. sh -x /tools/sync_web.sh mstar.tw/event/20140903-students/ event.mstar.garena.tw/event/20140903-students/ event.mstar.garena.tw
    5. telnet host port
    6. Job
      1. &
        1. execute in background
        2. ping www.google.com.tw &
      2. Ctrl + z
        1. pause process
      3. jobs
        1. watch jobs
      4. bg
        1. background
      5. fb
        1. foreground
      6. kill
        1. kill job
      7. nohup
        1. logout still execute
    7. shutdown
      1. -h
        1. 指定時間後關機
      2. -r
        1. 重開機
    8. directory
      1. pushd
      2. popd
  5. remote
    1. fstab
      1. 遠端mount資料
    2. scp
      1. scp student@127.0.0.1:/etc/bashrc /tmp
        1. 將 127.0.0.1 這部遠端主機的 /etc/bashrc 複製到本機的 /tmp 底下
    3. scp
      1. scp -r student@127.0.0.1:/etc /tmp
        1. 將 127.0.0.1 這部遠端主機的 /etc 資料夾複製到本機的 /tmp 底下
    4. wget
    5. ssh
      1. laid@124.108.136.73
  6. mount
    1. sudo mount -a
  7. 套件
    1. yum
      1. install
      2. update
    2. rpm
      1. -e
        1. 移除某個套件
      2. -q
        1. 查詢某個套件
      3. -qi
        1. 查詢某個套件完整安裝資訊
      4. -ivh
        1. 安裝新的套件
      5. -ivh --replacepkgs
        1. 安裝已經裝的套件
      6. -Uvh
        1. 昇級新版本的套件
      7. -Fvh
        1. 更新已經安裝過的套件,只有裝過的才會更新
  8. system
    1. date
      1. [month]
      2. [year]
      3. redhat-config-date
    2. free
      1. 藉由讀取 /proc/meminfo 檢視記憶的使用狀況,單位是 1024 Bytes 的 block。
    3. swap
      1. swapon
        1. -s
          1. show swap information
        2. [swap filename]
          1. enable swap file
      2. SetUp
        1. fallocate -l 4G /swapfile
          1. create swap file
        2. mkswap /swapfile
          1. make file ready to be used as a swap space
        3. swapon [swap filename]
          1. enable swap file
        4. /etc/fstab
          1. /swapfile none swap sw 0 0
          2. make swap file permanent
        5. /proc/sys/vm/swappiness
          1. how often your system swaps data out of RAM to the swap space
          2. sysctl vm.swappiness=10
    4. df
      1. -h
        1. disk information
    5. PATH
      1. PATH=$PATH:~/opt/bin
    6. bc
      1. 計算機
    7. 系統說明
      1. man
        1. manual
      2. info
        1. information
      3. /usr/share/doc
    8. show process
      1. pstree
      2. top
      3. ps
        1. -e --context
        2. -A
          1. all of process
        3. -a
          1. all of process exclude terminal
        4. -u laid
          1. see process run by user laid
        5. -U root -u root -N
          1. See every process except those running as root
        6. -f
          1. complete output
        7. aux
    9. uname -a
      1. system and kernel information
    10. netstat
    11. dmesg
      1. hardware and software information
    12. vmstat
      1. resource information
    13. /proc
    14. fuser
      1. find who use this file
    15. lsof
      1. find process execute files
    16. pidof
      1. find process pid
  9. tmux
    1. Ref
      1. https://wiki.freebsdchina.org/software/t/tmux
    2. ls
    3. kill--server
    4. kill--session
    5. Ctrl+b
      1. &
    6. 關閉窗口
  10. Database
    1. freetds
      1. php與mssql溝通Solution
    2. Mysql
      1. mysql -u username -p
      2. GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';
    3. postgresql
      1. /var/lib/pgsql/9.4/data
        1. ph_hba
          1. type
          2. host
          3. database
          4. all
          5. user
          6. root
          7. address
          8. 0.0.0.0/0
          9. method
          10. md5
        2. postgresql.conf
          1. listen_address = '*'
      2. /usr/pgsql-9.4
        1. bin
          1. postgresql94-setup initdb
          2. ./pg_ctl reload
  11. Account
    1. su
      1. 切換使用者
    2. passwd
      1. 修改密碼
  12. Nginx
    1. expires
      1. 暫存
    2. sendfile
      1. off
      2. on
  13. bash
    1. source
      1. 讀入設定檔
    2. |
      1. pipe
        1. less
        2. cut
          1. -d
          2. division
          3. echo $PATH | cut -d ':' -f 3,5
          4. -f
          5. field
          6. -c
          7. char
          8. export | cut -c 12-
        3. grep
          1. -a
          2. binary檔案以text搜尋
          3. -c
          4. count
          5. -i
          6. insensitive
          7. -n
          8. 行號
          9. -v
          10. 反向選擇
          11. --color=auto
        4. sort
          1. -f
          2. 忽略大小寫
          3. -b
          4. 忽略開頭空白
          5. -M
          6. Month
          7. -n
          8. number
          9. -r
          10. reverse
          11. -u
          12. uniq
          13. -t
          14. tab
          15. -k
        5. uniq
          1. -i
          2. insensitive
          3. -c
          4. count
        6. wc
          1. -l
          2. 列出行
          3. -w
          4. words
          5. -m
          6. 多少字元
    3. 執行處理
      1. standard in
        1. stdin
          1. 0
          2. <
          3. <<
      2. standard out
        1. stdout
          1. 1
          2. >
          3. >>
      3. standard error
        1. stderr
          1. 2
          2. 2>
          3. 2>>
      4. 垃圾黑洞
        1. /dev/null
      5. ;
      6. &&, ||
  14. firewall
    1. iptables
    2. firewalld
      1. systemctl
        1. systemctl start firewalld
        2. systemctl disable firewalld
        3. systemctl status firewalld
      2. firewall-cmd
        1. edit
          1. --add/--remove/--list
          2. -service=http
          3. -port=80/tcp
          4. -port=80-100/udp
          5. -lockdown-whitelist
          6. -context
          7. -uid
          8. -command
          9. ='/usr/bin/python -Es /usr/bin/firewall-cmd*'
          10. -user
          11. -masquerade
          12. -interface
          13. -forward-port=port=22
          14. :proto=tcp:toport=3753
          15. :proto=tcp:toaddr=192.0.2.55
          16. :proto=tcp:toport=2055:toaddr=192.0.2.55
          17. --permanent
          18. --zone
          19. --direct
          20. --permanent
          21. --add/--remove
          22. -rule ipv4 filter IN_public_allow \ 0 -m tcp -p tcp --dport 666 -j ACCEPT
          23. --panic
          24. dropping all incoming and outgoing packets
          25. -on
          26. -off
          27. --lockdown
          28. -on
          29. -off
          30. --set
          31. -default-zone=public
        2. status
          1. --state
          2. --version
          3. --help
          4. --reload
          5. --get
          6. -active-zones
          7. -zone-of-interface=em1
          8. -service
          9. -service --permanent
          10. view active after the reload
          11. --zone
          12. --zone=public --list-all
          13. --zone=public --list-ports
          14. --zone=public --list-interfaces
          15. --query
          16. -panic
          17. -masquerade
          18. -lockdown
          19. -lockdown-whitelist-command='/usr/bin/python -Es /usr/bin/command'
      3. config
        1. /usr/lib/firewalld
        2. /ect/firewalld
        3. zone
          1. /usr/lib/firewalld/zones
          2. drop
          3. block
          4. public
          5. default
          6. /etc/firewalld/firewalld.conf
          7. external
          8. dmz
          9. work
          10. home
          11. internal
          12. trusted
          13. /etc/firewalld/zones/
          14. customize
        4. service
          1. /usr/lib/firewalld/services/
          2. predefined
          3. must not be edited
          4. /etc/firewalld/services/
          5. customize
        5. Direct Interface
          1. command
          2. --direct
          3. /etc/firewalld/direct.xml
        6. Rich Language Syntax
        7. Lockdown
          1. /etc/firewalld/firewalld.conf
  15. Signal
    1. Ctrl+r
      1. search command from history
  16. Deamon
    1. [xxx]d
    2. state
      1. signal control
        1. cupsd
      2. interval control
        1. atd
        2. crond
    3. management
      1. stand alone
        1. example
          1. httpd
          2. vsftpd
        2. config
          1. /etc/services
          2. service and port mapping
          3. /var/run
          4. pid
          5. /etc/init.d/
          6. /etc/rc.d/init.d
          7. 啟動腳本
          8. status
          9. restart
          10. start
          11. stop
          12. condrestart
          13. /etc/sysconfig/
          14. 初始化環境設定檔
          15. /etc
          16. properties
          17. /var/lib
          18. services' database
        3. update-rc.d [deamon name] defaults
      2. super daemon
        1. example
          1. telnet
        2. config
          1. /etc/xinetd.conf, /etc/xinetd.d/
          2. super daemon 設定檔
          3. grep -i 'disable' /etc/xinetd.d/*
          4. service <service_name> { <attribute> <assign_op> <value> <value> ... ... }
          5. =
          6. +=
          7. 在原來的設定裡頭加入新的參數
          8. -=
          9. 在原來的參數捨棄這裡輸入的參數!
        3. firewall & TCP Wrappers
          1. /etc/hosts.allow
          2. <service(program_name)> : <IP, domain, hostname> : <action>
          3. /etc/hosts.deny
          4. the same as allow
    4. service
      1. --status-all
      2. [service name]
        1. start
        2. status
        3. restart
        4. stop
        5. restart
    5. chkconfig
      1. --list
      2. [--level [0123456]] [service name] [on | off]
      3. [--add | --del][service name]
        1. 服務名稱必須在 /etc/init.d/ 內
          1. chkconfig: [runlevels] [啟動順位] [停止順位]
    6. ntsysv
      1. 類圖型介面管理程式
  17. Life cycle
    1. read bios and self testing
    2. MBR(Master Boot Record)
    3. get kernel, load memory, detect hardware
    4. kernel call init actively
    5. /etc/rc.d/rc.sysinit
    6. daemon start
      1. /etc/rc.d/rc[0-6].d/*
    7. /etc/rc.d/rc.local
  18. Folder Structure
    1. standard
      1. FHS (Filesystem Hierarchy Standard)
    2. folder
      1. /bin
        1. 指令
      2. /boot
        1. 開機檔案
      3. /dev
        1. 裝置與設備
      4. /lib
        1. 開機會用到的函式庫
        2. /bin, /sbin 會用到的函式庫
        3. /modules
          1. 核心相關模組
      5. /media
        1. 可移除裝置
      6. /mnt
        1. 掛載用
      7. /opt
        1. 第三方協力軟體
      8. /root
      9. /sbin
        1. 開機過程中所需要的,裡面包括了開機、修復、還原系統所需要的指令
      10. /srv
        1. service
      11. /tmp
        1. temp
      12. /usr
        1. Unix Software Resource
      13. /var
        1. 常態性變動的檔案
      14. /etc
        1. gitconfig
          1. git 全域設定檔
        2. php5
        3. nginx
        4. hosts
        5. bash
          1. 存放所有bash檔的目錄
        6. passwd
          1. 使用者設定檔
          2. 家目錄
          3. 使用哪個bash
        7. 登入訊息
          1. issue
          2. issue.net
          3. telnet用
          4. motd
          5. 顯示給所有登入者
        8. shadow
          1. 密碼
        9. group
          1. 群組
        10. security
          1. limit.conf
          2. 設定使用者同時登入連線數量
        11. module-load.d
          1. *.conf
          2. 開機時讀取 module
        12. /init.d
          1. 預設啟動服務
        13. /xinetd.d
          1. super deamon
      15. ~
        1. .ssh/
          1. know_hosts
          2. Linux自行紀錄的hosts
          3. 系統改變需刪除
          4. config
          5. 自己的DNS and 指定登入key
          6. Garena_laid.pri
          7. private key
        2. .bash_profile
        3. .bashrc
          1. 環境變數設定
          2. ssh 登入後設定位置
          3. cd /var/www/garenatw
          4. PS1="[\u@\h \w $ ]"
        4. .gitconfig
          1. git 自我設定檔
        5. .bash_logout
          1. 登出前先做什麼
  19. SELinux
    1. https://en.wikipedia.org/wiki/Security-Enhanced_Linux
    2. Security-Enhanced Linux
    3. command
      1. setenforce
        1. 1
          1. Enforcing
        2. 0
          1. Permissive