一、初识Linux系统

1、内核版本 -》二次开发 -》加入定制功能 -》 发行版本
2、做为服务器使用
    -》稳定性,安全性
    -》失去易用性
3、嵌入式开发
    -》空调遥控器,电视机遥控器
    -》ATM 的操作系统大多数也是 Linux

二、VMWare虚拟机

1、是一款软件,可以linux,windows,macos等
2、安装时遇到的问题
    -》进入BIOS系统,把支持虚拟化打开
    -》打开vmware时候报错,去windows查看“服务”,把所有的关于vmware服务都打开

三、网络配置

1、命令ifconfig 查看网卡信息(ip,netmask...)
2、修改网卡配置信息:vi /etc/sysconfig/network-scripts/ifcfg-eth0
    -》ONBOOT=yes
    -》BOOTPROTO=static
    -》IPADDR=192.168.109.41
    -》NETMASK=255.255.255.0
    -》GATEWAY=192.168.109.2
    -》DNS1=192.168.109.2
3.验证
    -》ping www.baidu.com 收到回复信息就成功了,可以访问外网
        - 失败原因:1.防火墙没有关闭
                    命令: service iptables status 查看防火墙状态
                            service iptables stop 关闭防火墙
                            service iptables start 开启防火墙
                    2.unknown host
                        - 检查eth0,确保DNS配置正确
                        - route add default gw 192.168.109.2
4、关闭防火墙服务
    -》命令 chkconfig --list iptables   查看防火墙服务状态
    -》命令 chkconfig iptables off     关闭防护墙开启自动启动
    -》命令 chkconfig iptables on      打开防护墙开启自动启动
5、修改主机名
    -》vi /etc/sysconfig/network
    -》HOSTNAME=bd23-server1.ibeifeng.com
6、配置网络映射:配置ip和主机名之间的映射关系
    -》vi /etc/hosts  
        - 192.168.109.41 bd23-server1.ibeifeng.com

四、Linux常用命令

1、clear命令
    -》作用:清屏
    -》快捷键:ctrl + l
2、pwd命令
    -》作用:显示当前所在目录(绝对路径)
    -》例子:# pwd
3、cd命令
    -》作用:切换目录
    -》例子:cd /etc/sysconfig/
             cd .. 返回上一级目录
4、ls命令
    -》作用:查看指定目录结构
    -》例子:ls /
             ls -l /
    -》参数:-l 以详细信息来显示
             -a 把所有文件或目录列出来(包括隐藏的)
             -h 显示文件大小,以KB,MB...来显示
             -d 仅查看指定目录
5、mkdir命令
    -》作用:创建目录
    -》例子:mkdir test1
             mkdir -p test2/test3
6、touch命令
    -》作用:创建文件
    -》例子:touch word.txt
7、删除命令 rmdir rm
    -》rmdir删除空目录
    -》rm可以删除目录和文件
        - rm -r /test3  加-r表示删除目录
        - rm -f words.txt 加-f表示默认选是
8、cp命令
    -》作用:拷贝文件或目录
    -》例子:cp -r dir1 /opt 加-r表示拷贝的目标是目录
9、mv命令
    -》剪切,文件重命名
    -》例子:mv /opt/dir1 /tmp
             mv /opt/dir1 /opt/dir1.rename
10、查看文件命令
    -》cat /etc/passwd       适合查看小文件
    -》more /etc/services    适合查看大型文件,支持向后翻页以及逐行查看
    -》less /etc/services   适合查看大型文件,支持向前/后翻页,并且也可以逐行查看
    -》head -5 /etc/services  查看文件的前5行,如果不加选项那么默认查看前10行
    -》tail -5 /etc/services  查看文件的后5行,如果不加选项那么默认查看后10行
       tail -f namenode.log   查看滚动的日志文件

五、用户和用户组管理

1、cat /etc/passwd  查看当前系统下所有用户信息
2、root:x:0:0:root:/root:/bin/bash
    -》第一列root:用户名
    -》第二列x:密码标记位,有x说明root用户有密码
    -》第三列:用户ID  UID 
        - 规则:0 就是表示root用户
                1-499 系统用户(伪用户)
                500 以后是分配给普通用户的
    -》第四列:用户组ID   GID
    -》第五列:用户的描述信息
    -》第六列:用户所在的家目录
    -》第七列:用户登录成功后,默认使用的Shell
