Linux的目录结构
Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录。
Linux是以文件的形式管理设备,在Linux世界里,一切皆文件。
具体的目录结构:
/bin [重点] (/user/bin、/usr/local/bin)
是Binary的缩写,这个目录存放着最经常使用的命令
/sbin (/usr/sbin、/usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/home [重点]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
/root [重点]
该目录为系统管理员,也称作超级权限者的用户主目录。
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点]
所有的系统管理所需要的配置文件和子目录。
/usr [重点]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/boot [重点]
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
/srv
service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
/tmp:
这个目录是用来存放一些临时文件的。
/dev
类似与windows的设备管理器,把所有的硬件用文件的形式存储。
/media [重点]
Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
/mnt [重点]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
/opt
这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放到该目录下。默认为空。
/usr/local [重点]
这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。
/var [重点]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/selinux [security-enhanced linux]
selinux是一个安全机制,类似于windows的防火墙,它能控制程序只能访问特定文件。
为什么远程登录Linux系统
说明:公司开发时候,具体的情况是这样的
1.Linux服务器是开发小组共享的。
2.正式上线的项目是运行在公网的。
3.因此程序员需要远程登录到centos进行项目管理或者开发
4.需要XShell6(远程登录到Linux的软件);Xftp6(上传和下载文件软件)。
XShell6使用
特别说明:XShell6远程访问Linux系统的话,需要Linux启用sshd服务,该服务会监听22号端口。
Xftp6使用
连接到Linux的界面如下:
vi和vim编辑器
*vi和vim的基本介绍
所有的Linux系统都会内建vi文本编辑器。vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富。
*vi和vim常用的三种模式
正常模式:
以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,可以使用上下左右按键来移动光标,可以使用删除字符或删除整行来处理档案内容,也可以使用复制、粘贴来处理文件数据。(可以使用快捷键)
插入模式 / 编辑模式:
按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可。(程序员可以输入内容)
命令行模式:
在这个模式当中,可以提供相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的。
*vi和vim的快捷键
1.拷贝当前行yy,拷贝当前行向下的5行5yy,并粘贴(p)。
2.删除当前行dd,删除当前行向下的5行5dd。
3.在文件中查找某个单词(命令行下/关键字,回车查找,输入n就是查找下一个)。
4.设置文件的行号,取消文件的行号(命令行下 :set nu 和 :set nonu)。
5.编辑 /etc/profile 文件,使用快捷键到底文档的最末行(G)和最首行(gg),注意这些都是在正常模式下执行的。
6.在文件中撤销这个动作,在正常模式下输入u。
7.编辑 /etc/profile 文件,并将光标移动到第20行shift+g (第一步:显示行号 :set nu 第二步:输入20这个数 第三步:输入shift+g)。
...
开机、重启和用户登录注销
*关机&重启命令
shutdown
shutdown -h now :表示立即关机
shutdown -h 1 :表示1分钟后关机
shutdown -r now :立即重启
halt(就是直接使用,效果等价于关机)
reboot(就是重启系统)
sync(把内存的数据同步到磁盘)
注意细节:当我们关机或者重启时,都应该先执行下sync指令,把内存的数据写入磁盘,防止数据丢失。
*用户登录和注销
1.登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用 "su - 用户名" 命令来切换成系统管理员身份。
2.在提示符下输入logout即可注销用户
使用细节:logout注销指令在图形运行级别无效,在运行级别3下有效
用户管理
说明
1.Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
2.Linux的用户至少需要属于一个组。
*添加用户
基本语法: useradd [选项] 用户名
细节说明
1.当创建用户成功后,会自动的创建和用户同名的家目录
2.也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
*给用户指定或者修改密码
基本语法: passwd 用户名
*删除用户
基本语法: userdel 用户名
应用案例:
1.删除用户xm,但是要保留家目录
2.删除用户xh以及用户家目录(在删除用户时一般不会将家目录删除)
*查询用户信息指令
基本语法: id 用户名
*切换用户
介绍:在操作Linux中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如root
基本语法:su - 切换用户名
细节说明:
1.从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2.当需要返回到原来用户时,使用exit指令。
*查看当前用户 / 登录用户
基本语法:whoami / who am i
*用户组
介绍:类似于角色,系统可以对有共性的多个用户进行统一的管理。
增加组基本语法:groupadd 组名
删除组基本语法:groupdel 组名
增加用户时直接加上组基本语法:useradd -g 用户组 用户名
修改用户组基本语法:usermod -g 用户组 用户名
*用户和组的相关文件
/etc/passwd文件
用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件
组的配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:组标识号:组内用户列表
实用指令
*运行级别说明
0:关机
1:单用户(找回丢失密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault: 这一行中的数字即可
*切换到指定运行级别的指令
基本语法:init [0123456]
面试题:如果我们不小心,忘记root密码,怎么找回。
思路:进入到单用户模式,然后修改root密码。因为进入单用户模式,root不需要密码就可以登录。
步骤:开机 -> 在引导是输入e -> 看到一个界面输入e -> 看到一个新的界面,选中第二行(编辑内核)再输入e -> 在这行最后输入空格1,再输入回车键 -> 再次输入b,这时就会进入到单用户模式,使用passwd指令来修改root密码。