当前位置: > Linux教程 > Linux学习 >

linux用户管理和分区

时间:2016-12-22 13:36来源:linux.it.net.cn 作者:IT

linux的文件系统——格式化(format)——创建文件系统
NTFS / FAT16 / FAT32
定义了文件在此磁盘中存储的方式
因为方式的不同,不同的文件系统的文件的属性影响就不同
例如:
block(大小),是文件存储的基本单元
安全性
linux——ext3/ext2
   文件名区分大小写
   最大长度256个字符(DOS FAT 8.3)
   可用字符集(除了“/”以外的任何字符)
   文件级安全(NTFS、EXT2、EXT3),共享级安全(fat、fat32)
    文件级安全:既可以控制本地用户,也可以控制网络用户
    共享级安全:只可以在共享目录时设置权限,控制网络用户
linux的目录结构 
所有的文件都存储在“/”(根)目录下面
/etc 配置文件,管理员和用户非常重要的
/bin binary文件,可以执行,普通用户可以执行
/sbin system binary文件,只有管理员才可以执行
/dev (device)设备文件,linux把所有的设备模拟成文件
/home 家目录,用户的主目录,用于存储用户的个人资料
   存储以用户名命名的目录(用户名=目录名)
/lib 库文件,(Windows:DLL文件)作为OS与应用程序的接口(API)Windows
/root 超级用户的主目录
/tmp 临时文件的存储位置(周期性清空)temporary
/var variable,存储可变数据,如日志文件、邮件等
/boot 存储与启动有关的核心文件
/lost+found “失物招领处”,拥有此目录的目录,对应的是磁盘分区
/mnt 可选挂接目录的存储位置
/usr 类似于windows中program files目录,用于存储内置的应用程序的位置
/opt optional,可选的目录,存储可选的第三方软件(软件的安装目录)
列出指定目录中的内容:
ls = list
以不同颜色区分不同类型的文件
灰色(白) :普通文件(不可执行的,如文本文档)
绿色   :可执行文件
蓝色   :目录文件
红色   :压缩文件
浅蓝色(青) :软链接文件(类似于windows中的快捷方式)
粉红色   :图片文件
黄色(橙色) :设备文件
红底白字   :错误文件
ls=dir /w :以短格式,只显示文件名
ls -l=dir :长格式显示文件列表,显示:属性、所有者、创建时间、大小、文件名等
ls -a(all) :显示所有文件,包含隐藏文件,以“.”开头的文件
ls -R :以层次结构显示目录内容
ls --help :显示ls的简单帮助(适用于其他大部分命令) (“-”简写 “--”完整的单词)
ls --color=? :?代表什么时候对文件显示颜色以区分不同的类型
   tty :只在终端显示颜色
   auto :依据系统默认
   always :总是显示颜色
   none :永远不显示颜色
ls -l = ll :长格式显示的信息的含义
lrwxrwxrwx 1 root     root       3    6月   9 10:00 aaa -> abc
文件属性   链接数 所有者 组          大小   修改时间      文件名
-rw-r--r-- :10=1+9
1 :类型符号—— l:软链接 d:目录
9=3*3 :3类权限 
rw-:文件所有者的(文件的主人,默认就是文件的创建者)
r--:所有者一个组的用户的 
r--:其他人的权限(不包含主人和与主人一个组的其他成员的人)

user(主人)   group(组成员) other(其他人)
rw-(读写) r--(只读) r--(只读)
rwx    r-x   r-x
r 读
w 写
x 执行
- 没有权限

修改权限——chmod
格式:chmod 【选项】权限表达式 文件名
如果修改目录:-R选项:修改目录的权限和目录中所有的文件的权限(继承修改)
权限表达式:
1、符号描述法
2、数字描述法
符号描述法:(易于理解,但是设置烦琐)
   rwx-分别代表相应权限
   + - =:增加、除去、设置
   u g o a :主人(user)、组(group)、其他人(other)、全部人(all)
范例
1、设置当前目录中文件abc,主人读写权限、组读权限、其他人没有权限
chmod u=rw-,g=r--,o=--- abc
# chmod 640 abc 
2、修改上述文件权限,要求主人可以执行、组可以执行、其他人可以读
chmod u+x,g+x,o+r abc
# chmod 754 abc
3、设置文件abc对所人都可以读写执行
chmod a=rwx abc <====> chmod u=rwx,g=rwx,o=rwx abc
# chmod 777 abc
4、如果abc是目录文件(不但把abc的权限修改了,还会修改目录中文件和目录)
chmod -R a=rwx abc
# chmod -R 777 abc

数字描述法(设置简单,难于理解)
   r =2**2 =4
   w =2**1 =2
   x =2**0 =1
   -   =0
   rwx=4+2+1=7 rw-=4+2+0=6 r--=4 r-x=4+0+1=5
   用数字的位置确定用户的类型
   chmod 【-R】 755 abc(755应用于网站的源文件)
