sbin 系統底層命令存放目錄
bin 一般使用者常用命令目錄
檔案使用者管理
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 test3.txt
改變檔案所屬組
chgrp -R testgroup testdir/
改變目錄所屬組
chown testuser test.txt
改變檔案擁有者
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
壓縮 zaa.zip 檔名稱 -r aa.zip 目錄路徑 代表壓縮目錄 -m代表刪除原始檔
unzip
解壓縮 -x abc 排除abc檔案外 其他都解壓
rpm -qa | grep 軟體包名稱
檢視是否安裝該軟體
rpm -ivh 軟體包名稱
安裝軟體
rpm -e
解除安裝軟體
make
多檔案編譯
tar -zvxf filename.tar
開啟壓縮檔案
rpm -ql | grep mysql
查詢mysql已安裝的包
rpm -e 包的名字
,強制刪除加引數 --nodeps
rpm -qa
顯示系統中所有已經安裝的rpm包
yum install 包名字
yum安裝
yum remove 包名字
yum刪除
yum list
列出當前系統中安裝的所有包
file
可以用來檢視這個檔案的型別
diff
這個指令可以將『兩個檔案之間的差異性列出來』
patch
來進行更新,將 expatch.old 更新到 expatch.new
patch -p0 < expatch.patch
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/home0.bak /home
製作一個 '/home' 目錄的完整備份
dump -1aj -f /tmp/home0.bak /home
製作一個 '/home' 目錄的互動式備份
restore -if /tmp/home0.bak
還原一個互動式備份
網路通訊
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命令對檔案系統進行檢查修理磁碟
mkfs.ext3
建立為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功能有關的
system-config-firewall.noarch
system-config-firewall-base.noarch
system-config-firewall-tui.noarch
system-config-date.noarch
system-config-date-docs.noarch
system-config-kdump.noarch
system-config-keyboard
system-config-kickstart.noarch
system-config-language.noarch
system-config-lvm.noarch
system-config-network-tui.noarch
system-config-printer
system-config-printer-libs
system-config-printer-udev
system-config-services.noarch
system-config-services-docs
system-config-users.noarch
system-config-users-docs.noarch
另外還有一個服務配置工具,它的名字比較特殊,跟上面所述包名字完全不一樣,它叫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<space>
按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20<space> 則游標會向後面移動 20 個字元距離。
0
這是數字『 0 』:移動到這一行的最前面字元處(常用)
$
移動到這一行的最後面字元處(常用)
H
游標移動到這個螢幕的最上方那一行
M
游標移動到這個螢幕的中央那一行
L
游標移動到這個螢幕的最下方那一行
G
移動到這個檔案的最後一行(常用)
nG
移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的 20 行(可配合 :set nu)
n<Enter>
游標向下移動 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 ]
------------------------------------------
命令檢視幫助三種方式
info command
command --help
man command
轉載:http://www.iteye.com/topic/1125192