千峰云计算第一周

Linux发行版本:CentOS(免费版)   Ubuntu(乌班图)   Debian(kali军火库)   Opensuse   redhat(红帽)   Fedora ...

第一天

安装VMware,网上下载CentOS 7的IOS映像文件,配置Vmware完成centos系统安装。
虚拟网络模式

1.仅主机

2.桥接

3.网络地址转换

        如果一个虚拟机网络是nat  一个是桥接(bridge)

        nat可以访问桥接  但桥接不能访问nat        nat——>bridge

        如果都是桥接 可以实现互相访问 nat <———> nat

        如果是两个nat 不能互通 nat ——— nat

        如果虚拟机采用桥接,真机(宿主机)中的虚拟机与真机属于同一个网络

虚拟机磁盘分区
  1. 第一个挂载点/boot 容量500M (存放操作系统内核之类的数据)

  2. BIOS Boot 存在就分配500M 不存在就不分配

  3. 剩下的都分给 / (根目录)

分区方案具体根据业务环境艳照按照运维规范来定

        swap(交换分区):虚拟内存,当内存耗尽时,把硬盘当作内存用,防止OOM(内存溢出)

        /boot 存放启动文件,例如内核kernel

管理员账户密码root

实验环境:root:密码随意

业务环境:root密码需要满足密码复杂强度 防止黑客暴力破解

        尽量每个业务线使用不同的密码 不建议的密码:自己生日 女朋友生日 手机号 姓名 拼音 密码不随意写在纸上

生产环境系统安装

1.把u盘做成启动盘 Rufus 把centos的镜像写入

2.利用整个u盘给服务器安装操作系统

3.修改服务器启动项为u盘启动

第二天

虚拟机快照

        在系统崩溃的情况下,可以通过快照恢复

命令提示符

        [root@localhost ~]#

        root:用户名

        @ :分隔符

        localhost:主机名

        ~ :当前用户的家目录 /root

        # :超级管理员用户

        $ :普通用户

基础命令
Tab   快捷键自动补全
help  命令帮助手册

        例如:ls --help

        [ ] 表示可选项,即需要则用,不需要不用

        { } 表示必选项,即里面的选项为必用

        | 或者,比如:a|b的意思是a或者b只能选其中一个 a|b

        特殊情况:{a | b} 意思是a或b必选一个

        [a | b] 意思是要么一个不选,要么选a或b其中一个

        <> 这个符号有些特殊,有些命令中是必选,但是有些命令中是可选

        ... 表示多个,此符号前面是什么就是多个什么,比如:file...那就表示多个文件

man  命令帮助手册

例如:man ls

注意:空格翻页 / 跟上要搜索的内容

分类:

  1. 一般命令

  2. 系统调用库

  3. c标准库

  4. 设备文件

  5. 配置文件

  6. 游戏相关

  7. 杂项 //所谓杂项,其大部分都是没办法很好分给其他8类的帮助

  8. 系统管理相关命令

man [章节号] 手册名称

man 5 rsyslog.conf 查看第五类(配置文件)man手册

ls

:查看(当前)目录中的内容

语法格式:

* 代表所有文件

ls a* 查询以a开头的所有文件

ls *txt 查询以txt为结尾的所有文件

注意: ls a* /etc 查看当前目录下以a开头的所有文件,以及/etc 所有文件

ls [参数] [目录/路径]
ls -l 查询当前目录下的详细信息 等同于 ll
ls -a 查询所有文件,包括隐藏文件:以点开头的是隐藏文件
ls -h 人性化显示 将文件大小以单位去显示
ls -i 在每个文件左边打印i节点号(也叫序列号和索引号)inode

i节点号在每个特定的文件系统中是唯一的

ls [目录] [目录] :可以同时查看多个目录

:ls [目录] /root [这个目录需要存在] 查询指定目录中的内容

:No such file or directory(查看的目录不存在)【报错】 查询文件同样适用

[root@localhost ~]# ls -l

total 4

- rw------- . 1 root root 1481 May 10 17:40 anaconda-ks.cfg

文件类型 文件权限 所有者 所有组 时间日期 文件名

cd

:切换路径(目录切换)

语法结构:

                cd[路径]

cd 回到当前用户的家目录
  • 路径: 绝对路径:从根开始的路径称之为绝对路径

相对路径:非根开始,从当前目录下开始的路径

linux系统最高级(顶层) 目录: /

cd - 切换到上一次去过的目录
cd ../ 返回上一级目录
cd ../../ 返回上一级的上一级的目录
date

:显示当前年月日

date +%F 只显示当前日期
date +%H:%M:%S 获取当前时间 (小时:分钟:秒)
date +%H 获取当前小时0
date +%M 获取当前分钟
date +%S 获取当前秒
date -s [时间] 可以修改时间但是不准确
pwd