ls -l
lrwxrwxrwx 1 root     root       3    6月   9 10:00     aaa -> abc

1、文件属性(类型(1)+权限(9)=10)
类型
   - 普通文件
   l 软链接文件
   b 块设备文件(如硬盘)
   c 串行设备文件(鼠标、键盘)
2、链接数   aaa如果是文件,硬链接的个数;
   aaa如果是目录,子目录的个数。
如果是目录:默认2,代表“.”和“..”
    “.”:当前目录
    “..”:上层目录
软链接:快捷方式(也叫符号链接)
硬链接:把同一块磁盘数据分别起两个以上的名字,其中新创建名字为硬链接
   创建链接命令:ln
   创建符号链接:ln -s 链接目标   链接名
   创建硬链接:ln 链接目标    链接名
3、主人:所有者(主人,默认具有此文件的最高控制权)
4、组名:和所有者在同一个组中的其他成员
5、容量:大小
6、最后修改日期:日期
7、文件名:遵循命名约定。如果是软链接,用箭头指向链接的目标文件

文件系统的操作命令:(DOS:命令)

pwd 打印当前的绝对路径(绝对路径指从“/”开始的路径)
cd 修改当前目录,目录切换,等同于DOS中的cd命令
常用的简写: 
   cd ~ :切换到主目录
   cd . :切换当前目录
   cd .. :切换到上层目录
   cd直接回车,默认回到自己的主目录
【绝对路径:以根开头的路径】
【相对路径:不以根开头】
cp 格式:cp 【-option】源文件 目标文件 
选项:
-R 复制目录 
-f 不提示覆盖(force强制覆盖) 
-i 提示是否覆盖(DOS:copy)
touch 主要功能:
修改文件的最后修改日期。
如果此文件不存在,创建新的空白文件
格式:touch file_name 
mkdir 创建一目录(make dir)
如果创建多层目录:-p
mkdir -p /a/b/c/d
rmdir 删除空目录,如果是非空,必须先清空
rm 删除文件,包含目录文件
在删除目录文件时,需要使用r(R)参数
-f 强制删除,不提示
-i 提示
-R(r) 删除目录
rm命令是永久删除,不会暂存在回收站中,因此不可以撤销
mv 移动文件(move | rename)
延伸的功能:重命名,linux中没有重命名命令
mv移动目录不需要-R选项

查看文件内容的方法:
DOS:type edit
LINUX查看文件内容
cat 直接列出全部内容
-n 显示行号
more 一页一页显示(不可以上下翻页)
回车换行 空格翻页 Q键退出
less 一页一页显示(可以使用pgup pgdn键上下翻页)
回车换行 空格翻页 Q键退出
head -n 显示文件的前n行
tail -n 显示文件的后n行
查看文件系统信息
which 查看命令的别名和执行文件名
   # which cp
   alias cp ='cp -i' 别名信息
   /bin/cp   可执行文件位置和名称
whereis 查看命令的文档和执行文件名
   # whereis cp
   cp: /bin/cp   /usr/share/man/man1/cp.1.gz
   可执行文件    命令的帮助文档的位置及文件名
查看登录用户的信息 
whoami 当前用户名 who am i 
查看系统信息
uname 
选项:
-a 全部信息,顺序如下
-s 内核名字
-n 节点名称
-r 发行版号码
-v 内核发布时间
-m 硬件名称
-p 处理器类型
-i 硬件平台
-o OS名称
获得帮助信息
1、COMMAND --help :获得简单的帮助信息
   cp --help
2、man command :详细帮助信息
   man cp
3、info command :详细帮助信息
   info cp

编辑文档工具命令
Windows 记事本
DOS edit
Linux gedit(图形界面) vi (字符界面)
gedit 文本编辑器,只能运行于图形界面下
以标签组织多个文档
支持多种语言的编辑
支持多种字符集
支持多种语言的突出显示
vi 运行于字符界面的经典编辑器
在全部的类UNIX系统中都支持(HP UX BSD UNIX Linux)
通用性很高,兼容性很好
学习linux必须掌握的基本工具
vi使用:
vi的操作模式有3:
1、当运行“vi”或“vi file_name”命令时,自动进入“编辑模式”
2、当按“i”“o”“a”键时,进入“插入模式”
3、在编辑模式,键入":"时,进入“命令模式”

vi vi file_name => 编辑模式
   i o a键/esc键 :/Enter
插入模式     命令模式

插入模式命令
   i 在当前位置插入
   o 换一行插入
   a 后移一个字符插入
命令模式的命令
   w(write) 存盘,如果没有文件名,后可跟路径/文件名
   q(quit)   退出,存盘后的退出,若没有存盘,则失败
   q!   不存盘就退出
   wq   存盘退出
