歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> FreeBSD常用指令整理(學習筆記)

FreeBSD常用指令整理(學習筆記)

日期:2017/2/25 10:11:28   编辑:Unix基礎知識

1、查看 CPU:

sysctlhw.modelhw.ncpu
dmesg|grep"CPU:"

2、查看內存:
dmesg|grep "real memory"|awk -F '[()]' '{print$2,$4,$7,$8}'
查看 swap:
top|grep"Swap:"|awk'{print$1,$2}'

3、查看硬盤:

diskinfo‐vt/dev/ad0
disklable/dev/ad0s2#查看分區信息
看硬盤大小:
dmesg|grep"sector"|awk'{print$1,$2}'
diskinfo‐v/dev/da0|grep"inbytes"|awk‐F'[()]''{print$2}'

4、查看服務器品牌:

dmesg|grep"ACPIAPIC"

5、掛載文件系統:

fat32:mount_msdosfs‐Lzh_CN.eucCN/dev/ad0s1/mnt
ntfs:mount_ntfs‐CeucCn/dev/ad0s1/mnt
cdrom:mount_cd9660/dev/acd0/mnt
注:ntfs 在 FreeBSD 中只能讀無法寫入

6、給文件添加或禁用系統禁刪標志(目錄不適用):

chflagssunlinkfile1
chflagsnosunlinkfile1

7、初始化磁盤:

fdisk‐BIad1

8、建立 FreeBSD 分區:

disklabel‐B‐w‐rad1s1auto
9、建立邏輯分區:
disklabel‐ead1s1
10、格式化分區,創建文件系統:
newfs/dev/ad1s1e
11、顯示 PCI 硬件信息:
pciconf‐lv
12、開啟 Linux二進制兼容支持(啟用這一功能最簡單的方法是載入linuxKLD模塊):
kldloadlinux
讓 Linux 兼容在系統初始化時自動啟用,在/etc/rc.conf 中中入:
linux_enable="YES"
13、檢查 KLD 模塊是否加載:
kldstat
14、在內核中靜態鏈接進 Linux 二進制兼容模式,在內核配置文件裡面加入:
optionsCOMPAT_LINUX
15、設置網卡 em0 的 IP 地址:
ifconfigem0inet192.0.2.10netmask255.255.255.0
16、給網卡 em0 設置添加一個別名 IP 地址:
ifconfigem0inet192.168.51.45/24add
17、刪除網卡的別名 IP 地址:
ifconfigem0inet192.168.51.45‐alias
18、設置網卡 em0 的工作模式為 100baseTX 全雙式:
ifconfigem0media100baseTXmediaoptfull‐duplex 19、當/usr/local/etc/rc.d 下的腳本無法自動啟動時,可嘗試在/etc/rc.conf 中加入一行:
local_startup="/usr/local/etc/rc.d"

