linux常用命令大全

進入帶空格的文件或者文件夾

root@ubuntu:/home/wangan/桌面/wang an# cd /root
root@ubuntu:~# ls
MyEclipse Professional 2014
root@ubuntu:~# cd MyEclipse\ Professional\ 2014
root@ubuntu:~/MyEclipse Professional 2014# ls
artifacts.xml  dropins       icon.xpm         myeclipse.ini  plugins
binary         epl-v10.html  libcairo-swt.so  notice.html    readme
configuration  features      myeclipse        p2             Uninstaller
root@ubuntu:~/MyEclipse Professional 2014# ls -l
總用量 1068
-rw-r--r--   1 root root 413582 Nov 19 19:20 artifacts.xml
drwxr-xr-x   3 root root   4096 Nov 19 19:20 binary
drwxr-xr-x  13 root root   4096 Nov 19 19:34 configuration
drwxr-xr-x   2 root root   4096 Nov 19 19:20 dropins
-rw-r--r--   1 root root  16536 Jun 30  2013 epl-v10.html
drwxr-xr-x 204 root root  20480 Nov 19 19:20 features
-rw-r--r--   1 root root  55371 Nov 15  2013 icon.xpm

Linux文件權限詳解 文件和目錄權限概述

在linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。

通過設定權限可以從以下三種訪問方式限制訪問權限:只允許用戶自己訪問;允許一個預先指定的用戶組中的用戶訪問;允許系統中的任何用戶訪問。同時,用戶能夠控制一個給定的文件或目錄的訪問程度。一個文件活目錄可能有讀、寫及執行權限。當創建一個文件時,系統會自動地賦予文件所有者讀和寫的權限,這樣可以允許所有者能夠顯示文件內容和修改文件。文件所有者可以將這些權限改變為任何他想指定的權限。一個文件也許只有讀權限,禁止任何修改。文件也可能只有執行權限,允許它想一個程序一樣執行。

三種不同的用戶類型能夠訪問一個目錄或者文件:所有著、用戶組或其他用戶。所有者就是創建文件的用戶,用戶是所有用戶所創建的文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。通常,用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問權限。最后,用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是other用戶類。
每一個用戶都有它自身的讀、寫和執行權限。第一套權限控制訪問自己的文件權限,即所有者權限。第二套權限控制用戶組訪問其中一個用戶的文件的權限。第三套權限控制其他所有用戶訪問一個用戶的文件的權限,這三套權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限就構成了一個有9種類型的權限組。

我們可以用-l參數的ls命令顯示文件的詳細信息,其中包括權限。如下所示:

$ ls -lh
總用量 191M
-rwxrwx--- 1 root plugdev 18M 2007-02-28 18:05 ActionCube_v0.92.tar.bz2
-rwxrwx--- 1 root plugdev 60M 2007-04-30 22:52 nexuiz-223.zip
-rwxrwx--- 1 root plugdev 7.4M 2007-04-25 02:16 stardict-oxford-gb-2.4.2.tar.bz2
-rwxrwx--- 1 root plugdev 102M 2007-05-01 18:22 tremulous-1.1.0-installer.x86.run
-rwxrwx--- 1 root plugdev 4.9M 2007-04-30 14:32 wqy-bitmapfont-0.8.1-7_all.deb.bin

當執行ls -l 或 ls -al 命令后顯示的結果中,最前面的第2~10個字符是用來表示權限。第一個字符一般用來區分文件和目錄:

  • d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的文件。
  • -:表示這是一個普通的文件。
  • l: 表示這是一個符號鏈接文件,實際上它指向另一個文件。
  • b、c:分別表示區塊設備和其他的外圍設備,是特殊類型的文件。
  • s、p:這些文件關系到系統的數據結構和管道,通常很少見到。

權限的種類和設置權限的方法。

一般權限

第2~10個字符當中的每3個為一組,左邊三個字符表示所有者權限,中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。這三個一組共9個字符,代表的意義如下:

  • r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權
  • w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。
  • x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

表示不具有該項的權限。

  • -rwx------: 文件所有者對文件具有讀取、寫入和執行的權限。
  • -rwxr―r--: 文件所有者具有讀、寫與執行的權限,其他用戶則具有讀取的權限。
  • -rw-rw-r-x: 文件所有者與同組用戶對文件具有讀寫的權限,而其他用戶僅具有讀取和執行的權限。
  • drwx--x--x: 目錄所有者具有讀寫與進入目錄的權限,其他用戶近能進入該目錄,卻無法讀取任何數據。
  • drwx------: 除了目錄所有者具有完整的權限之外,其他用戶對該目錄完全沒有任何權限。

每個用戶都擁有自己的專屬目錄,通常集中放置在/home目錄下,這些專屬目錄的默認權限為rwx------:

表示目錄所有者本身具有所有權限,其他用戶無法進入該目錄。執行mkdir命令所創建的目錄,其默認權限為rwxr-xr-x,用戶可以根據需要修改目錄的權限。

此外,默認的權限可用umask命令修改,用法非常簡單,只需執行umask 777 命令,便代表屏蔽所有的權限,因而之后建立的文件或目錄,其權限都變成000,依次類推。通常root帳號搭配umask命令的數值為022、027和 077,普通用戶則是采用002,這樣所產生的權限依次為755、750、700、775。有關權限的數字表示法,后面將會詳細說明。

