?Linux目录结构
Linux世界里,一切皆文件
Linux 的文件系统是采用层级式的树状目录结构,此结构的最上层是根目录 “ / “,然后在此目录下再创建其他的目录
目录名 | 作用 |
---|---|
bin | 是 Binary 的缩写,这个目录存放着最经常使用的命令 |
sbin | 存放的是系统管理员使用的系统管理程序 |
home | 存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录是以用户的账号命名 |
root | 该目录为系统管理员,也称作超级权限者的用户目录 |
lib | 系统开机所需要最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库 |
etc | 所有的系统管理所需要的配置文件和子目录 |
usr | 用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录 |
boot | 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件 |
tmp | 用来存放一些临时文件的目录 |
dev | 类似于 windows 的设备管理器,把所有的硬件用文件的形式存储 |
media | Linux 系统会自动识别一些设备,例如 U 盘、光驱等等,会把识别的设备挂载到这个目录下 |
opt | 这是给主机额外安装软件(安装包)所存放的目录,默认为空 |
var | 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下 |
run | 是系统运行时所需要的文件,重启后会重新生成对应的目录数据 |
mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在mnt上 |
?vim 编辑器
- vim的介绍
vi 是 Linux 系统内置的文本编辑器
vim 具有程序编写能力,可以看作是 vi 的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
- vim的三种模式
正常模式:
以 vim 打开一个文档就直接进入正常模式。在这个模式中,可以使用【上下左右】按键来移动光标,可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理文件数据。正常模式不能输入内容
编辑模式:
按下 i、I、o、O、a、A、r、R 等任何一个字母之后才会进入编辑模式,一般来说输入 i 即可。点击 Esc 退出该模式进入正常模式
命令行模式:
输入冒号 ” :“ 或者斜杠 “ / ”,切换命令行模式。在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim、显示行号等的动作
三种模式的切换:
- vim编辑器的使用:
(1)以vim打开一个文件进入正常模式
(2)输入一个i ,进入插入模式,此模式可以编辑
(3)编辑完切换到命令行模式,先按esc再输入“:”,最后输入wq(表示写入并退出)
(4)最后通过ls命令,就能找到刚刚编辑并保存的文件
- vim快捷键
快捷键 | 用法 |
---|---|
yy | [正常模式] 拷贝当前行 |
p | **[正常模式] **粘贴 |
dd | [正常模式] 删除当前行 |
u | [正常模式] 撤销 |
gg / G | [正常模式] 移动到最首行 / 移动到最末行 |
set nu / set nonu | [命令行模式] 设置文件行号/ 取消文件行号 |
/关键字 | [命令行模式] 查找关键字,n下一个 |
wq | [命令行模式] 保存退出 |
q | **[命令行模式] **退出 |
q! | [命令行模式] 强制退出不保存 |
?用户管理
(1)登录和注销
登录时尽量少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用
su root
命令来切换成系统管理员身份通过普通用户进入 root 后,输入 logout 退回到 普通用户,再输入 logout 退出系统
(2)添加用户
Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号身份进入系统
在 /home/ 目录下输入指令:useradd 用户名
在创建之后,会自动创建跟用户同名的家目录,默认创建的目录在家目录 /home/ 下
(3)删除用户
指令1:
userdel 用户名
(删除用户,但保留home目录)指令2:
userdel -r 用户名
(删除用户以及home目录)删除用户需要在 root 权限下,一般情况下建议保留家目录,因为里面保存了这个用户的一些资料
(4)其他
指定/修改密码
passwd 用户名
查询用户信息
id 用户名
切换用户
su - 要切到的用户名
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
- 当需要返回到原来用户时,使用
exit
或者 logout指令
查看当前登录用户
whoami
或者who am i
?组管理
在Linux中每个用户必须属于一个组,不能独立于组外
Linux中每个文件有所有者、所在组、其他组的概念
**所有者:**一般为文件的创造者,谁创建了文件,这个文件的所有者就是谁
查看当前目录下所有目录及文件的所有者 ls -ahl
修改文件所有者 chown 新用户名 文件名
**所在组:**当用户创建了一个文件,这个文件的所在组就是用户的所在组
新增rose这个用户并把rose放在gonggong组
首先新增gonggong组 groupadd gonggong ,然后新增用户的同时加入到组 useradd -g gonggong rose
修改文件所在组 chgrp 新组名 文件名
**其他组:**除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
改变用户所在组 usermod -g 新组名 用户名
?权限管理
输入 ls -l 显示的内容如下:
第一列框(0-9位说明):
0 :文件类型(-,d,l,c,b)
l 是链接,相当于windows快捷方式
d 是目录,相当于windows文件夹
c 是字符设备文件,鼠标、键盘等
b 是块设备,比如硬盘
1-3:所有者拥有该文件的权限。-User
4-6:所属组拥有该文件的权限,-Group
7-9:其他用户拥有该文件的权限–Other
第二列框:
文件或文件夹的所有者
第三列框:
文件或文件夹的所有者的所在组
第四列框:
文件大小(单位:kb)
第五列框
创建时间
- rwx权限详解
作用到文件
r 代表可读(read),可以读取和查看
w 代表可写(write),可以修改,但是不代表可以删除
注意:删除一个文件的前提是对该文件所在的目录有写的权限
x 代表可执行(execute),文件可以被执行
作用到目录
r 代表可读(read),可以 ls 查看目录内容
w 代表可写(write),对目录内创建+删除+重命名目录
x 代表可执行(execute),可以进入该目录
- 修改权限
通过chmod指令,可以修改文件或者目录的权限
- 直接“=”赋值
- 通过“+”、“-”增减
u:所有者 g:所在组 o:其他人 a:所有人(u、g、o的总和)
实例1:
给abc文件的 所有者读写执行的权限,给所在组读和执行的权限,给其他组读的权限
chmod u=rwx,g=rx,o=r abc
实例2:
给abc文件 的所有者去掉执行的权限,增加所在组写的权限
chmod u-x,g+w abc
?常用指令总结
指令 | 作用 |
---|---|
halt | 关机 |
reboot | 重启 |
sync | 将内存的数据同步到磁盘 |
pwd | 显示当前工作目录的绝对路径 |
cd | 切换到指定目录cd ~ 回到自己的home目录cd .. 回到上一级目录cd / 回到根目录 |
ls | 查看当前目录下所有目录和文件ls / 表示指定目录ls -l 查看详细信息(用户、组、大小、创建时间、权限信息、文件类型)ls -a 查看隐藏文件 |
mkdir | 在当前位置创建目录 |
touch | 在当前位置创建空文件 |
rm | 删除目录和文件rm -r 删除文件夹rm -rf 强制删除 |
cp | 拷贝文件cp 原文件 新文件 拷贝文件到当前位置cp -r 原文件夹 新文件夹 拷贝文件夹到当前位置 |
mv | 移动、修改文件名mv 文件 文件夹 移动文件到文件夹mv 文件名 新文件名 修改文件名 |
cat | 查看文件全部信息(适合小文档)cat -n 带行号显示文件信息 |
less | 以分页的形式查看文件信息(适合大文档)↑ ↓ ↑上一行 / ↓下一行G g G第一页 / g最后一页 / 空格下一页/关键词 搜索关键词 |
tail | 显示文件末尾内容tail -n 20 文件名 显示文件最后20行信息 |
clear | 清理屏幕 |
find | 文件查找find 路径 -name "文件名关键词" 查找指定路径关键词的文件 |
| | 管道符号,表示将前一个的处理结果交给后面的指令处理 |
grep | 过滤查找,通常配合管道符号一起使用 |
tar | 打包解包tar -zcvf 压缩后文件名 被压缩文件 压缩tar -zxvf 压缩文件名 -C 解压后所在目录 解压 |
yum | 安装卸载软件yum install -y 软件名 安装软件yum remove 软件名 卸载软件 |