天天看點

Linux指令大總結

from http://elain.blog.51cto.com/3339379/623310

Linux指令大總結

------------------------------------------------------------------------------------

開機自啟動指令行模式和圖形模式:

vi /etc/inittab   改3為指令行模式    改5為圖形模式

開關機指令:

關機 init 0   shtudown -h now     重新開機    reboot   init 6

從指令行模式切換圖形模式:

startx   init 5

多使用者登入,可用使用 Alt+F1 Alt+F2 Alt+F3來切換

-------------------------------------------------------------------------------------

GRUB相關問題解決指令:

*無法引導*:

1)插入CD光牒,進入後按F5,然後輸入: linux rescue   回車

cd /mnt/sysimage/

cd /sbin

./grub-install /dev/hda

2)插入CD光牒,進入後按F5,然後輸入: linux rescue   回車

./grub

grub>root (hd0,0)

grub>setup (hd0)

grub>K

grub>Kernel /vmliuz-2.4.20-8

grub>initrd /initrd-2.4.30-8.img

重新開機……

*使用者名密碼忘記問題*:

選系統菜單 按“e” 。在kernel下輸入/1 按b引導核心

進入單使用者模式後 輸入:vi /etc/passwd

把root後的兩個冒号之間的"x"删除就行,重新開機……

或者進入單使用者模式後。輸入:passwd root 更改一個root密碼

檔案系統指令:

Ctrl+z                   快速退出到字元輸入模式

df                       檢視硬碟所剩空間

du                       檢視檔案占用空間 -s -k -hs

touch                    建立檔案

rm                       删除檔案     -f -rf(常用)

mount                    挂載   -t

用法:#mkdir usb     /*建立一個挂載點*/

#cd /mnt       /*進入挂載點*/

#ls

#mount -t auto /dev/sdb1 /mnt/usb

umount                   解除安裝

#umount -a

#umount /mnt/usb

cal                      萬年曆 如:cal 10 2008 /*顯示08年10月*/

data                     更改日期           dmesg                    顯示系統資訊

uname -a                 顯示目前系統版本

man                      顯示參考手冊   如:man -l

--help                   檢視指令幫助

---------------------------------------------------------------------------------------

目錄檔案操作指令:

ls                       顯示目錄下的檔案 -a -R ll   -aR|more(多行顯示按ENTER翻頁)find                     查找檔案

where is                 尋找檔案        如:where is kqzj

clear                    清屏

cd ..                    傳回上一級目錄

pwd                      顯示目前所在目錄的絕對路徑

cd                       進入所對應的相對路徑

mkdir                    建立檔案夾   -p(建立多層目錄)如:mkdir -p aaa/bbb/ccc

rmdir                    删除檔案夾

cp                       拷貝一個檔案

more                     閱讀檔案   按Enter閱讀(每次向下翻幾行) 按q退出 再clear清屏

cat                      閱讀檔案   (從頭看到尾)按PgUp向上翻

vi                       同上      先按ESC,加冒号 q! (!表示強行退出)

chmod                    修改檔案的權限

如:chmod 777 kqzj.img 表示kqzj完全控制

讀          寫          執行

r           w           x

4           2           1

chown                    修改檔案的屬主

file                     顯示檔案類型

檔案壓縮指令:

gzip                     壓縮    -v(顯示進度)

gunzip                   解壓    -fv(f表示不提示覆寫原檔案)     相當于gzip -d

zip                      壓縮    格式:zip (壓縮後檔案名) (原檔案名)

unzip                    解壓

bzip2                    壓縮

bunzip2                  解壓

tar -cvf                 打包          格式:tar -cvf (壓縮後檔案名) (原檔案名)

-xvf                 解包

-czvf                打包并壓縮    格式:tar -czvf kqzj.php.tar.gz kqzj.php

-zxvf                解包并解壓

也可以把tar和gz合并成tgz 如:tar -czvf kqzj.php.tgz kqzj.php

軟體包安裝指令:

*安裝二進制軟體包*

tar -zxvf                先解壓

chmod 755                再改權限

./                       執行目前目錄下的檔案    /usr/local/   預設安裝路徑

./(程式名) &             執行程式并在背景運作

*安裝rpm軟體包*

rpm 常用指令: -ivh

-Uvh

-i       安裝一個新的安裝包

-U       更新一個系統存在的一個軟體包若不存在就安裝它

-F       更新一個軟體包若不存在就不安裝它

-v       顯示系統安裝軟體時顯示的各種資訊(路徑等)