用戶登錄系統時,用戶環境就會自動執行rmask命令來決定文件、目錄的默認權限。
特殊權限
其實文件與目錄設置不止這些,還有所謂的特殊權限。由于特殊權限會擁有一些“特權”,因而用戶若無特殊需求,不應該啟用這些權限,避免安全方面出現嚴重漏洞,造成黑客入侵,甚至摧毀系統!!!

  • s或S(SUID,Set UID):可執行的文件搭配這個權限,便能得到特權,任意存取該文件的所有者能使用的全部系統資源。請注意具備SUID權限的文件,黑客經常利用這種權限,以SUID配上root帳號擁有者,無聲無息地在系統中開扇后門,供日后進出使用。

  • s或S(SGID,Set GID):設置在文件上面,其效果與SUID相同,只不過將文件所有者換成用戶組,該文件就可以任意存取整個用戶組所能使用的系統資源。

  • T或T(Sticky):/tmp和 /var/tmp目錄供所有用戶暫時存取文件,亦即每位用戶皆擁有完整的權限進入該目錄,去瀏覽、刪除和移動文件。

因為SUID、SGID、Sticky占用x的位置來表示,所以在表示上會有大小寫之分。加入同時開啟執行權限和SUID、SGID、Sticky,則權限表示字符是小寫的:

-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

如果關閉執行權限,則表示字符會變成大寫:

-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf
使用文件管理器來改變文件或目錄的權限
如果用戶要改變一個文件目錄的權限,右擊要改變權限的文件或者目錄,在彈出的快捷菜單中選擇“屬性”,系統將打開屬性對話框

在“屬性”對話框中,單擊“權限”標簽,就會打開“權限”選項卡。

在這里你可以修改文件或者目錄的所有者、組群和其他用戶的權限,而且可以設置特殊權

對于特殊權限,最好不要設置,不然會帶來很嚴重的安全問題。

當然,在這里你也可以改變文件和目錄的所有者和所屬組。
使用chmod和數字改變文件或目錄的訪問權限
文件和目錄的權限表示,是用rwx這三個字符來代表所有者、用戶組和其他用戶的權限。有時候,字符似乎過于麻煩,因此還有另外一種方法是以數字來表示權限,而且僅需三個數字。

  • r: 對應數值4
  • w: 對應數值2
  • x:對應數值1
  • -:對應數值0

數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊涂,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,
那么rwx r-x r--則可以表示成為:

111 101 100

再將其每三位轉換成為一個十進制數,就是754。

例如,我們想讓a.txt這個文件的權限為:

自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執行

那么,我們先根據上表得到權限串為:rw-rw-r--,那么轉換成二進制數就是110 110 100,再每三位轉換成為一個十進制數,就得到664,因此我 們執行命令:

[root@localhost ~]# chmod 664 a.txt

按照上面的規則,rwx合起來就是4+2+1=7,一個rwxrwxrwx權限全開放的文件,數值表示為777;而完全不開放權限的文件“---------”其數字表示為000。下面舉幾個例子:

-rwx------:等于數字表示700。
-rwxr―r--:等于數字表示744。
-rw-rw-r-x:等于數字表示665。
drwx―x―x:等于數字表示711。
drwx------:等于數字表示700。

在文本模式下,可執行chmod命令去改變文件和目錄的權限。我們先執行ls -l 看看目錄內的情況:

[root@localhost ~]# ls -l

總用量 368

-rw-r--r-- 1 root root 12172 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到當然文件conkyrc.sample文件的權限是644,然后把這個文件的權限改成777。執行下面命令

[root@localhost ~]# chmod 777 conkyrc.sample

然后ls -l看一下執行后的結果:

