2009年的FreeBSD命令(转载的)


FREEBSD是一个unix的分支.他的命令大部分也是从他的里面来的

如果你从unix转到BSD来,那么你一定对他的命令会比较熟悉
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 这个是文件的搜索

FreeBSD常用命令

在线使用手册
【执行格式】:man [指令名称]
【说明】:man是manual的缩写。在FreeBSD系统环境下,对于不了解的指令,只要man一下就可以得到指令使用方法的详细说明。
【举例】:man ls
【作用】:获得ls指令用法、语法、参数等相关说明。

注销FreeBSD系统
【指令名称】:logout
【说明】:用于退出FreeBSD系统的登陆。命令exit也可以达到相同的作用。

改变工作目录位置
【指令格式】:cd [目录名称]
【说明】:cd指令和dos环境下改变工作目录位置的cd指令相同,所以只要了解FreeBSD的文件结构,就可以轻松漫游其间。但是注意在UNIX下,英文大小写是有分别的。如果指令cd后面不接任何参数,则会切换到user的根目录,与“cd ~”有相同作用。

"." 本身目录
".."上一层的父目录
" ~ "user根目录

显示当前的工作路径
【执行格式】:pwd
【说明】:在dos环境下,“c:\”是我们很熟悉的提示符号,代表我们现在位于根目录下,在FreeBSD的环境下,除了从提示符号得知当前的工作路径外,使用指令pwd可知自己当前身在何处,在什么目录下。指令pwd为print working directory的缩写。

建立新目录
【指令名称】:mkdir
【执行格式】:mkdir [新的目录名称]
【说明】:mkdir就和dos环境下的md建立一个新目录的指令相似,唯一不同的是FreeBSD的环境下因有权限限制,所以要在某一目录下建立一新目录,必须在此目录有(W)写入权。
参数“-P” 可一次制作多层目录,想偷懒的人一定要学会。
【举例】:mkdir -p /dir2/dir3/
【作用】:在所在的目录下建立/dir2和dir2下的dir3目录,也就是一次连续建两个目录以上,加参数“-P”,即可轻松完成。

删除空目录
【指令名称】:rmdir
【执行格式】:rmdir [空目录名称]
【说明】:rmdir和rd一样只能删除空目录,也就是说要删除的目录其下已没有其他文件和子目录。
【举例】:rmdir dir1
【作用】:删除dir1目录

移动或更改文件、目录名称
【指令名称】:mv
【执行格式】:mv [来源目录或文件] [目地目录或文件]
【说明】:mv指令可以视为是dos下ren和move的组合,可以利用它更改文件或目录的位置和名称。
【举例】:mv dir1 ../
【作用】:把dir1这个目录移动到上一层目录


复制文件
【指令名称】:cp
【执行格式】:cp { -参数 } [来源文件或目录] [目的文件或目录]
【说明】:cp的英文意识就是<copy>,相当于dos环境下的xcopy指令,拷贝文件或整个目录。
参数“-R” 可做递归(Resusive)的拷贝,将目录和子目录下所有的文件目录一起拷贝。
参数“-p” 根据user权限(permission)的允许,尽量将文件的原来属性模式拷贝过去。
参数“-f” 如果复制时,已经有相同的文件、目录名称,不会要求使用者确认而直接覆盖。
参数“-I” 和上相反,要使用者确认是否真的要拷贝文件。
【举例】:cp -R dir1 dir2
【说明】:复制整个目录(包括子目录)。如果dir2目录本来就存在,则dir1目录的整个内容包括目录dir1会存在于dir2目录下(dir2/dir1/),若dir2原本不存在,就等于复制一个名为dir2的dir1。

删除文件
【指令名称】:rm
【执行格式】:rm { -参数 } 文件或目录
【说明】:rm指令和dos环境下的del相似,但使用rm要更加小心,因在dos环境下,删错文件有undelete指令救回删除的文件,但在FreeBSD环境下并没有类似的指令,所以您可能要学会三思而后行。
参数“-r” 做出递归(Resusive)的动作,将目录和子目录下所有的文件目录一起删除。
参数“-I” i有交互(interactive)的意识。当删除文件时,电脑会询问我们是否删除该文件,做再一次确认的工作。
参数“-f” f有强制(force)的意识。所以当系统内定rm为rm -i时,加上参数-f,电脑就不会询问您是否要删除该文件。
【举例】:rm -rf dir
【说明】:将dir目录连同子目录一起强制(force)删除,不会再给一次机会确认,请小心使用,免遭不测。

列出文件目录名称
【指令名称】:ls
【执行格式】:ls { -参数 } [路径目录或文件]
【说明】:ls的英文意义就是<list>,相当于dos环境下dir指令,用来显示文件、目录。通常用“ls -al”来看文件与目录。
参数“-a” 列出全部文件,包括以符号“.”开头的隐藏文件等全列出来
参数“-l” 显示目录、文件的详细数据
参数“-t” 按照文件最后修改时间的顺序列出文件名
参数“-F” 列出当前目录下的文件名及其类型,文件后接“/”表示为目录名称,“*”表示执行文件,“@”表示连接文件。
参数“-R” 显示目录下,以及其所有子目录的文件名
参数“-C” 这是默认的选项,列出的方式为按字母顺序由上而下。
【举例】:ls -l
【说明】:显示文件的详细数据
假如“ls -al”后,显示结果超过一页,可以通过导管符号“|”来使用more或less指令,将显示结果分页,如“ls -al | more”是将“ls -al”结果,通过导管符号“|”,交予导管右边的分页指令继续处理


more与less都是分页指令,也都可以直接用来看ASCII文本文件。不过less比较方便,可以用方向键上下左右翻动屏幕,按Enter一行行看,按空格键一页页看,按B可退回一页,按Q可以离开。而more指令就不像less可随意翻动屏幕。

【指令名称】:less
【执行格式】:1.less文件名称
2.通过导管执行如 ls -al &line; less
【举例】:less /etc/csh.cshrc
【作用】:查看/etc/csh.cshrc文字文件的内容

清理屏幕
【指令名称】:clear
【执行格式】:clear
【说明】:用于清除杂乱的显示屏幕,作用同dos下的“cls”指令

查看目录占用硬盘容量
【指令名称】:du
【执行格式】:du { -参数 } 目录名称或文件名称
参数“-a”列出目录下面全部子目录与文件,分别占用硬盘空间的大小
参数“-k”将所占的硬盘空间大小单位以Kbyte表示
【举例】:du -ak /home
【作用】:显示当前所在目录/home下各个文件目录所占的硬盘空间,和所有文件所占的硬盘空间总和,并以K为单位

查看硬盘当前所剩的空间
【指令名称】:df
【执行格式】:df
【说明】:df指令可以显示硬盘空间,可以使用参数“-k”,让df指令显示你所习惯的硬盘空间单位K
【举例】:df -K
【作用】:显示当前硬盘分区的占用空间

