Alex的博客

本博客的文章均为原创,是本人从事行业多年来所遇见一些小问题的解决心得,希望可以帮助到大家!



FreeBSD常用命令大全

1: man 在线查询 man ls
2: ls 查看目录与档案 ls -la
3: ln 建立链接文件 ln -fs /usr/local/apache/etc/httpd.conf /etc/httpd.conf
4: more 分页显示 more 文件名称
5: cd 切换目录 cd /usr/local/apache
6: mkdir 建立新的目录 mkdir /usr/temp
7: rmdir 删除目录 rmdir /usr/temp
8: rm 删除目录或档案 rm -f 文件名称 (如果要删除目录.需要加 -r )
9: cp 复制目录或档案 cp 来源档案 目标档案
10: pwd 显示目前的工作目录
11: mv 目录或档案更名或搬移 mv 来源档案 目标档案
12: find 寻找目录或档案 find /etc -name 文件名称

13 fetch FTP取得档案 fetch ftp://ftp.center.kl.edu.tw/pub/FreeBSD/test.tgz
14 chmod 变更档案使用权限 chmod -R 755 /usr/local/etc
15 chown 变更档案所有者 chown -R lin.wheel /usr/local/etc
16 fsck 修理档案系统 fsck -y
17 gzip/tar 压缩或解压缩档案或目录 tar -czvf 压缩档名.tar.gz 目录名称
18 mount 挂上档案系统或是设备 mount /cdrom
19 umount 卸下档案系统或是设备 umount /cdrom
20 df 查询系统的可使用档案空间 df
21 du 显示目录或档案所占的磁盘空间 du -a 檔名 (du -sh 可以获取当前文件夹下的磁盘使用空间)
22 ps 查询系统process状态 ps -aux|grep apach*
23 kill 砍除一个process kill pid
24 su 变换身份 su – root
25 adduser 新增使用者
26 rmuser 删除使用者
27 vipw 编辑使用者账户
28 passwd 变更密码
29 ping 侦测计算机之联机状态 ping 210.240.6.9
30 ifconfig 网络接口的设定与管理 ifconfig -a
31 route 可以设定routing table 
32 traceroute 列出所经过的route traceroute 210.240.8.1
33 netstat 可以查询网络的使用及联机情形
34 pkg_add 安装package pkg_add bash-2.04.tgz
35 pkg_delete 移除已安装的package pkg_delete bash-2.04
36 pkg_info 查询安装纪录
37 sync 强迫系统将快取数据写回硬盘
38 reboot重新启动系统
39 halt 关闭系统
40 shutdown 通知使用者系统将关闭
41 init 0 直接关机
chown chown -R 所有者.群组 档案或目录
-R:表该目录下之所有档案之所有者与群组跟着便变更

chmod
drwxrwxrwx
lr–rwxr-x
1 2 3 4
d:表目录
r:表read
w:表write
x:表可执行
-:表关闭功能

l:表链接的档案
2:该档案或目录所有人之读取权限
3:该档案或目录所有人之相同群组的读取权限
4:网络上的人的读取权限
-R:表该目录下之所有档案之读取权限跟着便变更

gzip/tar
tar czvf 压缩档名.tar.gz 目录名称
z:采用gzip压缩
c:建立新的压缩档
v:采用verbose方式,观看压缩过程
f:强制进行

tar zxvf 压缩档名.tar.gz
z:采用gzip解压缩
x:解压缩
v:采用verbose方式,观看压缩过程
f:强制进行

ifconfig
查询所有网络接口的情形
ifconfig -a

设定网络接口的参数
ifconfig de0 192.168.1.10 netmask 255.255.255.0

停止网络接口
ifconfig de0 down

启动网络接口
ifconfig de0 up

route
改变 routing path 之gateway
route change default 192.168.1.254

netstat
查询 routing table
netstat -rn

查询网络接口流量统计
netstat -I
查询 TCP网络联机情形
netstat -t
查询所有网络联机情形
netstat -a

shutdown 
通知使用者多久后关机,管理者需下reboot或halt
shutdown -k 时间 讯息
通知使用者多久后重新启动系统
shutdown -r 时间 讯息
通知使用者多久后关闭系统
shutdown -h 时间 讯息

时间:now或+3表三分钟后或yymmddhhmm
讯息:用双引号括起来或用-号开头

一些常用的其它组合命令:
shift+g 同win下的END键,让光标处在文档末尾.
:/ 功能是在文档内进行文本搜索
:find 这个是文件的搜索

==============================================

