備忘記事‎ > ‎

文字介面指令健忘根治

因為我有健忘症,所以雖然說參數man一下就知道了,但是還是要寫下來卡實在....

路徑也是很好忘的項目,所以寫在開頭,以下為不同發行版本的路徑類備忘

Centos

/etc

/etc/rc.d/rc.local 放置開機時自動執行的指令檔,偷懶好用。

/etc/init.d/        幾乎所有服務的script都放這邊...不要亂來..
順帶一提,使用service 服務啟動一個服務和/etc/init.d/服務的結果是相同的
/etc/sysconfig/     沒有放在/etc底下的各種服務的初始設定檔,例如網路的設定部份

/etc/services     放置所有服務與相對應的port號與資料協定,不要亂改!


/var
/var/lib/      各類程式生成的資料預設丟在這邊,例如mysql的資料庫
/var/run/      服務生成時採用pid程序號碼放在這

Ubuntu

/etc/rcS.d/    據稱可說是Debian系列的rc.local

使用ln-s的方法掛載過來,數字越小越優先執行,請看舉例:ln -s etc/init.d/firewall.sh S100firewall.sh
資料來源:[Ubuntu] - rc.local似乎沒有開機啟動

/etc/php5/apache2/php.ini      Ubuntu底下的php.ini


預設log檔路徑
/var/log/messages 一般來說,各種服務啟動的紀錄都在這邊,可以來看服務啟動是否正常
/var/lib/dhcpd/    dhcp的client租約紀錄


Mysql指令

張貼者:2013年2月18日 下午9:57Wei-Chang Lin   [ 已更新 2013年2月18日 下午9:59 ]

講指令的很多,但這因為看起來最清爽,以下內容完全照錄轉抄,要使用請至原網站觀看

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -p
mysqlshow -u user_name@ipAddress -p

列出所有資料庫

mysqlshow -u user_name -p db_name
列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name
列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼
mysqladmin password 'new_password'
更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql

與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppassword
mysql [-h ipAddress] -u user_name -p


切換使用資料庫 database_name
mysql> USE db_name

mysql> SELECT DATABASE();
列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];
mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];
mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;
mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;
顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;
mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定 

linux指令

張貼者:2012年8月16日 上午2:11Wei-Chang Lin   [ 已更新 2012年8月16日 下午9:05 ]

更新系統:yum update

ssh -l name  例:ssh 163.19.163.1 -l name

以下文件格式內容摘錄自http://www.dk101.com/Discuz/viewthread.php?tid=68464

因為原作者已編寫的很清爽又很詳盡,懶惰如我,當然就沿用以上來源的內容目錄再做修改了= ="
---------------------------------------------------------------------------------------------------------------------------------------------------------------

◆ 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

shutdown -h now  (參數-c停止關機)

reboot now

◆ 文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系統管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab、service;

service    用來開服務很方便的指令,也可以加上--status-all參數看服務的狀況與port

◆ 網絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

netstat    用來看網路狀態的,也可以看服務的監聽port
route -n   看本機使用的路由表
traceroute 發出一個封包後追蹤路由
arp   -n   查看與本機最近相關的網路硬體位址很好用,先ping再看~ chkconfig --list 列出所有預設開啟的服務狀態,其他常用參數

chkconfig 服務名稱 on或off
ex:
chkconfig httpd on

◆ 系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、ps、who;

chmod 600 檔名 (600代表擁有者可讀寫, 每個數字分別為owner/group/others) (參考參數 r:4   w:2  x:1 ,read/write/execute  )

chown -R root:root 檔名   (參數-R代表包含此目錄底下所有的)

sudo -i (ubuntu下改身份為root)

ps -ef|grep 服務名稱     (用來尋找正在執行的服務的執行檔路徑)

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode、uname

uname -a  (查詢核心版本)

結果:
Linux 2.6.18-164.6.1.el5xen #1 SMP Tue Nov 3 17:53:47 EST 2009 i686 i686 i386 GNU/Linux

這個指令用cat有更厲害的效果,只是要打很多字,懶人我是不想用滴:

