當前位置:才華齋>IT認證>Linux認證>

linux常用命令記錄大全

Linux認證 閱讀(3.2W)

Linux雖然是免費的,但它的確是一個非常優秀的作業系統,與MS-WINDOWS相比具有可靠、 穩定、速度快等優點,且擁有豐富的根據UNIX版本改進的強大功能。下面讓我們一起來學習Linux的一些主要命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括檔名等等)對大小寫是敏感的。

linux常用命令記錄大全

  sbin 系統底層命令存放目錄

  bin 一般使用者常用命令目錄

一年多linux(字元介面)使用記錄大概使用了以下命令,我按照自己意思把linux(centos)命令大概分為幾種型別,有些也不是很合理的分類:

  檔案使用者管理

ls -lh 顯示許可權

cp -r 複製檔案 資料夾

mkdir test

  建立資料夾

rm -rf 刪除檔案 資料夾

mv 源目錄 目標目錄 移動檔案或者資料夾

touch 建立空檔案

ln -s 原始檔路徑 目標檔案

cp -rf

r代表遞迴目錄 f代表不提示強制

passwd user1 修改一個使用者的口令 (只允許root執行)

usermod -g 組名 使用者名稱 改變使用者所在組

usermod -d 目錄名 使用者名稱 改變使用者登入初始 所在目錄

useradd

  新增使用者

useradd -g

  組名 使用者名稱

userdel 刪除使用者 -r

groupadd groupname 組新增

groupdel groupname

  組刪除

chmod 許可權編號 使用者名稱

chgrp testgroup

  改變檔案所屬組

chgrp -R testgroup testdir/ 改變目錄所屬組

chown testuser

  改變檔案擁有者

chmod a+x

  改變檔案許可權 可執行

chattr

  改變檔案的特殊屬性

chattr +a file1 只允許以追加方式讀寫檔案

lsattr file

顯示檔案的特殊屬性!

umask 改變預設的建立檔案或目錄時的屬性

cat file

  由第一行開始顯示檔案內容

tac file 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!

more file 一頁一頁的顯示檔案內容

less file 與 more 類似,但是比 more 更好的是,他可以往前翻頁!

head file 只看頭幾行

tail file 只看尾巴幾行

nl file 顯示的時候,順道輸出 行號!

od file

  以二進位制的方式讀取檔案內容!

gzip 壓縮 檔名稱 -r 目錄路徑 代表壓縮目錄 -m代表刪除原始檔

unzip 解壓縮 -x abc 排除abc檔案外 其他都解壓

rpm -qa | grep 軟體包名稱

  檢視是否安裝該軟體

rpm -ivh 軟體包名稱

安裝軟體

rpm -e 解除安裝軟體

make 多檔案編譯

tar -zvxf

開啟壓縮檔案

rpm -ql | grep mysql 查詢mysql已安裝的包

rpm -e 包的名字 ,強制刪除加引數 --nodeps

rpm -qa 顯示系統中所有已經安裝的rpm包

yum install 包名字 yum安裝

yum remove 包名字 yum刪除

yum list 列出當前系統中安裝的所有包

file

可以用來檢視這個檔案的型別

diff 這個指令可以將『兩個檔案之間的差異性列出來』

patch 來進行更新,將 更新到

patch -p0 < h

ldd /usr/bin/passwd 判斷某個可執行的 binary 檔案含有什麼動態函式庫

which

檢視可執行檔案的位置

whereis 檢視檔案的位置

locate 配合資料庫檢視檔案位置

vi 編輯檔案內容 通用

grep -n "關鍵字" 檔案

查詢檔案內容

find 查詢檔案

find -size +1000000c -print #查長度大於1Mb的檔案

find /home -mmin +60 # 在/home下查60分鐘前改動過的檔案

find /home -size +512k # 查大於512k的檔案

find / -mmin -5 #

查詢在系統中最後5分鐘裡修改過的檔案

ls a* a開頭所有

ls a?

a開頭只有兩個字元的