1.查看相关目录说明
#man hier
2.利用pw管理用户信息
#pw groupadd group1 添加组
#pw useradd -n user1 -g group1 -m -s /bin/csh
-n username /指定用户名称
-g groupname /指定组名称
-m /自动创建用户目录
-s /指定用户shell
#echo |pw useradd -n username -g group -m -s /bin/csh -h 0
主要是参数-h -0 /可以在创建用户的时候直接创建改用户的密码;
#pw userdel -n username -r /删除改用户
-r 同时删除home目录相关资料
#pw groupshow wheel 查看该组的成员
#pw groupmod wheel -M user1 把user1用户添加到wheel组
-M 设置这个用户成为这个组的唯一组员
-m 添加用户到该组
2.1 利用命令交互式的添加用户
adduser 添加用户
rmuser 删除用户
chpass 用于修改用户数据库信息的工具
passwd 修改用户口令的工具
pw 修改用户帐号的工具
2.2 使用id命令显示改用户信息
#id username
# id root
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator)
3、起用screensaver程序
在/etc/rc.conf文件中添加以下信息
blanktime=“900” 启用时间为15分钟,以秒为单位
saver=“logo” 图形接口(图形),daemon(文字)。
4.请空一个文件
#true > filename
5.将man的档案打印,例如把ssh2的帮助信息转换成ssh2.txt文件;
#man find |col -b > find。txt
6.忘记FREEBSD密码解决办法
重新启动FreeBSD,当出现倒记时 选择 4 , 进入系统后先运行`#/sbin/mount -a`,现在你可以用`passwd`来修改root密码了。
7.在freebsd中想用su命令,切换到root,你的用户应该是WHEEL组的啊,这样才能SU到ROOT去啊
8.利用mount挂在dos/ntfs分区
#mount -t msdosfs /dev/ad0s1 /mnt
#mount -t mount_ntfs /dev/ad0s1 /mnt
9.当用户使用单用户模式登录是也提示输入密码的操作,修改/etc/ttys文件
console none unknown off secure
把其中的secure改为insecure,这样在是哟个单用户登录时也要提供帐号信息。
10。freebsd的目录架构
/etc/defaults 系统默认的启动配置和脚本目录
/etc/periodic 计划执行脚本的目录
11。利用pkg_add命令从本地或网络上的服务器上安装一个breebsd包,单软件包必须采用。tgz或。tbz两种格式。
#pkg_add XXX-1.11.1.tgz
12.利用pkg_info列出已安装的所有软件包列表和描述。
#pkg_info
13.利用pkg_version来统计所有的安装包
14.利用pkg_dalete删除先前安装反而软件,必须提供完整的包名。
#pkg_dalete XXX-1.11.1
15.利用pciconf工具来显示硬件的详细输出
#pciconf
16、查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep “CPU:”

17、查看内存:
dmesg | grep “real memory” | awk -F ‘[( )]‘ ‘{print $2,$4,$7,$8}’
18、查看硬盘:
dmesg | grep “sector” | awk ‘{print $1,$2}’
19、挂载文件系统:
mount_msdosfs /dev/ad0s1 /mnt
mount_ntfs /dev/ad0s1 /mnt
20、给文件添加或禁用系统禁删标志(目录不适用):
chflags sunlink file1
chflags nosunlink file1
21、初始化磁盘:
fdisk -BI ad1
22、建立FreeBSD分区:
disklabel -B -w -r ad1s1 auto
23、建立逻辑分区:
disklabel -e ad1s1
24、格式化分区,创建文件系统:
newfs /dev/ad1s1e
25、显示PCI硬件信息:
pciconf -lv
26、开启Linux 二进制兼容支持(启用这一功能最简单的方法是载入 linux KLD 模块):
kldload linux
27、检查KLD模块是否加载:
kldstat
28、在内核中静态链接进Linux二进制兼容模式,在内核配置文件里面加入:
options COMPAT_LINUX
29.如果希望LINIX兼容支持在系统初始过程中期待启动,则修改/etc/rc.conf
linux_enable=”yes”
30.查看服务器品牌
#dmegs | grep ACPI
==============系统管理部分======================
1.网卡和网卡芯片组的信息
/usr/scr/sys/conf/NOTES或 /usr/src/sys/arch/conf/NOTES
这两个目录中将提供网卡和芯片组的信息
2.加载网卡对应的模块
#kldoad
3. 利用windows NDIS驱动程序加载网卡驱动,如果要利用NDISulator,你需要三样东西,内核的源代码/二进制形式的windows xp驱动程序(扩展名 为.SYS)/windows xp驱动程序配置文件(扩展名为.inf);下面例子中我们用W32DRIVER.SYS和W32DRIVER.INF来表示这些文件
a.利用root用户执行ndisgen命令将二进制形式的驱动程序加载成内核模块
#ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
在执行完这个交互试程序时他会提示你输入一些其他的信息,当完成后它会在当前目录下生成ygie内核模块文件
b.加载新生成的内核模块文件
#kldload ./W32driver.ko
c.在加载新模块之外还有加载ndis.ko和if_ndis.ko这两个内核模块
#kldoad ndis.ko 加载ndis驱动封装模块
#kldoad if_ndis.ko 加载实际的网络接口
d.自动加载该模块,复制W32DRIVER.KO到/boot/modules目录,修改/boot/loader.conf中加入
W32DRIVER_load=”YES
4.在一个网卡上绑定多个IP地址,主要是修改/etc/rc.conf文件,但是网卡的别名必须是从alias0开始并按顺序递增,一般的描述方式是:
ifconfig_网卡名字_alias0=” inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx”
比如我自己的是
ifocnfig_lnc0_alias0=”inet 192.168.137.1 netmask 255.255.255.0″
ifconfig_lnc0_alias1=”inet 192.168.138.1 netmake 255.255.255.0″
5.更改网卡的工作模式命令:
full-duplex
#ifconfig lnc0 media 100baseTX mediaopt full-duplex
half duplex
#ifconfig lnc0 media 100base
6.设置客户端DNS文件/etc/resolv.conf,记录的格式如下:
nameserver 按顺序查询DNS服务器的IP地址,最多三个
search 搜索机器名的列表,通常有本地的域名决定
domin 本地域名
search example.com
nameserver 202.96.0.133
nameserver 202.97.16.195
7./etc/hosts文件的格式
[internet address] [official hostname] [alias1] [alias2]…

