linux学习----1.初识linux&用户管理

linux

linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,现在企业级的项目一般都是部署在linux/unix服务器运行
linux的一些发行版本:

  • Redhat
  • Ubuntu【个人最爱,不过听说国内用centos多┭┮﹏┭┮】
  • Suse
  • 红旗linux
  • Centos
  • debian

linux和windows比较:

比较 Windows Linux
界面 界面统一,外壳程序固定,所有windows程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容,GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解
使用 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 大部分软件都可以自由获取,同样功能的软件选择较少。

三种网络连接形式:
桥接模式:可能造成ip冲突,可以和其他系统通信
NAT模式:不会造成ip冲突,可以访问外网
Host-Only模式:linux是独立的主机,不能访问外网,只能和主机通信
分区:

  • boot:系统引导文件加载【一般200M】
  • swap:虚拟内存,一般是物理内存的1.5倍~2倍之间
  • /:剩下的都给他

linux目录结构

  • /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:系统提供该目录就是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载到w/mnt/上,然后进入该目录就可以查看里面的内容了.
  • /opt:这是给主机额外安装软件所摆放的目录,如安装oracle数据库就可以放在该目录下,默认是空的
  • /use/local:这是另外一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
  • /var:这个目录存放着不断扩充的文件,习惯将经常修改的目录放在这个目录下,包括各种日志文件
  • /selinux:SElinux是一种安全子系统,他能控制程序只能访问特定文件

vi和vim:
所有linux系统都会内置文本编辑器【vi】,而vim可以看做是vi的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计、代码补全、编译及错误跳转等方便编程的功能特别丰富
三种常见模式:

  • 正常模式:以vim打开一个文件就直接进入了一般莫斯,在这个模式中,你可以使用上下左右来移动光标,使用删除字符或删除整行来处理文件内容,也可以使用复制、贴上来处理文件数据
  • 插入模式/编辑模式:按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可i
  • 命令行模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成的

使用快捷键练习:
拷贝当前行并粘贴:
yy【一行】,5yy【5行】,粘贴【p】
删除当前行:dd,删除当前行向下5行:5dd
查询某个单词:/查询的单词,回车查找,输入n跳转到下一个结果
设置行号:set nu和:set nonu
编辑 /etc/profile文件,使用快捷键到底文档的最末行【G】和最首行【gg】,不是在命令行下,直接输入即可
撤销:命令行下输入u
光标移动到20行,输入set nu,输入20,shift+g

关机重启命令

shutdown:

  • shutdown -h now:立刻关机
  • shutdown -h 1:一分钟后关机
  • shutdown -r now:立即重启
    halt:关机
    reboot:重启系统
    sync:把内存的数据同步到磁盘上
用户登录和注销

注销:logout【只能在终端使用】

用户管理

linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统,linux的用户需要至少属于一个组
添加用户:useradd 【选项】 用户名
当创建用户成功后,会自动创建和用户同名的家目录,也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
修改用户的密码:passwd 用户名
删除用户【不会删除家目录】:userdel 用户名
删除用户【会删除家目录】:userdel -r 用户名
查询用户信息指令:id 用户名
切换到某个用户:su 用户名【从高权限的用户切换到低用户是不需要输入密码的,反之则需要】
查看当前用户:who am i
用户组:类似于角色,系统可以对有共性的多个用户进行统一的管理
新增组:groupadd 组名
删除组:groupdel 组名
增加用户时加上组:
useradd -g 用户组 用户名
修改用户组:
usermod -g 用户组 用户名
用户和组的相关文件:
/etc/passwd文件:用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录shell
/etc/shadow文件:口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件:
用户组的配置文件,记录linux包含的组的信息
每行含义:组名:口令:组标识符:组内用户列表

你可能感兴趣的:(linux)