Linux常用命令,
1. 最關鍵的命令
man
echo
2. 目錄檔案操作命令
ls: 查看目錄下的檔案資訊或檔案資訊
dir:
pwd: 列印當前路徑
cd:改變路徑
mkdir:建立路徑
rmdir:刪除路徑
cp:拷貝檔案或目錄
mv:移動檔案或目錄,或改名
rm: 刪除檔案或目錄
tree:輸出該目錄下的檔案分類樹
3. 查看檔案內容
cat:
more:
less:
head:
tail:
wc:統計檔案的字元數、單詞數和行數等資訊
4. 使用者管理
useradd:添加使用者
groupadd:
userdel: 刪除使用者
groupdel
passwd: 為使用者佈建密碼
usermod: 更改使用者佈建
su:使用者切換
finger root:查看某使用者資料
finger:查看所有使用者資料
last:最近一個月使用者登入情況
id:列印使用者的UID和GID
users:
groups:
who:列出活躍使用者
whoami:
who am i:
w:
/etc/default/useradd:添加使用者時候的預設設定檔案
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
5. 命令曆史
history
!!:執行最近一次命令
6. 建立串連
ln a b:為a建立硬串連(hard link)b
ln -s a b: 為a建立符號連結(symbolic link)b
7. 進程管理
top 查看後體進程,監控系統效能
top -d 2:每2秒重新整理一次
top -d 2 -p 3690 查看某個PID
top -b -n 2 > /tmp/top.txt 將top的資訊重新整理兩次的結果輸出到/tmp/top.txt
ps 查看進程近況
free -m 查看系統記憶體使用量情況
uptime:系統開機時間
8. 檔案比較命令
diff
cmp
9. 關機和重啟
shutdown [-t 秒數] [-rkhncf] 時間 [警告資訊]
shutdown -h now 立即關機,相當於halt
shutdown -r now 立即重啟,相當於reboot
dmesg | more 查看開機資訊
clear 清屏
10. 網路命令
ifconfig 顯示或查看網路裝置
/etc/init.d/network restart:重啟網路服務(網卡)
網路IP的設定檔是:/etc/sysconfig/network-script/ifcfg-eth0
ifdown eth0 關閉網卡
ifup eth0 開啟網卡
route -n 查看路由表
routeadd -net 192.168.2.1 netmask 255.255.255.0 dev eth0
netstat: 查看網路連接狀況
traceroute
hostname:顯示主機名稱
hostname -i:顯示當前主機名稱的IP
11. 系統整合管理菜單
setup:系統服務管理命令
ntsysv;設定系統服務
12. RPM軟體包管理
rpm -ivh xxx.rpm 安裝rpm包
rpm -qa --last | less 根據安裝日期顯示已經安裝的包
rpm -qa |grep mysql -i 查詢系統是否安裝mysql包(-i,忽略大小寫)
rpm -e 刪除安裝的軟體包
rpm -e mysql* --nodpes
強制移除相關的軟體包
rpm --test 測試安裝
rpm -qi 查詢mysql包的說明資料
rpm -qpl xxx.rpm 查看rpm包內含的內容.
rpm -qc[d] 設定檔與說明檔
rpm -Uvh 升級安裝
rpmbuild --bb SPECS/xxx.spec 重新裝將xxx.spec編譯成rpm包.
rpmbuild --rebuild packagename.src.rpm 重新把.src.rpm編譯成rpm包.
13. 即時通訊
write:給指定使用者發信
write username
talk:
wall: 給所有人發信
14. 檔案所有權或許可權管理
chown:改變檔案屬主
chgrp:改變檔案的屬組
chmod:改變檔案的讀寫、執行許可權
umask:改變系統下檔案、目錄的預設許可權
15. 管道(pipe)
管道:將前一個命令的輸出作為另一個命令的輸入
ls -la | more
16. 重新導向
將一個命令的輸出寫入一個檔案或者檔案控制代碼
ls -la > filecontents.txt
17. 尋找檔案
locate:
find:
which:
whereis:
18. 來源程式的編譯過程
./configure檢查系統資訊
./configure --help | more 給出configure的協助資訊
make clean 清除之前留下的檔案
make 編譯
make install 安裝
安裝時多查看README/INSTALL檔案的說明
19. 檔案壓縮命令
*.Z compress程式壓縮的檔案
*.bz2 bzip2程式壓縮的檔案
*.gz gzip程式壓縮的檔案
*.tar tar程式打包的檔案,並沒有壓縮過
*.tar.gz tar程式打包的檔案,並經過gzip的壓縮處理
compress filename filename.Z 壓縮檔
compress -d filename.Z 解壓檔案
gzip filename filename.gz 壓縮檔
gzip -d filename.gz 解壓檔案
zcat filename.gz 查看壓縮檔
bzip2 -z filename 壓縮檔
bzip2 -d filename.bz2 解壓檔案
bzcat filename.bz2 查看壓縮檔內容
tar -cvf filename.tar directory_name 檔案歸檔
tar xvf filename.tar 把檔案包解開
tar xzvf filename.tar.gz 解壓並解包
tar xjvf filename.tar.bz2 解壓並解包
tar ztvf filename.tar.gz 查看tar內容
20. 萬用字元(wildcard character)
?:表示該位置可以是任意單個字元
*:表示該位置可以是若干個任一字元
[charset]:可替代charset中的任意單個字元
例如
[Cc]h可以分別表示Ch和ch
[a-z]可以代替任意單個小寫字母,[a-zA-Z]表示任意字母
rm a*.out表示刪除所有以a開頭的,副檔名為.out的檔案
ls img-[1-5].jpg表示img1.jpg, img2.jpg, img3.jpg, img4.jpg, img5.jpg
21. Linux目錄架構
/ 根目錄
/bin 常用命令存放的目錄,binary file
/boot 存放系統啟動時必須讀取的檔案,包括核心在內
/boot/grub/menu.lst GRUB設定
/boot/vmlinuz 核心
/boot/initrd 核心解壓所需要的RAM Disk
/dev 系統周邊裝置
/etc 系統相關設定檔和子目錄,包括網路設定檔、檔案系統、X系統設定檔、裝置配置資訊、使用者資訊等
/etc/DIR_COLORS 設定顏色
/etc/hostname 設定節點名稱
/etc/networking 只有yes表明網路存在
/etc/host.conf 檔案說明使用者的系統如何查詢節點名稱
/etc/hosts 設定機器IP與名稱的對應表
/etc/hosts.allow 設定允許使用inetd的機器列表
/etc/hosts.deny 設定不允許使用inetd的機器列表
/etc/hosts.equiv 設定不用密碼訪問的客戶機名稱
/etc/inetd.conf 設定系統網路守護進程inetd的配置
/etc/gateways 設定路由器的配置
/etc/protocols 設定系統支援的協議
/etc/named.conf 系統作為DNS伺服器的設定檔
/etc/sysconfig/network/scripts/ifcfg-eth0 設定IP/MAC等資訊
/etc/resolv.conf 設定DNS
/etc/X11 X Window的設定檔
/etc/fstab 記錄開機要載入的檔案系統
/etc/inittab 設定系統啟動時init進程要進入什麼樣的runlevel
/etc/issue記錄使用者登入前顯示的資訊
/etc/group設定使用者的組名和相關資訊
/etc/passwd 設定使用者帳號資訊
/etc/shadow 使用者密碼資訊
/etc/sudoers 可以sudo命令的設定檔
/etc/securetty 設定root使用者可以登入的終端
/etc/login.defs 設定所有使用者登入時的預設配置
/etc/exports 設定NFS系統
/etc/init.d/ 存放預設的自動啟動進程的啟動指令碼
/etc/xinetd.d/ 存放super daemon管理的各項服務的設定檔案
/etc/modprobe.conf 核心模組額外參數設定
/etc/syslog.conf 系統日誌設定檔案
/home 普通使用者家目錄
/lib或/lib64 系統會用到的函數庫,系統動態連結共用庫
/lib/modules kernel相關模組
/var/lib/rpm rpm包安裝處
/lost+found 系統不正常錯誤發生時,會將一些遺失的片段置於該目錄下
/mnt 外部裝置的掛載點
/media 與/mnt相類
/opt 主機額外安裝的軟體
/proc 虛擬目錄,記憶體的映射,儲存系統資訊
/proc/version 核心版本
/proc/sys/kernel 系統核心功能
/root 系統管理員的家目錄
/sbin 系統管理員才能執行的系統管理指令
/srv 一些服務啟動後,這些服務所需的檔案目錄
/tmp 一般使用者或正在執行的程式存放臨時檔案的地方
/usr 最大的目錄,存放應用程式和檔案
/usr/X11R6 X-window目錄
/usr/src Linux原始碼
/usr/include 系統標頭檔
/usr/openwin 存放SUN的OpenWin
/usr/share/man 線上使用手冊
/usr/bin 使用者執行的binary file目錄
/usr/local/bin 使用者執行的binary file目錄
/usr/lib 系統使用的函數庫
/usr/local/lib 系統使用的函數庫
/usr/sbin 系統管理員才能執行的指令
/usr/local/sbin 系統管理員才能執行的指令
/var 記錄檔等
/var/log/secure 記錄登入系統存取檔案的資訊
/var/log/wtmp 記錄登入使用者的資訊
/var/log/messages 系統發生的錯誤資訊
/var/log/boot.log 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉資訊
/var/log/maillog 記錄郵件存取或往來的使用者記錄
/var/log/cron 記錄crontab服務的內容
/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log 不同的網路服務資訊
22. runlevel的層級
0:系統停機狀態
1:單使用者工作狀態,root許可權,用於系統維護,禁止遠程登入
2:多使用者狀態(沒有NFS)
3:完全的多使用者狀態(有NFS),登入後進入控制台命令列模式
4:系統未使用,保留
5:X11控制台,登入後進入GUI模式
6:系統正常關閉並重新啟動,預設運行層級不能為6,否則不能正常啟動
23. BASH常用變數
$HISTFILE: 用於儲存曆史命令的檔案
$HISTSIZE:曆史命令列表的大小
$HOME:目前使用者的家目錄
$OLDPWD:前一個目錄
$PATH:bash尋找可執行檔的搜尋路徑
$PS1:命令列的一級提示符
$PS2:命令列的二級提示符
$PWD:當前工作目錄
$SECONDS:當前shell開始後所經過的時間長度,單位為秒