目录结构(倒状树)
/ 根目录
/bin 存放常用命令(二进制的可执行程序)
vi里面写的 属于 源代码
计算机能识别的 属于 程序
/etc 存放系统配置文件
(vim的配置,用户信息配置,网络配置)(配置(设置):更改某些属性 变成我们需要的)
/home 普通用户的家目录
当是普通用户,stu用户不能随意进入stu2用户文件
[root@localhost /]# ls
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[root@localhost /]# cd home
[root@localhost home]# ls
Akuaner stu stu2
/root 管理员的家目录
Linux多用户:多个用户可以同时登陆操作系统并工作
/usr 存放系统应用程序以文档
gcc,g++ / 头文件文档等
/proc 存储的内存的映射
(以进程为单位) 虚拟文件系统目录
内存中是临时文件,系统关机了内存就清空了
/dev 存放设备文件
i/o接口等
/mnt 临时挂载点
讲i/o接口 挂载到(映射) /mnt文件下
/lib 存放库文件(动态库)
/boot 系统内核以及启动有关的文件
/tmp 存放各种临时文件(所有用户均可访问)
/var 存放系统运行中常改变的文件(系统日志)
Linux多用户
'#' :
'$' :
Linux 支持多用户操作
每一个用户在/home下都有一个同名目录 ,此用户的家目录
[root@localhost /]# ls
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[root@localhost /]# cd /home
[root@localhost home]# ls
Akuaner stu stu2
绝对路径 相对路径
绝对路径: 从系统根目录开始('/')
/home/Akuaner
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /home/Akuaner
[root@localhost Akuaner]# pwd
/home/Akuaner
相对路径: 从当前目录到指定位置
'.' 代表当前位置 ; '..' 代表当前位置的上一层目录
"./main.c" 表示当前位置下的main.c文件
基本操作
cd进入某个目录
cd.. 返回上一路径
cd / 返回根目录
cd~ 返回家目录
ls查看当前目录
ls
-l 长格式显示 以'.'开头的是隐藏文件
-a all 显示全部,包含隐藏文件
-d filea 查看指定目录 //direction 代表文件夹
-r 递归展开
-d 查看文件夹本身信息,后面跟目录
pwd 打印当前绝对路径
[root@izm5eb8f6yfdzvy9a9acbfz Akuaner]# tree
.
├── a
├── dile2
├── file1.txt
├── fileb_doc
│ └── fileb.txt
├── filed
│ └── fileb
│ ├── filec
│ └── project1.txt
├── filee.txt
9 directories, 9 files
[root@localhost Akuaner]# cd filed/fileb/filec
[root@localhost filec]# pwd
/home/Akuaner/filed/fileb/filec
文件 ls -l
五种七类文件分类
Linux上,一切皆文件
普通文件 -
目录文件 d -文件夹
管道文件 p
连接文件 l -快捷方式,超链接之类的
设备文件 (字符设备文件 c / 块设备文件 b / 套接字 s )
Linux上文件类型 是文件的一种属性信息,不能通过扩展名来区分文件类型,文件名的后缀起到给用户的提示
文件的访问权限
权限:所有的文件都有对应的不同的访问方式,提供给用户
r 读权限
w 写权限
x 普通文件(可执行文件)
目录文件(可进入权限)
'-' 无权限Linux通过分组,对应所有用户的管理方案
rwx rwx rwx
所有者 同组用户 其他用户u
serg
roupo
ther
连接数
一级子目录个数 / 连接数
对文件的操作
操作 | 普通文件 | 目录文件 | ||
---|---|---|---|---|
查看命令手册 | man 命令 | ← | man ls | |
创建 | touch | mkdir | ||
删除 | rm | rm -r //删除非空目录 | rmdir//只能删除空目录 | |
拷贝 | cp 源文件 目的路径 | cp -r 源目录 目标路径 | ||
cp /etc/passwd . //拷贝到当前目录 | ||||
cp /etc/passwd dvd //创建文件dvd,并把passwd拷贝过来 | ||||
剪切 | mv 源文件 目的路径 | mv 源目录 目的路径 | ||
重命名 | mv (源文件路径+文件名) (源文件路径)newname | ← | ||
mv my.txt hello.txt | ||||
切换用户命令 | su username | |||
修改属性(所有者) | chown newuser 文件名 | ← | root用户 | |
修改属性(所属组) | chgrp newgroup 文件名 | ← | root用户 | |
修改文件权限chomod(文字设定法) | chmod u+w main.c //给main.c所有者添加上写权限 | ← | 所有者 u,所属组 g,其他用户o,所有用户a | |
chmod g-r main.c //给main.c所属组取消读权限 | ||||
chmod o=r main.c //给main.c的其他用户权限设置为只读 | ||||
修改文件权限chomod(数字设定法) | chmod nnn 文件名 | ← | r 4,w 2,x 1 | |
chmod 546 main.c //将权限修改为r-x r-- rw- | ||||
编辑文件内容 | vim 文件名 | × | vi/vim | |
查看文件内容 | ||||
文件搜索 | ||||
统计命令 | ||||
压缩,解压 |
编辑文件内容 - 三种模式的切换
末行模式
:q 退出编辑
:w 保存文本
:wq 保存并退出
:q! 强制退出:set nu 显示行号
:set hlserch 高亮显示
:set nohlserch 取消高亮显示/string 全文搜索,从上到下
?string 全文搜索,从下到上
举例:/c 全文搜索c$ 文件尾 s:搜索替换的意思
1,$ s/oldstring/newstring 从第一行 到文件尾 ,每行第一个oldstring替换为newstring
1,$ s/oldstring/newstring/g 从第一行到文件尾,全文oldstring替换为newstring
1,$ num1,num2 ?????
.,$ 从当前到文件尾
命令模式:
所有命令都不涉及当前行,操作对象只是包含,并不会改变当前行
光标快速移动:
gg 移动到文本第一行
shift + g 移动到最后一行
num shift + g 移动到指定行num
shift + 6 移动到当前行首位置
shift + 4 移动到当前行末尾删除:
dd 删除当前行
num dd 从光标处开始,往下删除num行
d num shift+g ,删除 从num行号开始到光标处撤销/恢复
u 撤销上一次操作
ctrl + r 恢复上一次操作复制
yy 复制光标所在行
num yy 从光标处开始,往下复制num行
y num shift+g ,复制 从num行号开始到光标处粘贴
p 粘贴复制的 或者 删除的内容
111
⭐mkdir创建文件夹
创建多个文件夹 -p parent 父类文件夹
-p 嵌套新建,从外到里-f强制
⭐touch 新建文件或文件夹
touch 修改文件时间 或者创建新文件⭐删除文件和删除文件夹
rmdir 删除文件夹
rm -r只删除 文件夹
-r 表示递归rm 删除文件
rm -rf 可以强制删除带有父类的文件夹 带文件夹和文件的话 就是rm -rf⭐指令首字母+TAB TAB 查看指令
指令 --help 查看对应-l有什么作用
⭐文件前加一个小点 视为隐藏文件
⭐cp 复制
复制一般都加上-r 一次性复制一个嵌套的多个
-i 询问并且覆盖,
还可以用作修改文件类型或者文件名字⭐mv移动
mv除了移动之外,还可以修改名称
linux对后缀不敏感
有可能创建一个.txt的文件夹,然后修改文件类型或者文件名字
⭐chmod 修改权限
chmod xyz 文件或目录
用数字来修改: r 4 w 2 x 1 -0
r-- rwx rwx
4+0+0 4+2+1 4+2+1
4 7 7
eg:
chmod -R 477 file1
对file1所有文件权限都修改成777 文件夹一定要带-R
另一种方法 修改权限
u:文件拥有者
g:文件所属组
o:其他人
eg:
chmod u+x temp
chmod ugo+rwx temp
temp是文件夹或者文件的名字
注意:+的权限是追加,=的权限是不管之前有什么权限,全部抹除,变成现在赋的权限
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。