20、在 ports 中尋找需要的軟件,進入/usr/ports 目錄執行:
makesearchname=lsof或echo/usr/ports/*/*lsof*或whereislsof
makesearchkey=關鍵字#在名字、注釋、描述中搜索關鍵字

21、使用 package 方式安裝管理軟件,使用以下命令:

pkg_addlsof‐4.56.4.tgz#安裝軟件包
pkg_info#列出已安裝所有軟件包
pkg_version#統計所有安裝的軟件版本,比較本地 package 的版本與 ports 目錄中的當前 版本是否一致
pkg_deletelsof‐4.56.4#刪除軟件包,需提供完整包名

22、使用 CVSup 協議更新本地 ports:(將 cvsup.FreeBSD.org 改為離得較近的 CVSup 服務 器)
csup‐L2‐hcvsup.FreeBSD.org/usr/share/examples/cvsup/ports‐supfile

23、一些 shell 會緩存環境變量 PATH 中指定的目錄裡的可執行文件,以加快查找速度,這 會造成一些新安裝的命令無法運行,執行以下命令,然後才能運行新安裝的那些命令:
rehash或hash‐r

24、當不是所有時間都能上網時,可在/usr/ports 下執行以下命令,所有需要的文件都將 被下載:(此命令可以在下級目錄中執行,如/usr/ports/comms/nmp)
makefetch#只下載所需要文件,不下載依賴包
makefetch‐recursive#連同依賴包一起下載

25、改變默認的 Ports 目錄:
makeWRKDIRPREFIX=/usr/home/example/portsinstall#在/usr/home/example/ports 中編譯 port,安裝到/usr/local
makePREFIX=/usr/home/example/localinstall#在/usr/ports 中編譯 port,安裝到 /usr/home/example/local
makeWRKDIRPREFIX=../portsPREFIX=../localinstall#在../ports 中編譯 port,安裝到../local

26、使用 portsclean 工具清除臨時目錄和 distfiles 目錄:
portsclean‐C#清除安裝時的臨時目錄
portsclean‐D#清除 distfiles 目錄下所有 port 都不引用的文件
portsclean‐DD#刪除目前安裝的 port 沒有使用的源碼包文件

27、強制手動檢測 SCSI 設備,SCSI 總線掃描:
camcontrolrescanall
28、顯示 SCSI 設備列表:
camcontroldevlist
29、利用管道修改用戶密碼:
echo"password"|pwusermodroot‐h0
30、sed 插入行:
sed‐i‐E'/serviceport/a\\
apexport:18306\\
'/home/xiyou/config
31、用 freebsd 的 MBR 覆蓋現有的 MBR:
fdisk‐B‐b/boot/boot0device
32、根據一個新的文件重新構建用戶列表:
pwd_mkdb‐p/etc/master.passwd.new#‐p 即為生成新的/etc/passwd
33、取時間:
date‐v‐1d+%Y%m%d#Freebsd 取昨天日期方法
date‐v‐1w+%Y%m%d#Freebsd 取上周今日方法
date‐v‐1m+%Y%m%d#Freebsd 取上個月今日方法
date‐v‐1y+%Y%m%d#Freebsd 取去年今日的方法
34、以 xiyou 用戶身份執行命令或腳本:
su‐xiyou‐c"cd/home/xiyou/script;./start_apex.sh&" 35、tar 打包時排除某個子目錄:
tarzcvfApex09010702.tgz‐‐exclude=ApexItemServer/hook_logApexItemServer
注:上例是使用 GUN 版本的 tar 程序格式,否則‐‐exclude 參數應放在最後

36、鎖住終端:
lock‐np#‐n永不超時,‐p使用系統密碼作為開啟終端的密匙
37、顯示 ATA 設備列表:


atacontrollist
38、查看網絡流量:
systat‐if1#1 表示 1 秒刷新屏幕一次,Traffic流量peak峰值average平均值
netstat1
39、查看硬盤詳細分區實時讀寫狀況:
gstat
40、進單用戶模式也需要密碼:
a.vi/etc/ttys找到 whengoingtosingle‐usermode
b.修改 consolenoneunknownoff 後面的 secure,改為 insecure
c.存盤退出
41、在 FreeBSD5.X 以上加載,卸載 ISO 文件:
mount:
mdconfig‐a‐tvnode‐fmyisofile.iso#屏幕輸出 md0 或者類似的設備名
mount‐tcd9660/dev/md0/mnt
umount:
umount/mnt
mdconfig‐d‐u0#‐u 後面的數字和前面的 md?中的數字一致
mdconfig‐l#可以列出關於配置 md?設備的信息 42、更新配置文件,比如編輯了.cshrc 等文件,就需要用 source 命令:
source.cshrc
43、修復 UFS 文件系統分區:
fsck_ufs/dev/ad1
44、pf 防火牆
pfctl‐e#啟動 pf 防火牆
pfctl‐d#停止 pf 防火牆
pfctl‐sa|grepStatus#查看狀態
pfctl‐f/etc/pf.conf#載入pf.conf文件
pfctl‐nf/etc/pf.conf#檢查配置文件錯誤,但不載入
pfctl‐Nf/etc/pf.conf#只載入文件中的 NAT 規則
pfctl‐Rf/etc/pf.conf#只載入文件中的過濾規則
pfctl‐sn#顯示當前的 NAT 規則
pfctl‐sr#顯示當前的過濾規則
pfctl‐ss#顯示當前的狀態表
pfctl‐si#顯示過濾狀態和計數
pfctl‐sa#顯示任何可顯示的
pfctl‐thttp_table‐Tshow#查看動態表
pfctl‐thttp_table‐Tadd192.168.1.X#添加一個 IP 到表
pfctl‐thttp_table‐Tdel192.168.1.X#從表中刪除 IP
45、系統優化+防止 ddos
加載文件修改
#vi/boot/loader.conf#加入如下文本
kern.dfldsiz="2147483648"#Settheinitialdatasizelimit
kern.maxdsiz="2147483648"#Setthemaxdatasize kern.ipc.nmbclusters="0"#Setthenumberofmbufclusters
kern.ipc.nsfbufs="66560"#Setthenumberofsendfile(2)bufs
##解釋:
a.第一,第二行主要是為了突破 1G 內存設置的
b.第三行其實是 bsd 的一個 bug,當系統並發達到一個數量級的時候,系統會 crash, 這個是非常糟糕的事情,所幸更改了這個參數後,在高並發的時候,基本可以沒有類似情 況,當然非常 bt 的情況,還得進一步想辦法
c.第四行是讀取的文件數,如果你下載的文件比較大,且比較多,加大這個參數,是非 常爽的
Sysctl 修改

#vi/etc/rc.local
sysctlkern.ipc.maxsockets=100000##增加並發的 socket,對於 ddos 很有用
sysctlkern.ipc.somaxconn=65535##打開文件數
sysctlnet.inet.tcp.msl=2500##timeout 時間

加速 ports 安裝

#vi /etc/make.conf##加入如下
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/

Freebsd 顏色顯示
secureCRT 設置:仿真:終端‐>linux>勾選 ANSI 顏色‐‐>確定

#vi/etc/csh.cshrc##加入如下
setenvLSCOLORSExGxFxdxCxegedabagExEx
setenvCLICOLORyes
#cd/usr/ports/edit/vim;makeinstall
#echo"syntaxon">/root/.vimrc
#echo"aliasvivim">>/root/.cshrc ##顏色主要是靠 vim 來顯示的,因此需要安裝 vim,然後把 vialias 成 vim 就可以了

46、查看系統狀態
fstat#報告系統中打開文件的信息
pstat‐T#顯示這幾個系統表的狀態,包括當前使用的和可以利用的系統表空間,因此可以 用來檢查系統在當前負載下是使用多大的系統表,幫助進行優化系統性能
systat#缺省情況下 systat 是報告處理器的使用率,包括總利用狀態、空閒使用率和各個 進程的使用率
通過指定參數,systat 也能進行 I/O 的統計、虛存的統計、網絡的統計等,這些參數 包括‐iostat,‐vmstat,‐mbufs,‐netstat,‐ip,‐icmp,‐tcp,‐swap 等

kldstat‐v#顯示內核加載的模塊
klsdstat‐mipfilter#顯示指定模塊
pnpinfo#即插即用設備
devinfo‐u#顯示設備占用的 IRQ 和內存地址

使用 portsnap 生級 port 的目錄樹,建議使用;我沒做這步,使用 port 安裝 vim 系統報錯。
①配置 portsnap:
我們使用 portsnap,首先要設置一下它的配置文件,位於/etc/portsnap.conf:
[root@bsd01/usr/ports]#vi/etc/portsnap.conf
把 SERVERNAME=portsnap.freebsd.org
修改成:
SERVERNAME=portsnap.hshh.org
在你的 freebsd 首次使用 portsnap 必須執行下面 2 步:

[root@bsd01~]#portsnap fetch
[root@bsd01~]#portsnap extract

#這 2 步可以合成使用:

[root@bsd01~]#portsnap fetch extract #portsnapfecth 是從網上獲取 portsnap 快照的最新壓縮包,聽聞這個壓縮包官方沒小時更 新一次。

#portsnapextract則是把這個壓縮包創立到/usr/ports。哪怕你以前已經手工安裝了 ports, 他也會重新創立一次。
③以後使用 portsnap 更新 ports:
以後更新,只需要執行下面 2 步:

[root@bsd01~]#portsnap fetch
[root@bsd01~]#portsnap update

這 2 步可以合成使用:

[root@bsd01~]#portsnap fetch update

portsnap 第一次運行 extract 命令時,可能需要一段時間,以後更新使用 update 的時候, 速度就塊很多了。

Copyright © Linux教程網 All Rights Reserved