ls abc[1-6] 以開始abc後面1-6數字結尾的檔案

ls 》cmd 輸出資料夾內容

ls -ahl

檢視檔案所在組

磁碟管理

ls

檢視目錄

cd

進入目錄 ..代表上一級 cd直接進入工作目錄 .代表當前目錄

pwd

顯示當前目錄

df /目錄 檢視目錄在系統分割槽掛載點

mount

/目錄 掛載目錄

umount /目錄 解除安裝掛載點

head -n 1 /etc/issue 檢視作業系統版本

cat /proc/cpuinfo 檢視CPU資訊

hostname

檢視計算機

lspci -tv

列出所有PCI裝置 (centos6)需要安裝 pciutils

lsusb -tv 列出所有USB裝置 (centos6)需要安裝 usbutils

lsmod

列出載入的核心模組

env 檢視環境變數

echo $path

檢視環境變數

free -m 檢視記憶體使用量和交換區使用量

du -sh <目錄名> 檢視指定目錄的大小

grep MemTotal /proc/meminfo 檢視記憶體總量

grep MemFree /proc/meminfo 檢視空閒記憶體量

uptime 檢視系統執行時間、使用者數、負載

cat /proc/loadavg 檢視系統負載

sar 來看系統的資源

du 來知道目前磁碟的檔案容量

hdparm -i /dev/hda

檢視磁碟引數(僅適用於IDE裝置)

dmesg | grep IDE 檢視啟動時IDE裝置檢測狀況

dump -0aj -f /tmp/ /home 製作一個 '/home' 目錄的完整備份

dump -1aj -f /tmp/ /home

製作一個 '/home' 目錄的互動式備份

restore -if /tmp/ 還原一個互動式備份

網路通訊

netstat -lntp

檢視所有監聽埠

netstat -antp 檢視所有已經建立的連線

netstat -s 檢視網路統計資訊

traccroute

追蹤路由

route -n 檢視路由表

ping

檢視網路是否暢通

系統管理

chkconfig --list 列出所有系統服務

chkconfig --list | grep on

列出所有啟動的系統服務

cut -d: -f1 /etc/passwd 檢視系統所有使用者

cut -d: -f1 /etc/group 檢視系統所有組

crontab -l 檢視當前使用者的計劃任務

crontab -e 例行性工作編輯

ifconfig 檢視ip配置

kill

殺死程序 -9 強制殺死

ps -aux 檢視程序資訊

top

顯示系統重要資訊 包括記憶體 cpu 負載 登入使用者

setup 圖形化介面配置系統資訊

runlevel 顯示當前執行級別

w 檢視活動使用者

id <使用者名稱>

檢視指定使用者資訊

last

檢視使用者登入日誌

who

問問自己是誰

exit 退出當前使用者

uname -a 檢視核心/作業系統/CPU資訊

fdisk -l 檢視所有分割槽

echo $0 檢視系統當前使用者轉換後的shell

echo $shell 檢視系統預設使用shell

/etc/shells

檢視shell列表

sh

轉換sh

bash 轉換bash

redhat系統 chsh -s 轉換shell 需要登出才能轉換不同的shell

shutdown

關機相關 -h 關機 -r now 重啟

su - user 切換使用者

su

切換root

reboot 系統重啟

mount | column -t

檢視掛接的分割槽狀態

swapon -s 檢視所有交換分割槽

iptables -L 檢視防火牆設定

mke2fs

建立Linux系統使用的ext2檔案系統

fsck 檢查和維護不一致的檔案系統。若系統掉電或磁碟發生問題,可利用fsck命令對檔案系統進行檢查修理磁碟

3 建立為ext2/ext3檔案系統

dumpe2fs 檢視特定裝置上現存的檔案系統的超級塊(super block)和塊群(blocks group)的資訊

mkswap /dev/hda3

建立一個swap檔案系統

service 服務名稱 restart stop start 服務重啟等

其他

history 檢視歷史命令

clear

清理螢幕

su 切換超級管理使用者

sudo passwd root

超級管理使用者密碼

