一、Linux目录存储 文件类型 文件权限:
一:认识Linux,区别windows:
- Linux:是服务版本的操作系统;命令行操作;内核相对较小;开源。
- Windows:个人版操作系统;图形化操作界面;内科代码冗杂;闭源。
- Linux:万物皆文件;Windows:万物皆窗口。
二:目录存储结构:
- 倒状树结构:
三:根目录下文件:
/bin:存储系统命令对应的可执行文件
/home:普通用户的家目录
/root:root用户的家目录
/etc :系统的配置文件
/dev :设备接口
/mnt :临时挂载点
/ proc:虚拟目录(以进程为单存储内存的映射)
/usr :第三方插件文件
/lib:库文件
/boot:系统启动时所需要的核心镜像文件
四:基础命令:
pwd :显示当前工作目录的绝对路径。
//绝对路径:以“/”开始的路径,即从根目录开始
//相对路径:以任何开始都是相对路径
cd path :cd (空格) 路径 :切换当前工作目录
ls :显示当前目录下文件
五:文件类型:(5类)
- - 普通文件: .c .txt .h .cpp .java .class .doc .pdf
- d 目录文件: 即Windows下的文件夹,Linux下叫目录文件
- p 管道文件:进程
- l 链接文件: 软链接 硬链接
- )软链接(符号symbol链接):相当于Windows的快捷方式
ln –s 原文件 链接文件名
软链接和原文件使用不同的inode结点,二者不是同一个文件。
通过原文件或链接文件可以修改文件呃逆荣,但是原文件删除或者移动,则软链接失效。
- )硬链接:相当于文件的别名,不允许对目录创建硬链接
ln 原文件 链接文件名
硬链接和原文件使用相同的inode结点,说明两个文件是同一个文件,删除原文件对硬链接无影响。
inode: 1.每个文件都会占有一个inode,文件内容由inide的记录来指向。
2.要读取该文件,要经过目录记录的文件名来指引到正确的inode号码3.才能读取
文件名只与目录有关,文件内容由inode有关。
Linux文件系统:EXT4
文件系统中含有inode/block/super block
Inode:记录文件的权限和相关属性。
Block :记录文件的实际内容 4k的大小
Superblock:文件系统的整体信息,包括inode和block的总量,使用量,剩余量。
/*啊写不下去了,太tmd多了,详情请参考《鸟哥的Linux私房菜》201页*/
5.设备文件:
b 块设备:可供存储的设备接口 例如:磁盘硬盘u盘
c字符设备:串行端口设备 例如:键盘鼠标
s套接字:支持tcp/ip网络通信的基本操作单元,进行tcp/IP通信的接口
- 基础命令:ll或者ls – l (显示文件的详细信息)
例如:ls – l 显示如下内容:
绿色字体分别表示:
文件类型 文件权限 链接数量 所有者 所属的用户组
大小(字节单位) 最后修改时间 文件名
- 用户、用户组的通俗解释:
一个家庭中,爹,妈,儿子三个文件。
每个文件都是他这个文件所有者。爹文件的所有者是爹,妈文件的所有者是妈,儿子文件的所有者是儿子。
这个家庭(只有这3个人)组成这个用户组。
爹是一家之主,是这个组的代表。所有可以说:妈和儿子都属于爹这个用户组。
- root用户:超级用户,“天神的存在”。
- 文件权限:r read; w:wirte ; x: execute
二、文件权限:
一:图中文字解释:
属主:即文件所有者的权限。
组用户:文件所属用户的权限。
其他人权限。
二:图中图像解释:
一共有group1 group2 group3 这三个用户组。
对于group1(组)中的stu2(用户)下的main.c(文件)来说 :
- 属主也就是文件所有者为:stu2
- 组用户为:stu1 和stu6
- 其他用户为:stu3,stu4,stu6.
三:3个权限:r读权限 w写权限 x执行/可操作权限(普通/目录文件)
注意:Linux操作系统下每一个文件针对不同的用户提供不同的权限。
三、基本文件操作命令:
普通文件 目录文件
1..创建:touch filename.name mkdir dirname
2.删除:rm filename.name 空目录:rm dirname 非空:rm –r dirname(-r递归)
3.查看:cat more less head tail ls
(1)cat filename.name 将文件中的内容显示到终端上(
(2)more filename.name 分布显示
(3)less filename.name 以文本查看器的方式显示
(4)head –n filename.name查看文件的前n行
(5)tail –n filename.name 查看文件的后n行
4.剪切/重命名:mv(move)
(1)mv 原文件的路径/文件名 目的文件/新文件名(剪切)
- mv 原文件的路径/文件名 原文件路径/新文件名(重名民)
5.拷贝:cp(copy)
- )拷贝文件:
cp 原文件路径/文件 目的路径
例如:cp /home/zdw/test/mian.c ./ 将根目录下家目录下zdw目录下test目录下的mian.c文件拷贝到当前路径下
2.)拷贝目录下的所有文件:
cp –r 原目录路径 目的路径 (同样 –r为递归的意思)
6.文件属性修改命令:
有4种属性修改:权限mode,所有者user, 用户组group, 文件名name
- 修改文件所有者:chown newuser filename
- 修改文件用户组:chgrp newgroup filename
- 权限修改:2种方式:字符 数字
- )字符方式:chmod a/u/g/o+/-/= rwx(及其子集均可) filename
a :所有用户
u :文件所有者(也称属主)
g :用户组
o :其他用户
+ :添加权限
- :去掉权限
= :设置权限
例如:chmod a+rw main.c (给main.c文件的所有用户添加rw权限)
2.)数字方式:
rwx rwx rwx (每一个rwx对应一个0~7)
rwx
1 0 0 :4只读
0 1 0 :2只写
0 0 1 :1只执行
例如:chmod 740 main.c
(main.c文件的所有者权限:rwx ;用户组权限:r;其他用户:---无权限)
7.普通文件内容的编辑:vi / vim
vim filename.name
- 三种操作模式:
- )末行模式(底行模式):
:q 退出
:w 保存
:wq 保存并且退出
:q!强制退出
:w newfile 另存为
:set nu 显示行号
:set nonu 不显示行号
:linenum(数字) 光标直接到linenum行
:num, $/oidstring/newstring 只替换每一行遇到的第一个
:num, $/oidstring/newstring/g 全文替换
/string 向下搜索
?string 向上搜索
2.)命令行模式:(详情《鸟哥的Linux私房菜》279页)
A:文本操作:
dd 删除光标所在整行
n dd 删除n行
yy 拷贝一行
n yy 拷贝n行
p 粘贴
u撤销上一次操作
shift+c 删除当前光标到行尾并进去编辑模式
cc 删除当前行并进去编辑模式
r 替换一个字符
shift + r 进入替换模式
cw 删除一个单词并进入编辑模式
B:光标操作:
Shift+4 将光标移动到当前行的最后
Shift+6 将光标移动到当前行的行头
Shift+g 将光标移动到文件的最后一行
gg 将光标移动到文件的第一行
Shift+h 当前屏幕第一行
Shift+l 最后一行
Shift+m 中间
Ctrl+f 向下翻1页
Ctrl+b 向上翻1页
d shift + g 删除当前行到文件尾的内容
d gg 删除当前行到文件头的内容
8.系统配置文件:
(1)/etc 对所有用户有效
(2)/home/user/ 对user用户有效、
9.文件压缩:tar gzip
tar :
c 创建
f 指定目标为文件而不是设备
x 释放
t 仅查看包中的内容,而不释放
v 显示详细过程
(1)打包:tar cf xxxxxx.tar filelist ----> xxxxxxx.tar
(2)压缩:gzip xxxxxx.tar -----> xxxxxx.tar.gz
(3)解压:gzip - d xxxxxxx.tar.gz
(4)解包:tar xf xxxxx。Tar
GUN版本:
tar z 直接压缩
tar zcf xxxxx.tgz filelist
tar zxf xxxxxx.tgz