改变文件属性
【指令名称】:chmod
【执行格式】:chmod [权限参数] [文件或目录]
【使用者】:文件或目录的拥有者,root
【说明】:文件或目录的属性分为十小格,第一小格记载文件类别,2、3、4小格设置使用者(u)的权限,5、6、7为所属组(g)的权限,8、9、10为其他使用者(o)的权限,而(a)代表all所有的人。基本的权限分别是以(r)表示可读,(w)可写,(x)可执行。使用符号(+)增加权限,(-)删除权限,(=)设置权限
【举例】:1. chmod u+rwx file1
2. chmod u-x file1
3. chmod a+rwx file1
4. chmod u=rw,g=rw file1
【作用】:1. 设置只有使用者本身可以对文件file1进行读写执行的工作
2. 删除使用者本身可执行文件file1的权限
3. 所有的使用者对文件file1都可读写执行
4. 同时设置使用者本身与组的使用权限

 

连接文件
【指令名称】:ln
【执行格式】:ln [来源文件] [目地文件]
【说明】:如果在不同目录下,希望拥有相同的文件,你不需在每一个目录下复制相同文件。此功能可以使不同文件名经连接设置,指向同一文件。而当你修改这一个文件内容时,所有连接文件都有相同的更改。另外,如果一个文件位于多层目录下,每次执行此文件,可能要做许多变换目录的工作,这时你可以在根目录下设一连接文件,可以达到windows系统下的快捷方式的效果
【举例】:1. ln file1 file2
2. ln d1/d2/file1 file2
3. ln -s file1 file2
【作用】:1. 不加参数情况下,为强制连接,file1和file2使用同样的数据,file2的文件内容和file1相同。因强制连接是把两个文件设成同一个inode,以及对应于同一数据区块
2. 当你执行file2就等于在执行d1/d2目录下的file1文件
3. 加上参数s制造象征连接,象征连接是一个文件系统的指向文件,file2并不和file1共用同一个inode,而另有一个inode,而此inode所对应的数据区块内容参考到file1的路径,因此file2是以间接方式连接取得file1的数据区块内容

显示或连接数个ASCII文本文件
【指令名称】:cat
【执行格式】:cat 文件
【说明】:cat是concatenate的简写,和dos下的type指令类似,主要用来显示文件内容或是连接文本文件。但cat不具有分页功能,所以在文件内容超过一页的长度时,改用more指令和less指令会比较方便,因more指令可使超过一页的文章暂时停留在屏幕等你按任何键后,才继续显示。而less指令,还可以用方向键往上或往下滚动文章
【举例】:1. more file1
2. cat file1 file2
3. cat file1 file2 > file3
4. cat file1 >> file2
【作用】:1. 以分页方式显示file1的文件内容
2. 可以一次显示多个文件内容
3. 连接两个文件内容,并将结果输出到file3文件,但是如果file3有内容,会被覆盖
4. 利用转向符号可将file1的文件内容拷贝增加到file2,所以file2除了原来的内容外,还会有file1的文件内容

寻找文件
【指令名称】:whereis
【执行格式】:whereis [文件名]
【举例】:whereis ln

【指令名称】:locate
【执行格式】:locate [文件名或目录的关键字符串]
【说明】:locate会将所有文件名及目录名中含有“搜索字符串”的列出
【举例】:locate ln

【指令名称】:find
【执行格式】:find [开始搜索的目录] -name [文件字符串] { -参数 }
【使用者】:虽然系统上的每位user都可以使用,但是有些目录有权限的限制,会出现“Permission denied”的信息,所以只有root才能做地毯式的搜索,其他的user则会遗漏一些
【说明】:find指令让你以文件名称或是文件的其他特征,如:文件的尺寸、文件的属性等,来搜索文件,找到文件后,您可以印出文件路径、文件内容或予以删除。find指令的搜索工作是以你所指定的目录开始寻找,并采用递归的方式,一层层的子目录往下搜索
参数“-print” 显示文件路径
参数“-ls” 显示文件的详细数据
参数“-exec cmd” 对搜索到的文件执行指令
【举例】:1. find /home/mmk -name 'word*' -ls | less
2. find / -name 'test' -print | xargs rm -f
【作用】:1. 在/home/mmk目录下寻找以word开头的所有文件,并分页列出详细数据
2. 从根目录下开始寻找test文件并删除


新增使用者
【指令名称】:adduser
【执行格式】:adduser
【使用者】:root
【说明】:FreeBSD系统新增使用者帐号,可以直接“vipw”编辑密码文件,来建立新的使用者帐号,但笔者不鼓励。反倒是使用指令adduser,系统会出现一连串的提示符号,逐渐引导你建立新的使用者帐号,相当的简单容易,而且如果你不知道adduser指令所出现的提示信息,那么直接按 Enter,也不会差太多

删除使用者
【指令名称】:rmuser
【执行格式】:rmuser username
【使用者】:root
【举例】:rmuser mmk
执行命令后,系统会再次询问,是否要将使用者的设置从系统密码文件中删除,是否要删除使用者根目录,反正通通回答“y”,就可以消除干净

新增或删除组
【文件】:/etc/group
【使用者】:root
【执行格式】:直接编辑/etc/group这个文件
【说明】:/etc/group部分内容如下:
组名称:密码:组ID:属于这个组的使用者

组名称系统管理者可以自定,密码栏位使用“*”即可。因0~99为系统内定值,所以组ID最好大于99,且不和其他组ID相同,大多从10000开始使用。最后标示属于此组的使用者,而各个使用者以逗号分隔

改变使用者所用的shell
【执行格式】:chsh
【说明】:root新增使用者时,即给予使用者一个内定的shell,如以后使用者不满意此内定值,可利用chsh指令来自行更改shell

改变使用者数据
【执行格式】:chfn
【说明】:设定使用者基本数据

压缩、解压缩工具介绍
【指令名称】:gzip & gunzip
【执行格式】:gzip { -参数 } [要压缩的文件名或目录]
gunzip { -参数 } [要解压缩的文件名或目录]
【压缩后的文件格式】:.gz
【说明】:gzip是网络上非常实用的压缩工具,你在网络上常可以看到经gzip压缩过后,以.gz结尾的文件。这时你应马上以gunzip工具来解压缩,参数使用如下:
-1 表示快速压缩
-9 表示以最佳状态压缩
-r 递归的意思,压缩整个目录
-d 解压缩。gzip -d效果和gunzip相同
指令zcat可以在文件未解压缩前查看压缩文件
【用法】:zcat file1.gz
【举例】:1. gzip -1 file1
2. gzip -9 -r t1/
3. gunzip file1.gz
4. gunzip -r t1/
【作用】:1. 快速压缩文件file1,file1文件消失,产生压缩文件file1.gz
2. 压缩t1整个目录
3. 解压缩文件
4. 解压缩目录

