Linux介绍

  • Linux内核1992年最初只是由21岁的芬兰人李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上大二时出于个人爱好而编写的。
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
    Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

常用版本:

  1. 红帽企业级Linux
    这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。如果安全是关注的首要问题,那么红帽企业级Linux的确是款完美的发行版,它使用YUM程序包管理器。
    红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持。
    由于该发行版是商业化产品,所以不是免费的。不过,你可以下载用于教学用途的测试版。
  2. Ubuntu
    Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu
    Linux的移动设备上很常见。作为Debian Gnu
    Linux的一款衍生版,Ubuntu的进程、外观和感觉大多数仍然与Debian一样。它使用apt软件管理工具来安装和更新软件。它也是如今市面上用起来最容易的发行版之一。Ubuntu使用基于apt的程序包管理器。
  3. CentOS
    CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。
    CentOS使用YUM来管理软件包。 它有非常稳定的程序包;谁要是想在桌面端测试一下服务器的运作原理,都应该试试这款操作系统。
  4. Arch Linux
    Arch是一款采用滚动发行方式的操作系统:只要安装一次就够了;每当发行了某个新版本,就可以升级发行版,不需要重新安装。Pacman是Arch
    Linux的软件包管理器。Arch

CentOS目录介绍

  • /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev : dev是Device(设备)的缩写,
    该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
  • /usr/bin: 系统用户使用的应用程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
  • /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

其中以下文件变更时要小心

  • /etc:这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。 /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。其中/bin, /usr/bin
    是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。 /var:
    这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log
    目录下,另外mail的预设放置也是在这里。

CentOS命令
介绍命令之前先说下linux是有终端的概念的,在服务器上可以使用组合键 alt+f1–f6 进行终端的切换,代表命令行的6个终端。
终端不代表登录用户,就是说尽管只有6个终端,但登录用户的数量不是仅仅6个,存在多个用户登录同一终端的情况。
命令的帮助
man+命令 命令的帮助文档详情
命令+ –help 简略的帮助
退出帮助 Ctrl+Z

  • 1.增加用户 useradd 用户名 passwd 用户名
  • 2.切换用户 命令:su
  • 3.显示当前目录路径 pwd
  • 4.查看目录下的文件和文件夹命令: ls 展示所有文件: -a 展示详情: -l 目录有隐藏目录,是以“.”开头,使用 -a 可以查看
  • 5.查看命令是否起了别名 alias 例如: 查看别名:alias rm 设置别名:alias ls=”ls -a”
  • 6.新建目录 mkdir
  • 7.改变目录 cd 当cd不带任何参数,默认回到账户的home中 “.” 当前目录 “..” 上一级目录
  • 8.删除目录 rmdir(目录为空才能删除)
    -p 当删除的目录所在的父目录为空时,一并删除
  • 9.创建空文件或修改时间戳 touch touch + 不存在文件名,创建一个空文件 touch + 存在文件名,修改时间戳
  • 10.拷贝 cp
    -f 强制,会覆盖
    -r 递归
    -i 提示是否覆盖,建议使用此参数
  • 11.移动和改名 mv
  • 12.删除文件 rm
    -i 询问
    -r 加此参数,才会删除目录,递归删除
    -f 强制 例如:删除目录,并且目录下的内容一并删除,使用-rf
  • 13-1、创建用户时指定组 useradd 1、-g 用户组 指定用户所属的用户组 2、-G 用户组,用户组 指定用户所属的附加组 例如:
    useradd -g group -G root
  • 13-2、删除用户 userdel 1、 -r,把用户的主目录一起删除 例如: userdel -r min g
  • 13-3、修改用户 usermod 1、 -g,变更用户组 例如: usermod -g developer
  • 13-4、创建用户组 groupadd groupadd group
  • 13-5、删除用户组 groupdel groupdel group
  • 13-6、修改用户组 groupmod
    -n 变更组名 例如: groupmod -n 新组名 原组名
  • 13-7、登录后切换自己所属组(前提是自己有多个组) newgrp 切换到其他用户组 例如切换到root组: newgrp root
  • 13-8、关于用户和组的查询
    1、groups 查看当前登录用户的组内成员
    2、groups test 查看test用户所在的组,以及组内成员
    3、whoami 查看当前登录用户名
    4、用户组信息(cat /etc/group)
  • 13-9、改变文件或目录的创建者或组 chown 1、chown 用户:组 文件(chown root:root abc) 2、-R
    递归变更权限,可使用正则表达式 (chown -R root:root *)
  • 13-10、改变文件或目录的权限 chmod 两种使用方法 1、使用字母和操作符来实现变更权限 2、使用数字来设定
  • 14-1.chmod使用字母和操作符 操作对象 u 用户;g 同组用户;o 其他用户;a 所有用户 操作符
  • 增加权限; - 取消权限; = 赋予给定权限,取消其他权限 权限设置 r 只读; w 可写; x 可执行 文件名 支持通配符(* - 通配符,代表任意字符(0到多个),?-通配符,代表一个字符)
  • 14-2chmod使用字符和操作符 例子: 假如有aa文件 chmod u+x,g+w a?
  • 14-3chmod使用数字来设定
    数字属性,是用3组0-7的八进制表示,其实每组八进制是有三位二进制数字组成的,每位二进制数字对应一个权限。 0 表示没有权限 1
    表示可执行 2 表示写权限 4 表示读权限 顺序是 u g o
  • 14-4.chmod使用数字来设定 例子: 假如有aa文件 chmod 721 a?
  • 15.对登录用户发送消息 wall 例如: wall hello wall < aa #aa是文件,就是把aa文件内容发送给用户
  • 16.从内存同步硬盘,关闭之前的必须步骤 sync
  • 17.查看内存的使用情况 free
    -m 以m为单位统计,默认单位为k
  • 18.系统处理器的状态监视 top 退出监控状态使用ctrl+z
  • 19.查看文件系统的磁盘空间占用情况 df
    -a 所有文件系统的磁盘使用情况
    -k 千字节为单位显示
  • 20.显示指定目录磁盘空间的使用情况 du
    -a 递归显示目录各文件及子孙目录各文件占用的数据块数
    -k 千字节为单位显示 以块为基本单位,一块=4k,默认是k