-h       顯示系統安裝軟體時顯示的進度

-e       删除一個軟體包(接軟體名)

-q(a)    列出使用者已安裝的軟體

./setup.sh               進入安裝檔案目錄後執行直接安裝

*源代碼安裝指令*

tar -xvf                 解包

./configure              配置安裝

vi README                檢視說明

make                     讀取并編譯源代碼

./configure make make

使用者管理指令:

vi /etc/passwd           使用者名(passwd)           :set nu 用序列形式顯示

vi /etc/shadow           密碼 (shadow)

vi /etc/login.defs       建立使用者時系統預設的資訊   #表示該資訊被注釋,不起作用

useradd                  添加使用者 -u   -g   -G -d   -s -p

如:useradd -u 502 -g root -G ftp -d /home/kqzj/ -s /bash -p                            123456 kqzj

userdel                  删除使用者 -r

passwd                   更改使用者密碼

--------------------------------------------------------------------------------------- 程序管理指令:

who(w)                   檢視目前登入的使用者    其實w更實用

last                     顯示最近使用者登入的情況

top                      系統監視指令

ps                       顯示系統目前程序 -A   -aux(基于top與ps指令的綜合)

kill                     結束一個程序   -9(無條件)

踢出一個使用者,kill -9 pid(-bash)

日志管理指令:

vi /etc/syslog.conf       系統日志配置檔案

cd /var/log               進入日志檔案目錄

shell程式設計指令:

bash                      執行shell腳本                     bash < a.sh

=============================================

a.sh 腳本内容如下:

#! /bin/bash

abc()

{

a=kqzjhack

echo $a

}

echo hostname:$HOSTNAME

echo username:$USERNAME

echo uid:$UID

echo pwd:`pwd`

abc

ls -l

==============================================

--------------------------------------------------------------------------------------

網絡管理指令:

gdmconfig                 登入界面的配置

ifconfig                  檢視目前的網絡配置

setup                     配置網絡

service network restart   重新開機網絡服務 stop    start

service network state     檢視目前網絡狀态

vi /etc/sysconfig/network-scripts/ifcfg-eth0   用vi編輯器修改IP位址

ping                      測試網絡的連通

at                        計劃任務指令 [-V][-q 隊列][-f 檔案名][-mldbv] 時間

-c 作業

Vim

首先簡單的說一下​​vi​​編輯器──unix的通用編輯器,

讀作vee-eye (​​vi​​sual editor的簡寫)。

(這裡的​​vim​​,是改進的vi, Vi Improved簡寫,Vim 由Bram Moolenaar編寫)

vi的工作模式

分為指令模式和插入模式 以及 : ex模式;

按esc鍵就可以讓vi進入指令模式;

插入模式就是你輸入文本的模式了。

vi的一些簡單操作:

普通操作:

插入文本

指令 i 、a、I、A、o、O

i 進入指令模式輸入 i ,這時候就是和普通的文本編輯器一般了;

a 或者 輸入 a ,不同的是,a是在字元的後面插入追加文本,而i在字元的前面插入;

I 行首插入;

A 行尾插入。

o 光标下建立空行

O 光标上建立空行

修改删除文本

指令 c、x、d、D

cw 删除目前位置到該位置單詞的末尾,外加插入文本; cw删除的是英文單詞,中文不行的。

c$ or C 删除目前位置到行末,外加插入文本。

x 隻删除目前字元 如果要删一個中文字的話請用 2x (當然也可以用4x 8x) 因為一個漢字占兩個字元。

cc 删除一行,外加可以插入文本。

r 删除目前字元,外加可以插入文本。

dw 隻删除目前位置到這個單詞末。

[n]dd 删除[n]一行。 當然可以用 2dd 3dd 删除兩行,三行。

D 删除到行尾。

粘貼,複制,合并

指令 p、y、J、"(引号)

p 當你執行上面的删除操作後,你所删除的文本會留在緩存中,當你輸入 p 後會把這些删除的文本粘貼到目前光标後面。

y 組合有(yw,4yy,y$等) //複制單詞,複制四行,複制到行末 複制後可用p進行粘貼

J 把下一行合并到目前行,注意J大寫

"[x]yy 命名你的緩沖區 在複制指令前加上冒号和名稱(a到z) 例如 "ryy "d2dd "zd)複制一行到r緩沖區,删除2行到d緩沖區,删除光标到句尾到z緩沖區。

"[x]p 粘貼x緩沖區到目前位置後。