编辑模式命令
   x | delete 删除字符
   dd 删除行
   yy 复制行
   p 粘贴
   h j k l 小键盘的方向键
vi其他使用方法:
   查找 /String 当前位置开始,按N键,找下一个
   执行命令 !command(shell,linux命令)
Linux中文件能不能执行,与其权限有关,扩展名无关
chmod +x news = chmod a+x news
news文件就可以执行了

============关于grub和系统初始化================
文件的修改和查看练习
初步认识/etc/inittab文件和/boot/grub/grub.conf文件
inittab文件的功能
用于系统初始化,
a、定义默认运行级,
b、设置自动运行事件,
c、7个级别的任务
d、设置7个终端
计算机启动的步骤
1、加电
2、自检(POST):检测周边设备的状态(RAM、显卡等)
3、读取CMOS内的启动设备列表(软驱、光驱、硬盘等)
4、依次尝试用指定的设备启动计算机
5、设使用硬盘启动,读取硬盘的MBR
6、 如果有GRUB,则执行,显示操作系统列表
如果没有GRUB,则自动跳转到活动分区的第一个扇区
7、选项Linux系统启动
8、根据grub.conf文件的设定,加载镜像文件和内核文件,启动计算机
9、在启动过程中,读取/etc/inittab文件,构建基本的shell环境
10、启动完成


/boot/grub/grub.conf
配置启动管理程序的配置文件,(grub)
default =0 默认启动那一个操作系统
timeout=10 等待几秒让用户选择,默认10秒,0不等待,-1永远等待
splashimage 背景图片
title   标签,OS名称
   root(hd0,1) 第一块硬盘,第二个分区
   kernel 内核文件名及选项
   initrd 内存初始化文件名
   启动参数,不推荐修改
title dos 
   rootnoverify(hd0,0)   DOS系统安装在那一个分区
   chainloader +1   将系统控制权交给此分区


以上文件,在修改前先备份,修改某一行时,先拷贝此行,然后,注释原行,再修改新行。

 

==============linux硬盘和分区的管理=====================
硬盘类型,根据接口分类
IDE /dev/hd
   /dev/hda1 第一个硬盘的第一个分区
SCSI /dev/sd
   /dev/sda1 第一个硬盘的第一个分区
硬盘的结构:(MBR+存储空间)
硬盘开始的512K字节称之为MBR(主引导记录)
1、存储引导程序(448K):没有一般的操作可以修改——grub
2、存储分区表(DPT)(64K):创建分区时会修改此区域
清除MBR的命令(448k内容):(DOS命令)fdisk /mbr(格式化磁盘是不可以清除的)
DPT= 4 X 16K = 64K
每一个16K存储一个分区信息,所以一个硬盘最多可划分为4个分区

分区
分区类型
1、主分区(Primary Partition)
2、扩展分区(Extented Partition)——可以包含若干个逻辑驱动器(扩展分区不可以直接格式化)
3、一块硬盘最多分4个分区
4、最多只能有一个扩展分区

分区命令:fdisk(是Linux命令,和DOS的fdisk命令重名,功能相似,但用法不同)
格式:fdisk [option] device_name(必须提供绝对路径)
范例:fdisk /dev/hda ——对/dev/hda执行分区操作

常用命令选项
查看分区表:
fdisk -l ——> list:列出系统中所有磁盘的分区表
说明:
Device   Boot Start End blocks Id System
/dev/sdb1 * 1 13 104391 83 linux 
设备名(分区名) 引导标记 起始柱面 结束柱面 块的总数 分区ID 分区类型

对磁盘分区:
fdisk /dev/sda
子命令:
command(m for help):提示如果需要帮助,按m键即可
m 帮助
n 创建新分区
p 查看当前磁盘的分区表
l 查看所有类型的分区编号
d 删除一个分区
q 不保存分区表,退出
w 保存分区表,退出
n——创建分区
选则分区类型:
p 主分区具有4个分区编号
e 扩展分区
l 逻辑驱动器(只有在创建了扩展分区后才会出现)
——>主分区”p“
——>输入分区编号
——>设定起始柱面(一般接受默认值,分区连续)
——>最后柱面或大小(可以使用柱面数,或大小,大小是带单位的如M,K等,且前面要加上“+”)
范例:+1024M:创建的分区大小是1G
——>扩展分区”e“
——>输入分区编号
——>设定起始柱面(一般接受默认值,分区连续)
——>最后柱面或大小(大小是带单位的如M,K等,且前面要加上“+”)
当磁盘上有扩展分区,则“n”命令后可选“l”命令,以创建逻辑驱动器
——>逻辑驱动器”l“
——>不需要输入分区编号,自动从5开始
——>设定起始柱面(一般接受默认值,分区连续)
——>最后柱面或大小(大小是带单位的如M,K等,且前面要加上“+”)
存盘退出:
注意,fdisk在运行时不会修改磁盘,只有保存退出,才会修改磁盘信息——"w"命令

