2015年8月13日 星期四

systemd 簡介

bash - sh相容

$PATH
顯示變數
$echo $PATH

建立變數
名=值
name=st

echo $name
st

shell

kernal
shell : user interface   (GUI TUI)
user

a. stdin / stdout /stderr
  鍵盤/    螢幕  /   後台
     0  /       1      /     2

 $ls 1> /tmp/filelist  
$cat > /tmp/mymemo.txt
ctrl+d 退出編輯

cat /tmp/passwd > /tmp/passwd 
1.準備要重導的檔案
    若不存在 建立
    若存在     清空
2.才開始執行

若真的發生了 千萬不能關機 
盡量救回來

1.先輸出stdout到檔案
2.將stderr接到stdout的目錄
人理解的實務上行為:stderr先?

b. $PATH

c. variable
     i.  local
    ii.  environment

d. login shell /non-login shell
     i.  bash_profile . profile .bashrc

e. '' / $ ()

Linux行程概念

process /fork
舊 開機流程 init → sysv style
新 systemd Fedora/RHCL/CentOS
                      Debian Ubuntu
                      Suse
開機模式
process( chrome的分頁做法)
ps aux | less 注意PID
ps aux | grep pingkill

process /pstree
$pstree 樹狀       由左到右: 父行程 子行程















job control

ctrl+z 暫停

$fg %1 回復第一個工作
$jobs:show all jobs

ps /signal
kill -l list all signals

kill
kill -數字 PID

SIGHUP 1                    
SIGINT  2                         ctrl-c     kill預設的signal
SIGTERM 15
--------------------------------------------------------
SIGKILL 9                      強制




top
P  CPU用量排序
M 記憶體大小排序
g
$uptime



看權限
cd/root/
ls -al
ls -ld /root

檔案類型

/root root專用
/bin                       /sbin 
/usr/bin               /usr/sbin
/usr/local/bin     /usr/local/sbin

/etc 設定檔(應用程式)
/etc/apache2

/var 變動 
/var/log
/var/www
/var/lib/mysql
/var/run              -ld /var/run


/home

/tmp 暫存檔

/dev
crwx_____   character device
brwx_____   block device

核心系統設定 記憶體
/proc
/sys  

看套件 dpkg -L apache2

2015年8月12日 星期三

Linux 檔案權限


rwx
$touch thisisafile
ls -l
-rw-r--r--
預設 file:666 dir:777
umask  初始權限
0022
最終的權限=初始-umask
rw-rw-rw-
- - --w-- w-
rw-r--r--  =644
-----------------------------------
setuid 4 
執行時提權至file owner ,對目錄無用,一般設定在執行檔

setgid 2(較少使用)
s有x
S沒有x
file:執行時提權至group owner ,對目錄無用,一般設定在執行檔
dir:子目錄為同樣的group並且繼承setgid權限

stickybit 1
t有x
T沒有x
ls -ld /tmp

可刪檔案者:檔案擁有者 目錄擁有者 root
#vim /etc/shadow
ls -l /usr/bin/passwd
-rwsr-xr-x
4   7 5   5→chmod 755 xxx
(s x存在 S不存在)

mkdir room1
touch c1 c2 c3
chmod 771 room1
mkdir room1
chmod 700 room1
不可看 不可讀 可刪

Linux 檔案系統

檔案類別
EXT4(中規中矩)
Xfs(IBM維護 檔案大存取好)
reiserfs 4版(小檔案OK 大檔案不行) 不建議用
BTRFS(oracle開發)(先進檔系)(snapshot鏡像)

指令
df -h 檔案掛載狀況
vim /etc/fstab(不要改錯)
UUID 分割區
file system 檔案分割區
mount point (swap)(暫存檔)
type(ext4)
options errors=rerraint-ro (唯讀)
dump 可關 (磁帶備份)
pass 1有錯就scan 0自行決定
inode

ln (hard link)
ln 來源檔案 目的檔案
vim abc 13:18
cat abc
2.ln abc xyz
cat xyz
13:18

ln(soft link)  路牌的概念 指向
1.可跨file system
2.可指向目錄 dir (寫程式才會用到)
ln -s 來源 目的

linux研習

命令列的組成
1.command name
2.options (參數)  -開頭  改變command行為
3.arguement(參數)/home


man 說明書
語法:man ls

name
synopsis(語法) [ ] 選填 <  >必填  ... 一或多個