3、man命令
    -》作用:查看命令或者配置文件详细信息
    -》man 5 passwd 查看配置文件加5
    -》man ls   man mkdir
4、添加用户
    -》useradd ibeifeng
5、修改用户密码
    -》passwd ibeifeng  注意用普通用户身份去修改,简单密码不会通过
6、删除用户
    -》userdel -r zhangsan   加-r表示同时删除/home目录下的同名目录
7、用户之间的切换
    -》su - ibeifeng 建议大家加-,它表示既切换身份,又切换环境变量
8、cat /etc/group 查看用户组配置文件

六、文件权限管理

1、- rwx rwx rwx.   2 root root  4096 Jun  2 11:27 bin
2、- rwx rwx rwx
    -》第一列:表示文件类型:l是连接文件,d是一个目录,-表示是一个文件
    -》第二列:代表文件所有者所拥有的权限     user    u
    -》第三列:代表文件所属组所拥有的权限 group   g
    -》第四列:对于文件来说是其他人            other   o
    -》r - read  读权限
       w - write 写权限
       x - x.... 执行权限
3、修改文件权限
    -》chmod g+w dirtest/  给dirtest文件的所属组添加写权限
    -》chmod u-x dirtest/  给dirtest文件的所有者去掉执行权限
    -》chmod a-r dirtest/  对所有者,所属组,其他人同时操作
    -》除了root用户以外,文件的所有者也拥有权限修改
4、数字表示权限
    -》r  4  2^2
    -》w  2  2^1
    -》x  1  2^0
    -》-  0
    -》练习  - rwx r-x r--   754   d rwx r-x r--
    -》chmod 754 dirtest/
5、修改文件的所有者
    -》chown ibeifeng dirtest/    
    -》chown root:root dirtest/  同时修改所有者和所属组
    -》注意,只有root用户才有权限修改,既是是文件的所有者都没有权限
6、修改文件的所属组
    -》chgrp ibeifeng dirtest/
    -》注意,只有root用户才有权限修改,既是是文件的所有者都没有权限
7、对于目录和文件来说r w x权限的意义是不通的
    -》r权限
        - 对于目录:ls 
        - 对于文件:cat more less head tail
       w权限
        - 对于目录:mkdir touch rmdir rm
        - 对于文件:vi echo > echo >>
       x权限
        - 对于目录:cd
        - 对于文件:脚本文件,用shell命令去执行

七、vi编辑器

1、vi编辑器三种模式:命令模式,编辑(插入)模式,最后行模式
2、如何进入三种模式:
    -》命令模式:默认
    -》编辑模式:在命令行模式下,按i
    -》最后行模式:在命令行模式下,按shift + :
3、最后行模式下的操作:
    -》q 退出
    -》wq 保存退出
    -》!(比如q!)强制退出
    -》set nu(或number) 显示行号
    -》1,$s/nologin/666/g
        - 1表示第一行
        - $符号表示最后一行
        - s表示替换
        - /nologin  待替换的内容
        - /666 替换成这个的内容
        - /g  全局替换
4、命令模式下的操作:
    -》删除:按下dd,不仅仅是删除,还有一个剪切功能
    -》撤销:按下u
    -》复制:按下yy,复制多行:n+yy表示多行复制,复制的行数是n,起始位置是光标处
    -》粘贴:按下p
    -》跳到文件的头部:按下gg
    -》跳到文件的尾部:按下大G(shift+g)
    -》光标跳到行尾,并进入编辑(插入)模式:按shift + a
    -》保存并退出:按下ZZ,(shift + zz)

八、复习

1、初识linux,具有稳定性,安全性,通常作为服务器使用,嵌入式
2、linux:内核版,发行版(centos)
3、vmware虚拟机软件,安装centos
    -》虚拟化没有打开,BIOS
    -》vmware服务要启动
4、网络配置
    -》NAT(推荐),桥接(共用真实机的ip),hostonly(仅本地,不能访问外网)
    -》vi /etc/sysconfig/network-scripts/ifcfg-eth0  
        - IPADDR=192.168.109.22
        - NETMASK=
        - GATEWAY
        - DNS1
    -》修改主机名
        -》hostname 主机名
        -》vi /etc/sysconfig/network 
    -》网络映射
        - vi /etc/hosts
        - 192.168.109.22 hostname
    -》ping不通,把防火墙关闭