[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample文件的權限已經修改為rwxrwxrwx

如果要加上特殊權限,就必須使用4位數字才能表示。特殊權限的對應數值為:

  • s或 S (SUID):對應數值4。
  • s或 S (SGID):對應數值2。
  • t或 T :對應數值1。

用同樣的方法修改文件權限就可以了

例如:

[root@localhost ~]# chmod 7600 conkyrc.sample
[root@localhost ~]# ls -l

總用量 368

-rwS--S--T 1 root root 12172 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

加入想一次修改某個目錄下所有文件的權限,包括子目錄中的文件權限也要修改,要使用參數-R表示啟動遞歸處理。

例如:

    [root@localhost ~]# chmod 777 /home/user 注:僅把/home/user目錄的權限設置為rwxrwxrw
    [root@localhost ~]# chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的文件和子目錄的權限都設置為rwxrwxrwx

使用命令chown改變目錄或文件的所有權
文件與目錄不僅可以改變權限,其所有權及所屬用戶組也能修改,和設置權限類似,用戶可以通過圖形界面來設置,或執行chown命令來修改。

我們先執行ls -l看看目錄情況:

    [root@localhost ~]# ls -l

    總用量 368

    -rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample
    drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
    -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
    drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
    -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
    -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
    -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
    drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample文件的所屬用戶組為root,所有者為root。
執行下面命令,把conkyrc.sample文件的所有權轉移到用戶user:

[root@localhost ~]# chown user conkyrc.sample
[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 user root 12172 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

要改變所屬組,可使用下面命令:

[root@localhost ~]# chown :users conkyrc.sample
[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 user users 12172 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6
drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0
-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1
-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo
drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

要修改目錄的權限,使用-R參數就可以了,方法和前面一樣。

linux面試

  1. 如何暫停一個正在運行的進程,讓其在后臺運行?

答案:為了停止正在運行的進程,讓其在后臺運行,我們可以使用組合鍵 Ctrl+Z。

  1. 什么是安裝Linux所需的最小分區數量,以及如何查看系統啟動信息?

答案:單獨一個/root分區足以執行所有的系統任務,但是強烈建議安裝Linux時,需要至少三個分區:/root,/boot,/swap。一個IDE硬盤驅動器支持高達63個分區,SCSI硬盤驅動器支持超過15個分區。
為了檢查啟動信息,我們可以使用cat或者dmesg命令,如下所示:
#cat /var/log/messages或者#dmesg

  1. 在你的Linux機器上跟蹤系統事件的守護進程名是什么?

答案:'syslogd',它負責跟蹤系統信息,并將跟蹤日志存儲在特定的日志文件里。

  1. 在/root分區運行'fsck'命令的最低要求是什么?

答案:/root分區必須掛載為只讀模式,而不是讀寫模式

  1. 如何分層復制/home目錄到另一個目錄?

答案:Linux的'cpio'命令起到了效果。'cpio'可以分層地復制文件和目錄層次結構到另一個位置。

  1. 在Linux中,怎樣實現日志文件的自動替換?

答案:'logrotate'提供日志自動替換功能。

  1. 怎樣知道Linux中是誰在安排工作?

答案:使用'at'命令加上'-l'選項,就可以查出。

  1. 如何在不解壓tar包的前提下,查看包里的內容?

答案:使用'tar -tvf'。選項‘t’(顯示內容),‘v’(詳細報告tar處理的文件信息),‘f’(使用檔案文件或者設備)

  1. 什么是頁面錯誤,它是怎么發生的?

答案:當一個程序請求內存中不存在的數據時,就會產生頁面錯誤,導致的結果就是程序停止。

  1. 什么是在程序中返回代碼?

答案:返回代碼是shell的特性。返回代碼顯示了程序的狀態,一個成功的程序執行后返回‘0’,&&可以用來決定那個應用程序先執行

  1. 問: 當你需要給命令綁定一個宏或者按鍵的時候,應該怎么做呢?
    答:可以使用bind命令,bind可以很方便地在shell中實現宏或按鍵的綁定。
    在進行按鍵綁定的時候,我們需要先獲取到綁定按鍵對應的字符序列。
    比如獲取F12的字符序列獲取方法如下:先按下Ctrl+V,然后按下F12 .我們就可以得到F12的字符序列 ^[[24~。
    接著使用bind進行綁定。

[root@localhost ~]# bind ‘”\e[24~":"date"'
注意:相同的按鍵在不同的終端或終端模擬器下可能會產生不同的字符序列。
【附】也可以使用showkey -a命令查看按鍵對應的字符序列。
推薦閱讀:不同應用場景的10個Linux面試問題與解答 http://www.linuxidc.com/Linux/2014-04/99710.htm

  1. 問: 如果一個linux新手想要知道當前系統支持的所有命令的列表,他需要怎么做?
    答: 使用命令compgen --c,可以打印出所有支持的命令列表。

  2. 問:如果你的助手想要打印出當前的目錄棧,你會建議他怎么做?
    答:使用Linux 命令dirs可以將當前的目錄棧打印出來。
    [root@localhost ~]# dirs
    /usr/share/X11
    【附】:目錄棧通過pushd popd 來操作。

  3. 問: 你的系統目前有許多正在運行的任務,在不重啟機器的條件下,有什么方法可以把所有正在運行的進程移除呢?
    答: 使用linux命令 ’disown -r ’可以將所有正在運行的進程移除。

  4. 問: bash shell 中的hash 命令有什么作用?
    答:linux命令’hash’管理著一個內置的哈希表,記錄了已執行過的命令的完整路徑, 用該命令可以打印出你所使用過的命令以及執行的次數。
    [root@localhost ~]# hash
    hits command
    2 /bin/ls
    2 /bin/su

常用命令

ls 列出當前目錄文件(不包括隱含文件) 
ls -a 列出當前目錄文件(包括隱含文件) 
ls -l 列出當前目錄下文件的詳細信息 

cd .. 回當前目錄的上一級目錄 
cd - 回上一次所在的目錄 
cd ~ 或 cd 回當前用戶的宿主目錄 
mkdir 目錄名 創建一個目錄 
rmdir 空目錄名 刪除一個空目錄 
rm 文件名 文件名 刪除一個文件或多個文件 
rm -rf 非空目錄名 刪除一個非空目錄下的一切 

mv 路經/文件 /經/文件移動相對路經下的文件到絕對路經下 
mv 文件名 新名稱 在當前目錄下改名 
find 路經 -name “字符串” 查找路經所在范圍內滿足字符串匹配的文件和目錄 

系統管理

fdisk fdisk -l 查看系統分區信息 
fdisk fdisk /dev/sdb 為一塊新的SCSI硬盤進行分區 
chown chown root /home 把/home的屬主改成root用戶 
chgrp chgrp root /home 把/home的屬組改成root組 

Useradd 創建一個新的用戶 
Groupadd 組名 創建一個新的組 
Passwd 用戶名 為用戶創建密碼 
Passwd -d用戶名 刪除用戶密碼也能登陸 
Passwd -S用戶名 查詢賬號密碼 
Usermod -l 新用戶名 老用戶名 為用戶改名 
Userdel–r 用戶名 刪除用戶一切 

service [servicename] start/stop/restart 系統服務控制操作 
/etc/init.d/[servicename] start/stop/restart 系統服務控制操作 

uname -a 查看內核版本 
cat /etc/issue 查看ubuntu版本 
lsusb 查看usb設備 
sudo ethtool eth0 查看網卡狀態 
cat /proc/cpuinfo 查看cpu信息 
lshw 查看當前硬件信息 
sudo fdisk -l 查看磁盤信息 
df -h 查看硬盤剩余空間 
free -m 查看當前的內存使用情況 
ps -A 查看當前有哪些進程 
kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程) 
kill -9 進程號 強制殺死一個進程 

reboot Init 6 重啟LINUX系統 
Halt Init 0 Shutdown –h now 關閉LINUX系統 

打包/解壓

tar -c 創建包 –x 釋放包 -v 顯示命令過程 –z 代表壓縮包 
tar –cvf benet.tar /home/benet 把/home/benet目錄打包 
tar –zcvf benet.tar.gz /mnt 把目錄打包并壓縮 
tar –zxvf benet.tar.gz 壓縮包的文件解壓恢復 
tar –jxvf benet.tar.bz2 解壓縮 

make編譯

make 編譯 
make install 安裝編譯好的源碼包 

apt命令

apt-cache search package 搜索包 
apt-cache show package 獲取包的相關信息,如說明、大小、版本等 
sudo apt-get install package 安裝包 
sudo apt-get install package - - reinstall 重新安裝包 
sudo apt-get -f install 修復安裝”-f = –fix-missing” 
sudo apt-get remove package 刪除包 
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等 
sudo apt-get update 更新源 
sudo apt-get upgrade 更新已安裝的包 
sudo apt-get dist-upgrade 升級系統 
sudo apt-get dselect-upgrade 使用 dselect 升級 
apt-cache depends package 了解使用依賴 
apt-cache rdepends package 是查看該包被哪些包依賴 
sudo apt-get build-dep package 安裝相關的編譯環境 
apt-get source package 下載該包的源代碼 
sudo apt-get clean && sudo apt-get autoclean 清理無用的包 
sudo apt-get check 檢查是否有損壞的依賴 
sudo apt-get clean 清理所有軟件緩存(即緩存在/var/cache/apt/archives目錄里的deb包)

查看軟件xxx安裝內容
#dpkg -L xxx

查找軟件
#apt-cache search 正則表達式
查找文件屬于哪個包
#dpkg -S filename apt-file search filename

查詢軟件xxx依賴哪些包
#apt-cache depends xxx

查詢軟件xxx被哪些包依賴
#apt-cache rdepends xxx

增加一個光盤源
#sudo apt-cdrom add

系統升級

#sudo apt-get update 
#sudo apt-get upgrade 
#sudo apt-get dist-upgrade 

清除所以刪除包的殘余配置文件
#dpkg -l |grep ^rc|awk ‘{print $2}’ |tr ["\n"] [" “]|sudo xargs dpkg -P -

編譯時缺少h文件的自動處理
#sudo auto-apt run ./configure

查看安裝軟件時下載包的臨時存放目錄
#ls /var/cache/apt/archives

備份當前系統安裝的所有包的列表
#dpkg –get-selections | grep -v deinstall > ~/somefile

從上面備份的安裝包的列表文件恢復所有包
#dpkg –set-selections < ~/somefile sudo dselect

清理舊版本的軟件緩存
#sudo apt-get autoclean

清理所有軟件緩存
#sudo apt-get clean

刪除系統不再使用的孤立軟件
#sudo apt-get autoremove

查看包在服務器上面的地址
#apt-get -qq –print-uris install ssh | cut -d\’ -f2

系統
查看內核
#uname -a

查看Ubuntu版本
#cat /etc/issue

查看內核加載的模塊
#lsmod

查看PCI設備
#lspci

查看USB設備
#lsusb

查看網卡狀態
#sudo ethtool eth0

查看CPU信息
#cat /proc/cpuinfo

顯示當前硬件信息
#lshw

硬盤
查看硬盤的分區
#sudo fdisk -l

查看IDE硬盤信息
#sudo hdparm -i /dev/hda

查看STAT硬盤信息
#sudo hdparm -I /dev/sda

#sudo apt-get install blktool
#sudo blktool /dev/sda id

查看硬盤剩余空間
#df -h
#df -H

查看目錄占用空間
#du -hs 目錄名

優盤沒法卸載
#sync fuser -km /media/usbdisk

內存
查看當前的內存使用情況
#free -m

進程
查看當前有哪些進程
#ps -A
中止一個進程
#kill 進程號(就是ps -A中的第一列的數字) 或者 killall 進程名

強制中止一個進程(在上面進程中止不成功的時候使用)
#kill -9 進程號 或者 killall -9 進程名

圖形方式中止一個程序
#xkill 出現骷髏標志的鼠標,點擊需要中止的程序即可

查看當前進程的實時狀況
#top

查看進程打開的文件
#lsof -p

如何設置動態域名
#首先去http://www.3322.org申請一個動態域名
#然后修改 /etc/ppp/ip-up 增加撥號時更新域名指令 sudo vim /etc/ppp/ip-up
#在最后增加如下行 w3m -no-cookie -dump

網絡
根據IP查網卡地址
#arping IP地址

查看當前IP地址
#ifconfig eth0 |awk ‘/inet/ {split($2,x,":");print x[2]}’

查看當前外網的IP地址
#w3m -no-cookie -dumpwww.edu.cn|grep-o‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’
#w3m -no-cookie -dumpwww.xju.edu.cn|grep-o’[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’
#w3m -no-cookie -dump ip.loveroot.com|grep -o’[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’

查看當前監聽80端口的程序
#lsof -i :80

查看當前網卡的物理地址
#arp -a | awk ‘{print 4}’ ifconfig eth0 | head -1 | awk ‘{print5}’

立即讓網絡支持nat
#sudo echo 1 > /proc/sys/net/ipv4/ip_forward
#sudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息
#netstat -rn sudo route -n

手工增加刪除一條路由
#sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
#sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

修改網卡MAC地址的方法
#sudo ifconfig eth0 down 關閉網卡
#sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 然后改地址
#sudo ifconfig eth0 up 然后啟動網卡

統計當前IP連接的個數
#netstat -na|grep ESTABLISHED|awk ‘{print 5}’|awk -F: ‘{print1}’|sort|uniq -c|sort -r -n
#netstat -na|grep SYN|awk ‘{print 5}’|awk -F: ‘{print1}’|sort|uniq -c|sort -r -n

統計當前20000個IP包中大于100個IP包的IP地址
#tcpdump -tnn -c 20000 -i eth0 | awk -F “." ‘{print 1″."2″."3″."4}’ | sort | uniq -c | sort -nr | awk ‘ $1 > 100 ‘

屏蔽IPV6
#echo “blacklist ipv6″ | sudo tee /etc/modprobe.d/blacklist-ipv6

服務
添加一個服務
#sudo update-rc.d 服務名 defaults 99

刪除一個服務
#sudo update-rc.d 服務名 remove

臨時重啟一個服務
#/etc/init.d/服務名 restart

臨時關閉一個服務
#/etc/init.d/服務名 stop

臨時啟動一個服務
#/etc/init.d/服務名 start

設置
配置默認Java使用哪個
#sudo update-alternatives –config java

修改用戶資料

sudo chfn userid

給apt設置代理
#export http_proxy=http://xx.xx.xx.xx:xxx

修改系統登錄信息
#sudo vim /etc/motd

中文轉換文件名由GBK為UTF8
#sudo apt-get install convmv convmv -r -f cp936 -t utf8 –notest –nosmart *

批量轉換src目錄下的所有文件內容由GBK到UTF8
#find src -type d -exec mkdir -p utf8/{} ; find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ; mv utf8/* src rm -fr utf8

轉換文件內容由GBK到UTF8
#iconv -f gbk -t utf8 $i > newfile

轉換 mp3 標簽編碼
#sudo apt-get install python-mutagen find . -iname “*.mp3" -execdir mid3iconv -e GBK {} ;

控制臺下顯示中文
#sudo apt-get install zhcon 使用時,輸入zhcon即可

文件
快速查找某個文件
#whereis filename
#find 目錄 -name 文件名

查看文件類型
#file filename

顯示xxx文件倒數6行的內容
#tail -n 6 xxx

讓tail不停地讀地最新的內容
#tail -n 10 -f /var/log/apache2/access.log

查看文件中間的第五行(含)到第10行(含)的內容
#sed -n ‘5,10p’ /var/log/apache2/access.log

查找包含xxx字符串的文件
#grep -l -r xxx .

全盤搜索文件(桌面可視化)
gnome-search-tool

查找關于xxx的命令
#apropos xxx man -k xxx

通過ssh傳輸文件
#scp -rp /path/filenameusername@remoteIP:/path
#將本地文件拷貝到服務器上
#scp -rpusername@remoteIP:/path/filename/path
#將遠程文件從服務器下載到本地

查看某個文件被哪些應用程序讀寫
#lsof 文件名

把所有文件的后輟由rm改為rmvb
#rename ’s/.rm$/.rmvb/’ *

把所有文件名中的大寫改為小寫
#rename ‘tr/A-Z/a-z/’ *

刪除特殊文件名的文件,如文件名:–help.txt
#rm — –help.txt 或者 rm ./–help.txt

查看當前目錄的子目錄
#ls -d */. 或 echo */.

將當前目錄下最近30天訪問過的文件移動到上級back目錄
#find . -type f -atime -30 -exec mv {} ../back ;

將當前目錄下最近2小時到8小時之內的文件顯示出來
#find . -mmin +120 -mmin -480 -exec more {} ;

刪除修改時間在30天之前的所有文件
#find . -type f -mtime +30 -mtime -3600 -exec rm {} ;

查找guest用戶的以avi或者rm結尾的文件并刪除掉
#find . -name ‘.avi’ -o -name ‘.rm’ -user ‘guest’ -exec rm {} ;

查找的不以java和xml結尾,并7天沒有使用的文件刪除掉
#find . ! -name .java ! -name ‘.xml’ -atime +7 -exec rm {} ;

統計當前文件個數
#ls /usr/bin|wc -w

統計當前目錄個數
#ls -l /usr/bin|grep ^d|wc -l

顯示當前目錄下2006-01-01的文件名
#ls -l |grep 2006-01-01 |awk ‘{print $8}’

FTP
上傳下載文件工具-filezilla
#sudo apt-get install filezilla

filezilla無法列出中文目錄?
站點->字符集->自定義->輸入:GBK

本地中文界面
1)下載filezilla中文包到本地目錄,如~/
2)#unrar x Filezilla3_zhCN.rar

  1. 如果你沒有unrar的話,請先安裝rar和unrar

    sudo apt-get install rar unrar

    sudo ln -f /usr/bin/rar /usr/bin/unrar

4)先備份原來的語言包,再安裝;實際就是拷貝一個語言包。
#sudo cp /usr/share/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo.bak
#sudo cp ~/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo
5)重啟filezilla,即可!