【指令名称】:compress & uncompress
【执行格式】:compress { -参数 } 要压缩的文件名
uncompress { -参数 } 要解压缩的文件名
【压缩后的文件格式】:.Z(英文字母大写的Z)
【举例】:1. compress -v file1
2. compress -d file1.Z
3. uncompress -v file1.Z
4. compress -v dr.tar
【作用】:1. 压缩文件,加上参数v会显示压缩比例和压缩后文件名
2. 参数d相对应uncompress解压缩文件
3. 解压缩文件
4. 压缩经过tar归为一个文件的目录

 

【指令名称】:tar
【执行格式】:tar cvfz [要压缩的文件、目录]
【说明】:在系统上,tar所做的是备份工作,仅仅是将一个目录下的所有文件归为一个文件,或是将某一文件备份到另一个.tar文件中,并不做空间的压缩工作,通常与gzip一起使用
【举例】:1. tar cf book.tar /home/book
2. gzip book.tar
3. tar zcvf book.tar.gz /home/book/
4. tar Zcvf book.tar.Z /home/book/
5. tar rvf book.tar /home/showfun/chp1
【作用】:1. 将/home/book/目录下的文件及子目录归到book.tar里
PS:tar指令的参数不加“-”符号,参数c是产生一个压缩文件的意思,参数f则指定压缩文件名,book.tar是自定的,但最好以.tar结尾
2. 将例1整理后的文件用gzip进行压缩,压缩后的文件名为book.tar.gz
3. 将例1、例2合并一个动作完成
参数“z”当目录归为一个文件时,自动用gzip把文件压缩
参数“v”把压缩的过程显示在屏幕上
4. compress也可以和tar工具一起使用,文件名以.tar.Z结尾,但压缩参数要加上大写的“Z”
5. 加上参数r表示将/home/showfun/chp1这个文件附加到book.tar中

【解压语法】:tar xvfz [压缩文件(以.tar.gz或.tgz结尾)]
【说明】:一般来说解压缩后,会解在当前工作目录下
【举例】:1. tar xvf book.tar
2. tar zxvf book.tar.gz
3. tar Zxvf dr.tar.Z
【作用】:1. 加上参数x还原整理过的文件
2. 加上参数z配合参数x,还原并解压缩文件
3. 利用uncompress解压缩和还原tar过的目录,也可以两道手续,先利用uncompress解压缩,产生dr.tar,再用指令tar还原

变换身份
【指令名称】:su
【执行格式】:su [-] username
【说明】:set uid,重置uid可以转变权限。为了系统安全,系统管理者(root),一般不会以root的身份登入系统,以免有心人士注意root的登入密码,而这时系统管理者,可能故布疑阵,以其他的帐号登入系统,再以指令su,变身为超级使用者,也就是拥有系统管理者的最大权限。

但读者不能以为一般使用者可以通过指令su变身为超级使用者。因为要变身为root,除了在系统中有帐号外,此使用者还需经系统管理者归属于wheel组才能使用su指令成为root,此外,系统会要求你输入root的密码

改变文件拥有者
【指令名称】:chown
【执行格式】:chown { -R } [拥有者或拥有组] [文件或目录名称]
【使用者】:root
【选项】:-R 表示将目录所有的文件、子目录也一起更改
【说明】:chown这个指令在FreeBSD系统中的使用权限,不像Linux系统属于该文件或目录的拥有者和root,在FreeBSD的环境下,文件或目录的拥

有者不可自动放弃权利,更改文件或目录的拥有者,只有root才能。chown不仅可改变拥有者,也可一起改变组
【举例】:chown mmk:adm word
【作用】:将文件word的拥有者改为mmk,拥有组改为adm

改变文件的所属组
【指令名称】:chgrp
【执行格式】:chgrp { -R } [新的组名称] [文件或目录名称]
【执行者】:root
【说明】:这个指令和chown相似,chown改变文件拥有者,chgrp改变文件的所属组,但是chown指令的功能,可以包括chgrp
【举例】:chgrp -R teacher word 或 chown -R mmk:teacher word
【作用】:将文件word的所属组由adm改为teacher

挂上文件系统
【指令名称】:mount
【执行格式】:mount { -t } [文件系统格式] { -o } [选项] <mount device> [挂入点]
【使用者】:root
文件系统格式:常用的有UFS(FreeBSD自己的文件系统)、MSDOSFS(Dos下的文件系统)、CD9660(光盘的文件系统)、PROCFS(Process文件系统)、NFS(Network File System)等
【选项】:[rw]可读写
[ro]只读
[sync]使用同步模式写入,在写入时,会把必要的信息一并更新,让不正常关机(死机、断电......)的损失降到最低。也因此缺点是I/O频繁,对于大量的文件删写会很慢。这是系统默认值,所以不须指定sync。通常用在重要数据的文件系统,如根目录、/usr等
[async]使用非同步模式写入,这样文件在写入时,只会写入部分信息,等系统有空时,才会将其他的文件信息写入,所以效率较好,但是比较不保险,不正常关机的损失率较高。如果写入动作频繁的分区,就可考虑使用async
[nodev]这个文件系统上的device node没有作用
[noexc]这个文件系统上的文件都不能执行
[nosuid]这个文件系统上的文件都没有setuid、setgid的效果
[userquota groupquota]启动QUOTA限制使用者使用硬盘空间
【举例】:1. mount -t cd9660 /dev/wcd0a /cdrom
2. mount -t cd9660 /dev/cd0a /cdrom
3. mount -o async,userquota /dev/wd0slg /home
【作用】:1. 把wcd0a这个ATAPI CDROM设备的光盘内容mount挂到/cdrom下
2. 把cd0a这个SCSI CDROM设备里的光盘内容mount挂到/cdrom下
3. 把/dev/wd0slg mount到/home,并启动async写入模式,userquota限制

卸下文件系统
【指令名称】:umount
【执行格式】:umount [挂入点]
【使用者】:root
【说明】:要卸下文件系统,并不须加任何参数。如果当你umount时,看到device busy之类的信息,表示有人或程序正在使用该挂入点里的文件,或是你正在该目录下,只有把user或程序排除,或到挂入点之外,才能顺利卸下文件系统
【举例】:umount /cdrom
注意:当你mount你的CDROM设备后,你的光盘是无法取出的,只有正常umount后,才能退出取回

【指令名称】:sync
【执行格式】:sync
【说明】:可以强迫系统将临时内存写回硬盘中

【指令名称】:reboot
【执行格式】:reboot
【说明】:一旦执行reboot后,系统会立刻关机重新启动。虽说reboot也会呼叫sync,但是最好在关机前,再多下几次sync指令
【举例】:sync;sync;sync;reboot

