Linux基础
Linux
一些名词:
Unix:
Minix:
GNU:GNU是"GNU's Not Unix"的递归缩写
GNU几个重要的软件:
- Emacs
- GNU C(GCC)
- GNU C Library (glibc)
- Bash shell
FSF:自由软件基金会(FSF, Free Software Foundation)
GPL:通用公共许可证(General Public License, GPL)
LGPL:(GNU Lesser General Public License) LGPL是GPL的一个为主要为类库使用设计的开源协议。
Open source:
POSIX:可携式操作系统接口(Portable Operating System Interface)的缩写,重点在 规范核心与应用程序之间的接口
Linux distribution:(Kernel + Softwares + Tools + 可完整安装程序)
问:发展Linux distributions的公司那么多,是否每一个都不相同呢?
答:这就不需要担心了,因为每个Linux distributions使用的kernel都是http://www.kernel.org所释出的,而他们所选择的软件,几乎都是目前很知名的软件,重复性相当的高, 例如网页服务器的Apache,电子邮件服务器的Postfix/sendmail,文件服务器的Samba等等。
distributions的分类:
RPM软件管理 DPKG 软件管理 其他 商业公司 RHEL (Red Hat 公司) SuSE (Micro Focus) Ubuntu (CanonicalLtd.) 社群单位 Fedora CentOS OpenSuSE Debian B2D Gentoo X Window System:X Window即X Window图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面(GUI)和丰富的输入设备能力联网计算机。
文件权限
查看权限
- user(用户)
- group(群组)
- others(其他)
- root(万能的神)
root的相关信息记录在/etc/passwd
这个文件内。
个人的密码则是记录 在/etc/shadow
这个文件内。
Linux所有的群组名称都记录在/etc/group
内
这三个文件 可以说是Linux系统里面帐号、密码、群组信息的集中地。
使用ls -al
可以查看文件的权限信息:
1 |
|
第一栏:类型与权限,总共有十个字符,第一个字符表示目录、文件或链接文件等:
当为[ d ]则是目录,例如上表文件名为“.config”的那一行;
当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
若是[ l ]则表示为链接文件(link file);
若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
若是[ c ]则表示为设备文件里面的序列埠(bu)/串行端口设备,例如键盘、鼠标(一次性读取设 备)。
接下来的字符均为“rwx” 的三个参数的组合。其中,[ r ]代表可读、[ w ]代表可写、[ x ]代表可执行。
第一组为user,第二组为group,第三组为others
第二栏:表示有多少文件名链接到此节点(i-node)
第三栏:表示这个文件(或目录)的“拥有者帐号”
第四栏:表示这个文件的所属群组
第五栏:为这个文件的容量大小,默认单位为Bytes
第六栏:为这个文件的创建日期或者是最近的修改日期
第七栏:为这个文件的文件名
修改权限
1 |
|
由于权限是三个三个一组的,所以我们可以用二进制再转为十进制表示:> r:4 > w:2 > x:1
1 |
|
权限对于文件和文件夹的意义:
类型 | 内容 | r | w | x |
---|---|---|---|---|
文件 | 详细数据 | 读取文件内容 | 修改文件内容 | 执行文件内容 |
文件夹(目录) | 文件名 | 读取文件名 | 修改文件名 | 进入该目录(cd) |
文件类型:
文件类型 | 细分 | 备注 |
---|---|---|
正规文件(regular file ) | 纯文本文件(ASCII) | [ - ] |
二进制档(binary) | [ - ] | |
数据格式文件(data) | [ - ] | |
目录(directory) | [ d ] | |
链接文件(link) | [ l ] | |
设备与设备文件(device) | 区块(block)设备文件 | [ b ] |
字符(character)设备文件 | [ c ] | |
数据接口文件(sockets) | [ s ] | |
数据输送档(FIFO, pipe) | [ p ] |
Linux的文件是没有所谓的“扩展名”的,一个Linux文件能不能被执行,与他的第一栏的十个属性有关,与文件名根本一点关系都没有。具有“可执行的权限”以及“具有可执行的程序码”是两回事!
目录配置
FHS:Filesystem Hierarchy Standard 。FHS的重点在于规范每个特定的目录下应该要 放置什么样的数据而已。主要分为四种交互作用的形态:shareable, unshareable, static, variable
事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这 三个目录的定义:
/ (root, 根目录):与开机系统有关;
/usr (unix software resource):与软件安装/执行有关;
/var (variable):与系统运行过程有关。
详情可回顾《鸟哥的linux私房菜 第四版》p282
绝对路径与相对路径
绝对路径:由根目录/
开始写起的文件名或目录名称, 例如
/home/dmtsai/.bashrc
;
相对路径:相对于目前路径的文件名写法。 例如
./home/dmtsai
或 ../../home/dmtsai/
等
等。反正开头不是 / 就属于相对路径的写法
目录
特殊的目录
1 |
|
处理目录
1 |
|
环境变量PATH
如下,可以显示当前的所有路径。(PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH)
1 |
|
环境变量配置:
1 |
|
参考资料
[1]《鸟哥的linux私房菜 第四版》