Linux
基础
- TODO
基础操作
安装
- 安装直接在 - VMware Fusion里面安装centos7.x最小版
- 自定义配置分区
 
- 我要配置分区 - 完成 - 标准分区
- 引导分区 - /boot- 1G
- 交换分区 - swap- 4G
- 根分区 - /- 15G
 
 
- 网络配置
 
- 修改host名
- 开启网络地址转换
 
 
- 帐密设置
 
- 设置root密码
- 创建普通用户
 
 
文件系统
- Linux的文件系统 
- 树形层级的目录 
 
- 此处的bin是一个快捷方式,在/usr/bin
 
- 此处的bin是一个快捷方式,在
Vim
- Linux里面非常重要的文件编辑器,Vi和Vim 
- Vim非常的强大! 
- 如果系统没有,就使用 - yum install vim进行安装
- 模式转换 
 
- 进入的是一般模式,不能够编辑,但是可以复制、粘贴、删除
- 编辑模式就是可以对文件进行编辑-append等等
- 命令模式可以执行的操作就是可以对修改后的文档进行保存,退出等操作
 
- 一般模式命令 
- 编辑模式命令 
- 指令模式命令 
网络配置
- 桥接模式 - (桥接模式网络连接) 
- 虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接连接外部网络,并且对外部网络是可见的
- 桥接网络适配器称为 vmnet0。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-bridge 和 vmnet-netifup 服务。
 
- NAT(网络地址转换)模式 - (Internet共享) 
- 虚拟机和主机构建一个专有网络,并通过虚拟网络地址转换设备对IP进行转换。虚拟机通过共享主机IP可以实现访问外部网络,但外部网络无法访问虚拟机
- NAT 网络适配器称为 vmnet8。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-natd、vmnet-dhcpd 和 vmnet-netifup 服务。
- 会虚拟出一个网卡
 
- 仅主机模式 - (自定) 
- 虚拟机只与主机共享一个专有网络,与外部网络无法直接通信
- 仅主机网络适配器称为 vmnet1。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-dhcpd 服务。
 
静态IP
- 修改静态IP-而非DHCP进行分配 
- cd sysconfig/network-scripts/- 切换目录
- vim ifcfg-ens33- 修改配置文件
- service network restart
 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"   // 修改为静态
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="79898376-c7f6-44f1-9758-e6129fd7a033"
DEVICE="ens33"
ONBOOT="yes"
# 配置以下信息
# IP地址
IPADDR=192.168.212.142
# 子网掩码
NETMASK=255.255.255.0
# 网关
GATEWAY=192.168.212.2
# DNS解析
DNS1=223.5.5.5
DNS2=223.6.6.6
DNS3=8.8.8.8主机名
- 查看主机名 - hostname
- 修改主机名 - vim /etc/hostname或者hostnamectl set-hostname xxx
- 修改hosts文件 - vim /etc/hosts- 里面相当于是通讯录,一个IP对应一个名称,下次ping就可以直接使用名字
远程登录
- 远程登录很简单 
- 一是终端使用ssh
- 二是使用ssh远程工具
 
- ssh 
- ssh 用户名@地址
- 然后按提示来就行
- 地址可以是域名,别名或者IP
 
系统管理
- Linux中常驻内存的进程被称为service 
- centos6 
- 基本语法- service 服务名 xxx
- 查看服务 - ll /etc/init.d- centos6
 
- 基本语法- 
- centos7 - 主 
- 基本语法 - systemctl start|restart|status|stop 服务名
- 查看服务 - ll /usr/lib/systemd/system- centos
- service结尾就都是服务文件
 
- 基本语法 - 
- 配置开机自启动 
- chkconfig 服务名 on- centos6
- systemctl disable/enable 服务名,service- centos7
 
- 关机 
- shutdown- 等一分钟关机
 
- -c- 结束刚才一分钟并取消关机
- -r- 重启
- -H- 关机)
 
 
- halt- 关闭系统,但不断电
- poweroff- 关机,断电
- reboot- 重启
- sync- 将数据由内存同步到硬盘中
 