解壓縮
解壓縮 xxx.tar.gz
#tar -zxvf xxx.tar.gz

解壓縮 xxx.tar.bz2
#tar -jxvf xxx.tar.bz2

壓縮aaa bbb目錄為xxx.tar.gz
#tar -zcvf xxx.tar.gz aaa bbb

壓縮aaa bbb目錄為xxx.tar.bz2
#tar -jcvf xxx.tar.bz2 aaa bbb

解壓縮 RAR 文件

  1. 先安裝

    sudo apt-get install rar unrar

    sudo ln -f /usr/bin/rar /usr/bin/unrar

  2. 解壓

    unrar x aaaa.rar

Nautilus
顯示隱藏文件
Ctrl+h

顯示地址欄
Ctrl+l

特殊 URI 地址

  • computer:/// - 全部掛載的設備和網絡
  • network:/// - 瀏覽可用的網絡
  • burn:/// - 一個刻錄 CDs/DVDs 的數據虛擬目錄
  • smb:/// - 可用的 windows/samba 網絡資源
  • x-nautilus-desktop:/// - 桌面項目和圖標
  • file:///- 本地文件
  • trash:/// - 本地回收站目錄
  • ftp:// - FTP 文件夾
  • ssh:// - SSH 文件夾
  • fonts:/// - 字體文件夾,可將字體文件拖到此處以完成安裝
  • themes:/// - 系統主題文件夾

