第一章-Linux目录管理简介
文件管理
Linux目录结构
-
Windows/linux目录对比
- Windows:以多根的方式组织文件 c:\ d:\ e:\
- Linux:以单根的方式组织/
-
linux目录简介
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sTjyWgMM-1682335867258)(/Users/zhenghuaijian/Desktop/学习软件/千锋教育学习体系/1、linux学习体系/截图素材/根目录截图.png)]
-
linux目录图示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d64GUH25-1682335867259)(/Users/zhenghuaijian/Desktop/学习软件/千锋教育学习体系/1、linux学习体系/截图素材/目录图示.png)]
-
目录功能了解
Home:linux是多用户系统,不同用户登陆系统时候,创建的文件应该都是由自己管理的,这是普通用户,普通用户互相不能访问
ROOT:超级管理员用户
ETC:调整功能的设置
Boot:里面文件就是创始人代码存放的内核文件(林纳斯),里面文件都和机器启动有关,其他文件夹都是linux社区维护起来的,比如汽车发动机是林纳斯造的,汽车外形,车灯等等各个厂商都有设计,共同构成linux系统
VAR:系统的一个临时目录,主要存放日志相关
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service
dev 设备文件 /dev/sda,/dev/sda1
root root用户的HOME
home 存储普通用户家目录
tmp 临时文件(全局可写:进程产生的临时文件)
var 存放的是一些变化文件,比如数据库,日志,邮件…
设备(主要指存储设备)挂载目录
media 移动设备默认的挂载点
mnt 手工挂载设备的挂载点
etc 配置文件(系统相关如网络/etc/sysconfig/network
proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态 ,硬件的状态
usr 系统文件,相当于C:\Windows
/usr/local 软件安装的目录,相当于C:\Program
boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)
lib 库文件Glibc,类似字典,平时用的变量啊,库啊就存放在这里面
lib64 库文件Glibc
lost+found fsck修复时,存储没有链接的文件或目录
文件管理
文件管理命令
-
创建文件
语法:
命令 空格 文件名.后缀
Touch 文件名
示列:
创建一个文件
touch file.txt
查看文件
cat file.txt
-
创建目录
语法:
命令 空格 目录名
Mkdir 目录名
示列:
创建一个目录
mkdir aaa
创建连续目录
mkdir -p aaa/bbb/ccc
错误创建
mkdir ddd eee fff 不会报错,但不是嵌套创建
-
复制
语法:
命令 参数1 参数2
cp 源文件路径 目标文件夹
选项:
cp -r 源目录 目标目录
示列:
cp file1.txt aaa/
cp -r file2/ aaa/
-
移动
语法:
命令 参数1 参数2
mv 源文件路径 目标文件路径
示列:
mv file1.txt file4.txt
mv file4.txt aaa/bbb/
-
删除
格式:
命令 空格 文件或目录(可写多个,一起删除,移动复制如果写多个,是把前面挪到了后面)
rm 文件或目录
参数:
rm -rf
示列:
Rm -rf /*
-
查看文件内容
cat:查看全文
More:从文件最开始第一行开始显示,挨页显示
Head:查看头部,默认前10行
Tail:查看尾部10行,tail -f动态查看
Grep:grep 过滤关键字 文件名,grep ‘aaa’ file1.txt
-
修改文件内容
vi:普通版
Vim:增强版
命令行模式,如yy,p,dd
末行模式
视图模式
光标定位
hjkL //上下左右
0 $ //行首行尾
gg G //页首页尾
3G 进入第三行
/string (n N 可以循环的) //查找字符,按n键选下一个(重要)
文本编辑
yy 复制
dd 删除
p 粘贴
u undo撤销
查找替换
:范围 s/原内容/新内容/全局
:1,5 s/root/qianfeng/g 从1-5行的root 替换为qianfeng
另存为
:w file9.txt 另存为 file9.txt
:set nu 设置行号
:set nonu 取消设置行号:set list 显示控制字符
-
改变目录
绝对路径
相对路径
文件类型理解
文件,目录,b,c,p,l等
用户管理
用户/组基本概念
任何文件和进程,都需要对应的用户和组才能正常运行
查看当前用户信息:id whoami
查看文件owner:ll 文件或目录
查看进程的username:ps aux
用户/组管理
/etc/passwd(冒号分割为7列字段)
root❌0:0:root:/root:/bin/bash
用户名❌uid:gid:描述:HOME:shell
不能用vim来编辑,因为passwd和shadow,group等系统文件都有关联,改一改没用,会影响整个的使用
root: 1 1 1MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
6
6
6开头的,表明是用SHA-512加密的,
1
1
1 表明是用MD5加密的
2
2
2 是用Blowfish加密的
5
5
5 是用 SHA-256加密的。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
- 保留
/etc/group
root❌0:
组名:组密码:组ID:组成员
命令练习:
-
创建用户
useradd 用户名,如:useradd laozheng
指定参数:useradd laozheng -u 1503
指定用户不能登陆:useradd -s /sbin/nologin laozheng
-
删除用户
userdel 用户名,如:userdel user01(如果直接删除是不干净的,家目录和var目录下的邮箱都还存在,再创建user01就会报错),userdel -r user01这样就彻底删除
-
修改密码
passwd 用户名
-
用户已创出,修改权限
usermod -s /bin/nologin laozheng
-
创建组
比如王者荣耀,买了某个皮肤,不是对这个用户授权,是将这个用户加入到这个皮肤组里面
groupadd 鲁班七号太空小子
groupadd -g 1007 鲁班
usermod -aG 鲁班太空小子 laozheng,将laozheng用户加入太空组
Gpasswd -d laozheng 太空小子 ,将laozheng移除太空小子组
通过修改/etc/group进行修改也可以实现剔除功能