Linux概括
Linux简介
(1)Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,现在很多的企业级的项目都部署到Linux/unix服务器运行
(2)目前主要的操作系统有Windows、android、Mac、iOS、车载系统、Linux等
(3)Linux的主要发行版有:centose、Redhat(红帽)、Ubuntu(乌班图)、Suse、红旗unux
Linux目录介绍
在Linux世界里,一切皆文件,文件系统是采用级层式的树状目录结构,各个目录存放的内容是规划好的,不要乱放文件
| 目录 | 简介 |
|---|
/bin | 存放着最经常使用的命令。 |
/home | 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 |
/etc | 用来存放所有的系统管理所需要的配置文件和子目录 |
/usr | 非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 |
| /usr/bin | 系统用户使用的应用程序。 |
| /usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序。 |
| /usr/src | 内核源代码默认的放置目录。 |
/usr/local | 另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序 |
| /boot | 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 |
| /media | linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 |
| /mnt | 系统提供该目录是为了让用户临时挂载别的文件系统,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容 |
/var | 非常重要的目录,系统上跑了很多程序,存放每个程序产生的日志,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。 |
| /sbin | 存放的是系统管理员使用的系统管理程序。 |
| /dev | dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。 |
| /lib | 存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库。 |
| /lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 |
/opt | 给主机额外安装软件所摆放的目录,默认是空的。 |
| /root | 该目录为系统管理员,也称作超级权限者的用户主目录。 |
| /selinux | 这个目录是Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙, 这套机制比较复杂,这个目录存放selinux相关的文件。 |
| /tmp | 来存放一些临时文件。 |
| /run | 是一个临时文件系统,存储系统启动以来的信息。 当系统重启时,这个目录下的文件应该被删掉或清除。 如果你的系统上有 /var/run 目录,应该让它指向 run。 |
| /proc | 非必要别乱动,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件, 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件, 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
| /srv | 非必要别乱动, 该目录存放一些服务启动之后需要提取的数据。 |
| /sys | 非必要别乱动,这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息: 针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 |
虚拟机
(1)虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
(2)使用虚拟机可以体验不同版本的操作系统,如Linux、Mac等,例如可以使用虚拟机在Windows操作系统创建多个不同操作系统的虚拟计算机,每个虚拟计算机可以独立运行,可以安装各种软件与应用等
(3)目前流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC
vi和vim编辑器
| 编辑器 | 简介 |
|---|
| vi | 所有的Linux系统都会内建vi文本编辑器 |
| vim | 可以看做是vi的增强版本,提供字体颜色辨别语法和其他好用的功能 |
vi和vim的三种常见模式
| 模式 | 简介 |
|---|
| 正常模式 | 正常模式下,不能输入内容,可以使用快捷键 可以使用上下左右按键来移动光标 可以使用删除字符或删除整行来处理档案内容 可以使用复制、粘贴来处理文件数据 |
| 插入模式/编辑模式 | 插入模式下,可以输入内容 按下i、I、o、O、a、A、r、R等任意一个字母之后才会进入编辑模式,一般来说i即可 |
| 命令行模式 | 命令行模式下,可以执行相关指令 例如:完成读取、存盘、替换、离开vim、显示行号等 |
vi和vim的常规用法
| vi、vim | 常用命令 |
|---|
| i | 进入编辑模式 |
| esc | 退出编辑模式 |
| : | 进入末行模式 |
| wq | 保存退出 |
| q! | 不保存强制退出 |
vi和vim的常用快捷键
| 快捷键 | 简介 |
|---|
| yy | 复制当前行(命令模式下) 例:复制当前行向下的5行:5yy 粘贴:p |
| dd | 删除当前行(命令模式下) 例:删除当前行向下的5行:5dd |
| /+关键字 | 在文件中查找某个单词,回车查找,输入n查找下一个(命令模式下) |
| set nu | 打开文件显示行号(末行模式) |
| set nonu | 取消文件的行号(末行模式) |
| G | 进入文档末行(命令模式下) |
| gg | 进入文档末首行(命令模式下) |
| u | 撤销刚刚输入的(命令模式下) |
网络配置
计算机网络配置
(1)打开设置—>高级网络设置—>更改适配器选项—>选中VMnet8右键属性