查看已安裝字體
在nautilus的地址欄里輸入"fonts:///“,就可以查看本機所有的fonts

程序
詳細顯示程序的運行信息
#strace -f -F -o outfile

日期和時間

設置日期
#date -s mm/dd/yy

設置時間
#date -s HH:MM

將時間寫入CMOS
#hwclock –systohc

讀取CMOS時間
#hwclock –hctosys

從服務器上同步時間
#sudo ntpdate time.nist.gov
#sudo ntpdate time.windows.com

控制臺

不同控制臺間切換
Ctrl + ALT + ← Ctrl + ALT + →

指定控制臺切換
Ctrl + ALT + Fn(n:1~7)

控制臺下滾屏
SHIFT + pageUp/pageDown

控制臺抓圖
#setterm -dump n(n:1~7)

數據庫
mysql的數據庫存放在地方
#/var/lib/mysql

從mysql中導出和導入數據
#mysqldump 數據庫名 > 文件名 #導出數據庫
#mysqladmin create 數據庫名 #建立數據庫
#mysql 數據庫名 < 文件名 #導入數據庫

忘了mysql的root口令怎么辦
#sudo /etc/init.d/mysql stop
#sudo mysqld_safe –skip-grant-tables
#sudo mysqladmin -u user password ‘newpassword"
#sudo mysqladmin flush-privileges