:显示当前目录

Linux目录结构

        bin 用户存放命令文件
        sbin 超级管理员存放命令文件
        which 查看命令所对应的命令文件的位置
        dev 存放设备文件
        /dev/null 垃圾回收站
        /dev/random 产生随机数
        /dev/zero 零设备文件
        home 家目录
        mnt 用来挂载
        proc 虚拟文件 (进程文件)
        boot 存放内核文件(启动文件)
        etc 存放配置文件
        usr 存放系统文件
        tmp 临时文件
        var 存放的一些变化文件,比如数据库,日志,邮件.....

第三天

  • 普通文件

touch [路径] [文件名]...
创建多个文件:

        touch 123 /opt/456 :在当前目录下创建123 ,同时在opt目录下创建456

创建文件以当前日期:

        touch $(date +%F)

批量创建文件: file1~file100

        touch file{1..100}

在一个目录下创建多个没有关联的文件:

        touch /home/{aaa,www,zzz}

注:touch 无则创建,有则修改时间
删除文件:

        rm -rf 文件名

        r:递归

        f:强制

        rm -rf ./* 删除当前目录的所有文件 * 号是所有 ./当前目录 /删根(删除所有) /opt/删除指定目录下的所有

        删除多个文件 rm -rf {aaaa.sssss.xxxxxxx}

  • 目录

mkdir 创建目录
当前目录下创建目录

        mkdir dir1 在当前目录下创建

        mkdir ./dir2 在当前目录下创建

        mkdir ../dir3 在上一级目录创建dir3

        mkdir dir4 dir5 创建多个目录

        mkdir /opt/dir1 dir6 在opt下创建dir1 同时在当前目录下创建dir6

        -p :递归创建,把路径中不存在的目录创建出来

        -v :显示创建过程

        以当前日期创建目录 同创建文件$()

ctrl + c 命令中止
ctrl + l 清屏
拷贝文件语法格式
cp [参数] 源文件[路径+文件名] 目的地

注:

-v:显示复制过程
-f:强制复制

        cp /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.bak}

                                                             /ifcfg-eth0{,.bak}

        作用相同,简写,相当于提取公因

        等同于cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak

!$ :获取上一条命令最后一个参数(当执行的这条命令需要调用上一条命令最后一个参数的时候)
同时拷贝多个文件:

        cp /etc/passwd /etc/host /mnt/

如果拷贝的是目录,使用cp需要加参数 -r

        无论拷贝的文件还是目录 都加 -r 不会报错万无一失

剪切 mv
mv 源文件/源目录 目的地

        剪切==移动

查看文件中的内容
cat 查看文件内容
  •        cat -n [文件] 显示行号

head 默认只能从前往后看文件10行
  • head -3 [文件] 查看前三行

tail 默认只能从后往前看文件10行
  • tail -3 [文件] 查看后三行

tailf 实时查看
  • tail -F 当文件被误删以后,重新创建仍然可以实时查看

  • tail -f 当文件被误删或改名后,停止实时查看

  • tailf 当文件被误删或改名后,退出查看

grep 过滤查看

        grep "^root" /etc/passwd 过滤以root开头的行 ^以...开头

        grep "root$" /etc/passwd 过滤以root结尾的行 $以...结尾

文件编辑工具

        Linux文件编辑工具 === vi vim

        系统中默认只有vi,没有vim(没有安装)

        云服务器自带vim

        yum -y install vim 自动安装vim

vim 文件存在就修改,文件不存在就创建

        i:打开文件的时候,输入i会立即变为插入模式,编辑完文件后点击esc,会退出插入模式,输入冒号wq保存并退出 (:wq)

命令模式:

        vim进入文件,即命令模式

快捷键:

        gg:光标直接定位到首行

        G:光标直接定位到尾行 3G 进入第三行 5G 进入第三行 以此类推

        End:光标定位到行尾 == $

        Home:光标定位到行首 == 0

        yy 复制

        p 粘贴

        dd 删除

        u 撤销

        dG 删除所有(光标需要在首行)

        x 删除光标所在的首元素

        D 删除光标所在位置以及后面的所有(当前行)

        r 用来修改单字符

        进入vim插入模式的快捷键: i I a A o O 常用(i)

        o 进入插入模式,光标在当前行的下一行插入

        O 进入插入模式,光标在当前行的上一行插入

:进入尾行命令模式

        w 保存

        q 退出

        wq 保存并退出

        w! 强制保存

        q! 强制退出

        wq! 强制保存并退出

临时环境:

        set nu 设置行号

        set nonu 取消设置行号

        set ic 不区分大小写

永久环境: 在vimrc中增删set命令

        /etc/vimrc 影响所有系统用户

~/.vimrc 影响某一个用户

替换:

        /是分隔符可以用@来替换

        %是所有

        1,5 表示从1-5行

        $ 表示最后一行

        5,$ 表示从5-最后一行

        ,8 表示当前行到第8行

        .*整行 &引用查找的内容

        例子:5,10 s/.*/#$/ 在5-10行前插入#字符

        范围 s/要替换的内容/替换成谁/g(全局修改)

        默认情况下之替换查询到的第一个