bc 計算器

cal

日期

date 時間 月 年

wall 傳送訊息給所有登入使用者

write 傳送訊息給某個使用者

mesg

阻擋其他使用者傳遞過來的訊息

mail

傳送郵箱給使用者

pidof :找出某支正在執行的程式的 PID

fuser:藉由檔案(或檔案系統)找出正在使用該檔案的程式

vmstat :偵測系統資源變化

dmesg :分析核心產生的資訊

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

下面是比較重要的命令詳解 經常用到

top、ps、setup命令詳解,vi使用

1 top命令

top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員。下面詳細介紹它的使用方法。

top 顯示結果如下所示:

01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48

Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.3% user, 1.0% system, 0.0% nice, 98.7% idle, 0.0% wa, 0.0% hi, 0.0% si

Mem: 191272k total, 173656k used, 17616k free, 22052k buffers

Swap: 192772k total, 0k used, 192772k free, 123988k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd

14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top

1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init

2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0

3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0統計資訊區

前五行是系統整體的統計資訊。

第一行是任務佇列資訊,同uptime命令的執行結果。其內容如下:

01:06:48 當前時間

up 1:22 系統執行時間,格式為時:分

1 user 當前登入使用者數

load average: 0.06, 0.60, 0.48系統負載,即任務佇列的平均長度。

三個數值分別為1分鐘、5分鐘、15分鐘前到現在的平均值。

第二、三行為程序和CPU的資訊。當有多個CPU時,這些內容可能會超過兩行。內容如下:

Tasks: 29 total 程序總數

1 running 正在執行的程序數

28 sleeping 睡眠的程序數

0 stopped 停止的程序數

0 zombie 殭屍程序數

Cpu(s): 0.3% us 使用者空間佔用CPU百分比

1.0% sy 核心空間佔用CPU百分比

0.0% ni 使用者程序空間內改變過優先順序的程序佔用CPU百分比

98.7% id 空閒CPU百分比

0.0% wa 等待輸入輸出的CPU時間百分比

0.0% hi

0.0% si

最後兩行為記憶體資訊。內容如下:

Mem: 191272k total實體記憶體總量

173656k used 使用的實體記憶體總量

17616k free 空閒記憶體總量

22052k buffers 用作核心快取的記憶體量

Swap: 192772k total交換區總量

0k used 使用的交換區總量

192772k free 空閒交換區總量

123988k cached 緩衝的交換區總量。

記憶體中的內容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋,

該數值即為這些內容已存在於記憶體中的交換區的大小。

相應的記憶體再次被換出時可不必再對交換區寫入。

程序資訊區

統計資訊區域的下方顯示了各個程序的詳細資訊。首先來認識一下各列的含義。

序號 列名 含義

a PID 程序id

b PPID 父程序id

c RUSER Real user name

d UID 程序所有者的使用者id

e USER 程序所有者的使用者名稱

f GROUP 程序所有者的組名