【指令名称】:shutdown
【执行格式】:shutdown { -参数 } [时间] [警告信息]
【使用者】:root
【说明】:FreeBSD系统和win95操作系统相同,关机动作要遵守一定的程序,不能随意将电源关闭,因为核心通常会把硬盘输出输入的数据存在主内存的缓冲区中,按正常关机手续,核心会把缓冲区的数据写回硬盘,如突然的重新开机,你的文件可能就会受损。此外系统管理者要在系统关机或者重新启动的同时需通知系统使用者,系统使用者才有充裕的时间,按正常手续离开系统
【举例】:1. shutdown -h 21:00
2. shutdown -h now
3. shutdown -r now
4. shutdown -h +10
【作用】:1. 设置在晚上9点关机,但并不会重新启动
2. 系统即刻关机,但并不会重新启动
3. 加上参数r表示关机后会再重新开机
4. 系统在十分钟后关机


【指令名称】:top
【执行格式】:top [参数]
【说明】:显示系统中使用CPU资源的Process排名、CPU当前的使用情况、内存当前的使用情况,而且会持续更新
【举例】:top 3
【作用】:显示显示CPU资源最多的前三名Process

监督进程
【指令名称】:ps
【执行格式】:ps { -参数 }
【说明】:ps指令可以用来监视、查看进程的状态
【举例】:直接执行ps不加任何参数,只会显示属于自己的进程。虽说出现的信息很少,但重要的是,可显示属于自己所拥有进程的id号码
执行ps -aux则会显示所有进程的详细数据
[-u]:将进程的相关数据以较详细的方式显示出来
[-a]:除了显示自己的进程,将其他人在tty所执行的进程也列出来
[-x]:将不在tty中启动的进程也列出来,即显示tty为??的进程

ps -aux栏位说明
USER:进程的拥有者
PID:进程的代码
%CPU:进程占用CPU时间的百分比
%MEM:进程使用实际内存的百分比
VSZ:进程的虚拟大小(单位KB)
RSS:进程常驻内存的空间大小(单位KB)
TT:进程在编号为几的控制客户机上执行
STAT:进程当前的状态 R=可执行 D=在驱动器中等待置换 I=睡眠中(<20秒) S=睡眠中(>20秒) T=停止 Z=结束
常见的附加标志 +=属于控制客户机的前景程序 E=进程尝试离开 L=有页面被锁住 s=进程是此控制客户机的主人 W=进程被置换出去
STARTED:进程开始的时间
TIME:进程已耗用的CPU时间
COMMAND:所执行的命令名称和参数

停止进程
【执行格式】:kill
【说明】:将process从系统中删除,或送一个信号给Process,例如重新读取设置文件。但是只有Process的拥有者,才能对其拥有的Process下

kill命令,你可以使用“ps”,找出要进行处理的Process
【举例】:1. kill -l
2. kill -HUP 228
3. kill -9 928
【作用】:1. 列出所有的参数
2. 将Process Id为228的程序重run
3. 将Process Id为928的程序,从系统中强迫删除

控制Process
在FreeBSD系统中,工作控制允许你将process做前景和背景的切换,一般我们需花费较长时间完成的工作,切换到背景执行,此时背景执行的工作,并不接受来自键盘的输入命令,也就是此process静静的执行,不需要作任何交谈。这样我们就可以不受影响的继续和前景工作交谈但在同一时间中,只能有一个job和你当前所使用的键盘和屏幕做沟通
1. 在指令后面加上&:在背景执行指令
如:gzip -9 -r test/ & //在背景执行压缩整个test目录的工作
2. jobs:列出背景Process
3. %n:参考第n号背景工作
4. fg:把背景process切换到前景
如:fg % 1 //将1号工作放置前景
5. bg:重新开始停止的背景Process
如:bg % 3 //在背景执行第三个Process
6. kill:结束Process
如:kill 132 //结束Process ID为132的Process
7. [Ctrl+Z]:停止前景process
注:指令ps可列出PID,指令jobs可看到临时编号的背景Process

工作安排
【指令名称】:crontab
【执行格式】:crontab { -参数 }
【说明】:crontab文件列出在某一个时间要采取的动作
【举例】:1. crontab -e
2. crontab -d
3. crontab -l
【作用】:1. 编辑crontab文件
2. 删除crontab文件中定义的工作
3. 列出crontab文件定义的工作

crontab编写格式
分 时 日 月 星期 由谁来做 所要执行的工作

例:1 0 * * * root /home/word.sh //每天凌晨1点,由root执行/home/word.sh

【指令名称】:ping
【执行格式】:ping { -参数 } [Hostname | IP-Address]
【说明】:使用ping可以检测网络上的机器连接情况,可以使用参数“-s”来指定送出Package的信息大小(bytes),使用参数“-c”来指定要连接送出几次
【举例】:1. ping 140.131.41.10\
2. ping -c 10 -s 1200 whyno.org

【指令名称】:traceroute
【执行格式】:traceroute [Hostname | IP-Address]
【说明】:使用traceroute可以显示到网络上某台主机所经过的router,以检测发生问题的router路径
【举例】:traceroute whyno.org

【指令名称】:ifconfig
【说明】:使用“ifconfig -a”可以查看所有网络接口的参数

【指令名称】:netstate
【说明】:显示网络状态
【举例】:netstate -r
【作用】:显示routing table

【指令名称】:arp
【说明】:显示Hostname(或IP-Address)与MAC Address的对照表
【举例】:arp -a

【指令名称】:fetch
【执行格式】:fetch { -参数 } [来源文件地址]
【说明】:使用指令fetch来传送远端文件,比指令ftp要来得便捷许多,你只要知道文件的正确位置,以ftp或http的通讯协议,一个动作就可以获取回你所需要的文件,无需登入匿名FTP站
【举例】:1. fetch

2. fetch -o test

【作用】:1. 复制1225.gif到使用者当前所在目录
2. 参数o加文件名,远端取回的文件由原有文件名1225.gif变为使用者自定的文件名test

将man page转成文本文件
【执行格式】:man manfile | col -b > (testfile name)
【说明】:由于man page加上了一些彩色控制码,所以使用一般方法直接转成文本文件会有乱码
【举例】:man fetch | col -b > fetch.txt
【作用】:将fetch的man page转成正常的文本文件,文件名为fetch.txt

搜索文件中的字符串
【指令名称】:grep
【执行格式】:grep [要寻找的字符串] [要搜索的文件]
【说明】:搜索文件内容中的字符串
【举例】:grep whyno.org *
【作用】:搜索当前目录下,哪些文件含有whyno.org的字符串

指令合并
如果想让数个指令合并在一行写完,让他们可以按顺序执行,可以利用“;”将数个指令串连在一起
例如:command A;command B;command C;......
【作用】:指令A完成后,接着完成指令B,然后陆续完成C.......

指令过长
如果指令与参数超过一行时,可用“\”将命令分为数行,当命令到行末时,输入“\”按Enter跳到下一行,继续输入命令,最后输入完成按Enter执行
例如:pkg_add ftp://whyno.org/freebsd/packages/net/\
ncftp-2.4.3.tgz


