鸟哥的Linux私房菜
一、Linux文件、目录与磁盘格式
1.1学习资源
- 推荐的网站
- Study-Area:http://www.study-area.org
- 鸟哥的私房菜馆:http://linux.vbird.org
- 卧龙大师的网络技术文件:http://linux.tnc.edu.cn.tw/techdoc/
- 中国linux团队:http://www.linux.org.cn/
- 狼主的网络实验室:http://netlab.kh.edu.cn/inde.htm
- 吴仁志的文件集:http://www.cses.tcc.edu.cn/~chihwu/
- 国人CLE计划:http://cle.linux.org.tw/
- 自由软件技术交流网: http://freesf.tnc.edu.tw/index.php
- B2D: http://b2d.tnc.edu.tw/
- KNOPPIX:http://www.knoppix.net/
- 中文 KNOPPIX: http://knoppix.tnc.edu.tw/
- FHS: http://www.pathname.com/fhs/
- LSB: http://www.linuxbase.org/
- 计算机基础 (http://www.study-area.org/compu/compu.htm)
- 网络基础 (http://www.study-area.org/network/network.htm)
- http://linux.vbird.org/linux_basic/0120howtolinux/0120howtolinux_1.phpAbout Internet
- 大南国小(林克敏主任文件集) http://freebsd.lab.mlc.edu.tw/
- 张毓麟先生的小文章 http://www.se.ntou.edu.tw/~ylchang/MyDocuments/index.html
- 台湾 Linux 社群 http://www.linux.org.tw/
- 常用的FAQ网站
- Linux 自己的文件数据: /usr/share/doc (在你的 PC 中)
- CLDP 中文文件计划 http://www.linux.org.tw/CLDP/
- Unix 的一般常见问题 http://www.csie.nctu.edu.tw/document/unixfaq/
- The LinuxDocumentation Project:http://www.tldp.org/
- 『提问的智慧http://phorum.vbird.org/viewtopic.php?t=96』
- 李果正先生之 GNU/Linux 初学者之旅: http://info.sayya.org/~edt1023/linux_entry.html
- 鸟哥备份:http://linux.vbird.org/linux_basic/0120howtolinux/0120howtolinux_3.php
- 信息人的有效学习(洪朝贵教授网页):http://www.cyut.edu.tw/~ckhung/published/018learn.shtml
1.2安装
- 分区
- 按照顺序:/boot、/、/usr、/var、/tmp
- /home
- Swap
- 引导程序
- 引导程序grup最好安装地点选择整块磁盘的文件名
1.3系统终端使用
- 命令行模式:
- x-window提供的终端:terminal
- ctrl+alt+[F1]~[F6]:进入tty1~tty6的操作界面环境,推出crtl+alt+F7
- linux下区分大小写
- 使用过的命令保存在.bash_history文件中
- ctrl+c命令能使当前终端运行的程序停止
- ctrl+d命代表键盘输入结束,可以用来代替exit,也就是退出的功能
- man命令
- man [数字] 命令:可以查到相应命令的手册,数字代表不同用户环境下该命令的用法
- man -f 命令:寻找命令相关的手册
- man -k 关键字:寻找关键字相关命令的手册
- 具体某一个软件手册可以到/usr/share/doc下去寻找对应的文件夹
- 正确的关机方法
- who:查看当前在线的用户
- netstat -a:查看网络的联机状态
- ps -aux:查看后台
- sync:将数据同步写入硬盘
- 正确的关机命令:shundown
- 重启:reboot
- 重启x-window:ctrl+alt+backspace
- 修改文件的权限
- 用户类别:u:user ;g:group ;o:others
- 权限类别:r:read ;w:write ;x:execute
- 操作类别:+:增加;-:减少;=:设置
- chgrp 用户组 文件:修改文件的用户组
- chown 所有者:用户组 文件:修改文件的所有者和用户组
- chmod xyz 文件:xyz为数字,r:4;w:2;x:1;x=7=4+2+1表示rwx三种权限都有,以此类推
- chmod u=rwx,go=rx 文件;u:user;g:group;o:others
- chmod u+w 文件:user增加对文件写权限
1.4目录结构
- FHS定义的目录规范
- /(root,根目录):与开机系统有关
- /usr(UNIX software resource):与软件安装/执行有关
- /var(variable):与系统运行过程有关
- /目录内容
- /bin:放置单用户维护模式下还能被操作的命令
- /boot:放置开机会使用到的文件,包括Linux内核文件以及开机菜单的开机所需要的配置文件等
- /dev:放置设备与接口设备文件
- /etc:放置系统的配置文件
- /home:系统默认的用户主文件夹
- /lib:放置开机时会使用的函数库
- /media:放置可删除的设备
- /mnt:用于暂时挂载某些额外的设备
- /opt:给第三方软件放置的目录。不过在以前的linux 系统中,我们还是习惯放置在usr/local目录下
- /root:系统管理员(root)的主文件夹,在进入单用户维护模式而仅挂载根目录时,我们能够访问到
- /sbin:放置系统开机过程中需要的系统执行文件
- /srv:可视为service的缩写,是一些网络服务启动后所需要取用的数据目录
- /tmp:让用户或者正在执行的程序暂时放置文件爱你的地方
- /proc:该目录本身是一个虚拟文件系统,他放置的内容都是在内存中,因此目录本身不占用内存空间
- /sys:同上,也是一个虚拟文件系统,包括目前已加载的内核模块和内核检验到的硬件设备信息,同样不占用内存
- /etc、/bin、/dev、/lib、/sbin这五个目录不能/目录分开,因为开机是只用根目录会被挂载,而以上目录与系统启动有着重要关系,必须在开机时能够访问到
- /usr目录内容
- /usr一放置的数据属于可分享的与不可变动的,是UNIX Software Resource的缩写
- /usr/X11R6/:X Window系统重要数据所放置的目录
- /usr/bin:绝大部分用户可使用命令都放在这里。注意它与/bin的不同之处(是否与开机过程有关)
- /usr/include/:放置C/C++等语言的头文件和包含文件,当我们以tarball方式安装软件时会使用到这里的许多包含文件
- /usr/lib:包含各应用软件的函数库、目标文件以及不被一般用户惯用的执行文件或脚本
- /usr/local:放置系统管理员自行安装自己下载的软件(非distribution默认提供者)
- /usr/sbin:非系统正常运行所需要的系统命令,最常见的就是某些网络服务器软件的服务命令(daemon)
- /usr/src:一般源码建议放置在这里。至于内核源码建议放置在/usr/src/linux/目录下
- /var目录内容
- /var系统运行后开始暂用硬盘容量,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件(lock file,run file),或者例如MYSQL数据库的文件
- /var/cache/:应用程序本身运行过程中会产生的暂存文件
- /var/lib/:程序执行过程中,需要使用到的数据文件位置,软件有各自的目录
- /var/lock/:存放某些设备或者文件资源的使用锁文件
- /var/log:登录文件放置的目录
- /var/mail/:放置个人电子邮件信箱的目录,不过这个目录也被放置到val/spool/mail/目录中,通常这两个目录互为链接文件
- /var/run/:某些程序或者服务启动后,会将他们的PID放置这个目录下
- /var/spool/:存放程序使用的数据的队列
1.4.1目录与路径
- 常见处理目录和文件的命令
- cd:切换目录,重要:-表示前一个工作目录
- pwd:现实当前目录
- mkdir:新建一个新的目录
- rmdir:删除一个空的目录
- cp:复制文件或目录
- dd:命令十分强大,可以用于备份,设置制作启动盘
- rm:删除文件或目录
- mv:移动文件或目录
1.5文件操作
- 文件创建或者查看
- cat:由第一行开始显示文件内容
- tac:从最后一行开始显示,可以看出tac是cat的倒写
- nl:显示的时候顺便输出行号
- more:一页一页地显示文件内容
- less:与more相似,但是比more更好的是,它可以往前翻页
- head:只看头几行
- tail:只看结尾几行
- od:以二进制的方式读取文件内容
- touch:创建文件
- file:查看文件类型
- 文件的查询
- which :寻找“执行文件”的位置
- type:判断“执行文件”的类型
- whereis:查找文件的绝对地址
- locate:查找文件的绝对地址
- find:可以查询时间、用户、类型、权限、大小相关的文件,功能强大,但是需要扫描磁盘,一次速度略慢
1.6磁盘管理
- 磁盘管理常用命令
- df:查看磁盘占用情况
- fdisk:磁盘分区
- mkfs:磁盘格式化
- fsck、badblocks:磁盘检验,通常只有身为root且你的文件系统有问题的时候才使用这个命令
- mount:磁盘挂载
- unmount:磁盘卸载
1.7常见的压缩命令
- 常见的压缩格式:
- .Z:compress程序压缩的命令
- .gz:gzip程序压缩的文件
- .bz2:bzip2程序压缩的文件
- .tar:tar程序打包的数据,并没有压缩过
- .tar.gz:tar程序打包的文件,其中经过gzip的压缩
- .tar.bz2:tar程序打包的文件,其中经过bzip2的压缩
- 压缩与解压缩命令
- gzip:压缩并且删除源文件
- gzip -d:解压缩并且删除源文件
- zcat:查看压缩文件内容
- bzip2:为取代gzip而开发的压缩命令,效果比gzip更好,-k选项能够保留源文件
- bzip2 -d:解压缩
- bzcat:查看压缩文件的内容
- tar -jcv -f filename.tar.bz2 要被压缩的文件:通过bzip2的支持进行压缩,排除特定文件可用–exclude=file
- tar -zcv -f filename.tar.gz 要被压缩的文件:通过gzip的支持进行压缩
-
tar -jtv -f 文件路径:查阅tar文件中的数据内容(可查看文件名),后面加上 grep ’string‘可以查看tar包中符合搜索项的文件 - tar -jxv -f 文件路径:解压缩bzip2压缩的tar文件,后面加上带解开文件名即可解压缩指定文件
- tar -zxv -f 文件路径:解压缩gzip压缩的tar文件,后面同上