目录
Linux的目录结构
与windows系统下的数据存储方式不同,linux系统下文件只有一个根目录,根目录下有许多的功能已经规定的目录结构(root、bin等),而且特定的文件只能放到特定的目录结构中。
windows系统下的文件结构:
linux系统下的文件结构:
在linux中,一切都是文件。linux系统甚至可以将我们分配的硬件如cpu、磁盘等虚拟成一个文件。
目录结构详解
常用的目录结构:
- /bin -- 这个目录是用来存放一些最常用的指令
- /sbin -- 这个目录是用来存放的是管理员的指令
- /home -- 这里是存放普通用户的目录的主目录,每一个普通用户都有一个自己所对应的目录,而这个目录就存放在home主目录里面
- /root -- 这里个是管理员用户的目录
- /lib -- 系统开机所需要的基本动态链接共享库都放在这个目录下
- /lost+found -- 非法关机后会生成的东西存放的目录
- /etc -- 这里是存放系统管理需要的配置文件,包括我们安装的一些程序的配置文件(配置文件就是在用户登录电脑时,或是用户在使用软件时。软件系统为用户所要加载所需环境的设置和文件的集合。)
- /usr -- 这个目录存放的是用户所安装的软件的程序和文件,类似于windows下的program files目录
- /boot -- 这个目录存放的是linux系统启动需要的一些核心文件
- /prov、/srs、/sys -- 这三个目录存放的是一些与linux有关的文件,一般不动
- /tmp -- 这个目录用来存放一些临时的文件
- /dev -- 这个目录是存放一些硬件虚拟出来的文件,是一个linux系统下的设备管理器
- /media -- 这个目录是存放一些外部设备如u盘等映射成的文件
- /mnt -- 这个目录提供来临时挂载一些别的文件系统。例如我们创建一个与windows系统共享的文件系统,我们就可以将windows系统下需要共享的文件夹挂载到这个/mnt目录下的一个目录里
- /opt -- 这个目录用来存放一些额外安装到linux系统里的软件
- /usr/local -- 这个目录也是一个安装软件所存放的目录,不过一般是一些通过编译源码来安装的程序存放的目录
- /var -- 这个目录用来存放一些不断扩展不断变化的东西。
- /selinux -- 这个目录是一个安全子系统,类似windows下的杀毒软件,保证系统的安全
Vi/Vim编辑器
vim基本概念:
vi和vim都是linux系统下的文本编辑器,类似于我们windows系统下的记事本,但不等于windows系统下的记事本。
vim编辑器常用的三种模式有:正常模式、编辑模式、命令行模式;
正常模式:我们用vim命令行打开了一个文件就会自动默认进入正常模式,在这个模式下,我们可以移动光标进行复制、粘贴、删除等等一些列操作;
编辑模式:在这个模式下我们可以进行编写;
命令行模式:在这个模式下,我们可以对我们完成编辑的文件进行保存、替换、退出编辑器等操作;
各种模式的转换操作如下:
Vim常用的一些快捷操作:
1.(正常模式)yy:
这个操作用于复制当前行的代码,在yy前加上数字,可以一次性复制多行代码。例如5yy就复制光标下数的5行代码。
2.(正常模式)p:
这个操作用于粘贴我们复制到的代码,复制完后直接按下p即可粘贴到光标处。
3.(正常模式)dd:
删除操作,用于删除当前光标所在行的代码,它与yy类似,都可以加上前标表示删除的行数。
4.(命令行模式)/要查找的元素:
这个操作用于查找文件中的某个元素,它会从文件开始一直找到文件末尾。如果有多个相同的元素,它会按顺序显示,一次显示一个,我们可以按 n 键查看下一个。
5.(命令行模式)set nu / set nuno:
这个操作用于设置编辑器的行号或者删除掉编辑器的行号。
6.(正常模式)u:
这个操作类似于我们windows下的ctrl+z,用于撤回上一个操作;。
7.(正常模式)G / gg:
正常模式下按下大写的G光标会直接移到当前文件的最后一行,而按下小写gg会返回到第一行。
8.(正常模式)数字 shift+g /(命令行模式) 数字:
这两个操作都可以直接将光标定位到某个特定的行。
关机和重启命令:
1.shutdown -h now(halt)----- 立即关机
2.shutdown -h 1 ----- 1分钟后关机
3.shutdown -r now(reboot ) ----- 立即重启
4.sync ----- 将内存数据写入磁盘(在关机前一定要记得执行,防止数据未写入)
用户操作指令:
1.su - 用户名 ------ 这个指令用来切换登录的用户
2.logout ----- 这个指令用来注销用户,返回上一个用户(不是删除用户!而是退出,多次退出会退出系统)并且不能再图形界面即有桌面的情况下使用。
图形界面使用logout下会发出一下警告:
例如:原来登录是 用户1 后来改为 root用户 logout 后会返回用户1,再次使用logout后会退出系统
3.useradd 用户名 ----- 这个指令用于在系统中新增加一个用户,它会在home目录下创建一个同名的文件目录。当然,如果我们想改它在home目录下创建的用户名文件夹也可以改为:
useradd -d /home/(你想要的文件名) 用户名
4.passwd 用户名 ----- 这个指令用于给指定的用户修改密码,如果缺少用户名,会默认给当前的用户修改密码!!!
5.userdel 用户名 ----- 删除指定的用户账号,但保留home目录下的用户文件(保留用户的资料,只删除账号)
6.userdel -r 用户名 -----删除指定用户账号加上home目录下的用户文件,即凡是和这个用户相关的资料都删除,如果删除不了,报了下面错误:
user XXX is currently used by process 4446
可以考虑logout退出系统重新登陆后再删除
7.id 用户名 ----- 这个指令可以用于查询用户的uid 、gid和分组
8. who am i ----- 这个指令用于查询第一次登陆的用户信息,即无论你切换多少次,它都换显示你第一次登陆进去的用户的信息
用户组操作指令:
用户组是用来存放用户的一个分组,如果我们在创建一个用户前没有指定它的分组,那么系统会自动帮他创建一个自己的组,与用户名一致。
1.groupadd 用户组名 ----- 这条指令用于创建一个用户组,要是想创建一个指定的用户放到指定的用户组里面,则需要指令:useradd -g 用户组名 用户名
2.groupdel 用户组名 ----- 这条指令用于删除一个指定的用户组
3.usermod -g 用户名 用户 ----- 这条指令用于将一个用户从一个用户组移到另一个用户组,它会有新的用户组的权限而不会有原来用户组的权限
用户组与用户信息操作指令:
在linux中,我们创建的用户组和用户的一些相关文件都存放在etc目录下;
我们可以通过指令去查看一些与用户 / 用户组相关的信息:
1.vim /etc/passwd ----- 这个指令用于记录用户的各种配置文件,用户的信息:用户名、口令、用户标识号、组标识号、注释性描述、主目录、登录shell;
2.vim /etc/shadow ----- 这个指令用于配置用户的口令,它包括:登录名、加密口令、最后一次修改时间、最小时间间隔、最大时间间隔、警告时间、不活动时间、失效时间、标志;
3.vim /etc/group ----- 这个是组的配置文件,记录组的信息:组名、口令、组标识号、组内用户列表;
shell:shell是在linux中作为一个翻译器的存在,当我们发送指令给linux内核,往往先通过shell将我们的指令翻译为内核能使用的形式