Linux用 EXT4系统 用/根目录 再分为几个部分 进行文件管理(目录即文件夹)
分有 bin,etc,mnt,dev,home,root,usr,boot,lib,proc这些子目录存放的内容由系统决定.
Windows 用 NTFS 用盘符C,D,E等存放,存放内容由用户自己决定.
基本类型linux目录组织结构:倒状树
linux上一切皆文件:
linux文件类型:其实是一种文件属性,不是通过后缀名来区分的.
五种文件类型:
linux是多用户的操作系统,可以运行多个用户同时登录工作,多用户工作时互不影响.
linux对于用户权限管理很严苛.linux上的文件针对不同的用户提供不同的权限.
权限是在文件上设置的,是文件的一种属性.(比如这个用户能操作这个文件,另一个却不能)
一个文件对操作他的用户进行了分类:
所有者 组用户 其他用户
(怎么分的:用户本身就是按组分的)
eg:
组一:stu1 stu3 stu5
组二:stu4 stu6
组一:stu1 stu6 atu7
stu6创建一个文件,
所有者:stu6,
组用户:组三(这里看主组)
其他用户:(只要不是组三里的成员以及stu6)stu 3,5,4
文件权限;
rwx rwx rwx
代表 user group other
r: 读权限
w:写权限
x:可执行权限 -->普通文件(有可执行权限的不一定能执行,能执行的肯定有可执行权限)
可进入权限–>目录文件
所有用户都在家目录下面.在家目录下面也分了小组,如果有A,B,C三个组,A组里的成员在A里可以为所欲为,但是不要进入其他组里去.
用户分为:
超级管理员:root
普通用户:剩下的所有用户
子目录作用:
bin: 系统命令对应的可执行文件.
pwd:显示当前位置的绝对路径.
ls:显示当前位置下的文件
etc:系统的配置目录
mnt:临时挂载点
dev:设备目录设备文件(接口)—把要访问的先弄到接口再给临时挂载点.
home:普通用户的家目录
root:root用户的家目录
usr:第三方插件的资源
boot:系统启动时需要的核心文件
lib:存放库(例如线程库)
proc:内存的映射,虚拟目录(如果系统关机了,这个里面的内容就没了,系统关机以后内存里的东西就没了,所以这里也就没了.)统计一些进程的统计信息.
文件名:数字字母下划线,一般文件名之间不要出现空格,Linux大小写敏感
eg:touch cc.c 创建文件cc.c mkdir cc 创建文件夹
mv path1/file_name.* path2 剪切
mv path1/file_name.* path1/file_name2.* 重命名
mv path1/file_name.* path2/file_name2.* 剪切并重命名
文件类型 文件权限 链接数 所有者 组用户 文件大小 最后修改时间 文件名
可修改的:文件名 组用户 所有者 文件权限
修改所有者: chown newuser file_name.*
修改组用户: chgrp group file_name.*
以上两个只有root用户能够执行命令
修改权限: chmod
u:所有者
g:组用户
o:普通用户
a:所有的用户
修改权限的方式:
1.字符方式:
chmod u/g/o/a +/-/= rwx(子集) 为某个用户加上或者减去一个权限
eg: chmod g+w passwd 给passwd的组用户加上写权限
chmod u+w,g+w passwd 给passwd的所有者以及组用户加上写权限
chmod u=x passwd 给passwd的所有者的权限直接改成x
2.数字方式:
r w x 0—7 n的范围
0 0 0 说明这三个权限都没有
1 0 0 -->4
0 1 0 -->2
0 0 1 -->1
chmod nnn file_name.*
eg:
6 可读可写
666 分别指定 所有者,组用户,普通用户
普通文件编辑:
1.针对文本 例如 .c .cpp .h .java .py .sh
2.文件最终都是要在磁盘上存储的,但是计算机所用的都是数字信号,所以在计算机存的都是二进制文件的方式.
3.给word里编辑内容,这个时候并没有写到磁盘上,是写在内存里的,只有保存了才会写到磁盘上.
vi/vim
vi main.c 编辑main.c 这个文件(这个文件存在)或者新建这个文件(这个文件不存在)
刚进入是命令模式
1.命令模式---->到插入模式
有四个插入指令在键盘操作:
a --在光标之后插入内容
i --在光标位置插入内容
o—在光标下一行 插入内容
O—在光标上一行 插入内容
2.插入模式---->命令模式
用左上角的esc键
3.命令模式—>末行模式
: ? /
末行模式的操作:
:q 退出编辑
:w 保存文本
:wq 保存并退出
:w new_file 另存为
:q! 强制退出(这里是不保存强制退出)
搜索string
?string 向上搜索
/string 向下搜索
替换
:1,$s/oldstring/newstring/g 全文替换
命令模式下对光标快速移动的命令:
1.shift +6 移动到行头
2.shift +4 移动到行尾
3.shift +g 移动到文本最后一行
4.gg 移动到文本的第一行
5.num + shift + g 移动到num行
6.ctrl + f ctrl +b 翻页
命令模式下对文本的批处理:
1.dd 删除一行
2.n +dd 删除n行(光标所在的往下的n行被删除掉)
3.yy 拷贝
4.n + yy 拷贝n行
5.p 粘贴
6.u 撤销
7.d shift + g 删除光标到文件尾的内容
8.d gg 删除光标到文件头的内容
9.d num shift + g 删除光标某一行的内容
10.shift+c 删除光标到行尾的内容,并且进入编辑模式
11.r+ new_char 光标定位在这个字符上 按r再加自己想替换的字母
12.cc 删除光标所在的行,并且进入编辑模式
13.cw 删除一个单词并且进入编辑模式 (用符号或者空格来区分这个单词)
14.shift+r 进入替换模式
tar 打包/解包
打包 tar cf mytar.tar filelist(文件列表)
解包 tar xf mytar.tar
gzip 压缩/解压
压缩 gzip mytar.tar —>mytar.tar gz
解压 gzip -d mytar.tar gz
一步完成压缩:
tar zcf mytar.taz filelist
一步解压:
tar zxf mytar.taz
tar选项部分:
c 创建包文件
f 指定目标为文件而不是设备
x 从包中释放内容
t 仅仅显示包中的内容而不释放
v 显示过程
z GNU版本之后加入的选项,直接完成压缩功能,或者直接解压压缩包.