預設有1~9緩沖區 為前9次删除操作。

可視操作

指令 v、V、Ctrl+v

當用g​​vim​​可以用滑鼠選擇你需要複制,删除的文本,然後按d(删除)、p(粘貼)、y(複制)操作你的文本,

當然也可以和其他程式通過粘貼闆進行共享資料。

v 對于xterm中的vim 則輸入指令 v 進入可視狀态,這時候你可以用右鍵進行複制粘貼操作

重複操作與撤消

指令 . (點号) 、 u 、U

. 重複上一次的操作,當并不是那種重作,他隻是重複你上次輸入的指令。

Ctrl+R 重做

u 撤消上次操作

U 撤消目前行進行的任意修改。

查找文本

指令 /、?、n、N

/ 向後查找文本進入指令模式輸入 /[你要查找的文本]; 例如找edit 輸入 /edit ;

? 而向前查找文本就是輸入 ?[你要查找的文本] ;

n 當有許多搜尋結果時,指令模式下輸入 n 就可以找下一個搜尋結果,而輸入 N

N 則是反向下一個搜尋結果。

打開,儲存與退出

先進入ex模式,就是在指令模式下輸入 : 再輸入指令。

指令 ZZ、 q、 w、 e、r

:ZZ 進入指令模式 輸入 ZZ (大寫)就是儲存+退出;

:w 儲存文本 進入指令模式 輸入 w 就是儲存;

:q! 強行退出是輸入 q! ;

:e! 撤消目前所有編輯,傳回原始狀态的話,請輸入 e! ;

:w [filename] 另存為就是 w [filename] 。

:e [filename] 打開另外一個檔案(打開新檔案前,請先儲存檔案。

:r [filename] 讀入filename内容到目前檔案的目前位置後

移動光标

指令 hjkl、(、)、{、}、e、w、b、gg、G

hjkl 一般可直接用鍵盤上的方向鍵進行光标的移動。而page up/down 鍵就是前後翻頁了;

或者,指令模式下 按

h(左) j(下) k(上) l(右)

或者在這個基礎加上數字,進行幾行幾行的移動,例如 4j就表示向下移動四行。

nG 例如200G 就是移動200行了。而Ctrl+G就是顯示目前行資訊(多少行,在文本的位置);

G 到檔案尾

gg 到檔案頭

e 另外 輸入 e 可以一單詞的移動光标,

( 目前句首

) 下一句開始 例如 2) 向前移動兩個句子

{ 段開始

} 下一段頭

b、w 後前以單詞為機關移動。

标記指令 m、‘(單引号)、`(反引号也就是 ~ 那裡那個鍵)

m[x] 标記x(a~z)位置 例如 mb 标記目前光标位置為标志b

’x 移動光标到x标記行的行首

`x 移動光标到x标記的原始光标位置

'' 移動到上一标記行首

`` 移動到上一标記原光标位;

zl zh zs ze 視窗左滾 右滾 左開始 右結束 //可設定 :set sidescroll=32 設定滾動長度(我好象用不了這個指令)

其他

Ctrl+L 刷屏

return 到下一行行首

-、+ 移動光标上下一行,上下一行的行首(好象+号要用小鍵盤的+号才行);

Ctrl+G 顯示目前行資訊

H 螢幕起點

M 螢幕中間

L 螢幕尾

組合使用例子   指令模式下

例子:現有文本

aaabbb

cccdddeeefff (光标在第一行)

輸入 /aab回車 d /ccc回車 那就會删除掉目前位置aab(包括aab), 到ccc前所有資料并複制資料到緩沖(和剪切差不多)。當然d也可用改成y做複制用途,再用p粘貼。

vim的ex狀态 當在: ex模式下可以用tab進行自動補齊指令(用: set nu 顯示行數) 并可以利用 | 可以将多個指令組合在同一提示符下

文本搜尋,替換,移動,删除,複制

指令 :g/、:s/ 、:m 、:d、:co (或者:t)

:g :g/[文本] 全局搜尋文本,光标移動到最後一個搜尋文本,并顯示所有資料加所在行。

:g!/[文本] 沒有[文本]的行

:s :[第n行],[到第m行]s/[要替換的]/[替換的] n-m行之間進行替換,如果沒有n,m那麼就進行目前行的替換

:%/s/[要替換的]/[替換的]/g 進行全局替換。 %表示每一行, 另外有 . 表示目前行, $ 表示最後一行,另外可用+-号表示該行的上下n行,例如.-2 表示目前行上面第二行