補充:
section 章節
1.normal command
5.config file
8.admin command

例:man 5 passwd (第五章節的 指令)
-----------------------------------------
adduser gini→ 一定會有一個群組
切換 fn  f1~4

username gini
uid 1000
gid 1000
group (gini)

Vi  /etc/passwd
Gini:x:0:0:systemd
--------------------
apt-get install vim
-----------------

/etc/group 新增使用者到群組裡 (少用)
usermod
/etc/passwd  /etc/group

usermod -g st gini
-g primory group

usermod -G st,gini gini 
-G all groups 

-d 指定userhome。/home/usernsme

補充:passwd
-l   lock           passwd -l gini
-u unlock       passwd -u gini


groupmod
-g  groupmod -g 5000 gini(改權限)
-n  groupmod -n gina gini(改名)
-------------------------------------------------
group name
group password 固定是  pass在 /etc/gshadow
group id (gid) 主要群組 
group member

2015年8月10日 星期一

linux 語法 & 常用的熱鍵[Tab] [Alt]

[Tab]-『命令補全』與『檔案補齊』

之前在準備考試的時候
才真正了解到這個熱鍵的好處!!!!!
筆者也是被同事念了好幾回
才能靈活運用

打指令的時候按Tab鍵
可避免我們打錯指令或檔案名稱。
若是打對,也會自己補上我們需要的指令,也可以節省時間呢!
  • [Tab] 接在一串指令的第一個字的後面,則為『命令補全』;
  • [Tab] 接在一串指令的第二個字以後時,則為『檔案補齊』!
[Alt]切換視窗(切換tty)
Alt+F1~F6

使用者切換 su
清掉螢幕 clear
切換路徑 cd
回到上層 cd ..
列出資料夾  ls
顯示目前所在 pwd
查看內容 cat
移動 mv
上一個動作 !!
CPU loding uptime
登入狀況 w
開機狀況 last
關機 shutdown (*只能用root權限)
上下翻頁 Shift+ Pgup PgDn

家目錄 ~
root #
使用者 $

用了什麼語法 history
是哪個使用者 whoami

增加使用者adduser
刪除使用者deluser

安裝套件 apt-get
                apt-cashe
先安裝 apt-file  $apt-get install apt-file
更新套件 apt-file update
尋找套件 apt-file search apache2
                 apt-file search php5-cil

mlocate
updatedb 更新db
$/va/lib//mlocate/mlocate.db
$locate interfaces

$find 起始目錄 條件套件
例: /etc 下所有  .conf結尾的列表
find /etc -name '*.conf '
find /etc -name '*.conf ' -name (檔名匹配)
find /etc -name '*.conf ' -delete(刪除檔案)


2015年8月8日 星期六

Drupal7(一):安裝紀錄

暑假去學習新的事物(Arduino)
鄰座剛好坐了一位使用Drupal架站的老師

打鐵要趁熱
趁著颱風天將站趕快架起來(以免想架站的心被吹倒?)

 1.下載XAMPP→解壓縮→執行
  • 使用瀏覽器 http://localhost/xampp →English →Security
  • 設定MySQL的密碼 (點下Password changing)
  • 進入 phpmyadmin (輸入 使用者名稱:root  & 密碼)
  • 建立資料庫:drupal 編碼排序選擇:utf8_general_ci

 2.安裝Drupal
  • 下載Drupal7.38 至 C:\xampp\htdocs\
  • 解壓縮後,並更名為 drupal
  • 在瀏覽器輸入 http://localhost/drupal
  • Standard → 設定 資料庫  及 網站、使用者名稱
  • 預設國家:Taiwan   預設時區:Asia/Taipei
  • 安裝完成→檢視你的新網站
3.中文化
  • 到後台後點選Modules → 將 Locale 勾選 → Save configuration
  • 上方選單的Configuration → Translate interface→ 右上 IMPORT
  • 下載相對應版本的PO檔
  •  Import into 選擇 Chinese, Traditional (繁體中文)→Import 
  •  Configuration→Languages→把繁體中文勾起DEFAULT→Save configuration
  • 重新整理→中文化完成
4.更改php.ini
  • 在xampp→ config →php.ini
  • 修改→編輯→尋找
         (1)memory_limit =512M
         (2)max_execution_time=300
         (3)post_max_size=100M
         (4)upload_max_filesize=100M
         (5)date.timezone=Asia/Taipei
  • 儲存檔案重啟Apache