linux是先有文件系统还是先有目录?
- 首先linux首先需要建立一个根"/"的文件系统,并在这个文件系统中建立一系列空目录,然后将其他硬盘分区(如果有的话)中的文件系统挂载在这些目录中。
- 如果某些目录没有特定的硬盘分区与其挂钩的话,该目录中的所有内容将存放在根分区中。eg:我们通常除了/home 需要分配用户主目录,所以给他划分一个单独的分区之外,其他所有的目录和文件都放在根目录中
- 文件系统:一种对物理空间的组织方式
linux系统主要目录及其内容
目录 | 内容 |
---|---|
/bin | 构建最小系统所需要的命令(最常用的命令) |
/boot | 内核与启动文件 |
/dev | 各种设备文件 |
/etc | 系统软件的启动和配置文件 |
/home | 用户的主目录 |
/lib | c编译器的库 |
/media | 可移动介质的安装点 |
/opt | 可选的应用软件包(很少使用) |
/proc | 进程的映像 |
/root | 超级用户root的主目录 |
/sbin | 和操作系统有关的命令 |
/tmp | 临时文件存放点 |
/usr | 非系统的程序和命令 |
/var | 系统专用的数据和配置文件 |
文件类型
-
使用ls -l可以查看文件属性,包括文件类型
文件类型 符号 文件类型 符号 普通文件 - 本地域套接字 s 目录 d 有名管道 p 字符设备文件 c 符号链接 l 块设备文件 b -
linux用设备文件标志一个特定的硬件设备
- 字符设备文件:从它那里读取字符序列的设备,如:磁带,串行线路(顺序访问)
- 块设备文件:用来存储数据并对其各部分内容提供同等访问权限的设备,如:磁盘(随机访问)
拥有某个设备文件,并不意味着有某个硬件设备对应存在,只是说明linux有处理这个设备的潜能
-
重定向与管道
概念:shell的一种高级特性,允许人为地改变程序获取输入和产生输出的位置
- 输出重定向
ls > ~/ls_out
说明:通常ls的标准输出是屏幕,但是">"将ls的输出重定向到ls_out中了,如果ls_out文件不存在,">"会试图建立这个文件,如果已经存在,">"会删除文件中原有的内容,然后用新内容代替,如果要保留原来的文件中的内容,使用'">>"
- 输入重定向
- 标准输入:键盘,如果使用不带任何参数的cat,那cat会停在那里等待从标准输入获取数据
cat < days
说明:该命令会将文件days作为输入传递给cat命令,并不常用,使用”<<“,被成为立即文档,”<<“明确的告诉shell从键盘输入,并传递给程序。此时会指定一个输入结束分割符,eg:EOF,END,eof
cat << eof
注意: << 后面的eof就是你指定的输入结束分割符
- 管道 | :将一条命令的输出连接到另一条命令输入
ls | grep uy
说明:ls首先列出目录下所有的文件名,管道 | 接收到这些输出之后,并把他们发送给grep 命令作为其输入,grep再在这个文件名中查找包含uy的文件名
和团队共享文件
-
创建一个用户组,名称为workgroup,并添加成员
sudo groupadd workgroup sudo useradd -G workgroup lucy sudo passwd lucy ##为lucy设置登录密码 sudo useradd -G workgroup lewis sudo passwd lewis ##为lucy设置登录密码 sudo useradd -G workgroup mike sudo passwd mike ##为lucy设置登录密码
-
在/home目录下建议个一个名为work的目录,作为这个小组的工作目录,需要root权限
cd /home sudo mkdir work
- 任何人都可以访问这个新建的目录,只有root拥有写的权限
-
让workgroup组的成员拥有写权限,并禁止其他无关用户查看这个目录
sudo chgrp workgroup work/ ##将work目录的所有权交给workgroup家族 sudo chmod g+rwx work/ ##增加workgroup组对work目录的读写执行权限 sudo chmod o-rwx work/ ##撤销其他用户对work目录的读写执行权限
-
将这个目录交给一个组长
sudo chown lewis work/ ##此时root也还是work的所有者