============创建文件系统(格式化)================
格式化命令(创建文件系统)
mkfs 默认创建ext2的文件系统
mkfs.ext3 创建ext3要用mkfs.ext3
mkfs dev_name (分区设备名)快速创建,不进行磁盘检查
mkfs -c dev_name 进行磁盘检查(check)
Linux磁盘块(blocks)的概念:块,在任何操作系统中都存在的一个概念。
磁盘中的块的概念(分配单元大小):
文件操作和存储的最小单位,一个块最多只能存储一个文件
块大小 文件大小 块个数
4K 4K 1
4K 5K 2 剩余的3K不可以再被其他文件使用

设备挂接:
Windows系统中,分区是和盘符挂接,也可以与目录挂接。

分区的挂接(挂载):
把分区和目录建立关联,通过向目录写入和读出,实现对分区的写入和读出
挂接命令:mount
mount [-p ...] [/dev/dev_name | /dir_name] [-o ...]
            参数     设备名                  目录名        选项
               挂载点
/dev/hda1
只写目录名:mount /mnt/cdrom
只写设备名:mount /dev/cdrom
必须存在于fstab配置文件中

特殊应用,因此可能出错,为了保证不出错
mount /dev/cdrom /mnt/cdrom

范例:
1、mount /dev/sda2   /mnt/sda2dir
    设备名    挂载点目录
意义:将系统SCSI接口的第一个硬盘的第二个分挂接在/mnt/sda2dir这个目录上

2、挂接U盘(U盘被认为是SCSI盘,sd a第一个盘 1 第一个分区)
主要针对提示符界面,因为不会自动挂接
a、将U盘查到计算机上
b、运行fdisk -l命令,查看U盘的设备名
c、运行如下命令
mount -t msdos    /dev/sda1 /mnt/usbdisk
   文件系统类型
   -t ”type“文件系统类型 
    Windows   Linux
    fat16 = msdos
    fat32 = vfat
    ntfs   = ntfs
(如果linux是运行在图形界面下,无需设置,U盘自动挂接)

3、挂接光盘(一般光盘设备存在于fstab中)
mount /dev/cdrom /mnt/cdrom
mount /dev/cdrom 
mount /mnt/cdrom
可以只提供设备名,或者提供目录名(注意目录一定是fatab中的设置)
(如果linux运行在图形界面下,无需设置,系统会自动挂接)

4、模拟虚拟光驱(-o loop)
Linux中不存在虚拟光驱软件,直接挂接就可以。
挂接ISO文件(假设root主目录中有一个example.ISO的文件)
mount /root/example.iso /mnt/cdrom -o loop
   ISO文件的路径 挂接的目录 选项
挂接完成后,访问/mnt/cdrom目录就可以

5、让挂接的fat16、fat32、ntfs等非linux分区支持中文(-o iocharset=gb2312)
mount /dev/dev_name /mount_point -o iocharset=gb2312

设备的卸载:
umount 设备名或目录名
注意卸载设备时,要保证没有用户访问此设备
实验:
1、用户a挂接光驱
2、用户b进入/mnt/cdrom目录
3、用户a卸载光驱,出现提示“device is busy” (是不是有用户正在访问设备?)
4、用户b回到主目录
5、用户a卸载光驱成功

配置自动挂接
mount命令不可以自动执行,不能够在挂接一次后,以后都自动挂接。每次启动计算机都需要重复的执行命令
为了解决自动挂接——学习配置文件:/etc/fstab

分区的自动挂接:/etc/fstab配置文件
对比
mount     /dev/sda2 /mnt/sda2dir 
=
mount -t ext2    /dev/sda2 /mnt/sda2dir -o ..... 
文件类型   设备名   目录名
挂接命令:mount
mount [-p ...] [/dev/dev_name | /dir_name] [-o ...]
            参数      设备名                 目录名        选项     
  
---------------------------------对比--------------------------------------------------------------
fstab文件结构
设备名   目录名   文件类型 选项    其他选项(0 0)
/dev/sda2 /mnt/sda2dir ext2 defaults    0 0
/dev/hdd1 /mnt/newdisk1 ext2 defaults     0 0
/dev/hdd5 /mnt/vfat vfat defaults,iocharset=gb2312 0 0

mount    /dev/sda2    /mnt/sda2dir 
mount       /dev/hdd1              /mnt/newdisk1
mount   -t vfat /dev/hdd5              /mnt/vfat -o iocharset=gb2312



(责任编辑:IT)
------分隔线----------------------------