:m :[要移動的資料]m[移動的地方] 例子 :20,30m100 20-30行移動到100行前(最後一行是100行)

例子: :g/^$/d 删除所有空行 d加上删除動作

搜尋模式

.(點号) 任一個單字元,漢字用兩個點 ..

* 比對前面字元零個或者多個任意(并不表示任意字元) 例如 /abcdl* 就會查找abcdl或者以abcd開始的,而查找所有是 /.*

^ 表示從行首開始

$ $在表達式末表示以正規表達式要在行末。

轉義 .表示找. *表示找* \表示找

[ ] [0~9]表示比對0~9之間任意一個數字 同理有[A~Z]和[a~z],而[AB3a]表示找有A,B, 3,a其中任意一個字元。

< , > 單詞開始或者末尾以空格或者标點符号開始或者結束。 例如 inux> 比對linux.

r 回車

t 制表符

執行sh指令

:![shell command] 例如 :!ls

添加資料到檔案末 >>

例子 :1,10w>>newfile

需要注意的是vim可以把一些指令組合起來應用

:1,3d | s/they/she/ 一到三行删除,并把目前行they替換為she

:.,/while/d 删除目前行到比對while行所有資料(包括目前行和含有while所在行)

:/aaa/,/bbbb/d aaa到bbbb之間行删除(包括這兩行)

:/aaa/,/bbb/m. aaa到bbb行move到目前行

分屏

:[N]sp[lit] [filename] 另開視窗,高度是N行,并打開filename檔案。

Ctrl+w [x] 準備進行視窗操作,其中x是按Ctrl+w後,需要選擇的功能鍵(可參見下一行) 例如Ctrl+w 再按t就會到頂端視窗

Ctrl+w [s/w/t/b/c/q/r/i/=] s 再分屏,w下一個視窗,t頂視窗,b底端視窗,c關閉視窗 q退出視窗 r循環視窗 i打開并進入新視窗 =所有視窗同高

:hide 隐藏目前視窗,當不關閉該檔案緩沖(也就是說再次用 :e [filename] 打開後依然是先前的檔案)

:q 關閉視窗,并釋放緩沖。

:qa[!] 關閉所有視窗并強行退出vim;

:on[ly] 隻顯示目前視窗

:new [filename] 建立檔案并打開新視窗。

:res[ize][n] :res[ize][+ -n] 改變視窗大小,或者增加減少行數

用vim程式設計

:make [arguments] 運作make 然後移動到第一個錯誤,

:cf[ile] [!] [errorfile]讀取錯誤檔案,并移動到第一個錯誤處,!強迫vim移動到另外的緩沖區,

:cl[ist] [!] 列出含有檔案名的錯誤,有!就列出所有錯誤,

:cc[!] [n] 如果有n就顯示錯誤n,否則重新顯示目前錯誤,

:cn[ext] 移動到下一個錯誤。

:cp 移動到上一個錯誤。

另外一個有用的程式設計功能是使用ctags(unix指令,給C語言中的函數打标記。這個指令與vi的tags結合使用)

先用ctags指令 :!ctags file.c 建立該c程式tags檔案,再在vi中使用 :tag [函數名] ,那麼vi就直接調出該c原檔案并跳到函數定義處。

例如: :!ctags *.c

:tag aaa 其中bbb.c 中有aaa函數,那麼就跳到aaa的定義處

:tn 跳到下一個比對标志

:tp 上一個标志

設定vim

:set all 顯示所有選項。

:set nu[mber] 顯示行數。

:set binary 可讀二進制檔案

:syntax on 文法高亮

:set taglength=4 設定tag長度

記不住可使用tab鍵補齊指令(也可以顯示可以選擇的指令)

vim的配置檔案 .vimrc

在vim的安裝目錄下有一個vimrc_example.vim檔案,你可以copy到你的工作目錄上作為你的原始vim配置檔案(檔案改名為.vimrc)

vi引證

最後,這裡有關vi的認證:vi是完美的

論證:VI在羅馬數字中是六,小于六的自然數可以整除6的是1,2,3, 6=1X2X3; 而6有可以表示為6=1+2+3,可見VI是個完美的數字,進而VI也是完美的。

對于vim

羅馬數字中VIM可能表示為(1000-(5+1))=994,而剛好等于2×496+2,而496剛好可以被1,2,4,8,16,31,62,124,248等整除,而且1+2+4+8+16+31+62+124+248=496

是以496是個更完美的數字,可見vim比vi更加完美了。