修改mysql的root口令
#sudo mysqladmin -uroot -p password ‘你的新密碼’

其它
下載網站文檔
#wget -r -p -np -khttp://www.21cn.com
· r:在本機建立服務器端目錄結構;
· -p: 下載顯示HTML文件的所有圖片;
· -np:只下載目標站點指定目錄及其子目錄的內容;
· -k: 轉換非相對鏈接為相對鏈接。

如何刪除Totem電影播放機的播放歷史記錄
#rm ~/.recently-used

如何更換gnome程序的快捷鍵
點擊菜單,鼠標停留在某條菜單上,鍵盤輸入任意你所需要的鍵,可以是組合鍵,會立即生效; 如果要清除該快捷鍵,請使用backspace

vim 如何顯示彩色字符
#sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc

如何在命令行刪除在會話設置的啟動程序
#cd ~/.config/autostart rm 需要刪除啟動程序

如何提高wine的反應速度
#sudo sed -ie ‘/GBK/,/^}/d’ /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

chgrp

[語法]: chgrp [-R] 文件組 文件…
[說明]: 文件的GID表示文件的文件組,文件組可用數字表示, 也可用一個有效的組名表示,此命令改變一個文件的GID,可參看chown。
-R 遞歸地改變所有子目錄下所有文件的存取模式
[例子]:
#chgrp group file 將文件 file 的文件組改為 group

chmod

[語法]: chmod [-R] 模式 文件…
或 chmod [ugoa] {+|-|=} [rwxst] 文件…
[說明]: 改變文件的存取模式,存取模式可表示為數字或符號串,例如:
#chmod nnnn file , n為0-7的數字,意義如下:
4000 運行時可改變UID
2000 運行時可改變GID
1000 置粘著位
0400 文件主可讀
0200 文件主可寫
0100 文件主可執行
0040 同組用戶可讀
0020 同組用戶可寫
0010 同組用戶可執行
0004 其他用戶可讀
0002 其他用戶可寫
0001 其他用戶可執行
nnnn 就是上列數字相加得到的,例如 chmod 0777 file 是指將文件 file 存取權限置為所有用戶可讀可寫可執行。
-R 遞歸地改變所有子目錄下所有文件的存取模式
u 文件主
g 同組用戶
o 其他用戶
a 所有用戶

  • 增加后列權限
  • 取消后列權限
    = 置成后列權限
    r 可讀
    w 可寫
    x 可執行
    s 運行時可置UID
    t 運行時可置GID
    [例子]:

    chmod 0666 file1 file2 將文件 file1 及 file2 置為所有用戶可讀可寫

    chmod u+x file 對文件 file 增加文件主可執行權限

    chmod o-rwx 對文件file 取消其他用戶的所有權限

chown

[語法]: chown [-R] 文件主 文件…
[說明]: 文件的UID表示文件的文件主,文件主可用數字表示, 也可用一個有效的用戶名表示,此命令改變一個文件的UID,僅當此文件的文件主或超級用戶可使用。
-R 遞歸地改變所有子目錄下所有文件的存取模式
[例子]:
#chown mary file 將文件 file 的文件主改為 mary
#chown 150 file 將文件 file 的UID改為150

