Chinaunix首页 | 论坛 | 博客
  • 博客访问: 494257
  • 博文数量: 77
  • 博客积分: 4011
  • 博客等级: 上校
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-10 09:53
个人简介

天天向上

文章分类

全部博文(77)

文章存档

2010年(1)

2008年(21)

2007年(39)

2006年(10)

2004年(6)

我的朋友

分类: BSD

2007-09-30 12:49:45

对于Freebsd的学习,如果没有其它类UNIX系统的基础的话,应该是很难全面掌握的,说来用了Freebsd已经有好几年,不过只限于平时随便用用,所以很多的命令都不知道,学用的命令的更很非常实用的功能也没有掌握到,近来买了本<鸟哥的LINUX私房菜>感觉不错,虽说是讲linux的书,但很多命令也是类UNIX系统通用的.由于,太喜欢Freebsd所以就在上面练习,一方面可以更多的学习命令,也可以了解一下Freebsd和 linux的一些区别.
Freebsd handbook是很好的介绍freebsd的读物,handbook上的主题实在太多了,所以在深度和一些技巧细节上介绍得不是很好,说是入门的吧,可好像也不可能去了解所有主题。至少不适合学习类UNIX系统的第一本书,可以是学习FreeBSD的第一读物。

由于UNIX的基础太差所以只有自己给自己补补漏了。
1、文件目录管理

    特殊目录:
        .        当前目录
        ..        父目录
        -        前一个使用的目录        **
        ~        当前用户家目录
        ~username    指定用户的目录        **

    显示当前目录:
        pwd -P/-L        显示当前目录 -P物理,-L逻辑
   
    建目录:
        mkdir -p a/b/c    -p参数可以直接建多个层次的目录,不用一层层的建

    复制文件:cp        默认是复制为新的文件
            -s    复制为软连接
            -l    复制为硬连接
            -r    复制时包含子目录.几个与文件操作的命令都有这个参数,功能是相同的.
            其它的参数:
            -i    目标文件存在时提示.写脚本的时候可能用得上
            -f    与-i对应,目标文件存在时,强制覆盖
            -u    目标文件较旧时,更新旧文件

    删除文件和目录:            可用于改名.linux里面有rename命令,可用于批量改名.freebsd里面没有的.
        rmdir -p a/b/c    同上,删除空目录.直接用rm就行了,这个命令不太实用
        rm -rf abc        删除文件/目录,-r有文件的目录也可以,-f强制删除.参数理解其意思,不一定要全用上.
    移动文件和目录:mv
            -f        强制移动
            -i        目标文件重复提示
    环境变量:$PATH
        echo $PATH        查看路径环境变量.用 set可以查看所有变量



    查看目录:ls            最常用的查看文件的各种属性及按日期,大小排序输出
        usage: ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1] [file ...]        参数真多(FB6.2),了解几常用的了
                -a    全部列出来,包含隐藏文件,目录及.和 ..目录; -A的区别就是不显示 .和..目录,没-a实用,呵呵
                -l    长格式输出,显示日期,大小,权限信息,经常用的东西了,一般用ll命令代替这个,简单点
                -S    按文件大小排序
                -t    按日期排序
                -r    加这个参数,反向输出排序结果,而不是单独一个排序参数,和上面的配合就行了.
            其它的参数:
                -G    以彩色查看,比较直观的区分各种文件和目录
                -F    和-G的意思差不多,不是以不同着色,而是在文件后面加特定符号
                -R    子目录的内容也一起列出来,和grep结合来找文件应该不错
                -i    显示 inode位置
                有很多参数和以上功能重复,也记不了那么多.FreeBSD里面没有ls --help命令参数,查使用只能看man,相比要麻烦点;
                linux和solaris里面双横线--的那种参数FB都没有的,其实--help这些是很实用的呀.

    判断目录名和文件名:    编写脚本时用的
        basename    判断一路径中的文件名部分
        dirname    判断一路径中的目录名部分

            我理解的软连接和硬连接:
                硬盘里面的文件保存在文件系统上面时,就会分配一个inode数值,它是文件在FS里的唯一标识.文件有效时,至少有一个硬连接到这个inode上,这就是文件名;一个硬连接都没有了,相当于文件已经删除了.硬连接可以建立多个,但他们的inode值是相同的.所以为inode创建多个硬连接,不会占用多少空间.
                软连接相当于快捷方式,其内容包含到达目标文件的inode信息,本身也是个存储快捷信息的特殊文件,有自己的inode.
                共同点:都是连接文件,最终指向的inode的文件内容变化,都会引起其连接文件内容改变.编辑任何一种连接文件都是直接编辑inode指向的FS里面的内容.

软硬连接的小小范例:注意inode和软连接显示出的差别
-bash-3.1$ ll
total 4
-rw-r--r-- 1 goat 8596 14 Sep 30 11:44 a.txt
-bash-3.1$ ls -i
42780950 a.txt
-bash-3.1$ cp -l a.txt b.txt
-bash-3.1$ ls -i
42780950 a.txt  42780950 b.txt
-bash-3.1$ cp -s b.txt c.txt
-bash-3.1$ ls -i
42780950 a.txt  42780950 b.txt  42780947 c.txt
-bash-3.1$ ll
total 8
-rw-r--r-- 2 goat 8596 14 Sep 30 11:44 a.txt
-rw-r--r-- 2 goat 8596 14 Sep 30 11:44 b.txt
lrwxrwxrwx 1 goat 8596  5 Sep 30 12:03 c.txt -> b.txt

   
阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~