Linux学习第一天:Linux目录结构及基本指令使用
linux基本目录
虽然 Linux 系统中文件和目录和windows没有什么不同,但linux他的文件是有结构、有分组的,这些分组方便于用户查询,所有的硬件也都以文件的形式展现,系统便是用这些文件完成硬件通信。linux这种一切皆文件的思想,使得这些文件夹、文档、硬盘等变成了文件系统空间下的字节流。其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。
下图及为linux的基本文件:
下图便是常用目录的作用:
关于目录颜色:
| 颜色 | 代表文件 |
|---|---|
| 白色 | 普通文件 |
| 蓝色 | 目录 |
| 绿色 | 可执行文件 |
| 红色 | 代表压缩文件 |
| 浅蓝色 | 连接文件 |
| 黄色 | 设备文件 |
| 灰色 | 其他文件 |
基本指令使用
基本目录使用:
常用ls命令(查看当前文件夹内的所有子文件包括文件夹和文件):
| 命令名称 | 命令作用 |
|---|---|
| -a | 所有文件包括隐藏文件以及 . 和… |
| -l | 以列表方式显示文件,包括所有的详细信息 |
| -d | 仅列出当前目录的信息 |
| -r | linux默认按照字符串比较方式显示文件名,是哦那个r选项可以使用逆序 |
| -R | 递归显示没一个目录的结构 |
| * | 通配符 |
| ls | 文件夹名称 列出指定文件夹内的内容 |
常用cd命令(切换当前路径):
| 命令名称 | 命令作用 |
|---|---|
| cd … | 切换到上一级目录,如果没有上一级则继续保持在当前目录 |
| cd /root/home | 使用从根目录开始的绝对路径来进行路径切换 |
| cd ./home | 切换到下一级home路径下 |
| cd …/home | 切换到同级的home路径下 |
常用mkdir/rmdir命令(创建/删除文件夹 ):
| 命令名称 | 命令作用 |
|---|---|
| mkdir temp | 在当前目录中创建temp文件夹 |
| mkdir t1/t2/t3 -p | 递归创建目录 |
| mkdir -m 777 test2 | 创建目录并赋予所属用户,所属用户组以及其他用户对应的权限 |
| rmdir test | 删除test文件夹,要求test文件夹必须是空的,否则删除失败 |
| rmdir -p t1/t2/t3 | 递归删除指定的文件夹,如果中间有任意一个目录不为空,则不能删除对应的文件夹 |
| rm: | 删除文件或者是文件夹 |
| rm -r 文件夹名称 | 可递归删除目录以及目录中的值,有确认消息 |
| rm -rf 文件夹名称 | 直接删除内容没有任何提示(很危险) |
常用cp/mv命令(拷贝/移动文件夹 、在拷贝目录的场景下,如果目标文件夹下有源文件中的文件,会询问是否需要覆盖):
| 命令名称 | 命令作用 |
|---|---|
| cp -r test1 test2 | 将test文件夹拷贝到test2文件下,需要注意的是cp命令在拷贝文件夹的场景下必须使用-r参数 |
| cp -r test1/* test2 | 将test文件夹下的文件拷贝到test2文件下 |
| cp -r test1 test3 | 在test3不存在的场景下,会自动创建test3目录,并将test1中的所有内容拷贝到test3文件夹下 |
| cp -r -p test1 test3 | 在拷贝文件夹的时候,默认新创建的文件夹使用系统默认的安全设置,使用-p参数则完全拷贝安全设置。 |
| mv: | 移动或者重命名文件夹 |
| mv test test1 | 将test文件夹 重命名为test1 |
在linux中挂载U盘:
| 命令名称 | 命令作用 |
|---|---|
| fdisk -l | 查看磁盘信息 |
| mount -o iocharset = utf8 /dev/sdb1 /mnt/usb | 挂载U盘 |
| umount /dev/sdb1 | 取消挂载 |
关于服务器的关机与重启命令
1、重启系统
| 命令名称 | 命令作用 |
|---|---|
| reboot | 系统立即重启 |
| shutdown -r 1 | 系统将于1分钟后重新启动,会向目前登录的所有用户发出通知信息 |
2、关闭系统
| 命令名称 | 命令作用 |
|---|---|
| shutdown -h now | 立即关闭系统 可简单写为 poweroff |
| shutdown -h 10 | 10分钟之后关闭系统 |
关于linux用户以及用户组的管理
一、用户管理
| 命令名称 | 命令作用 | 说明 |
|---|---|---|
| useradd 用户名称 | 添加添加用户 | 在linux中创建一个新的账户,但该账户没有密码所有暂时不能够进行 |
| cd /etc/passwd | 查看到新创建的用户 | 无 |
| passwd 用户名 | 给用户设置密码 | 设置密码后,该用户可以进行系统登录 |
| userdel -r 用户名 | 删除用户 | 删除用户,如果用户正在使用,可以使用kill 进行号形式 结束进行后再删除 |
| passwd -l 用户名 | 锁定用户 | 锁定用户,后续用户不允许登录 |
| passwd -S | 查看用户锁定状态 | 无 |
| passwd -u | 解除锁定状态 | 无 |
二、用户管理
| 命令名称 | 命令作用 | 说明 |
|---|---|---|
| groupadd 组名称 | 创建用户组 | 添加一个用户组 可以通过/etc/group文件查看所有的用户组 |
| groupdel 组名称 | 删除用户组 | 删除对应的用户组 |
| groupmod -n 新组名 旧组名 | 修改用户组名 | 无 |
| useradd 用户名 -g 主组 -G 副组1,副组2 | 向用户组中添加用户 | 在创建的时候将用户添加的指定组 |
| groups 组名 | 查看用户所在的组 | 无 |
| usermod 用户名 -g cong1 -G cong2 | 将已有用户添加到指定组 | 无 |
| 使用usermod命令 -G在用户组中移除用户 | 参数将需要移除的组排除之外即可 | 无 |
| newgrp 组名 | 切换用户组 | 切换到执行的组 |
三、基于用户与用户组的安全管理
-
设置root用户不允许访问
访问 etc/ssh/sshd_config文件修改 PermitRootLogin属性为no
重新启动sshd服务 service sshd restart -
临时获取root账号使用权
su root 并输入密码
使用后 使用exit 退出账户 -
为不同的文件分配不同的用户组
ls -l 文件名 查看当前文件的归属情况
chgrp 组名 文件名 切换文件的归属组 -
权限实验
- 使用root 用户创建一个文件夹,名称为file-test mkdir file-test 修改文件夹权限为777
- chmod 777 file-test 使用root用户创建文件 vi tfile 查看当前文件的权限设置
- ls -l tfile 修改tfile的权限为700 只有当前文件的拥有者可以操作文件 chmod 700 tfile
- 切换用户到cong账号 ,使用vi 编辑器打开 tfile文件提示没有权限 切换到root账号 将tfile文件的权限修改为704
- 重新切换到cong账户 ,发现该文件变为可读的文件,但是该文件不可以被编辑
- 切换到root账户,将文件归属组切换到cong2组,并将权限调整为764后切换回cong账户
- 再次使用vi打开tfile文件,发现文件可读可写
关于linux文件操作基本命令
1、vi编辑器的使用
① vi编辑器有三种不同的状态 第一是命令模式 第二是输入模式 第三是底线命令模式
②当最初打开vi编辑器的时候,vi编辑器就处于一种命令模式,在命令模式下的特点是,用户录入的任何按键都不会作为字符来处理,vi会把它作为命令来解析,修改当前vi编辑器的状态
常用的命令:
| 命令名称 | 命令作用 |
|---|---|
| i | 从光标所在处开始录入 |
| I | 从光标所在行的第一个字符开始录入 |
| a | 从光标所在字符之后开始录入 |
| A | 从光标所在行的最后一个字符开始录入 |
| o | 从光标所在行的下一行开始录入 |
| O | 从光标所在行的上一行开始录入 |
不论使用上述哪一种参数都会让vi编辑器从命令模式进入到输入模式,使用esc可以将vi编辑器退出到命令模式
③当vi处于命令模式下,可以使用:命令方式,让vi编辑器进入到底线命令模式,
常用的底线命令有:
| 命令名称 | 命令作用 |
|---|---|
| :w | 将修改的内容保存到磁盘中 |
| :q | 退出vi编辑器 (有编辑内容,但是没有保存的时候会报错) |
| :q! | 强制退出vi编辑器,并放弃所有的编辑内容 |
| :wq | 保存并退出vi编辑器 |
| :w | 文件名 将当前文件的内容另存为其他文件 |
| :r 文件名 | 在当前文档中插入其他文档的内容 |
| :! commond | 暂时退出vi编辑器执行对应的命令 |
④命令模式下的其他命令
| 命令名称 | 命令作用 |
|---|---|
| dd | 删除当前行数据 |
| ndd | 删除当前行向下的n行数据 |
| yy | 复制当前行数据 |
| nyy | 复制当前向后n行数据 |
| p | 黏贴复制数据 |
| u | 撤销上一个动作 |
| . | 重复上一个动作 |
2、文件内容查看
| 命令名称 | 命令作用 |
|---|---|
| cat 文件名字 | 查看文件内容 |
| cat -n | 查看文件内容并列出行号 |
| cat -b | 查看文件内容并列出行号(关注空行的区别) |
| tac 文件名称 | 倒叙查看文件内容 |
| nl | 显示行号以及文件内容 |
| nl 文件名 | 等同于 cat -b |
| more 文件名称 | 分页显示文件昵称 |
| 空格键 | 向下翻一页 |
| 回车 | 向下一行 |
| :f | 显示当前的文档名以及当前的行号 |
| q | 退出 |
| b | 向前翻一页 |
| tail | 从文件末尾开始显示数据 |
| tail -n 30 test | 查看test文件的最后30行数据 |
| grep | 在文件中搜索指定内容 |
| grep “搜索内容" 文件名 | 查询包含指定内容的数据 |
作者建议:把上述命令从头到尾试一遍!
制作整理不易,以上内容均为原创(参考了部分官方文档和老师整理的案例)。如要引用请附上本文链接,如有疑问可以在评论区畅所欲言,作者看到会第一时间回复,欢迎交流!
这篇博客介绍了Linux学习的基础知识,包括Linux目录结构、常用文件颜色及其含义,以及一系列基本指令的使用,如ls、cd、mkdir、rmdir、rm、cp、mv等。此外,还讲解了如何挂载U盘、管理用户和用户组,以及文件权限设置。在文件操作部分,重点介绍了vi编辑器的使用和文件内容查看命令。最后,作者建议读者亲自实践这些命令以加深理解。

被折叠的 条评论
为什么被折叠?



