基本命令使用
- Linux中,一切皆文件
- 文本文件
- 链接文件
- 一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。
- 首字母是L开头的是软链接文件
- Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。
- 硬链接: 硬链接不占用磁盘空间 硬链接只能作用于文件,不可跨越分区。
- 设备文件
Linux 中的设备按照存取方式的不同,可以分为两种:
字符设备
无缓冲且只能顺序存取
块设备
有缓冲且可以随机(乱序)存取
而按照是否对应物理实体,也可以分为两种:
物理设备
对实际存在的物理硬件的抽象
虚拟设备
不依赖于特定的物理硬件,仅是内核自身提供的某种功能
无论是哪种设备,在 /dev 目录下都有一个对应的文件(节点),并且每个设备文件都必须有主/次设备号,主设备号相同的设备是同类设备,使用同一个驱动程序(虽然目前的内核允许多个驱动共享一个主设备号,但绝大多数设备依然遵循一个驱动对应一个主设备号的原则)。可以通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号。
- 管道文件
Linux 管道的实现机制
从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为:
(1) 限制管道的大小。实际上,管道是一个固定大小的缓冲区。在 Linux 中,该缓冲区的大小为 1 页,即 4K 字节,使得它的大小不象文件那样不加检验地增长。使用单个固定缓冲区也会带来问题,比如在写管道时可能变满,当这种情况发生时,随后对管道的 write() 调用将默认地被阻塞,等待某些数据被读取,以便腾出足够的空间供 write() 调用写。
(2) 读取进程也可能工作得比写进程快。当所有当前进程数据已被读取时,管道变空。当这种情况发生时,一个随后的 read() 调用将默认地被阻塞,等待某些数据被写入,这解决了 read() 调用返回文件结束的问题。
- socket文件
- socket文件指的是UNIX域套接字,主要用于进程间通讯,不能用于两台不同的主机间。它通过套接字文件建立连接,连接建立后的通讯与一般的套接字通讯一样。
- 等等。。。
- 多用户操作系统
- 管理员:root
- 系统用户:一般不能登录系统,只是为了启动某个服务而创建的。
- 普通用户:
- 模块化
- 有多个小程序组成了一个强大的系统
- 很多功能做成了模块
- 如何操作Linux:
- 命令行
- shell脚本
- 命令格式:
命令(command)选项(option)参数(argument)
选项:
短选项: - 输入快捷简单
多个选项可以组合:-a -b = -ab
长选项: -- 意思明了
参数:命令的作用对象
- 如何获得命令帮助:
- 对于内部命令:使用help
help type
- 对于外部命令:使用--help
tree --help
- man帮助
man tree
- info帮助
info tree
- 搜索引擎、百度、Google、问老师、问同学
Linux跟文件系统目录结构
一切从/
目录开始:
/boot
:系统启动相关的静态文件,如内核、initrd或者initramfs,以及grub(bootloader)/dev
:所有设备的设备文件/etc
:配置文件/home
:普通用户的默认家目录/root
:管理员的家目录/lib
:基本的共享库和内核模块/media
:为了移动设备的挂载点目录,例如光盘、U盘/mnt
:挂载点目录,额外的临时文件系统/opt
:可选目录,第三方程序的安装目录/proc
: 内核及进程信息的虚拟文件系统,伪文件系统,内核映射文件,只存在内存中,它 以文件系统的方式为访问系统内核数据的操作提供接口。/sys
: 伪文件系统,硬件设备信息虚拟文件系统接口,跟硬件设备相关的属性映射文件,该 目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。/tmp
: 临时文件, /var/tmp/var
: 可变化的文件
/var/log
: 日志信息
/bin
: 基础的用户命令二进制程序, 为所有用户使用/sbin
: 系统二进制程序,一般为管理命令/usr
: (Unix System Resource,即Unix系统资源的缩写),不适合放 在/bin或/etc目录下的额外的工具。
/usr/bin
: 大多数用户使用到的命令/usr/sbin
: 非核心的系统命令/usr/lib
:安装程序时的一些库文件/usr/local
:主要存放那些手动安装的软件/usr/share/man
:放一些man手册页文件/usr/share/doc
:帮助文档
一、目录基本操作命令
- tree:以树形格式显示目录内容
tree -C /boot
- ls:列出目录的内容
ls /etc
- cd: 切换路径
cd /etc
- pwd:打印当前工作目录
pwd /etc
- mkdir:创建空目录
- -p:创建多级目录
mkdir qqq/www/eee -p
- rmdir:删除空目录
- rm: 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
- -f:强制删除
- -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
- mv: 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
- cp: 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。
- -a:此参数的效果和同时指定"-dpR"参数相同;
- -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目 录连接的原始文件或目录;
- -f:强行复制文件或目录,不论目标文件或目录是否已存在;
- -i:覆盖既有文件之前先询问用户;
- -p: 保留源文件或目录的属性;
- -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;