Linux目录结构
- Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “/” ,然后在此目录下再创建其他的目录。
- Linux世界里面,一切皆文件。(Linux将计算机硬件映射成文件进行管理)
- Linux的具体目录结构:
- /bin [常用] (/usr/bin、/usr/local/bin):是Binary的缩写,存放最经常使用的命令。
- /sbin:s为Super User的意思,存放的是系统管理员使用的系统管理程序。
- /home [常用]:存放普通用户的主目录。在Linux系统中,每一个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
- /root [常用]:该目录为系统管理员,也称为超级权限着的用户主目录。
- /lib:系统开机所需要的最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+foung:这个目录一般情况下是空的,当系统非法关机后,这里就存放一些文件。
- /etc [常用]:所有的系统管理所需要的配置文件和子目录,存放一些配置文件,比如Mysql数据库的my.conf文件。
- /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是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。
Linux远程登录
- Xshell:一个强大的安全终端模拟软件,支持SSH1,SSH2,以及Windows平台的TELNET协议。可以在Windows系统中访问远程不同系统下的服务器,较好的达到远程控制终端的目的。
- Xftp:一个强大的SFTP,FTP文件传输软件。可以使得Windows用户安全地在UNIX或者Linux或者Windows PC之间传输文件。
文本编辑器 vi 和 vim
- Linux系统的内置vi文本编辑器。
- vim具有程序编辑能力,可以看做是vi的增强版本,可以主动的以字体颜色判断语法的正确性,方便程序设计。代码补完、编译以及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
- 常用的三种模式:
- 正常模式:以vim打开一个文件就进入了一般模式(正常模式),通过方向键控制光标移动。可以使用【删除字符】或者【删除整行】来处理文本内容,也可以使用【复制 / 粘贴】来处理文本数据。
- 插入模式:按下 i , I , o , O , a , A , r , R等任意一个字母后进入编辑模式,一般按 i 进入。
- 命令行模式:可以提供相关指令,完成读取、存储、替换、离开vim、显示行号等操作。按下Esc键再输入 “:” 即可进入。:wq 保存并退出 :q 退出 :q! 强制退出不保存
- 快捷键使用:
- 拷贝当前行:yy
- 拷贝当前行向下5行:5yy
- 粘贴:p
- 查找某个单词:【命令行下】输入 “/” + 关键词 + 回车。输入 n 就是查找下一个。
- 设置或取消行号:【命令行下】:set nu 和 :set nonu
- 定位到文件末尾:G
- 定位到文件开头:gg
- 撤销 / 恢复操作:u
- 定位到文件的20行:【命令行下】输入 20 + shift + g
Linux关机重启
- 基本命令介绍:
- shutdown -h now:立即进行关机。
- shutdown -h 1:1分钟后关机。【直接输入 shutdown 也是这个效果】
- shutdown -r now:现在重新启动计算机。
- halt:关机,作用和上面一样。
- reboot:现在重新重启计算机。
- sync:把内存数据同步到磁盘。
- 不管是重启还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。
- 目前的shutdown,reboot,halt命令都已经在关机前进行了sync。
用户登录和注销
- 登录时尽量少用root账号登录,因为root是系统管理员,权限最大,避免操作失误。可以利用普通用户进行登录,登录后在使用 “su - 用户名” 命令来切换成系统管理员身份。
- 在提示符下输入 logout 即可注销用户。【logout注销指令在图形运行级别无效,在运行级别3 [无界面] 下有效】
Linux用户管理
-
用户
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
- 添加用户: useradd + 用户名
- 当创建一个用户后,会自动的创建和用户同名的家目录。比如添加一个用户 yushui,默认该用户的家目录在 /home/yushui 下。
- 使用 useradd -d [指定目录] [新的用户名] , 给新创建的用户指定家目录。
- root用户只能有一个,通过root用户可以创建多个普通用户。
- 设置 / 修改密码:password + 用户名。
- 删除用户:userdel + 用户名 , 【保留家目录】 【一般情况下建议保留家目录】
userdel -r + 用户名 连家目录一起删除。 - 查询用户信息:id + 用户名。
- 切换用户:在Linux系统中,如果当前用户的权限不够,可以通过 “su -” 指令切换到高权限用户,比如root用户。【su - 切换的用户名】从权限高的用户切换到权限低的用户不需要密码。当需要返回原来的用户时,使用 exit/logout 指令。
- 查看当前用户/登录用户:who am i 指令。
-
用户组
- 类似于角色,系统可以对有共性的多个用户进行统一的管理。可以给组赋相应的权限,同一组内的用户权限相同。
- 新增组:groupadd + 组名。
- 删除组:groupdel + 组名。
- 增加用户时直接加上组:useradd -g 【用户组】【用户名】。
- 修改用户的组:usermod -g 【用户组】【用户名】。
-
用户和组的相关文件
- /etc/password 文件:用户的配置文件,记录用户的各种信息。
每行含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell - /etc/shadow 文件:口令的配置文件。
每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 - /etc/group 文件:组的配置文件,记录Linux包含的组的信息。
每行含义:组名:口令:组标识号:组内用户列表
- /etc/password 文件:用户的配置文件,记录用户的各种信息。
指定运行级别
- 0 : 关机
- 1 : 单用户 【找回丢失密码】
- 2 : 多用户状态没有网络服务
- 3 : 多用户状态有网络服务
- 4 : 系统未使用保留给用户
- 5 : 图形界面
- 6 : 系统重启
常用的运行级别是 3 和 5 , 也可以指定默认运行级别。 通过 init 来切换不同的运行级别,比如3-5,然后关机。
CentOS7 后运行级别说明:
- 在CentOS7之前, /etc/inittab 文件中,进行了简化,如下:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5 - 查看当前的运行级别:systemctl get-default
- 设置默认运行级别:systemctl set-default TARGET.target