FREEBSD是一个unix的分支.他的命令大部分也是从他的里面来的

如果你从unix转到BSD来,那么你一定对他的命令会比较熟悉
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 这个是文件的搜索

FreeBSD常用命令

在线使用手册
【执行格式】:man [指令名称]
【说明】:man是manual的缩写。在FreeBSD系统环境下,对于不了解的指令,只要man一下就可以得到指令使用方法的详细说明。
【举例】:man ls
【作用】:获得ls指令用法、语法、参数等相关说明。

注销FreeBSD系统
【指令名称】:logout
【说明】:用于退出FreeBSD系统的登陆。命令exit也可以达到相同的作用。

改变工作目录位置
【指令格式】:cd [目录名称]
【说明】:cd指令和dos环境下改变工作目录位置的cd指令相同,所以只要了解FreeBSD的文件结构,就可以轻松漫游其间。但是注意在UNIX下,英文大小写是有分别的。如果指令cd后面不接任何参数,则会切换到user的根目录,与“cd ~”有相同作用。

"." 本身目录
".."上一层的父目录
" ~ "user根目录

显示当前的工作路径
【执行格式】:pwd
【说明】:在dos环境下,“c:\”是我们很熟悉的提示符号,代表我们现在位于根目录下,在FreeBSD的环境下,除了从提示符号得知当前的工作路径外,使用指令pwd可知自己当前身在何处,在什么目录下。指令pwd为print working directory的缩写。

建立新目录
【指令名称】:mkdir
【执行格式】:mkdir [新的目录名称]
【说明】:mkdir就和dos环境下的md建立一个新目录的指令相似,唯一不同的是FreeBSD的环境下因有权限限制,所以要在某一目录下建立一新目录,必须在此目录有(W)写入权。
参数“-P” 可一次制作多层目录,想偷懒的人一定要学会。
【举例】:mkdir -p /dir2/dir3/
【作用】:在所在的目录下建立/dir2和dir2下的dir3目录,也就是一次连续建两个目录以上,加参数“-P”,即可轻松完成。

删除空目录
【指令名称】:rmdir
【执行格式】:rmdir [空目录名称]
【说明】:rmdir和rd一样只能删除空目录,也就是说要删除的目录其下已没有其他文件和子目录。
【举例】:rmdir dir1
【作用】:删除dir1目录

移动或更改文件、目录名称
【指令名称】:mv
【执行格式】:mv [来源目录或文件] [目地目录或文件]
【说明】:mv指令可以视为是dos下ren和move的组合,可以利用它更改文件或目录的位置和名称。
【举例】:mv dir1 ../
【作用】:把dir1这个目录移动到上一层目录


复制文件
【指令名称】:cp
【执行格式】:cp { -参数 } [来源文件或目录] [目的文件或目录]
【说明】:cp的英文意识就是<copy>,相当于dos环境下的xcopy指令,拷贝文件或整个目录。
参数“-R” 可做递归(Resusive)的拷贝,将目录和子目录下所有的文件目录一起拷贝。
参数“-p” 根据user权限(permission)的允许,尽量将文件的原来属性模式拷贝过去。
参数“-f” 如果复制时,已经有相同的文件、目录名称,不会要求使用者确认而直接覆盖。
参数“-I” 和上相反,要使用者确认是否真的要拷贝文件。
【举例】:cp -R dir1 dir2
【说明】:复制整个目录(包括子目录)。如果dir2目录本来就存在,则dir1目录的整个内容包括目录dir1会存在于dir2目录下(dir2/dir1/),若dir2原本不存在,就等于复制一个名为dir2的dir1。

删除文件
【指令名称】:rm
【执行格式】:rm { -参数 } 文件或目录
【说明】:rm指令和dos环境下的del相似,但使用rm要更加小心,因在dos环境下,删错文件有undelete指令救回删除的文件,但在FreeBSD环境下并没有类似的指令,所以您可能要学会三思而后行。
参数“-r” 做出递归(Resusive)的动作,将目录和子目录下所有的文件目录一起删除。
参数“-I” i有交互(interactive)的意识。当删除文件时,电脑会询问我们是否删除该文件,做再一次确认的工作。
参数“-f” f有强制(force)的意识。所以当系统内定rm为rm -i时,加上参数-f,电脑就不会询问您是否要删除该文件。
【举例】:rm -rf dir
【说明】:将dir目录连同子目录一起强制(force)删除,不会再给一次机会确认,请小心使用,免遭不测。

列出文件目录名称
【指令名称】:ls
【执行格式】:ls { -参数 } [路径目录或文件]
【说明】:ls的英文意义就是<list>,相当于dos环境下dir指令,用来显示文件、目录。通常用“ls -al”来看文件与目录。
参数“-a” 列出全部文件,包括以符号“.”开头的隐藏文件等全列出来
参数“-l” 显示目录、文件的详细数据
参数“-t” 按照文件最后修改时间的顺序列出文件名
参数“-F” 列出当前目录下的文件名及其类型,文件后接“/”表示为目录名称,“*”表示执行文件,“@”表示连接文件。
参数“-R” 显示目录下,以及其所有子目录的文件名
参数“-C” 这是默认的选项,列出的方式为按字母顺序由上而下。
【举例】:ls -l
【说明】:显示文件的详细数据
假如“ls -al”后,显示结果超过一页,可以通过导管符号“|”来使用more或less指令,将显示结果分页,如“ls -al | more”是将“ls -al”结果,通过导管符号“|”,交予导管右边的分页指令继续处理


more与less都是分页指令,也都可以直接用来看ASCII文本文件。不过less比较方便,可以用方向键上下左右翻动屏幕,按Enter一行行看,按空格键一页页看,按B可退回一页,按Q可以离开。而more指令就不像less可随意翻动屏幕。

【指令名称】:less
【执行格式】:1.less文件名称
2.通过导管执行如 ls -al &line; less
【举例】:less /etc/csh.cshrc
【作用】:查看/etc/csh.cshrc文字文件的内容

清理屏幕
【指令名称】:clear
【执行格式】:clear
【说明】:用于清除杂乱的显示屏幕,作用同dos下的“cls”指令

查看目录占用硬盘容量
【指令名称】:du
【执行格式】:du { -参数 } 目录名称或文件名称
参数“-a”列出目录下面全部子目录与文件,分别占用硬盘空间的大小
参数“-k”将所占的硬盘空间大小单位以Kbyte表示
【举例】:du -ak /home
【作用】:显示当前所在目录/home下各个文件目录所占的硬盘空间,和所有文件所占的硬盘空间总和,并以K为单位

查看硬盘当前所剩的空间
【指令名称】:df
【执行格式】:df
【说明】:df指令可以显示硬盘空间,可以使用参数“-k”,让df指令显示你所习惯的硬盘空间单位K
【举例】:df -K
【作用】:显示当前硬盘分区的占用空间