Ubuntu命令行下修改網絡配置
以eth0為例

  1. 以DHCP方式配置網卡
    編輯文件/etc/network/interfaces:

    sudo vi /etc/network/interfaces

并用下面的行來替換有關eth0的行:

The primary network interface - use DHCP to find our address

auto eth0
iface eth0 inet dhcp
用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart
當然,也可以在命令行下直接輸入下面的命令來獲取地址
#sudo dhclient eth0

  1. 為網卡配置靜態IP地址
    編輯文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行來替換有關eth0的行:

The primary network interface

auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
將上面的ip地址等信息換成你自己就可以了.

用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart

  1. 設定第二個IP地址(虛擬IP地址)
    編輯文件/etc/network/interfaces:

    sudo vi /etc/network/interfaces

在該文件中添加如下的行:

auto eth0:1 
iface eth0:1 inet static 
address 192.168.1.60 
netmask 255.255.255.0 
network x.x.x.x 
broadcast x.x.x.x 
gateway x.x.x.x 

根據你的情況填上所有諸如address,netmask,network,broadcast和gateways等信息.
用下面的命令使網絡設置生效:
#sudo /etc/init.d/networking restart

  1. 設置主機名稱(hostname)
    使用下面的命令來查看當前主機的主機名稱:

    sudo /bin/hostname

使用下面的命令來設置當前主機的主機名稱:
#sudo /bin/hostname newname
系統啟動時,它會從/etc/hostname來讀取主機的名稱.

  1. 配置DNS
    首先,你可以在/etc/hosts中加入一些主機名稱和這些主機名稱對應的IP地址,這是簡單使用本機的靜態查詢.
    要訪問DNS 服務器來進行查詢,需要設置/etc/resolv.conf文件.
    假設DNS服務器的IP地址是192.168.3.2, 那么/etc/resolv.conf文件的內容應為:
    search test.com
    nameserver 192.168.3.2

安裝AMP服務
如果采用Ubuntu Server CD開始安裝時,可以選擇安裝,這系統會自動裝上apache2,php5和mysql5。下面主要說明一下如果不是安裝的Ubuntu server時的安裝方法。
用命令在Ubuntu下架設Lamp其實很簡單,用一條命令就完成。在終端輸入以下命令:

sudo apt-get install apache2 mysql-server php5 php5-mysql php5-gd #phpmyadmin

裝好后,mysql管理員是root,無密碼,通過http://localhost/phpmyadmin就可以訪問mysql了

修改 MySql 密碼
終端下輸入:
#mysql -u root
#mysql> GRANT ALL PRIVILEGES ON . TO root@localhost IDENTIFIED BY “123456″;
’123456‘是root的密碼,可以自由設置,但最好是設個安全點的。
#mysql> quit; 退出mysql

apache2的操作命令
啟動:#sudo /etc/init.d/apache2 start
重啟:#sudo /etc/init.d/apache2 restart
關閉:#sudo /etc/init.d/apache2 stop
apache2的默認主目錄:/var/www/

FireFox 中安裝 FlashPlayer 插件
先下載插件: install_flash_player_9_linux.tar.gz
#tar -zxf install_flash_player_9_linux.tar.gz
#./flashplayer-installer

回答(y/n/q)? n/q
#sudo cp libflashplayer.so /usr/lib/firefox/plugins
啟動 firefox 即可!

安裝媒體播放器
安裝的是mplayer
終端輸入:#sudo apt-get install mplayer mozilla-mplayer totem-xine libxine-extracodecs

另外需要一個w32codecs文件,是用來支持那些私有媒體格式的解碼器,源里已經沒有w32codecs了,我們可以從這里下載那個后綴為.deb的安裝
http://www.debian-multimedia.org/pool/main/w/w32codecs/

mplayer調試(視頻、字幕)
啟動mplayer,右鍵->Preferences->Video
Available drivers選擇xv
然后進入Font標簽 Font里選擇一個中文字體,Encoding里設置為Simplified Chinese charset (CP936)

安裝下載工具(多線程下載、BT下載、電驢)
還是終端輸入:#sudo apt-get install d4x amule azureus
即可。
或者把 beryl-manager添加到啟動項內

字體更換
我推薦大家使用文泉驛字體,在
http://wqy.sourceforge.net
下載deb包安裝
在“系統“->"首選項“->"字體“中調整字體

apt下載的deb包清理
在使用完apt后,系統下載的deb包會留存在硬盤里,我們可以把它們刪除,釋放硬盤空間。
終端輸入:#sudo apt-get clean

安裝rar壓縮、解壓工具
終端輸入:#sudo apt-get install rar unrar

啟用root(最高權限)帳戶
終端輸入:#sudo passwd root
輸入你希望的root用戶的密碼

安裝QQ
終端輸入:#sudo apt-get install eva
便可安裝eva了,如果你是使用scim(選擇中文語言支持的自動安裝的就是scim),為了可以在eva里面輸入文字,要在終端輸入:sudo apt-get install scim-qtimm
系統會安裝支持QT的scim插件,這樣你就可以使用eva聊qq了。

顯卡驅動安裝
進入“系統"->“系統管理"->“受限驅動管理器"
找到你的顯卡,把那個框點成對號,會提示你安裝顯卡驅動,然后按照提示一步一步安裝完畢,重啟即可。

