linux目錄架構
/ 根目錄
/bin 常用的命令 binary file 的目錄
/boot 存放系統啟動時必須讀取的檔案,包括核心 (kernel) 在內
/boot/grub/menu.lst GRUB設置
/boot/vmlinuz 內核
/boot/initrd 核心解壓縮所需 RAM Disk
/dev 系統周邊設備
/etc 系統相關設定文件
/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.boot 設定本機為名字服務器的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 設置IP
/etc/resolv.conf 設置DNS
/etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔
/etc/fstab 記錄開機要mount的文件系統
/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/ 所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉
/etc/xinetd.d/ 這就是所謂的 super daemon 管理的各項服務的設定檔目錄
/etc/modprobe.conf 內核模塊額外參數設定
/etc/syslog.conf 日志設置文件
/home 使用者家目錄
/lib 系統會使用到的函數庫
/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/man 在線使用手冊
/usr/bin 使用者可執行的 binary file 的目錄
/usr/local/bin 使用者可執行的 binary file 的目錄
/usr/lib 系統會使用到的函數庫
/usr/local/lib 系統會使用到的函數庫
/usr/sbin 系統管理員才能執行的指令
/usr/local/sbin 系統管理員才能執行的指令
/var 日志文件
/var/log/secure 記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
/var/log/wtmp 記錄登入者的訊息資料, last
/var/log/messages 幾乎系統發生的錯誤訊息
/var/log/boot.log 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
/var/log/maillog 紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄
/var/log/cron 記錄 crontab 這個例行性服務的內容
/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:
分別是幾個不同的網路服務的記錄檔
/ 根目錄
/bin 常用的命令 binary file 的目錄
/boot 存放系統啟動時必須讀取的檔案,包括核心 (kernel) 在內
/boot/grub/menu.lst GRUB設置
/boot/vmlinuz 內核
/boot/initrd 核心解壓縮所需 RAM Disk
/dev 系統周邊設備
/etc 系統相關設定文件
/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.boot 設定本機為名字服務器的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 設置IP
/etc/resolv.conf 設置DNS
/etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔
/etc/fstab 記錄開機要mount的文件系統
/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/ 所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉
/etc/xinetd.d/ 這就是所謂的 super daemon 管理的各項服務的設定檔目錄
/etc/modprobe.conf 內核模塊額外參數設定
/etc/syslog.conf 日志設置文件
/home 使用者家目錄
/lib 系統會使用到的函數庫
/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/man 在線使用手冊
/usr/bin 使用者可執行的 binary file 的目錄
/usr/local/bin 使用者可執行的 binary file 的目錄
/usr/lib 系統會使用到的函數庫
/usr/local/lib 系統會使用到的函數庫
/usr/sbin 系統管理員才能執行的指令
/usr/local/sbin 系統管理員才能執行的指令
/var 日志文件
/var/log/secure 記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
/var/log/wtmp 記錄登入者的訊息資料, last
/var/log/messages 幾乎系統發生的錯誤訊息
/var/log/boot.log 記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
/var/log/maillog 紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄
/var/log/cron 記錄 crontab 這個例行性服務的內容
/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:
分別是幾個不同的網路服務的記錄檔
一些常用的基本命令:
uname -a 查看內核版本
ls -al 顯示所有文件的屬性
pwd 顯示當前路徑
cd - 返回上一次目錄 cd ~ 返回主目錄
date s 設置時間、日期
cal 顯示日歷 cal 2006
bc 計算器具
man & info 幫助手冊
locale 顯示當前字體 locale -a 所有可用字體 /etc/sysconfig/i18n設置文件
LANG=en 使用英文字體
sync 將數據同步寫入硬盤
shutdonw -h now & half & poweroff 關機
reboot 重啟
startx & init 5 進入圖形介面
/work & ?work 向上、下查找文檔內容
chgrp 改變檔案群組 chgrp testing install.log
chown 改變所屬人 chown root:root install.log
chmod 改變屬性 chmod 777 install.log read=4 write=2 execute=1
cp 復制 cp filename
rm 刪除文件 rm -rf filename 強制刪除文件
rmdir 刪除文件夾
mv 移動 mv 123.txt 222.txt 重命名
mkdir 創建文件夾
touch 創建文件 更新當前時間
cat 由第一行開始顯示 cat |more 分頁
nl 在內容前加行號
more & less 一面一面翻動
head -n filename 顯示第N行內容
tail -n filename 顯示后N行內容
od 顯示非純文檔
df -h 顯示分區空間
du 顯示目錄或文件的大小
fdisk 分區設置 fdisk -l /dev/hda 顯示硬盤分區狀態
mkfs 建立各種文件系統 mkfs -t ext3 /dev/ram15
fsck 檢查和修復LINUX檔案
ln 硬鏈接 ln -s 軟件鏈接
whereis 查找命令
locate 查找
find 查找 find / -name "***.***"
which 查看工具
whoami 顯示當前用戶
gcc -v 查看GCC版本
chattr +i filename 禁止刪除 chattr -i filename 取消禁止
lsattr 顯示隱藏檔屬性
updatedb 更新資料庫
mke2fs 格式化 mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak 備份
mount 列出系統所有的分區
mount -t iso9660 /dev/cdrom /mnt/cdrom 掛載光盤
mount -t vfat /dev/fd0 /mnt/floppy 掛載軟盤
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 掛載fat32分區
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 掛載ntfs分區
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
umount /mnt/hda3 缷載
ifconfig 顯示或設置網絡設備
service network restart 重啟網卡
ifdown eth0 關閉網卡
ifup eth0 開啟網卡
clear 清屏
history 歷史記錄 !55 執行第55個指令
stty 設置終端 stty -a
fdisk /mbr 刪除GRUB
at 僅進行一次的工作排程
crontab 循環執行的例行性命令 [e]編輯,[l]顯示,[r]刪除任務
& 后臺運行程序 tar -zxvf 123.tar.gz & --------->后臺運行
jobs 觀看后臺暫停的程序 jobs -l
fg 將后臺程序調到前臺 fg n ------>n是數字,可以指定進行那個程序
bg 讓工作在后臺運行
kill 結束進程 kill -9 PID [9]強制結束,[15]正常結束,[l]列出可用的kill信號
ps aux 查看后臺程序
top 查看后臺程序 top -d 2 每兩秒更新一次 top -d 2 -p10604 觀看某個PID
top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt
pstree 以樹狀圖顯示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帳號
killall 要刪除某個服務 killall -9 httpd
free 顯示內存狀態 free -m -------->以M為單位顯示
uptime 顯示目前系統開機時間
netstat 顯示網絡狀態 netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID
dmesg 顯示開機信息 demsg | more
nice 設置優先權 nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi
renice 調整已存在優先權
runlevel 顯示目前的runlevel
depmod 分析可載入模塊的相依性
lsmod 顯示已載入系統的模塊
modinfo 顯示kernel模塊的信息
insmod 載入模塊
modprobe 自動處理可載入模塊
rmmod 刪除模塊
chkconfig 檢查,設置系統的各種服務 chkconfig --list ----->列出各項服務狀態
ntsysv 設置系統的各種服務
cpio 備份文件
uname -a 查看內核版本
ls -al 顯示所有文件的屬性
pwd 顯示當前路徑
cd - 返回上一次目錄 cd ~ 返回主目錄
date s 設置時間、日期
cal 顯示日歷 cal 2006
bc 計算器具
man & info 幫助手冊
locale 顯示當前字體 locale -a 所有可用字體 /etc/sysconfig/i18n設置文件
LANG=en 使用英文字體
sync 將數據同步寫入硬盤
shutdonw -h now & half & poweroff 關機
reboot 重啟
startx & init 5 進入圖形介面
/work & ?work 向上、下查找文檔內容
chgrp 改變檔案群組 chgrp testing install.log
chown 改變所屬人 chown root:root install.log
chmod 改變屬性 chmod 777 install.log read=4 write=2 execute=1
cp 復制 cp filename
rm 刪除文件 rm -rf filename 強制刪除文件
rmdir 刪除文件夾
mv 移動 mv 123.txt 222.txt 重命名
mkdir 創建文件夾
touch 創建文件 更新當前時間
cat 由第一行開始顯示 cat |more 分頁
nl 在內容前加行號
more & less 一面一面翻動
head -n filename 顯示第N行內容
tail -n filename 顯示后N行內容
od 顯示非純文檔
df -h 顯示分區空間
du 顯示目錄或文件的大小
fdisk 分區設置 fdisk -l /dev/hda 顯示硬盤分區狀態
mkfs 建立各種文件系統 mkfs -t ext3 /dev/ram15
fsck 檢查和修復LINUX檔案
ln 硬鏈接 ln -s 軟件鏈接
whereis 查找命令
locate 查找
find 查找 find / -name "***.***"
which 查看工具
whoami 顯示當前用戶
gcc -v 查看GCC版本
chattr +i filename 禁止刪除 chattr -i filename 取消禁止
lsattr 顯示隱藏檔屬性
updatedb 更新資料庫
mke2fs 格式化 mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak 備份
mount 列出系統所有的分區
mount -t iso9660 /dev/cdrom /mnt/cdrom 掛載光盤
mount -t vfat /dev/fd0 /mnt/floppy 掛載軟盤
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 掛載fat32分區
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 掛載ntfs分區
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
umount /mnt/hda3 缷載
ifconfig 顯示或設置網絡設備
service network restart 重啟網卡
ifdown eth0 關閉網卡
ifup eth0 開啟網卡
clear 清屏
history 歷史記錄 !55 執行第55個指令
stty 設置終端 stty -a
fdisk /mbr 刪除GRUB
at 僅進行一次的工作排程
crontab 循環執行的例行性命令 [e]編輯,[l]顯示,[r]刪除任務
& 后臺運行程序 tar -zxvf 123.tar.gz & --------->后臺運行
jobs 觀看后臺暫停的程序 jobs -l
fg 將后臺程序調到前臺 fg n ------>n是數字,可以指定進行那個程序
bg 讓工作在后臺運行
kill 結束進程 kill -9 PID [9]強制結束,[15]正常結束,[l]列出可用的kill信號
ps aux 查看后臺程序
top 查看后臺程序 top -d 2 每兩秒更新一次 top -d 2 -p10604 觀看某個PID
top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt
pstree 以樹狀圖顯示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帳號
killall 要刪除某個服務 killall -9 httpd
free 顯示內存狀態 free -m -------->以M為單位顯示
uptime 顯示目前系統開機時間
netstat 顯示網絡狀態 netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID
dmesg 顯示開機信息 demsg | more
nice 設置優先權 nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi
renice 調整已存在優先權
runlevel 顯示目前的runlevel
depmod 分析可載入模塊的相依性
lsmod 顯示已載入系統的模塊
modinfo 顯示kernel模塊的信息
insmod 載入模塊
modprobe 自動處理可載入模塊
rmmod 刪除模塊
chkconfig 檢查,設置系統的各種服務 chkconfig --list ----->列出各項服務狀態
ntsysv 設置系統的各種服務
cpio 備份文件
壓縮命令:
*.Z compress 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
compress filename 壓縮文件 加[-d]解壓 uncompress
gzip filename 壓縮 加[-d]解壓 zcat 123.gz 查看壓縮文件內容
bzip2 -z filename 壓縮 加[-d]解壓 bzcat filename.bz2 查看壓縮文件內容
tar -cvf /home/123.tar /etc 打包,不壓縮
tar -xvf 123.tar 解開包
tar -zxvf /home/123.tar.gz 以gzip解壓
tar -jxvf /home/123.tar.bz2 以bzip2解壓
tar -ztvf /tmp/etc.tar.gz 查看tar內容
cpio -covB > [file|device] 份份
cpio -icduv < [file|device] 還原
vi一般用法
一般模式 編輯模式 指令模式
h 左 a,i,r,o,A,I,R,O :w 保存
j 下 進入編輯模式 :w! 強制保存
k 上 dd 刪除光標當前行 :q! 不保存離開
l 右 ndd 刪除n行 :wq! 保存后離開
0 移動到行首 yy 復制當前行 :e! 還原原始檔
$ 移動到行尾 nyy 復制n行 :w filename 另存為
H 屏幕最上 p,P 粘貼 :set nu 設置行號
M 屏幕中央 u 撤消 :set nonu 取消行號
L 屏幕最下 [Ctrl]+r 重做上一個動作 ZZ 保存離開
G 檔案最后一行 [ctrl]+z 暫停退出 :set nohlsearch 永久地關閉高亮顯示
/work 向下搜索 :sp 同時打開兩個文檔
?work 向上搜索 [Ctrl]+w 兩個文檔設換
gg 移動到檔案第一行 :nohlsearch 暫時關閉高亮顯示
一般模式 編輯模式 指令模式
h 左 a,i,r,o,A,I,R,O :w 保存
j 下 進入編輯模式 :w! 強制保存
k 上 dd 刪除光標當前行 :q! 不保存離開
l 右 ndd 刪除n行 :wq! 保存后離開
0 移動到行首 yy 復制當前行 :e! 還原原始檔
$ 移動到行尾 nyy 復制n行 :w filename 另存為
H 屏幕最上 p,P 粘貼 :set nu 設置行號
M 屏幕中央 u 撤消 :set nonu 取消行號
L 屏幕最下 [Ctrl]+r 重做上一個動作 ZZ 保存離開
G 檔案最后一行 [ctrl]+z 暫停退出 :set nohlsearch 永久地關閉高亮顯示
/work 向下搜索 :sp 同時打開兩個文檔
?work 向上搜索 [Ctrl]+w 兩個文檔設換
gg 移動到檔案第一行 :nohlsearch 暫時關閉高亮顯示
認識SHELL
alias 顯示當前所有的命令別名 alias lm="ls -al" 命令別名 unalias lm 取消命令別名
type 類似which
exprot 設置或顯示環境變量
exprot PATH="$PATH":/sbin 添加/sbin入PATH路徑
echo $PATH 顯示PATH路徑
bash 進入子程序
name=yang 設定變量
unset name 取消變量
echo $name 顯示變量的內容
myname="$name its me" & myname='$name its me' 單引號時$name失去變量內容
ciw=/etc/sysconfig/network-scripts/ 設置路徑
env 列出所有環境變量
echo $RANDOM 顯示隨意產生的數
set 設置SHELL
PS1='[\u@\h \w \A #\#]\$ ' 提示字元的設定
[root@linux ~]# read [-pt] variable -----------讀取鍵盤輸入的變量
參數:
-p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』
declare 聲明 shell 變量
ulimit -a 顯示所有限制資料
ls /tmp/yang && echo "exist" || echo "not exist"
意思是說,當 ls /tmp/yang 執行後,若正確,就執行echo "exist" ,若有問題,就執行echo "not exist"
echo $PATH | cut -d ':' -f 5 以:為分隔符,讀取第5段內容
export | cut -c 10-20 讀取第10到20個字節的內容
last | grep 'root' 搜索有root的一行,加[-v]反向搜索
cat /etc/passwd | sort 排序顯示
cat /etc/passwd | wc 顯示『行、字數、字節數』
alias 顯示當前所有的命令別名 alias lm="ls -al" 命令別名 unalias lm 取消命令別名
type 類似which
exprot 設置或顯示環境變量
exprot PATH="$PATH":/sbin 添加/sbin入PATH路徑
echo $PATH 顯示PATH路徑
bash 進入子程序
name=yang 設定變量
unset name 取消變量
echo $name 顯示變量的內容
myname="$name its me" & myname='$name its me' 單引號時$name失去變量內容
ciw=/etc/sysconfig/network-scripts/ 設置路徑
env 列出所有環境變量
echo $RANDOM 顯示隨意產生的數
set 設置SHELL
PS1='[\u@\h \w \A #\#]\$ ' 提示字元的設定
[root@linux ~]# read [-pt] variable -----------讀取鍵盤輸入的變量
參數:
-p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』
declare 聲明 shell 變量
ulimit -a 顯示所有限制資料
ls /tmp/yang && echo "exist" || echo "not exist"
意思是說,當 ls /tmp/yang 執行後,若正確,就執行echo "exist" ,若有問題,就執行echo "not exist"
echo $PATH | cut -d ':' -f 5 以:為分隔符,讀取第5段內容
export | cut -c 10-20 讀取第10到20個字節的內容
last | grep 'root' 搜索有root的一行,加[-v]反向搜索
cat /etc/passwd | sort 排序顯示
cat /etc/passwd | wc 顯示『行、字數、字節數』
正規表示法
[root@test root]# grep [-acinv] '搜尋字串' filename
參數說明:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
grep -n 'the' 123.txt 搜索the字符 -----------搜尋特定字串
grep -n 't[ea]st' 123.txt 搜索test或taste兩個字符---------利用 [] 來搜尋集合字元
grep -n '[^g]oo' 123.txt 搜索前面不為g的oo-----------向選擇 [^]
grep -n '[0-9]' 123.txt 搜索有0-9的數字
grep -n '^the' 123.txt 搜索以the為行首-----------行首搜索^
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母開頭
grep -n '[a-z]$' 123.txt 搜索以a-z結尾的行---------- 行尾搜索$
grep -n 'g..d' 123.txt 搜索開頭g結尾d字符----------任意一個字元 .
grep -n 'ooo*' 123.txt 搜索至少有兩個oo的字符---------重複字元 *
sed 文本流編輯器 利用腳本命令來處理文本文件
awd 模式掃描和處理語言
nl 123.txt | sed '2,5d' 刪除第二到第五行的內容
diff 比較文件的差異
cmp 比較兩個文件是否有差異
patch 修補文件
pr 要打印的文件格式化
[root@test root]# grep [-acinv] '搜尋字串' filename
參數說明:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
grep -n 'the' 123.txt 搜索the字符 -----------搜尋特定字串
grep -n 't[ea]st' 123.txt 搜索test或taste兩個字符---------利用 [] 來搜尋集合字元
grep -n '[^g]oo' 123.txt 搜索前面不為g的oo-----------向選擇 [^]
grep -n '[0-9]' 123.txt 搜索有0-9的數字
grep -n '^the' 123.txt 搜索以the為行首-----------行首搜索^
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母開頭
grep -n '[a-z]$' 123.txt 搜索以a-z結尾的行---------- 行尾搜索$
grep -n 'g..d' 123.txt 搜索開頭g結尾d字符----------任意一個字元 .
grep -n 'ooo*' 123.txt 搜索至少有兩個oo的字符---------重複字元 *
sed 文本流編輯器 利用腳本命令來處理文本文件
awd 模式掃描和處理語言
nl 123.txt | sed '2,5d' 刪除第二到第五行的內容
diff 比較文件的差異
cmp 比較兩個文件是否有差異
patch 修補文件
pr 要打印的文件格式化
帳號管理
/etc/passwd 系統帳號信息
/etc/shadow 帳號密碼信息 經MD5 32位加密
在密碼欄前面加『 * 』『 ! 』禁止使用某帳號
/etc/group 系統群組信息
/etc/gshadow
newgrp 改變登陸組
useradd & adduser 建立新用戶 ---------> useradd -m test 自動建立用戶的登入目錄
useradd -m -g pgroup test --------->指定所屬級
/etc/default/useradd 相關設定
/etc/login.defs UID/GID 有關的設定
passwd 更改密碼 -----------> passwd test
usermod 修改用戶帳號
userdel 刪除帳號 ----------->userdel -r test
chsh 更換登陸系統時使用的SHELL [-l]顯示可用的SHELL;[-s]修改自己的SHELL
chfn 改變finger指令顯示的信息
finger 查找并顯示用戶信息
id 顯示用戶的ID -----------> id test
groupadd 添加組
groupmod 與usermod類似
groupdel 刪除組
su test 更改用戶 su - 進入root,且使用root的環境變量
sudo 以其他身份來執行指令
visudo 編輯/etc/sudoers 加入一行『 test ALL=(ALL) ALL 』
%wheel ALL = (ALL) ALL 系統里所有wheel群組的用戶都可用sudo
%wheel ALL = (ALL) NOPASSWD: ALL wheel群組所有用戶都不用密碼NOPASSWD
User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 加入ADMPW組
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root 可以更改使用者密碼,但不能更改root密碼 (在指令前面加入 ! 代表不可)
PAM (Pluggable Authentication Modules, 嵌入式模組)
who & w 看誰在線
last 最近登陸主機的信息
lastlog 最近登入的時間 讀取 /var/log/lastlog
talk 與其他用戶交談
write 發送信息 write test [ctrl]+d 發送
mesg 設置終端機的寫入權限 mesg n 禁止接收 mesg y
wall 向所有用戶發送信息 wall this is q test
mail 寫mail
/etc/default/useradd 家目錄默認設置
quota 顯示磁盤已使用的空間與限制 quota -guvs ----->秀出目前 root 自己的 quota 限制值
quota -vu 查詢
quotacheck 檢查磁盤的使用空間與限制 quotacheck -avug ----->將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄
[-m] 強制掃描
quota一定要是獨立的分區,要有quota.user和quota.group兩件文件,在/etc/fstab添加一句:
/dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
chmod 600 quota* 設置完成,重啟生效
edquota 編輯用戶或群組的quota [u]用戶,[g]群組,[p]復制,[t]設置寬限期限
edquota -a yang edquota -p yang -u young ----->復制
quotaon 開啟磁盤空間限制 quotaon -auvg -------->啟動所有的具有 quota 的 filesystem
quotaoff 關閉磁盤空間限制 quotaoff -a -------->關閉了 quota 的限制
repquota -av 查閱系統內所有的具有 quota 的 filesystem 的限值狀態
quota -vu 查詢
quotacheck 檢查磁盤的使用空間與限制 quotacheck -avug ----->將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄
[-m] 強制掃描
quota一定要是獨立的分區,要有quota.user和quota.group兩件文件,在/etc/fstab添加一句:
/dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
chmod 600 quota* 設置完成,重啟生效
edquota 編輯用戶或群組的quota [u]用戶,[g]群組,[p]復制,[t]設置寬限期限
edquota -a yang edquota -p yang -u young ----->復制
quotaon 開啟磁盤空間限制 quotaon -auvg -------->啟動所有的具有 quota 的 filesystem
quotaoff 關閉磁盤空間限制 quotaoff -a -------->關閉了 quota 的限制
repquota -av 查閱系統內所有的具有 quota 的 filesystem 的限值狀態
Quota 從開始準備 filesystem 的支援到整個設定結束的主要的步驟大概是:
1、設定 partition 的 filesystem 支援 quota 參數:
由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3 ,
其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab ,
使得準備要開放的 quota 磁碟可以支援 quota 囉;
2、建立 quota 記錄檔:
剛剛前面講過,整個 quota 進行磁碟限制值記錄的檔案是 aquota.user/aquota.group,
要建立這兩個檔案就必須要先利用 quotacheck 掃瞄才行喔!
3、編輯 quota 限制值資料:
再來就是使用 edquota 來編輯每個使用者或群組的可使用空間囉;
4、重新掃瞄與啟動 quota :
設定好 quota 之後,建議可以再進行一次 quotacheck ,然後再以 quotaon 來啟動吧!
1、設定 partition 的 filesystem 支援 quota 參數:
由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3 ,
其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab ,
使得準備要開放的 quota 磁碟可以支援 quota 囉;
2、建立 quota 記錄檔:
剛剛前面講過,整個 quota 進行磁碟限制值記錄的檔案是 aquota.user/aquota.group,
要建立這兩個檔案就必須要先利用 quotacheck 掃瞄才行喔!
3、編輯 quota 限制值資料:
再來就是使用 edquota 來編輯每個使用者或群組的可使用空間囉;
4、重新掃瞄與啟動 quota :
設定好 quota 之後,建議可以再進行一次 quotacheck ,然後再以 quotaon 來啟動吧!
開機流程簡介
1、載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號;
2、讀取第一個開機裝置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的開機資訊;
3、載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置;
4、Kernel 執行 init 程式並取得 run-level 資訊;
5、init 執行 /etc/rc.d/rc.sysinit 檔案;
6、啟動核心的外掛模組 (/etc/modprobe.conf);
7、init 執行 run-level 的各個批次檔( Scripts );
8、init 執行 /etc/rc.d/rc.local 檔案;
9、執行 /bin/login 程式,並等待使用者登入;
10、登入之後開始以 Shell 控管主機。
在/etc/rc.d/rc3.d內,以S開頭的為開機啟動,以K開頭的為關閉,接著的數字代表執行順序
GRUB vga設定
彩度\解析度 640x480 800x600 1024x768 1280x1024 bit
256 769 771 773 775 8 bit
32768 784 787 790 793 15 bit
65536 785 788 791 794 16 bit
16.8M 786 789 792 795 32 bit
彩度\解析度 640x480 800x600 1024x768 1280x1024 bit
256 769 771 773 775 8 bit
32768 784 787 790 793 15 bit
65536 785 788 791 794 16 bit
16.8M 786 789 792 795 32 bit
./configure 檢查系統信息 ./configure --help | more 幫助信息
make clean 清除之前留下的文件
make 編譯
make install 安裝
rpm -q ----->查詢是否安裝 rpm -ql ------>查詢該套件所有的目錄
rpm -qi ----->查詢套件的說明資料 rpm -qc[d] ----->設定檔與說明檔
rpm -ivh ---->安裝 rpm -V -------->查看套件有否更動過
rpm -e ------>刪除 rpm -Uvh ------->升級安裝
--nodeps ----->強行安裝 --test ----->測試安裝
rpm -qi ----->查詢套件的說明資料 rpm -qc[d] ----->設定檔與說明檔
rpm -ivh ---->安裝 rpm -V -------->查看套件有否更動過
rpm -e ------>刪除 rpm -Uvh ------->升級安裝
--nodeps ----->強行安裝 --test ----->測試安裝