cat /proc/version
結果:
Linux version 2.6.18-238.9.1.el5xen (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Tue Apr 12 19:32:47 EDT 2011

查詢使用套件的版本

cat /etc/issue
結果:
CentOS release 5.5 (Final)
Kernel \r on an \m

或是

lsb_release -a  (經LSB認證的Linux distribution查詢)
結果:
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:    CentOS
Description:    CentOS release 5.5 (Final)
Release:    5.5
Codename:    Final

◆ 更新命令(沒有請自己安裝,建議一定要裝):yum或apt

apt-cache search 套件名稱      找尋該套件是否存在
                 show 套件名稱        顯示該套件目前的詳細資訊


mount

-h:顯示輔助信息。

-v:顯示信息,通常和-f用來除錯。

-a:將/etc/fstab中定義的所有文件系統掛上。

-F:這個命令通常和-a一起使用,它會為每一個mount的動作產生一個行程負責執行。在系統需要掛上大量NFS文件系統時可以加快加載的速度。

-f:通常用於除錯。它會使mount不執行實際掛上的動作,而是模擬整個掛上的過程,通常會和-v一起使用。

-t vfstype:顯示被加載文件系統的類型。

-n:一般而言,mount掛上後會在/etc/mtab中寫入一筆資料,在系統中沒有可寫入文件系統的情況下,可以用這個選項取消這個動作。

在Linux 和Unix系統上,所有文件都是作為一個大型樹(以/為根)的一部分訪問的。要訪問CD-ROM上的文件,需要將CD-ROM設備掛裝在文件樹中的某個掛 裝點。如果發行版安裝了自動掛裝包,那麼這個步驟可自動進行。在Linux中,如果要使用硬盤、光驅等儲存設備,就得先將它加載,當儲存設備掛上了之後, 就可以把它當成一個目錄來訪問。掛上一個設備使用mount命令。在使用mount這個指令時,至少要先知道下列三種信息:要加載對象的文件系統類型、要 加載對象的設備名稱及要將設備加載到哪個目錄下。

(1)Linux可以識別的文件系統

◆ Windows 95/98常用的FAT 32文件系統:vfat ;

◆ Win NT/2000 的文件系統:ntfs ;

◆ OS/2用的文件系統:hpfs;

◆ Linux用的文件系統:ext2、ext3;

◆ CD-ROM光盤用的文件系統:iso9660。

雖然vfat是指FAT 32系統,但事實上它也兼容FAT 16的文件系統類型。

(2)確定設備的名稱

在Linux 中,設備名稱通常都存在/dev裡。這些設備名稱的命名都是有規則的,可以用「推理」的方式把設備名稱找出來。例如,/dev/hda1這個 IDE設備,hd是Hard Disk(硬盤)的,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a代表第一個設備,通常IDE接口可以接上4個IDE設備(比如4塊硬盤)。所以要識別IDE硬盤的方法分別就是hda、hdb、hdc、 hdd。hda1中的「1」代表hda的第一個硬盤分區 (partition),hda2代表hda的第二主分區,第一個邏輯分區從hda5開始,依此類推。此外,可以直接檢查 /var/log/messages文件,在該文件中可以找到計算機開機後系統已辨認出來的設備代號。

(3)查找掛接點

在 決定將設備掛接之前,先要查看一下計算機是不是有個/mnt的空目錄,該目錄就是專門用來當作掛載點(Mount Point)的目錄。建議在/mnt裡建幾個/mnt/cdrom、/mnt/floppy、/mnt/mo等目錄,當作目錄的專用掛載點。舉例而言,如 要掛載下列5個設備,其執行指令可能如下 (假設都是Linux的ext2系統,如果是Windows XX請將ext2改成vfat):

軟盤 ===>mount -t ext2 /dev/fd0 /mnt/floppy
cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom
SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom
SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr


不過目前大多數較新的Linux發行版本(包括紅旗 Linux、中軟Linux、Mandrake Linux等)都可以自動掛裝文件系統,但Red Hat Linux除外。

一些指令補充請看這:酷米資訊筆記-Ubuntu常用命令與技巧

香港IT網-Unix/Linux 相關文件 : http://www.hkitn.com/article.php/6006

Vim

張貼者:2012年8月16日 上午1:23Wei-Chang Lin   [ 已更新 2012年8月17日 上午2:00 ]

網中人大神的教學http://www.study-area.org/tips/vim/Vim-10.html

一、ubuntu底下預設的vim是簡易版的,請下指令apt-get install vim。
二、安裝完畢後vim的設定檔路徑在/etc/vimrc。

在vim底下有很多常用的指令
筆者自己最常用的摘要如下:

i插入

d整行刪除

x逐字刪除

/向下搜尋字串

?向上搜尋字串

:g/被取代的字串/s//取代字串/g

:wq   --存檔後跳出

:q!   --不存檔強制跳出
:e ++enc=big5    --強制使用big5編碼讀取檔案,特別常用於出現亂碼時。

FTP

張貼者:2012年8月16日 上午1:00Wei-Chang Lin   [ 已更新 2012年8月16日 上午1:00 ]

遠端連線方式 ftp [address] [port]
ls     查看 Server 端的目錄或檔案
pwd    查看 Server 端目前所在的目錄
cd     變更 Server 端目前的目錄
cdup   變更 Server 端目前的目錄到上一目錄
lls    查看 Local 端的目錄或檔案
lcd    變更 Local 端目前的目錄
asc    設定傳輸模式為文字檔方式
bin    設定傳輸模式為二進位檔方式
get    將 Server 端的檔案拷貝至 Local 端現在目錄下
mget   拷貝多個 Server 端的檔案至 Local 端現在目錄下
put    將 Local 端的檔案拷貝至 Server 端現在目錄下
mput   拷貝多個 Local 端的檔案至 Server 端現在目錄下
delete 刪除 Server 端的檔案
mkdir 在 Server 端建立目錄
rmdir 刪除 Server 端的目錄

!      shell 指令
!ls    查看 Local 端的目錄或檔案

prompt 變換交談模式 (on/off),
?,help 指令使用說明
bye    結束 FTP

1-4 of 4