beryl的安裝
你的系統在安裝完畢之后就已經有了一個內置的桌面效果軟件(能實現簡單的桌面特效,包括3D立方體),使用方法是(必須將顯卡驅動裝好)進入“系統"“首選項"“桌面效果",點擊“啟用桌面效果",如果你需要使用3D立方體桌面,那么選中“立方體上的工作區"即可。
如果你對這個簡單的桌面特效工具不太滿意,想追求更華麗的桌面,那么安裝beryl仍然是個很好的選擇。如今安裝beryl不會像以前一樣麻煩了,feisty的源里已經有了beryl的軟件包,我們只需要在終端里輸入:
#sudo apt-get install beryl-core beryl-plugins beryl-plugins-data emerald beryl-settings beryl-manager beryl beryl-dev emerald-themes
安裝完畢即可了。
啟動方法:“應用程序"->"系統工具"->"Beryl Manager"
或者直接在終端輸入:#beryl-manager

如何設定/改變/啟用 root 使用者的密碼?
#sudo passwd root

為了啟用 root 帳號 (也就是 設置一個口令) 使用:

sudo passwd root

當你使用完畢后屏蔽 root 帳號 使用:

sudo passwd -l root

這個將鎖住 root 帳號.

如何在終端機模式下切換到 root 身份?

sudo -s -H

Password: <在這注明您的密碼>

安裝VNC server
第一步, 獲取安裝文件
#sudo apt-get install vnc4server
第二步, 修改VNC Password, 6-8位
#vncpasswd
Password: ******
Verify:*****
第三步, 修改配置
系統->首選項->遠程桌面
選擇->請求用戶輸入此密碼->輸入至少6位密碼
第四步, 啟動VNC server
#vncserver
第五步,通過客戶端連接
#vncviewer 192.168.0.1

安裝MS字體

sudo apt-get install msttcorefonts

vim配置

  1. 首先安裝 vim 完整版本

    sudo apt-get install vim-full

  2. vim中文在線幫助
    a. 先下載文檔 vimcdoc-1.5.0.tar.gz
    b. 解壓, 執行./vimcdoc.sh, vi里面, 執行:help, 就都是中文的了.

  3. 啟用本地配置 VIM version 7.1 (說明文檔)

    cp etc/vim/vimrc ~/.vimrc

    vim ~/.vimrc

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般設定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 設定默認解碼
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
" 不要使用vi的鍵盤模式,而是vim自己的
set nocompatible

" history文件中需要記錄的行數
set history=100

" 在處理未保存或只讀文件的時候,彈出確認
set confirm

" 與windows共享剪貼板
set clipboard+=unnamed

" 偵測文件類型
filetype on

" 載入文件類型插件
filetype plugin on

" 為特定文件類型載入相關縮進文件
filetype indent on

" 保存全局變量
set viminfo+=!

" 帶有如下符號的單詞不要被換行分割
set iskeyword+=_,$,@,%,#,-

" 語法高亮
syntax on

" 高亮字符,讓其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength ‘%101v.*’

" 狀態行顏色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件設置
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要備份文件(根據自己需要取舍)
set nobackup

" 不要生成swap文件,當buffer被丟棄的時候隱藏它
setlocal noswapfile
set bufhidden=hide

" 字符間插入的像素行數目
set linespace=0

" 增強模式中的命令行自動完成操作
set wildmenu

" 在狀態行上顯示光標所在位置的行號和列號
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

" 命令行(在狀態行下)的高度,默認為1,這里是2
set cmdheight=2

" 使回格鍵(backspace)正常處理indent, eol, start等
set backspace=2

" 允許backspace和光標鍵跨越行邊界
set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 啟動的時候不顯示那個援助索馬里兒童的提示
set shortmess=atI

" 通過使用: commands命令,告訴我們文件的哪一行被改變過
set report=0

" 不讓vim發出討厭的滴滴聲
set noerrorbells

" 在被分割的窗口間顯示空白,便于閱讀
set fillchars=vert:\ ,stl:\ ,stlnc:\

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮顯示匹配的括號
set showmatch

" 匹配括號高亮的時間(單位是十分之一秒)
set matchtime=5

" 在搜索的時候忽略大小寫
set ignorecase

" 不要高亮被搜索的句子(phrases)
set nohlsearch

" 在搜索時,輸入的詞句的逐字符高亮(類似firefox的搜索)
set incsearch

" 輸入:set list命令是應該顯示些啥?
set listchars=tab:|\ ,trail:.,extends:>,precedes:<,eol:$

" 光標移動到buffer的頂部和底部時保持3行距離
set scrolloff=3

" 不要閃爍
set novisualbell

" 我的狀態行顯示的內容(包括文件類型和解碼)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime("%d/%m/%y\ -\ %H:%M")}

" 總是顯示狀態行
set laststatus=2

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自動格式化
set formatoptions=tcrqn

" 繼承前一行的縮進方式,特別適用于多行注釋
set autoindent

" 為C程序提供自動縮進
set smartindent

" 使用C樣式的縮進
set cindent

" 制表符為4
set tabstop=4

" 統一縮進為4
set softtabstop=4
set shiftwidth=4

" 不要用空格代替制表符
set noexpandtab

" 不要換行
set nowrap

" 在行和段開始處使用制表符
set smarttab

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的設定
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名稱排序
let Tlist_Sort_Type = “name"

" 在右側顯示窗口
let Tlist_Use_Right_Window = 1

" 壓縮方式
let Tlist_Compart_Format = 1

" 如果只有一個buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1

" 不要關閉其他文件的tags
let Tlist_File_Fold_Auto_Close = 0

" 不要顯示折疊樹
let Tlist_Enable_Fold_Column = 0

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件類型被偵測到的時候顯示行號,普通文本文件不顯示

if has("autocmd")
autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
autocmd FileType xml,html vmap

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容