21.编辑器 vi vi+文件名,新建或编辑文件。 分成Command mode和Insert mode

vi的Command mode
1、方向键,移动光标
2、dd,删除整行,也有剪切功能
3、xdd,删除x行,也有剪切功能,例如3dd
4、u,回复上一个操作
5、x,剪切,删除单个字符
6、p,粘贴
7、按Ctrl+b:屏幕往前移动一页。
8、按Ctrl+f:屏幕往后移动一页。
9、按 G:移动到文章的最后一行。

vi的Command mode
10、yy,复制整行
xyy,例如3yy
11、/pattern:从光标开始处向文件尾搜索pattern
12、?pattern:从光标开始处向文件首搜索pattern
13、n:在同一方向重复上一次搜索命令,以行为单位查找
14、N:在反方向上重复上一次搜索命令,以行为单位查找

vi的Insert mode
在Command mode下,按i,a,o进入Insert mode
1、i,在光标处插入
2、a、在光标处追加
3、o、在光标下一行开始添加一行
4、按esc键,退出Insert mode

在vi的Command mode下
1、输入“:set nu”,显示行号,当次生效
2、输入“:q!”,不保存退出编辑
3、输入“:wq”,保存退出编辑
4、vi保存提示: E212: Can’t open file for writing。是目录中没有写权限

22.硬链接和软链接
硬链接:ln 源文件 目标文件
软链接:ln -s 源文件 目标文件
相同点:
修改一处后,另外一处也会同时更新。
不同点:
硬链接删除源文件,目标文件依然可以使用。软链接一旦删除源文件,目标文件不可用。