g TTY 啟動程序的`終端名。不是從終端啟動的程序則顯示為?

h PR 優先順序

i NI nice值。負值表示高優先順序,正值表示低優先順序

j P 最後使用的CPU,僅在多CPU環境下有意義

k %CPU 上次更新到現在的CPU時間佔用百分比

l TIME 程序使用的CPU時間總計,單位秒

m TIME+ 程序使用的CPU時間總計,單位1/100秒

n %MEM 程序使用的實體記憶體百分比

o VIRT 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES

p SWAP 程序使用的虛擬記憶體中,被換出的大小,單位kb。

q RES 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA

r CODE 可執行程式碼佔用的實體記憶體大小,單位kb

s DATA 可執行程式碼以外的部分(資料段+棧)佔用的實體記憶體大小,單位kb

t SHR 共享記憶體大小,單位kb

u nFLT 頁面錯誤次數

v nDRT 最後一次寫入到現在,被修改過的頁面數。

w S 程序狀態。

D=不可中斷的睡眠狀態

R=執行

S=睡眠

T=跟蹤/停止

Z=殭屍程序

x COMMAND命令名/命令列

y WCHAN 若該程序在睡眠,則顯示睡眠中的系統函式名

z Flags 任務標誌,參考sched.h

預設情況下僅顯示比較重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。可以通過下面的快捷鍵來更改顯示內容。

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

2 ps 命令說明

ps命令就是最基本同時也是非常強大的程序檢視命令.使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序佔用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的

top 顯示結果如下所示:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2

USER:說明該程式是屬於哪一個人的;

PID:該程式的代號;

%CPU:代表該程式使用了多少 CPU 資源;

%MEM:代表該程式使用了多少的 RAM ;

VSZ, RSS:佔去的 ram 的大小( bytes );

TTY:是否為登入者執行的程式?若為 tty1-tty6 則為本機登入者,若為 pts/?? 則為遠端登入者執行的程式

STAT:該程式的狀態,( R )為可執行的,( S )為該程式正在睡眠中,就是沒有執行了,( T )正在偵測或者是停止了,( Z )殭屍程式,就是 zombie 死掉的程式啦!需要以 kill 除去囉!

START:該程式開始的日期;

TIME:該程式跑了多久的時間?

COMMAND:該程式的內容啦!

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

3 setup介紹

setup是redhat系列(包括centos,fedora等)裡很好用的一個工具,不過可惜的是其它發行版裡並沒有。

為了系統的乾淨高效,安裝系統時使用centos

6最小化安裝(為了可以手工編譯一些軟體包,在安裝時選擇了馬上定製,多選擇了開發工具),裝完了配置系統時,發現沒有setup這個工

具,whereis setup ,結果是空的。yum install setup,

系統提示已經安裝了setup包。上網查,原來這個包的名字不叫setup, 而是setuptool,

yum install setuptool

不過執行這時setup只有Authentication configuration可用

防火牆的配置包叫system-config-firewall, yum安裝,自動安裝兩個依賴包:system-config-firewall-tui, system-config-firewall-base.

通過yum list system-config*查詢有好幾個相關的包,應該都是與setup功能有關的

ch

ch

ch

ch

ch

ch

system-config-keyboard

ch

ch

ch

ch

system-config-printer

system-config-printer-libs

system-config-printer-udev

ch

system-config-services-docs

ch

ch

另外還有一個服務配置工具,它的名字比較特殊,跟上面所述包名字完全不一樣,它叫ntsysv

執行yum install ntsysv 安裝setup的服務設定工具

不過,系統配置方面,能手工做就手工做,藉助圖形化工具不是提高水平的途徑。

setup是一個設定公用程式,提供圖形介面的操作方式。在setup中可設定7類的選項:

1.登陸認證方式

2.鍵盤組態設定

3.滑鼠組態設定

4.開機時所要啟動的系統服務

5.音效卡組態設定

6.時區設定

7.X Windows組態設定

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

4 vi使用

vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的用法和一小部分指令。由於

對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步瞭解它。Vi也是Linux中最基本的文字編

輯器,學會它後,您將在Linux的世界裡暢行無阻。

一般模式:以 vi 處理一個檔案的時後,一進入該檔案就是一般模式了。在這個模式中,你可以使用『上下左右』按鍵來移動游標,您可以使用『刪除字元』或『刪除整行』來處理檔案內容,也可以使用『複製、貼上』來處理您的檔案資料。

編輯模式:在一般模式中可以處理刪除、複製、貼上等等的動作,但是卻無法編輯的!要等到您按下『i, I, o, O, a, A, r,

R』等字母之後才會進入編輯模式。注意了!通常在 Linux 中,按下上述的字母時,在畫面的左下方會出現『 INSERT 或 REPLACE

』的字樣,才可以輸入任何字來輸入到您的檔案中!而如果要回到一般模式時,則必須要按下『Esc』這個按鍵即可退出編輯模式。

指令列命令模式:在一般模式當中,輸入『 : 或 / 』就可以將游標移動到最底下那一行,在這個模式當中,可以提供您『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號 等等的動作則是在此模式中達成的!

一般模式: 移動游標

h 或 向左方向鍵

游標向左移動一個字元

j 或 向下方向鍵

游標向下移動一個字元

k 或 向上方向鍵

游標向上移動一個字元

l 或 向右方向鍵

游標向右移動一個字元

[Ctrl] + [f]

螢幕『向前』移動一頁(常用)

[Ctrl] + [b]

螢幕『向後』移動一頁(常用)

[Ctrl] + [d]

螢幕『向前』移動半頁

[Ctrl] + [u]

螢幕『向後』移動半頁

+

游標移動到非空格符的下一列

-

游標移動到非空格符的上一列

n

按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20 則游標會向後面移動 20 個字元距離。

0

這是數字『 0 』:移動到這一行的最前面字元處(常用)

$

移動到這一行的最後面字元處(常用)

H

游標移動到這個螢幕的最上方那一行

M

游標移動到這個螢幕的中央那一行

L

游標移動到這個螢幕的最下方那一行

G

移動到這個檔案的最後一行(常用)

nG

移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的 20 行(可配合 :set nu)

n

游標向下移動 n 行(常用)

一般模式: 搜尋與取代

/word

向光標之後尋找一個字串名稱為 word 的字串。(常用)

?word

向光標之前尋找一個字串名稱為 word 的字串。

:n1,n2s/word1/word2/g

在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 !(常用)

:1,$s/word1/word2/g

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !(常用)

:1,$s/word1/word2/gc

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !且在取代前顯示提示字元給使用者確認(conform)是否需要取代!(常用)

一般模式: 刪除、複製與貼上

x, X

x 為向後刪除一個字元, X 為向前刪除一個字元(常用)

nx

向後刪除 n 個字元

dd

刪除遊標所在的那一整列(常用)

ndd

刪除游標所在的向下 n 列,例如 20dd 則是刪除 20 列(常用)

d1G

刪除遊標所在到第一行的所有資料

dG

刪除遊標所在到最後一行的所有資料

yy

複製遊標所在的那一行(常用)

nyy

複製游標所在的向下 n 列,例如 20yy 則是複製 20 列(常用)

y1G

複製遊標所在列到第一列的所有資料

yG

複製遊標所在列到最後一列的所有資料

p, P

p 為複製的資料在游標下一行貼上,P 則為貼在遊標上一行!(常用)

J

將游標所在列與下一列的資料結合成同一列

c

重複刪除多個數據,例如向下刪除 10 行,[ 10cj ]

u

復原前一個動作。(常用)

進入編輯模式

i, I

插入:在目前的游標所在處插入輸入之文字,已存在的文字會向後退;(常用)

a, A

增加:由目前游標所在的下一個字開始輸入,已存在的文字會向後退:(常用)

o, O

插入新的一行:從游標所在的下一行枝行首開始輸入文字;(常用)

r, R

取代:r 會取代游標所在的那一個字元;R會一直取代游標所在的文字,直到按下 ESC 為止;(常用)

Esc

退出編輯模式,回到一般模式中(常用)

指令列命令模式

:w

將編輯的資料寫入硬碟檔案中(常用)

:w!

若檔案屬性為『只讀』時,強制寫入該檔案

:q

離開 vi (常用)

:q!

若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。

:wq

儲存後離開,若為 :wq! 則為強制儲存後離開(常用)

:e!

將檔案還原到最原始的狀態!

ZZ

若檔案沒有更動,則不儲存離開,若檔案已經經過更動,則儲存後離開!

:w [filename]

將編輯的資料儲存成另一個檔案(類似另存新檔)

:r [filename]

在編輯的資料中,讀入另一個檔案的資料。亦即將 『filename』這個檔案內容加到遊標所在行後面

:set nu

顯示行號,設定之後,會在每一行的字首顯示該行的行號

:set nonu

與 set nu 相反,為取消行號!

n1,n2 w [filename]

將 n1 到 n2 的內容儲存成 filename 這個檔案。

:! command

暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如[ :! ls /home ]