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 “搜索内容" 文件名 | 查询包含指定内容的数据 |
作者建议:把上述命令从头到尾试一遍!
制作整理不易,以上内容均为原创(参考了部分官方文档和老师整理的案例)。如要引用请附上本文链接,如有疑问可以在评论区畅所欲言,作者看到会第一时间回复,欢迎交流!