Shell
- Shell就是终端,Linux里面有很多以sh结尾的文件就是 
- 常用的shell就是工具有 - bash、- zsh等等
- 帮助命令 - 
- man [命令/配置文件]
- help 命令- 内置命令
- 命令 --help- 外置命令
 
- 常用快捷键 
- ctrl + c- 退出shell
- ctrl + l- 清屏 - clear
 
文件目录类
- pwd- 打印工作目录
- ls-列出当前目录文件以及文件夹
- mkdir xxx- 当前目录下新建一个xxx的目录
- mkdir -p a/b/c- 父目录下创建
- rmdir -p a b- 删除目录a和b(有文件也删除)
 
- cp source dist- 复制文件或者目录
- touch xxx- 当前目录新建一个xxx的文件
- rm fileName- 删除文件
- -f- 强制删除
- -r- 删除文件夹
- -rf- 删除文件夹包括其子目录所有东西
 
- mv filename dist- 移动目录
- cat filename- 查看文件内容
- -n- 显示行号
- more filename/- less filename
 
- echo "hhh"- 将xxx输出到控制台
- -e- 可以使用转译字符
- echo -e "hello \n world" > hello.txt- 覆盖文件
- echo -e "hello \n world" >> hello.txt- 追加文件
 
- haed -n filename- 显示文件头n行内容,默认10行
- tail -n filename- 显示文件尾n行内容,默认10行
- -f可以实时更新追踪
 
- ln -s source dist- 软链接,快捷方式
时间日期类
- date +%Y-%m-%d- 按格式要求显示时间信息
- cat- 查看日历
用户管理类
- Linux是一个多用户多任务的分时操作系统 
- useradd username- 添加新用户(可以去看- /home下看) - 可以指定主目录
- passwd username- 给用户设置密码
- userdel -r filename- 删除指定用户
- sudo- 让普通用户有roo权限
- 在/etc/sudoers里面可以为用户分配权限
 
- 在
- 组 
- 默认创建的用户属于自己的组,每个用户可以加入多个组
- groupadd
- usermod -g groupname username- 加入组
- whele组是类似于管理员的组
 
文件权限类
- TODO:这里去看文件
 
- chmod
- chown-
搜索查找类
- find disk -name filename- 查找某个文件,当前目录下
- locate xxx
- which xxx- 查找命令位置
- grep- 管道符,用于过滤
- grep -n test filename- 查找文件里面有test关键字的行
- ls | grep .cfg- 列出当前 目录所有以cfg结尾的文件
 
压缩解压类
- gzip file- 压缩文件
- 只能压缩文件,不能压缩目录
- 压缩不保留原文件
- 同时压缩多个文件会生成多个压缩包
- 所以不常用
 
- gzip file.zip- 解压文件
- zip/unzip
- tar [options] xxx.tar.gz
- 一定要好好看下面的参数
 
 
磁盘管理类
- du
- 查看目录下文件大小总和等等
 
 
- df等剩余几个命令去查文档
- mount/unmount- 挂载命令
- 硬盘分区 
- Linux 
进程管理类
- ps- process status - 查看当前用户/shell进程
- ps aux- 常用
- 可以使用管道
 
 
- kill PID- 杀进程
- pstree- 查看当前进程的进程树
- top- 实时监控
- netstat- 查看网络状态和端口占用信息
- netstat -anp | grep PID
 
 
- 定时任务 
- crontab- 具体怎么用去看文档
 
包管理
- Linux里面有很多的包管理工具,Centos这边是RPM和YUM
RPM
- RPM - - Redhat Package Manager- 软件包管理工具
 
- rpm -qa- 查询所有已安装的RPM软件包
- rpm -qi xxx- 查询有没有被安装
- rpm -e xxx- 移除xxx软件包
- rpm -i xxx- 安装xxx软件包
- -ivh
 
YUM
- yum相比于rpm最大的特点就是不需要进行依赖
- yum install -y xxx
- yum update -y xxx
- yum remove -y xxx
- yum list









