shell expect

如果需要自動登入到server或database來執行指令,可以使用expect來自動登入。

install:

sudo apt-get install expect

ssh example:

#!/usr/bin/expect

spawn ssh username@test.dev
expect "password:"
send "password\n";  
expect "Last login:"   
send "exit\n";
interact 

spawnexpect內建指令,會另開一個process,可執行在終端機上的command,expect為應用程式回傳匹配的字串,send則是寄送給應用程式的string(ex:如password),interact則是把控制權轉移給user。

linux tree(樹狀檔案結構)

安裝tree:

sudo apt-get install tree

tree command:

-L 顯示最大到第幾層。(ex:tree -L 3)
-p 顯示權限。
-D 最後更改時間。
-i 不以階層狀顯示。
-d 只顯示目錄。

example:

tree -L 2

result:

.
|-- backbone.js
|-- backbone-min.js
|-- docs
|   |-- backbone.html
|   |-- backbone-localstorage.html
|   |-- docco.css
|   |-- images
|   |-- jsl.conf
|   `-- todos.html
|-- examples
|   |-- backbone-localstorage.js
|   `-- todos
|-- index.html
|-- index.js
|-- LICENSE
|-- package.json
|-- Rakefile
|-- README.md
`-- test
    |-- collection.js
    |-- events.js
    |-- model.coffee
    |-- model.js
    |-- noconflict.js
    |-- router.js
    |-- setdomlibrary.js
    |-- speed.js
    |-- sync.js
    |-- test-ender.html
    |-- test.html
    |-- test-zepto.html
    |-- vendor
    `-- view.js

轉換成html:

command:
    tree -H {domain}
ex:
    tree -H http://www.sparrowflyer.co.cc/ > tree.html

linux新增群組

新增群組:
groupadd [groupname]
ex:groupadd group1
查詢群組:
grep [groupname] /etc/group /etc/gshadow
刪除群組:
groupdel [groupname]
將user加入、刪除群組裡(-a為加入,-d為刪除):
gpasswd [-ad] user groupname
ex:gpasswd -a user1 group1
改變資料夾權限:
chown user:group folder
ex:chown test:group1 folder1
設定只有擁永者跟群組才能使用:
chmod 770 folder1

相關權限設定,請參考鳥哥

權限設定完畢時,要記得重登server(local則是重開終端機),才會生效。

debain修改語系

1.開啟以下檔案,找到要使用到的語系,並且移除註解

vi /etc/locale.gen

2.執行以下指令

sudo locale-gen

3.用vi開啟檔案

vi /etc/bash.bashrc

4.修改預設語系(以英文為例)

LANG=en_US.ISO-8859-15

export LANG

5.讓設定生效

source /etc/bash.bashrc