本节我们开始linux操作系统的学习~
Linux 是一种自由和开放源码的类 UNIX 操作系统; 英文解释为 Linux is not Unix,是在 1991 由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。它继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
初级阶段我们主要学习下关于linux的常见的一些知识:
1.linux系统目录结构
目录名 | 描述 | |
/ | 根目录,一般根目录下只存放目录,不要存放文件。/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 | |
/bin | 存放系统中最常用的二进制可执行文件(二进制文件)。基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;例如ls、cp、mkdir等命令。功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用命令 | |
/boot | 存放Linux内核和系统启动文件,包括Grub、lilo启动程序 | |
/dev | 存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB等 | |
/etc | 存放系统所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等。/etc/fstab是开机自动挂载一些分区的,在里面写入一些分区信息,就能实现开机挂载分区 | |
/home | 用户目录的默认位置 | |
/initrd | 存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录 | |
/lib | 存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件 | |
/lost+found | 在ext2或者ext3文件系统中,当系统意外崩溃或者计算机意外关机,而产生一些文件碎片存放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移动到这个目录中,可能会用手工的方式来修复或移动到文件的原位置上 | |
/media | 即插即用型设备的挂载点自动在这个目录下创建。例如USB自动挂载后会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,存放临时读入的文件 | |
/mnt | 此目录通常用于作为被挂载的文件系统的挂载点 | |
/proc | 存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识。例如CPU、硬盘分区、内存信息等存放在这里 | |
/opt | 作为可选文件和程序的存放目录。有些软件包也会被安装在这里,也就是自定义软件包;有些用户自己编译的软件包,就可以安装在这个目录中 | |
/root | 根用户(超级用户)的主目录 | |
/sbin | 大多是涉及系统管理的命令的存放地,也是超级权限用户root的可执行命令存放地。普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的。注意,凡是目录sbin中包含的都是root权限才能执行的 | |
/srv | 存放系统所提供的服务数据 | |
/sys | 该目录用于将系统设备组织或层次结构,并向用户提供详细的内核数据信息 | |
/tmp | 临时文件目录,有时用户运行程序的时候,会产生临时文件。/var/tmp目录和这个目录相似 | |
/usr | 用于存放与系统用户直接有关的文件和目录,如应用程序及支出系统的库文件 | |
/usr/X11R6 | X Window系统 | |
/usr/bin | 用户管理员的标准命令 | |
/usr/include | C/C++等开发工具语言环境的标准include文件 | |
/usr/lib | 应用程序及程序报的链接库 | |
/usr/local | 系统管理员安装的应用程序 | |
/usr/local/share | 系统管理员安装的共享文件 | |
/usr/sbin | 用户和管理员的标准命令 | |
/usr/share | 存放使用手册等共享文件的地方 | |
/usr/share/dict | 存放词表的目录 | |
/usr/share/man | 系统使用手册 | |
/usr/share/misc | 一般数据 | |
/usr/share/sgml | SGML数据 | |
/usr/share/xml | XML数据 | |
/var | 通常用于存放长度可变的文件,例如日志文件和打印机文件 | |
/var/cache | 应用程序缓存目录 | |
/var/crash | 系统错误信息 | |
/var/games | 游戏数据 | |
/var/lib | 各种状态数据 | |
/var/lock | 文件锁定记录 | |
/var/log | 日志记录 | |
/var/mail | 电子邮件 | |
/var/opt | /opt目录的变量数据 | |
/var/run | 进程的标示数据 | |
/var/spool | 存放电子邮件,打印任务等的队列目录 | |
/var/tmp | 临时文件目录 |
2.linux远程登录
Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等
3.linux文件属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
1)chown (change ownerp) : 修改所属用户与组。
2)chmod (change mode) : 修改用户的权限。
使用ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如下图所示
4.linux文件与目录管理
-
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。 -
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。
处理目录的常用命令
常见的处理目录的命令:
- ls(英文全拼:list files): 列出目录及文件名
- cd(英文全拼:change directory):切换目录
- pwd(英文全拼:print work directory):显示目前的目录
- mkdir(英文全拼:make directory):创建一个新的目录
- rmdir(英文全拼:remove directory):删除一个空的目录
- cp(英文全拼:copy file): 复制文件或目录
- rm(英文全拼:remove): 移除文件或目录
- mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
Linux 文件内容查看
Linux系统中使用以下命令来查看文件的内容:
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行
5.软链接和硬链接
Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
6.linux用户管理