(2)选择Internet协议版本4(TPC/IPv4),配置属性

虚拟网络配置
编辑—>虚拟网络编辑器—>VMnet8—>NAT设置、DHCP设置

Linux网络配置
(1)修改ens33配置文件,设置Linux获取IP地址(编辑网络配置文件)
1
| vi /etc/sysconfig/network-scripts/ifcfg-ens33
|
| 配置项 | 简介 |
|---|
| ONBOOT=yes | 表示启动这块网卡 |
| BOOTPROTO=static | 表示静态路由协议,可以保持路由固定 |
| IPADDR=192.168.10.100 | 表示虚拟机的IP地址,这里设置的IP地址要与前面IP映射配置时的IP地址一致,否则无法通过主机名找 |
| GATEWAY=192.168.10.2 | 表示虚拟网关,通常都是将IP地址最后一个数字变为2 |
| NETMASK=255.255.255.0 | 表示虚拟机子网掩码,通常都是255.255.255.0 |
| DNS1=192.168.10.2 | 表示域名解析器,此处采用pc端电脑对应的DNS(也可以设置为Goodle提供的免费DNS服务器8.8.8.8) |
(2)修改主机名为linux
(3)设置主机名称映射为192.168.10.100 linux
(4)重启网络服务加载修改配置生效 或者执行 reboot重启
1
| systemctl restart network
|
(5)查看IP地址是否生效
(6)测试外部网络连接(保证宿主机Windows可以上网前提)
防火墙
(1)CentOS6防火墙是iptables,CentOS7防火墙是firewalld
(2)CentOS6防火墙启停服务是service,CentOS7防火墙启停是systemctl
(3)常用命令
| 命令 | 简介 |
|---|
| systemctl status firewalld.service | 查看防火墙状态 |
| systemctl stop firewalld | 暂时关闭防火墙 |
| systemctl disable firewalld.service | 设置开机禁用防火墙(永久关闭防火墙) |
| systemctl start firewalld.service | 启动防火墙 |
| systemctl enable firewalld | 重启防火墙 |
| systemctl enable firewalld.service | 设置开机启用防火墙 |
运行级别
| 级别 | 简介 |
|---|
| 0 | 关机 |
| 1 | 单用户【可用于找回丢失密码】 |
| 2 | 多用户状态投有网络服务 |
| 3 | 多用户状态有网络服务 |
| 4 | 系统未使用保留给用户 |
| 5 | 图形界面 |
| 6 | 系统重启 |
切换到指定运行级别的命令
用户、组、权限管理
用户管理
添加用户
Linux系统是一个多用户多任务的操作系统,一个用户需要至少属于一个组
| 语法 | 简介 |
|---|
| useradd -d 指定目录 新的用户名 | 给新创建的用户指定家目录 |
| useradd -g 用户组 用户名 | 增加用户并指定组 |
| useradd -d 指定目录 新的用户名 | 给新创建的用户指定家目录 |
删除用户
删除用户时,一般不会删除家目录
| 语法 | 简介 |
|---|
| userdel 用户名 | 删除用户,保留家目录 |
| userdel -r 用户名 | 删除用户以及用户主目录 |
切换用户
su命令可用于在不注销的情况下切换到系统中的另一个用户
| 语法 | 简介 |
|---|
| su - 用户名 | 切换用户 |
| exit | 返回默认用户 |
查询用户
当用户不存在时,返回无此用户(uid代表用户id号、gid代表所在组id号、组代表所在组名称)
| 语法 | 简介 |
|---|
| id 用户名 | 查询用户信息 |
| whoami | 查看当前用户 |
| who am I | 查看登录用户 |
修改密码
指定密码时,界面看不到输入的密码,工作中密码必须复杂点
| 语法 | 简介 |
|---|
| passwd [选项] 用户名 | 给用户指定或修改密码 |
| passwd -d 用户名 | 删除已命名账户的密码 |
| passwd -l 用户名 | 锁定指名账户的密码 |
| passwd -u 用户名 | 解锁指名账户的密码 |
| passwd -e 用户名 | 终止账户的密码 |
| passwd -f 用户名 | 强制执行操作 |
用户组
增加组
| 语法 | 简介 |
|---|
| groupadd 组名 | 增加组 |
| useradd -g 用户组 用户名 | 增加用户并指定组 |
删除组
| 语法 | 简介 |
|---|
| groupdel 组名 | 删除组 |
| usermod -g 用户组 用户名 | 修改用户的组 |
改变用户所在的组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组
| 语法 | 简介 |
|---|
| usermod -g 组名 用户名 | 改变用户所在组 |
| usermod -d 目录名 用户名 | 改变该用户登陆的初始目录 |
权限管理
rwx权限详解
(1)作用到文件
| 字母 | 简介 |
|---|
| r(read) | 可读,查看 |
| w(write) | 可修改,不一定可以删除,如果该文件所在的目录有写权限,才能删除该文件 |
| x(exexute) | 可执行 |
(2)作用到目录
| 字母 | 简介 |
|---|
| r(read) | 可读, |
| w(write) | 可写,可以修改,目录内创建+删除+重命名目录 |
| x(exexute) | 可执行,可以进入该目录 |
(3)rwx用数字表示(rwx=4+2+1=7)
| 字母 | 数字 |
|---|
| r(read) | 4 |
| w(write) | 2 |
| x(exexute) | 1 |
文件信息简介
执行ls -l 后显示的内容:-rwxrw-r– 1 root root 1213 Feb 2 09:39 abc.txt
| 位置 | 简介 |
|---|
| 第一列 | 第0位确定文件类型:文件(-),目录(d),链接(l) 第1—3位确定所有者(该文件的所有者)拥有该文件的权限。—User 第4—6位确定所属组(同用户组的)拥有该文件的权限。—Group 第7—9位确定其他用户拥有该文件的权限。—Other |
| 第二列 | 表示链接数,表示有多少个文件链接到inode号码 |
| 第三列 | 表示拥有者(用户) |
| 第四列 | 表示所属群组(组) |
| 第五列 | 表示文件大小,单位字节 |
| 第六列 | 表示文件最后修改时间,注意不是文档的创建时间 |
| 第七列 | 表示文件名称。以点(.)开头的是隐藏文档 |
u、g、o、a简介
| 字母 | 简介 |
|---|
| u | 表示该文件的所有者(user) |
| g | 表示与该文件的所有者属于同一组,所在组(group) |
| o | 表示其他以外的人,其他组(other) |
| a | 表示这三者皆是,u、g、o的总和(all) |
+、-、=简介
相关命令
| 语法 | 简介 |
|---|
| chmod [选项] 文件目录名 | 修改文件或者目录的权限 |
| chown 用户名 文件名 | 修改文件所有者 |
| chown 用户名:所在组 文件名 | 修改文件所有者和所在组 |
| chgrp 组名 文件名 | 修改文件所在组 |
文件管理
文件及目录显示类命令
| 命令 | 简介 |
|---|
| pwd | 显示当前工作目录的绝对路径 |
| ls或ll | 显示目录文件 |
| cd | 改变当前工作目录 |
| stat | 显示文件或文件系统状态信息 |
文件内容的显示和处理
| 命令 | 简介 |
|---|
| cat [选项] 要查看的文件名 | 查看文件内容(只能浏览不能修改) |
| more 要查看的文件名 | 逐页显示文件中的内容 |
| less 要查看的文件名 | 逐页显示文件中的内容(可向上,向下翻页) |
| echo [选项] [输出内容] | 输出内容到控制台 |
| head [选项] 文件名 | 查看文件开头部分内容(默认前10行) |
| tail [选项] 文件名 | 查看文件的尾部内容(默认后10行) |
| tac 文件名 | 反向显示文件内容 |
文件及目录操作类命令
| 命令 | 简介 |
|---|
| mkdir [选项] 要创建的目录 | 创建新目录 |
| rmdir [选项] 要删除的空目录 | 删除目录 |
| rm [选项] 要删除的文件或目录 | 删除文件或目录 |
| touch 要创建的文件名称 | 创建文件或修改文件的存取时间 |
| cp [选项] source dest | 复制文件或目录(source表示需要复制的目录,dest表示想要复制到的地方) |
| mv 文件名 新文件名 | 文件改名 |
| mv 文件名 目录名 | 文件移动 |
压缩和解压缩
tar压缩解压文件
| 命令 | 简介 |
|---|
| tar [选项] xxx.gz | 打包,归档文件或目录(类似Windows系统中 压缩工具) |
| tar -zxvf xxxx.tar.gz 要打包压缩的文件或目录 | 打包并压缩文件(可多个) |
| tar -zxvf xxxx.tar.gz | 解包到当前目录 |
| tar -zxvf xxxx.tar.gz -C 指定目录 | 解包到指定目录中 |
| tar -cvf xxx.tar 要打包的文件或目录 | 打包不压缩 |
| tar -xvf aaaa.tar | 解不压缩的包 |
gzip压缩解压文件
| 命令 | 简介 |
|---|
| gzip 文件 | 用于压缩文件 |
| gunzip 文件.gz | 用于解压文件 |
zip文件压缩解压
| 命令 | 简介 |
|---|
| zip [选项] xxx.zip 将要压缩的内容 | 压缩文件和目录的命令 |
| unzip [选项] xxx.zip | 解压缩文件 |
上传下载
(1)lrzsz是一款程序,在linux中可以代替ftp的上传和下载
(2)安装lrzsz工具包
(3)使用lrzsz工具包
进程管理
显示进程
| 命令 | 简介 |
|---|
| ps [选项] | 显示系统执行的进程,一般使用ps -aus |
| pastree [选项] | 可以直观的来查看进程信息(进程树) |
终止进程
| 命令 | 简介 |
|---|
| kill -9 进程号 | 表示强迫进程立即停止 |
| killall 进程名称 | 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用 |
动态监控进程
| 命令 | 简介 |
|---|
| top [选项] | 动态显示进程 |
| netstat [选项] | 监控网络状态 |
包管理
yum包管理
(1)yum是一个Shell前端软件包管理器
(2)yum源最设置成国内的
1
| yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
(3)基于yum包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包
1 2 3 4
| yum list | grep xx软件列表
yum install xxx下载安装
|
rpm包管理
(1)一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中
(2)rpm包名基本格式:firefox-45.0.1-1.el6.centos.x86_64.rem
| 参数 | 简介 |
|---|
| firefox | 软件名称 |
| 45.0.1-1 | 版本号-发布次数 |
| el6.centos.x86_64 | 适用操作系统64位系统,i686、i386表示32位系统 |
| rpm | 扩展名 |
(3)安装rpm包语法:rpm -ivh rpm包全路径名称
| 参数 | 简介 |
|---|
| -i、–install | 安装软件包 (安装) |
| -v、–verbose | 提供更多的详细信息输出 (提示) |
| -h、–hash | 软件包安装的时候列出哈希标记(进度条) |
| –nodeps | 强制删除,一般不推荐这样做,因为依赖于该软件包的程序可能无法运行 |
(4)常用命令
| 命令 | 简介 |
|---|
| rpm -qa | grep xx | 查询已安装的rem列表 |
| rpm -qa | 查询所安装的所有rpm软件包 |
| rpm -qa | more | 分页查看所安装的所有rpm软件包 |
| rpm -qi 软件包名 | 查询软件包信息 |
| rpm -ql 软件包名 | 查询软件包中的文件 |
| rpm -qf 文件全路径名 | 查询文件所属的软件包 |
| rpm -e RPM包的名称 | 卸载rpm包 |
| rpm -ivh RPM包全路径名称 | 安装rpm包 |