8.syslog.conf 是syslogd程序的配置文件,它存储了特定的日志文件,newsyslog.conf是一个计划运行的配置文 件,newsyslog指出了什么时候日志文件需要打包或重新整理.比如logfile被移到logfile.0,logfile.0移动到 logfile.1等等,日志文家也可以用gzip来压缩,他的命名格式是logfile.0.gz.<301页>
9.sysctl.conf 和rc.conf的文件风格相似,其中的配置均为变量=值的形式,这个文件的配置会在系统进入多用户模式之后进行实际的修改操作,并不是所有的变量都在多用户模式下修改的.例如希望关闭收到致命的信号退出的记录,并阻止普通用户看到其他用户的进程
a.不记录由致命信号导致的进程退出
kern.logsigexit=0
b.阻止用户看到以其他UID身份执行的进程
seurity.bsd.see_other_uids=0
10.sysctl是可以改变正在运行中的Freebsd系统接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,同时他可以读取设置500个系统变量,其中sysctl变量设置通常是字符串,数字或布尔型(布尔型用1表示”yes”,用0表示”no”)
#sysctl -a 查看所有变量;
#sysctl kern.maxproc 读取一个指定的变量;
#sysctl kern.maxfiles=5000 设置一个指定的变量,直接用variable=value语法;
11. 在FreeBSD中创建交换文件
1.首先创建一个交换文件(swap0)
#dd if=/dev/zero of=/mnt/swap0 bs=1024k count=64
2.赋予这个文件适当的权限
#chmod 0600 /mnt/swap0
3.在/etc/rc.conf中启用交换文件爱你
swapfile=”/mnt/swap0″ #set to name ofswapfile
4.通过重新启动机器时生效
#mdconfig -a -t vnode -f /mnt/swap0 -u o && swapon /dev/md0
12.利用openssh创建隧道,例子中利用ssh为telnet创建一个隧道
#ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
参数说明:
-2 强制ssh使用第二版的协议
-N 表示不使用命令行,只使用隧道
-f 强制ssh在后台执行
-L 表示产生一条本地端口:远程主机:远程端口形式的隧道
user@foo.example.com 远程ssh服务器
13.限制ssh登录
1.只允许root用户从192.168.1.2登录服务器:
修改/etc/ssh/sshd_conf文件,在文件中添加一下参数:
AllowUsers root@192.168.1.2
2.允许admin用户从任何地方登录
AllowUsers admin
也可以在同一行指定多个用户
allowusers root@192.168.1.2 admin
14.设置文件的ACL
#getfacl filename 查看文件的acl信息
#setfacl filename 设置文件的acl信息
#setfacl -k filename -k 把所有定义的acl从文件或文件系统中删除
-b 保持让acl正常的拿些项不变
15.通过ssh使用dump备份数据
#/sbin/dump -0uan -f – /usr |gzip -2 |ssh -c blowfish targetuser@foo.example.com dd of=/mydatefiles/dump-user-10.gz
16.利用管道和rsh将数据发送到远程的磁带机上
#tar cf – . | rsh hostname dd of=tape-device obs=20b
17.利用script命令,把执行过的或编译过程中的信息输出到一个文件,便于查询错误信息.
#script /var/tmp/mw.out
18.查看内核是否支持串口
#dmesg | grep ‘sio’

浏览1733  评论1  Alex于 2013-6-5 20:28
评论
专吃鸽子肉 发表于2013-07-27 23:59
不错不错,值得收藏,拿我家放一放。回复
发言