5、远程连接
    -》xshell crt winscp notepad++
6、linux的根目录
7、用户和用户组管理
    -》vi /etc/passwd
    -》man 5 passwd 查看这个配置什么意思
    -》useradd 用户   passwd 用户  userdel -r 用户
    -》vi /etc/group
    -》groupadd 用户组 groupdel 用户组
8、文件权限管理
    -》所有者 所属组 其他人
    -》rwx 读,写,执行
    -》chmod 修改文件权限
    -》chown 修改文件的所有者
    -》chgrp 修改文件的所属组
9、vi编辑

九、find命令

-》find 搜索范围 -条件 具体条件内容
-》find / -name init
-》find / -name init*    模糊搜索,把所有以init开头的文件全部搜索出来
-》find / -name *init*   模糊搜索,把所有包含init的文件全部搜索出来
-》find / -iname init*   模糊搜索,-iname表示忽略大小写字母
-》find / -size +100  文件块大小:512B 1KB=1024B=2文件块
   100MB 1M=1024KB 100MB=102400KB 204800文件块
-》例子:find / -size +204800   搜索根目录下大于100MB的所有文件
-》-type 根据文件类型来所搜
   -d 查找目录
   -f 查找普通文件
-》例子:find / -iname *init* -a -type f(d)
-》-a 就是 -and ,查找的时候是且的关系

十、常用符号

1、管道符号 |
    -》通常和grep命令一起使用,表示把|符号前面的内容左右|后面命令的输入
    -》例子:cat /etc/passwd | grep 'root'  
2、> 覆盖文件里的内容
    -》例子:echo 'hello world' > words.txt
2、>> 追加内容到文件里,不会覆盖
    -》例子:echo 'hello' >> words.txt

十一、sudo权限管理

1、可以把只有root才有权限执行的命令赋予普通用户
2、ls cd cat 这些命令的操作对象不是文件就是目录
   sudo 操作对象 命令
3、用vi打开/etc/sudoers配置文件,是没有权限保存并退出,只能强制退出不能保存
   所以,我们要使用visudo命令来修改这个配置文件
4、sudo -l 查看普通用户拥有哪些sudo赋予的命令
5、ibeifeng ALL=(ALL) /usr/sbin/useradd /usr/sbin/userdel
    -》添加多个命令可以空格分开
6、注意:不要把/bin/vi命令配置给普通用户

十二、磁盘管理

1、df -h  查看linux系统磁盘使用情况
2、sda sdb sdc
3、分区类型:主分区,扩展分区,逻辑分区
    -》规则:主分区 + 扩展分区 数量 小于等于 4,并且扩展分区只能有一个
             逻辑分区是在扩展分区之上进行划分,没有数量限制
4、fdisk /dev/sdb  对磁盘进行配置
5、创建分区
    -》-n 添加一个新分区
    -》-p 打印当前分区信息
    -》-q 退出但不会保存
    -》-w 把配置写入磁盘,并退出
6、格式化分区
    -》mkfs.ext4  ext4是磁盘的格式,centos6里默认都使用这个
    -》mkfs.ext4 /dev/sdb5  格式化sdb5这块分区
7、挂在分区
    -》mount /dev/sdb5 /mnt  把sdb5这块分区挂在到/mnt目录下
    -》分区一定要挂载,否则无法使用
    -》假如你挂载了已经挂载过的分区,会有提示,不会产生错误
8、挂载完之后的分区就可以使用了
    -》df -h 进行查看

十三、常用的系统命令

1、ifconfig 查看网卡信息
2、service 服务(network,iptables) 参数(start,stop,status)
3、chkconfig --list iptables   可以查看指定服务启动状态
   chkconfig iptables on/off   设置服务是否开机启动
4、端口管理命令 netstat
    -》-a  all  显示所有端口
    -》-l  listener  显示正在被监听的端口
    -》-t  tcp  显示tcp协议的端口
    -》-u  udp  显示udp协议的端口
    -》-r  route  显示路由器信息
    -》-n  number 主机名hostname以数字的形式显示  
    -》netstat -rn 查看路由器信息
5、路由器管理 route
    -》route -n 查看路由器信息
    -》route add default gw 192.168.109.2  添加一个默认网关地址
6、 kill -9 1851  关闭id是1851的进程

十四、压缩管理命令