改变文件属性
【指令名称】:chmod
【执行格式】:chmod [权限参数] [文件或目录]
【使用者】:文件或目录的拥有者,root
【说明】:文件或目录的属性分为十小格,第一小格记载文件类别,2、3、4小格设置使用者(u)的权限,5、6、7为所属组(g)的权限,8、9、10为其他使用者(o)的权限,而(a)代表all所有的人。基本的权限分别是以(r)表示可读,(w)可写,(x)可执行。使用符号(+)增加权限,(-)删除权限,(=)设置权限
【举例】:1. chmod u+rwx file1
2. chmod u-x file1
3. chmod a+rwx file1
4. chmod u=rw,g=rw file1
【作用】:1. 设置只有使用者本身可以对文件file1进行读写执行的工作
2. 删除使用者本身可执行文件file1的权限
3. 所有的使用者对文件file1都可读写执行
4. 同时设置使用者本身与组的使用权限

 

连接文件
【指令名称】:ln
【执行格式】:ln [来源文件] [目地文件]
【说明】:如果在不同目录下,希望拥有相同的文件,你不需在每一个目录下复制相同文件。此功能可以使不同文件名经连接设置,指向同一文件。而当你修改这一个文件内容时,所有连接文件都有相同的更改。另外,如果一个文件位于多层目录下,每次执行此文件,可能要做许多变换目录的工作,这时你可以在根目录下设一连接文件,可以达到windows系统下的快捷方式的效果
【举例】:1. ln file1 file2
2. ln d1/d2/file1 file2
3. ln -s file1 file2
【作用】:1. 不加参数情况下,为强制连接,file1和file2使用同样的数据,file2的文件内容和file1相同。因强制连接是把两个文件设成同一个inode,以及对应于同一数据区块
2. 当你执行file2就等于在执行d1/d2目录下的file1文件
3. 加上参数s制造象征连接,象征连接是一个文件系统的指向文件,file2并不和file1共用同一个inode,而另有一个inode,而此inode所对应的数据区块内容参考到file1的路径,因此file2是以间接方式连接取得file1的数据区块内容

显示或连接数个ASCII文本文件
【指令名称】:cat
【执行格式】:cat 文件
【说明】:cat是concatenate的简写,和dos下的type指令类似,主要用来显示文件内容或是连接文本文件。但cat不具有分页功能,所以在文件内容超过一页的长度时,改用more指令和less指令会比较方便,因more指令可使超过一页的文章暂时停留在屏幕等你按任何键后,才继续显示。而less指令,还可以用方向键往上或往下滚动文章
【举例】:1. more file1
2. cat file1 file2
3. cat file1 file2 > file3
4. cat file1 >> file2
【作用】:1. 以分页方式显示file1的文件内容
2. 可以一次显示多个文件内容
3. 连接两个文件内容,并将结果输出到file3文件,但是如果file3有内容,会被覆盖
4. 利用转向符号可将file1的文件内容拷贝增加到file2,所以file2除了原来的内容外,还会有file1的文件内容

寻找文件
【指令名称】:whereis
【执行格式】:whereis [文件名]
【举例】:whereis ln

【指令名称】:locate
【执行格式】:locate [文件名或目录的关键字符串]
【说明】:locate会将所有文件名及目录名中含有“搜索字符串”的列出
【举例】:locate ln

【指令名称】:find
【执行格式】:find [开始搜索的目录] -name [文件字符串] { -参数 }
【使用者】:虽然系统上的每位user都可以使用,但是有些目录有权限的限制,会出现“Permission denied”的信息,所以只有root才能做地毯式的搜索,其他的user则会遗漏一些
【说明】:find指令让你以文件名称或是文件的其他特征,如:文件的尺寸、文件的属性等,来搜索文件,找到文件后,您可以印出文件路径、文件内容或予以删除。find指令的搜索工作是以你所指定的目录开始寻找,并采用递归的方式,一层层的子目录往下搜索
参数“-print” 显示文件路径
参数“-ls” 显示文件的详细数据
参数“-exec cmd” 对搜索到的文件执行指令
【举例】:1. find /home/mmk -name 'word*' -ls | less
2. find / -name 'test' -print | xargs rm -f
【作用】:1. 在/home/mmk目录下寻找以word开头的所有文件,并分页列出详细数据
2. 从根目录下开始寻找test文件并删除


新增使用者
【指令名称】:adduser
【执行格式】:adduser
【使用者】:root
【说明】:FreeBSD系统新增使用者帐号,可以直接“vipw”编辑密码文件,来建立新的使用者帐号,但笔者不鼓励。反倒是使用指令adduser,系统会出现一连串的提示符号,逐渐引导你建立新的使用者帐号,相当的简单容易,而且如果你不知道adduser指令所出现的提示信息,那么直接按 Enter,也不会差太多

删除使用者
【指令名称】:rmuser
【执行格式】:rmuser username
【使用者】:root
【举例】:rmuser mmk
执行命令后,系统会再次询问,是否要将使用者的设置从系统密码文件中删除,是否要删除使用者根目录,反正通通回答“y”,就可以消除干净

新增或删除组
【文件】:/etc/group
【使用者】:root
【执行格式】:直接编辑/etc/group这个文件
【说明】:/etc/group部分内容如下:
组名称:密码:组ID:属于这个组的使用者

组名称系统管理者可以自定,密码栏位使用“*”即可。因0~99为系统内定值,所以组ID最好大于99,且不和其他组ID相同,大多从10000开始使用。最后标示属于此组的使用者,而各个使用者以逗号分隔

改变使用者所用的shell
【执行格式】:chsh
【说明】:root新增使用者时,即给予使用者一个内定的shell,如以后使用者不满意此内定值,可利用chsh指令来自行更改shell

改变使用者数据
【执行格式】:chfn
【说明】:设定使用者基本数据

压缩、解压缩工具介绍
【指令名称】:gzip & gunzip
【执行格式】:gzip { -参数 } [要压缩的文件名或目录]
gunzip { -参数 } [要解压缩的文件名或目录]
【压缩后的文件格式】:.gz
【说明】:gzip是网络上非常实用的压缩工具,你在网络上常可以看到经gzip压缩过后,以.gz结尾的文件。这时你应马上以gunzip工具来解压缩,参数使用如下:
-1 表示快速压缩
-9 表示以最佳状态压缩
-r 递归的意思,压缩整个目录
-d 解压缩。gzip -d效果和gunzip相同
指令zcat可以在文件未解压缩前查看压缩文件
【用法】:zcat file1.gz
【举例】:1. gzip -1 file1
2. gzip -9 -r t1/
3. gunzip file1.gz
4. gunzip -r t1/
【作用】:1. 快速压缩文件file1,file1文件消失,产生压缩文件file1.gz
2. 压缩t1整个目录
3. 解压缩文件
4. 解压缩目录

