对于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
阅读(883) | 评论(0) | 转发(0) |