1、gzip passwd 压缩的文件
2、注意:1.压缩的原文件会消失;2.gzip不能压缩目录
3、gunzip passwd.gz 解压缩
4、tar -cvf dir1.rename.tar dir1  打包,f一定要放在最后,否则会报错
5、tar -xvf dir1.rename.tar -C /opt 解包到一个新的目录中,一定要加-C
6、tar -xvf dir1.rename.tar  如果解压到当前目录,当前目录已经有这个文件,那么会覆盖
7、tar -zcvf dir1.tar.gz dir1/ 加-z打包的同时进行压缩
8、tar -zxvf dir1.tar.gz 解压缩并同时解包,-z可以不加

十五、软件管理

1、软件分两种类型:
    -》源码包
    -》二进制包
        - 经过源码包编译之后得到的
        - 使用方便:安装、更新、卸载等
        - 依赖性:A -> B -> C  安装的时候
2、挂载iso文件  mount /dev/cdrom /media/
3、rpm的管理方式
    -》离线安装,安装包要下载好(在本地)
    -》查询
        rpm -qa 查询所有已经安装过的rpm软件
        - q 查询
        - a 所有的
    -》安装
        rpm -ivh /media/Packages/zlib-devel-1.2.3-29.el6.x86_64.rpm
        - i代表安装
        - vh显示安装过程
        - 注意包名后要跟.rpm
    -》卸载
        rpm -e zlib-devel-1.2.3-29.el6.x86_64
        - -e代表卸载
        - --nodeps不考虑依赖包,如果不加,会把安装软件时所安装的其他依赖包全部卸载
4、yum的管理方式
    -》在线安装,生产环境中多数使用它
    -》查询
        yum list 查询软件(已安装的,待更新的,未安装的)
        yum list | grep zlib 
    -》安装
        yum install zlib-devel.x86_64  
        yum install -y zlib-devel.x86_64  加-y表示不在询问,直接以yes通过
    -》卸载
        yum remove zlib-devel.x86_64   
        yum remove -y zlib-devel.x86_64 加-y表示不在询问,直接以yes通过
    -》yum仓库
        - @  表示已经安装的软件
        - base 表示在yum仓库里的安装包
        - updates 已经安装过的软件有更新版本

十六、正则表达式

1、通配符
    -》*     匹配0个或任意多个字符
    -》? 匹配任意一个字符
    -》[]    匹配其中任意一个字符
2、支持通配符的常用命令:ls find cp
3、正则表达式常用命令:grep sed awk

十七、shell编程

1、shell在linux里有两个含义
    -》shell脚本命令解释器
    -》shell是一门解释型脚本语言
2、自定义变量
    -》name=“hello world”  如果变量值之间有空格,一定要用引号
    -》echo $name 把变量值打印出来
    -》set 命令可以查看已经定义的变量
    -》unset name  删除变量
3、环境变量
    -》export NAME="shell"  定义环境变量
    -》set 或 env 查看环境变量
    -》unset NAME  删除变量
4、shell脚本
    -》固定格式,开头第一行必须这样写:#!/bin/bash
    -》执行一个shell的方式:
        - 绝对路径的方式:/root/shs/canshu1.sh 1 2 3 4 5
        - 相对路径的方式:./canshu1.sh 22 333 44 55   多数用这种方式
        - sh canshu1.sh 11 22 33 44
        - 注意:把shell脚本赋予执行权限

十八、时间命令

-》date 查看时间
-》date -s "2018-06-03 16:23:30" 修改时间命令

十九、crontab周期性定时任务

-》首先确保crond这个服务是开启的,可以使用service crond status 这个命令查看
    假如没有开启,使用service crond start开启下这个服务
-》crontab [-e][-l][-r]
    -e 编辑
    -l 查询当前所有的定时任务
    -r 删除所有的定时任务,推荐使用-e进入编辑模式,然后逐条删除

二十、克隆虚拟机

-》克隆之后要修改网卡配置信息
    - cd /etc/sysconfig/network-scripts  目录下
    - 然后把ifcfg-eth0文件重命名为ifcfg-eth1
      mv ifcfg-eth0 ifcfg-eth1
    - DEVICE=eth1
    - UUID 删除
    - HDADRR 删除
    - IP 修改
    - System Name 修改
-》修改主机名 /etc/sysconfig/network
-》修改网络映射 /etc/hosts
版权声明:本文为

RioTian の Site

原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/RioTian/p/16031643.html