【指令名称】:compress & uncompress
【执行格式】:compress { -参数 } 要压缩的文件名
uncompress { -参数 } 要解压缩的文件名
【压缩后的文件格式】:.Z(英文字母大写的Z)
【举例】:1. compress -v file1
2. compress -d file1.Z
3. uncompress -v file1.Z
4. compress -v dr.tar
【作用】:1. 压缩文件,加上参数v会显示压缩比例和压缩后文件名
2. 参数d相对应uncompress解压缩文件
3. 解压缩文件
4. 压缩经过tar归为一个文件的目录

 

【指令名称】:tar
【执行格式】:tar cvfz [要压缩的文件、目录]
【说明】:在系统上,tar所做的是备份工作,仅仅是将一个目录下的所有文件归为一个文件,或是将某一文件备份到另一个.tar文件中,并不做空间的压缩工作,通常与gzip一起使用
【举例】:1. tar cf book.tar /home/book
2. gzip book.tar
3. tar zcvf book.tar.gz /home/book/
4. tar Zcvf book.tar.Z /home/book/
5. tar rvf book.tar /home/showfun/chp1
【作用】:1. 将/home/book/目录下的文件及子目录归到book.tar里
PS:tar指令的参数不加“-”符号,参数c是产生一个压缩文件的意思,参数f则指定压缩文件名,book.tar是自定的,但最好以.tar结尾
2. 将例1整理后的文件用gzip进行压缩,压缩后的文件名为book.tar.gz
3. 将例1、例2合并一个动作完成
参数“z”当目录归为一个文件时,自动用gzip把文件压缩
参数“v”把压缩的过程显示在屏幕上
4. compress也可以和tar工具一起使用,文件名以.tar.Z结尾,但压缩参数要加上大写的“Z”
5. 加上参数r表示将/home/showfun/chp1这个文件附加到book.tar中

【解压语法】:tar xvfz [压缩文件(以.tar.gz或.tgz结尾)]
【说明】:一般来说解压缩后,会解在当前工作目录下
【举例】:1. tar xvf book.tar
2. tar zxvf book.tar.gz
3. tar Zxvf dr.tar.Z
【作用】:1. 加上参数x还原整理过的文件
2. 加上参数z配合参数x,还原并解压缩文件
3. 利用uncompress解压缩和还原tar过的目录,也可以两道手续,先利用uncompress解压缩,产生dr.tar,再用指令tar还原

变换身份
【指令名称】:su
【执行格式】:su [-] username
【说明】:set uid,重置uid可以转变权限。为了系统安全,系统管理者(root),一般不会以root的身份登入系统,以免有心人士注意root的登入密码,而这时系统管理者,可能故布疑阵,以其他的帐号登入系统,再以指令su,变身为超级使用者,也就是拥有系统管理者的最大权限。

但读者不能以为一般使用者可以通过指令su变身为超级使用者。因为要变身为root,除了在系统中有帐号外,此使用者还需经系统管理者归属于wheel组才能使用su指令成为root,此外,系统会要求你输入root的密码

改变文件拥有者
【指令名称】:chown
【执行格式】:chown { -R } [拥有者或拥有组] [文件或目录名称]
【使用者】:root
【选项】:-R 表示将目录所有的文件、子目录也一起更改
【说明】:chown这个指令在FreeBSD系统中的使用权限,不像Linux系统属于该文件或目录的拥有者和root,在FreeBSD的环境下,文件或目录的拥

有者不可自动放弃权利,更改文件或目录的拥有者,只有root才能。chown不仅可改变拥有者,也可一起改变组
【举例】:chown mmk:adm word
【作用】:将文件word的拥有者改为mmk,拥有组改为adm

改变文件的所属组
【指令名称】:chgrp
【执行格式】:chgrp { -R } [新的组名称] [文件或目录名称]
【执行者】:root
【说明】:这个指令和chown相似,chown改变文件拥有者,chgrp改变文件的所属组,但是chown指令的功能,可以包括chgrp
【举例】:chgrp -R teacher word 或 chown -R mmk:teacher word
【作用】:将文件word的所属组由adm改为teacher

挂上文件系统
【指令名称】:mount
【执行格式】:mount { -t } [文件系统格式] { -o } [选项] <mount device> [挂入点]
【使用者】:root
文件系统格式:常用的有UFS(FreeBSD自己的文件系统)、MSDOSFS(Dos下的文件系统)、CD9660(光盘的文件系统)、PROCFS(Process文件系统)、NFS(Network File System)等
【选项】:[rw]可读写
[ro]只读
[sync]使用同步模式写入,在写入时,会把必要的信息一并更新,让不正常关机(死机、断电......)的损失降到最低。也因此缺点是I/O频繁,对于大量的文件删写会很慢。这是系统默认值,所以不须指定sync。通常用在重要数据的文件系统,如根目录、/usr等
[async]使用非同步模式写入,这样文件在写入时,只会写入部分信息,等系统有空时,才会将其他的文件信息写入,所以效率较好,但是比较不保险,不正常关机的损失率较高。如果写入动作频繁的分区,就可考虑使用async
[nodev]这个文件系统上的device node没有作用
[noexc]这个文件系统上的文件都不能执行
[nosuid]这个文件系统上的文件都没有setuid、setgid的效果
[userquota groupquota]启动QUOTA限制使用者使用硬盘空间
【举例】:1. mount -t cd9660 /dev/wcd0a /cdrom
2. mount -t cd9660 /dev/cd0a /cdrom
3. mount -o async,userquota /dev/wd0slg /home
【作用】:1. 把wcd0a这个ATAPI CDROM设备的光盘内容mount挂到/cdrom下
2. 把cd0a这个SCSI CDROM设备里的光盘内容mount挂到/cdrom下
3. 把/dev/wd0slg mount到/home,并启动async写入模式,userquota限制

卸下文件系统
【指令名称】:umount
【执行格式】:umount [挂入点]
【使用者】:root
【说明】:要卸下文件系统,并不须加任何参数。如果当你umount时,看到device busy之类的信息,表示有人或程序正在使用该挂入点里的文件,或是你正在该目录下,只有把user或程序排除,或到挂入点之外,才能顺利卸下文件系统
【举例】:umount /cdrom
注意:当你mount你的CDROM设备后,你的光盘是无法取出的,只有正常umount后,才能退出取回

【指令名称】:sync
【执行格式】:sync
【说明】:可以强迫系统将临时内存写回硬盘中

【指令名称】:reboot
【执行格式】:reboot
【说明】:一旦执行reboot后,系统会立刻关机重新启动。虽说reboot也会呼叫sync,但是最好在关机前,再多下几次sync指令
【举例】:sync;sync;sync;reboot