第四天

vim可视块模式:v进入可视模式 ctrl + v进入可视块模式

可视块
块删除:ctrl + v 选中要操作的块(内容) 利用d删除内容
块插入:ctrl + v --> I --> 输入要插入的内容 -->按两次esc
块替换:ctrl + v ,r 输入替换的字符
块复制:ctrl + v , y复制 p 粘贴
可视行:
V或者 shift + v 进入可视行 默认选中一行 (上下键选择更多的行)
行删除:v ----> d删除
:w /tmp/aaa.txt 另存为/tmp/aaa.txt
:1,3 w /tmp/2.txt
:r /etc/hosts 读入文件到当前行后
:5 r /etc/hosts 读入文件到第5行后

Linux文件类型

ls -l 文件名 //看第一个字符
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
s 套接字文件
p 管道文件
l 链接文件(淡蓝色)

history 查看历史命令

上下键调用之前执行的命令

Linux用户和组

1.创建用户

        系统用户的UID在1~999

        管理员用户UID为0

语法格式:
useradd [参数] 用户名

        在使用useradd创建用户时,除了创建用户本身: 还创建用户家目录

        名字跟用户名相同的组

        创建邮件

useradd -s /bin/bash(可登录用户) 用户名:指定登录shell 在创建用户的时候设置用户是否可以登录
su - 用户名 切换用户
useradd -u [值] 用户名:指定UID,用户标识,在创建用户时,如果需要单独指定UID
注意:UID不允许重复
useradd -r :创建系统用户

        创建了一个名为lin01系统用户且不能登录用户 :

        useradd -r -s /sbin/nologin lin01

useradd -M:不创建家目录

注意:默认情况下创建的普通用户有家目录:而系统用户没有家目录

useradd -d:指定家目录

注意:给一个用户指定家目录,该目录需不存在

2.查看用户
cat /etc/passwd
第一列:用户名
第二列:密码占位符
第三列:UID 用户标识
第四列:GID 组标识
第五列:用户描述(相当于说明书)
第六列:用户的家目录
第七列:登录shell(/bin/bash[可登录用户] /bin/sh[可登录用户] /sbin/nologin[不可登录用户])

从第七列可以判断当前用户是否可以登录系统

id 用户名 查看用户信息
id判断用户是否存在 存在的话返回用户信息,不存在返回no such user
3.修改用户
cat /etc/group 查看用户组
usermod
-l:修改用户名
-s:修改登录shell
-G:修改用户的附加组 (得需要有附加组的前提,如果没有则添加附加组)
-aG:在原有附加组的基础上再增加一个附加组

组:主组 附加组

4.删除用户
userdel -r 用户名

普通的userdel删的不彻底

注意:如果用户在使用,如果跟这个用户关联的主组,改组无法删除

退出用户 exit
交互式: passwd 用户名 (设置用户密码)
root用户切换其他用户不需要密码
普通用户切换普通用户需要输入对应的密码
非交互式:echo “123”|passwd --stdin 用户名
/etc/shadow 存放的是用户的密码
5.创建组
groupadd [参数] 组名
-g :指定gid
6.查看组
cat /etc/group
第一列:组名
第二列:密码占位符
第三列:GID
第四列:组的用户
7.修改组
groupmod -g 修改值 组名:修改组GID
groupmod -n 修改值 组名:修改组名
组管理(用户)
gpasswd -a lin01 caiwu:把lin01用户加入到caiwu组里面
gpasswd -M jim,tom,wing 组名 :可以把多个用户添加到组
gpasswd -d user1 grp1:把grp1组里的user1用户删除
usermod -aG caiwu lin01:给用户添加附加组 两个添加命令结果一样
8.删除组
groupdel 组名 :删除组
删除不了用户主组,只能通过删除用户的方式删除用户的主组

whoami 获取当前用户的用户名
sudo 用来以其他身份来执行命令

用户提权

方案一:
轮子组(wheel):在轮子组中的用户具备了管理员权限,能执行管理员命令
方案二:
修改配置文件visudo
lin01 ALL=(ALL) ALL
lin01 ALL=(ALL) NOPASSWD:ALL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值