【指令名称】:shutdown
【执行格式】:shutdown { -参数 } [时间] [警告信息]
【使用者】:root
【说明】:FreeBSD系统和win95操作系统相同,关机动作要遵守一定的程序,不能随意将电源关闭,因为核心通常会把硬盘输出输入的数据存在主内存的缓冲区中,按正常关机手续,核心会把缓冲区的数据写回硬盘,如突然的重新开机,你的文件可能就会受损。此外系统管理者要在系统关机或者重新启动的同时需通知系统使用者,系统使用者才有充裕的时间,按正常手续离开系统
【举例】:1. shutdown -h 21:00
2. shutdown -h now
3. shutdown -r now
4. shutdown -h +10
【作用】:1. 设置在晚上9点关机,但并不会重新启动
2. 系统即刻关机,但并不会重新启动
3. 加上参数r表示关机后会再重新开机
4. 系统在十分钟后关机


【指令名称】:top
【执行格式】:top [参数]
【说明】:显示系统中使用CPU资源的Process排名、CPU当前的使用情况、内存当前的使用情况,而且会持续更新
【举例】:top 3
【作用】:显示显示CPU资源最多的前三名Process

监督进程
【指令名称】:ps
【执行格式】:ps { -参数 }
【说明】:ps指令可以用来监视、查看进程的状态
【举例】:直接执行ps不加任何参数,只会显示属于自己的进程。虽说出现的信息很少,但重要的是,可显示属于自己所拥有进程的id号码
执行ps -aux则会显示所有进程的详细数据
[-u]:将进程的相关数据以较详细的方式显示出来
[-a]:除了显示自己的进程,将其他人在tty所执行的进程也列出来
[-x]:将不在tty中启动的进程也列出来,即显示tty为??的进程

ps -aux栏位说明
USER:进程的拥有者
PID:进程的代码
%CPU:进程占用CPU时间的百分比
%MEM:进程使用实际内存的百分比
VSZ:进程的虚拟大小(单位KB)
RSS:进程常驻内存的空间大小(单位KB)
TT:进程在编号为几的控制客户机上执行
STAT:进程当前的状态 R=可执行 D=在驱动器中等待置换 I=睡眠中(<20秒) S=睡眠中(>20秒) T=停止 Z=结束
常见的附加标志 +=属于控制客户机的前景程序 E=进程尝试离开 L=有页面被锁住 s=进程是此控制客户机的主人 W=进程被置换出去
STARTED:进程开始的时间
TIME:进程已耗用的CPU时间
COMMAND:所执行的命令名称和参数

停止进程
【执行格式】:kill
【说明】:将process从系统中删除,或送一个信号给Process,例如重新读取设置文件。但是只有Process的拥有者,才能对其拥有的Process下

kill命令,你可以使用“ps”,找出要进行处理的Process
【举例】:1. kill -l
2. kill -HUP 228
3. kill -9 928
【作用】:1. 列出所有的参数
2. 将Process Id为228的程序重run
3. 将Process Id为928的程序,从系统中强迫删除

控制Process
在FreeBSD系统中,工作控制允许你将process做前景和背景的切换,一般我们需花费较长时间完成的工作,切换到背景执行,此时背景执行的工作,并不接受来自键盘的输入命令,也就是此process静静的执行,不需要作任何交谈。这样我们就可以不受影响的继续和前景工作交谈但在同一时间中,只能有一个job和你当前所使用的键盘和屏幕做沟通
1. 在指令后面加上&:在背景执行指令
如:gzip -9 -r test/ & //在背景执行压缩整个test目录的工作
2. jobs:列出背景Process
3. %n:参考第n号背景工作
4. fg:把背景process切换到前景
如:fg % 1 //将1号工作放置前景
5. bg:重新开始停止的背景Process
如:bg % 3 //在背景执行第三个Process
6. kill:结束Process
如:kill 132 //结束Process ID为132的Process
7. [Ctrl+Z]:停止前景process
注:指令ps可列出PID,指令jobs可看到临时编号的背景Process

工作安排
【指令名称】:crontab
【执行格式】:crontab { -参数 }
【说明】:crontab文件列出在某一个时间要采取的动作
【举例】:1. crontab -e
2. crontab -d
3. crontab -l
【作用】:1. 编辑crontab文件
2. 删除crontab文件中定义的工作
3. 列出crontab文件定义的工作

crontab编写格式
分 时 日 月 星期 由谁来做 所要执行的工作

例:1 0 * * * root /home/word.sh //每天凌晨1点,由root执行/home/word.sh

【指令名称】:ping
【执行格式】:ping { -参数 } [Hostname | IP-Address]
【说明】:使用ping可以检测网络上的机器连接情况,可以使用参数“-s”来指定送出Package的信息大小(bytes),使用参数“-c”来指定要连接送出几次
【举例】:1. ping 140.131.41.10\
2. ping -c 10 -s 1200 whyno.org

【指令名称】:traceroute
【执行格式】:traceroute [Hostname | IP-Address]
【说明】:使用traceroute可以显示到网络上某台主机所经过的router,以检测发生问题的router路径
【举例】:traceroute whyno.org

【指令名称】:ifconfig
【说明】:使用“ifconfig -a”可以查看所有网络接口的参数

【指令名称】:netstate
【说明】:显示网络状态
【举例】:netstate -r
【作用】:显示routing table

【指令名称】:arp
【说明】:显示Hostname(或IP-Address)与MAC Address的对照表
【举例】:arp -a

【指令名称】:fetch
【执行格式】:fetch { -参数 } [来源文件地址]
【说明】:使用指令fetch来传送远端文件,比指令ftp要来得便捷许多,你只要知道文件的正确位置,以ftp或http的通讯协议,一个动作就可以获取回你所需要的文件,无需登入匿名FTP站
【举例】:1. fetch

2. fetch -o test

【作用】:1. 复制1225.gif到使用者当前所在目录
2. 参数o加文件名,远端取回的文件由原有文件名1225.gif变为使用者自定的文件名test

将man page转成文本文件
【执行格式】:man manfile | col -b > (testfile name)
【说明】:由于man page加上了一些彩色控制码,所以使用一般方法直接转成文本文件会有乱码
【举例】:man fetch | col -b > fetch.txt
【作用】:将fetch的man page转成正常的文本文件,文件名为fetch.txt

搜索文件中的字符串
【指令名称】:grep
【执行格式】:grep [要寻找的字符串] [要搜索的文件]
【说明】:搜索文件内容中的字符串
【举例】:grep whyno.org *
【作用】:搜索当前目录下,哪些文件含有whyno.org的字符串

指令合并
如果想让数个指令合并在一行写完,让他们可以按顺序执行,可以利用“;”将数个指令串连在一起
例如:command A;command B;command C;......
【作用】:指令A完成后,接着完成指令B,然后陆续完成C.......

指令过长
如果指令与参数超过一行时,可用“\”将命令分为数行,当命令到行末时,输入“\”按Enter跳到下一行,继续输入命令,最后输入完成按Enter执行
例如:pkg_add ftp://whyno.org/freebsd/packages/net/\
ncftp-2.4.3.tgz

http://club.topsage.com/forum-348-1.html

上一篇:再谈到计算机网络的学习


下一篇:关于nginx