Linux

linux操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Tb71kcr-1580739766146)(/Users/tongfei/Library/Application Support/typora-user-images/image-20191219100614226.png)]

基本命令

常用

control+L 清屏

history !+数字 执行历史使用过的命令

init 0 关机 init 6 重启

shell命令

  1. 文件管理命令

    ls -l 显示文件详细信息

    ​ -a显示所有文件

    ​ -h 查看文件大小

    “.” +文件名 隐藏文件

    ​ --help 查看命令使用方法

    image-20191219104250692
  2. 通配符的使用

    “?” 匹配文件名下的一个字符

    “*”匹配文件名下任意个字符

  3. 新建文件

    mkdir +文件名

    mkdir -p a/b/c 新建目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJmOfG7N-1580739766148)(/Users/tongfei/Library/Application Support/typora-user-images/image-20191219110606511.png)]

    mkdir - m 755 +文件名 创建文件并设置权限

    chmod +权限值 +文件名 修改权限

    chmod a 所有用户

    ​ u 所有者

    ​ g属组

    ​ o 其他用户

  4. 删除文件

    rmdir 文件名 删除文件(空文件)

    rmdir -p 目录 连续删除空目录

    rm 文件 删除文件

    rm -r 删除目录

    rm -rf 删除目录并不提示

  5. 复制文件和目录

    cp +源文件路径 + 目标文件路径

    image-20191219112716353
  6. 移动文件或目录

    mv

  7. 新建文件

    touch

查看文件

cat more less head

查找命令

  1. find (查找范围)(查找条件表达式)

  2. grep命令:查找文件内容

    在某个文件中找我们需要的某部分内容

    image-20191219113719428
  3. man 查看命令帮助手册

  4. 输入输出重定向

    标准输入 0 --键盘 >

    标准输出 1 --屏幕 >>

    错误输出 2 --屏幕 2>

  5. 管道符

    | 将左边命令的执行结果作为右边的对象

  6. 修改权限

    chown 所有者 文件名

    chown :所属组 文件名

    chown 所有者 :所属组 文件名

    image-20191219145136241
image-20191219145250929 image-20191219145616017

删除一条规则

image-20191219150200600

setfacl -m

getfacl 文件名

setfacl -b 删除所有规则

setfacl -x 删除一条规则

gpasswd -d 用户名 属组 从属组删除用户

gpasswd -a 用户名 属组 添加用户到属组

vim编辑

image-20191219200603302 image-20191219201708503

用户与用户组

  1. 用户

    超级用户:拥有对系统的最高管理权限,默认是root

    普通用户:只能对自己目录下的文件进行修改,具有登录系统的权限

    虚拟用户:不能登录系统。。

    主组 附属组

  2. 用户配置文件

    a. /etc/passwd 用户的基本信息 用户名、口令、用户标识号…

    b./etc/shadow 用户密码信息

    用户组 /etc/group /etc/gshadow

  3. 用户管理

    image-20191220101742235
  4. 磁盘分区
    步骤一:向Linux服务器添加一块硬盘,并重启系统。
    步骤二:使用命令查看系统当中的硬盘及其分区信息
    ls /dev/sd* 查看/dev目录下的硬盘文件
    fdisk -l 查看硬盘分区的信息
    步骤三:对磁盘进行分区
    fdisk 磁盘文件名
    fdisk /dev/sdb 对sdb这块硬盘进行分区

    ​ n 新建分区 p主分区 e 扩展分区 l逻辑分区 t修改类型 l查看了类型

    ​ 步骤四:格式化磁盘分区
    ​ mkfs -t 分区格式 分区名称
    ​ mkfs -t ext4 /dev/sdb1
    ​ 步骤五:挂载分区
    ​ mount -t 分区格式 设备名称 空目录名称
    ​ mount -t ext4 /dev/sdb1 /mnt/sdb1
    ​ mount -t ext4 -o rw /dev/sdb1 /mnt/sdb1
    ​ 检查是否挂载成功:mount
    ​ 取消挂载:umount 挂载目录的名称 (不能在挂载目录下进行)
    ​ 查看已挂载分区的信息:df -hT /mnt/sdb1
    ​ 使用mount命令挂载的文件系统,只是临时的,如果系统重启则需要重新挂载。
    步骤六:可以使用/etc/fstab文件对文件系统进行永久挂载。
    步骤七:挂载光盘(光盘的设备文件名为:/dev/sr0,文件系统的类型为:iso9660)
    ​ mount -t iso9660 /dev/sr0 /mnt/cdrom
    步骤八:挂载U盘

查看命令

whereis + 命令名

安全机制

Getenforec 查看 Enforcing 保护状态 Permissive 关闭状态

setenforce 0 关闭安全机制 (临时的 重启失效)

image-20191223092928056

quota磁盘配额管理

  1. 首先要通过修改配置文件“/etc/fstab”的方式启用 quota 磁盘配额。 [root@localhost var]# vim /etc/fstab
    /dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 0

    将该文件系统重新挂载
    [root@localhost ~]# mount -o remount /data

    执行 mount 命令查看已经挂载的文件系统,检查是否已经启用了 usrquota 和 grpquota 功能
    [root@localhost ~]# mount | grep sdb1
    /dev/sdb1 on /data type ext4 (rw,usrquota,grpquota)

  2. quotacheck 命令可以对文件系统进行磁盘配额检测,发现哪些文件系统启用了 磁盘配额功能,并在这些文件系统中生成配额文件 aquota.user 和 aquota.group。 [root@localhost ~]# quotacheck -cvug /data

    相关选项的作用:
    -c,创建配额文件。
    -v,显示详细信息。 -u,检查用户配额信息,创建 aquota.user 文件。 -g,检查组配额信息,创建 aquota.group 文件。

  3. Edquota -u -g 配置配额

    Edquota -t 修改时间

  4. Quotaon -ugv /data 激活data文件系统配置配额

  5. 检查

    [root@localhost ~]# dd if=/dev/zero of=/mnt/data bs=1KB count=120

    1. quota -u -g 查看用户互分区配额使用情况
    image-20191224141525040
image-20191224091454531 image-20191224092622096 image-20191224092808361 image-20191224093144011

软件安装与包管理工具

  1. 软件安装方法:

    a RPM包安装

    image-20191223105132129

    Systemctl start/status/stop +服务名称 开启/状态/停止 服务

    rpm -pa 查看

    rpm -ivh 安装

    rpm -evh 卸载

    b YUM源安装

    默认的yum源文件存在的位置 /etc/yum.repos.d/

    本地源:file:// 网络源http:// 服务器 ftp://

    Yum list 列出仓库中所有可用软件包

    c 源代码安装

  2. image-20191224093418666

服务与进程管理

linux系统启动过程

  1. 加电自检

  2. BIOS设置

    进入bios的方式:开机按del f2 f12 ……

    引导 程序

    内核

    运行级别

    image-20191224095714456

linux系统的运行级别

image-20191224100103810

target文件保存在 /lib/systemd/system

使用systemctl管理服务

Systemctl is-enable +服务名称 查看是否开机启动

systemctl enable 服务名称

systemctl disable 关闭服务

进程的延迟与周期调度

  1. 进程的概念

    ps 查看

    ps aux 查看进程 (静态)

    Top 查看动态进程

    Kill 终止进程 kill -9 +pid号 强制终止

    tty 显示当前连接的设备

  2. 进程的调度

    • 延迟性调试命令 at -f 文件 -m 时间

      功能:指定时间运行指定的程序 格式:at [-f 文件] [-m ] 时间

      -f : 指定存放计划执行命令的文件
      -m: 作业结束后发送邮件给执行 at 命令的用户 时间:任务执行的时间,可采用相对和绝对两种方法
      绝对表示法: MMDDYY 或 MM/DD/YYYY, today 或 tomorrow 来表示今天或明天 相对表示法:now+num+时间单位,其中的时间间隔可以是 minutes, hours, days, weeks

    • 周期性调度命令 crontab

      功能:计划调度服务

      crontab –u user {-e | -l | -r} -u:为指定的用户设置计划任务 -e:编辑计划任务列表 -l:查看指定用户的计划任务列表,默认为当前用户 -r:删除用户的计划任务列表

      crontab –u user file (其中 file 代表任务列表文件) 任务列表文件的格式:minute hour day month day-of-the-week run_command

      image-20191224110315849

      crontab -u 用户名 -l

      做好的任务存放在 /var/spool/cron/ 目录下

      删除任务列表 crontab -r -u 用户名

      image-20191225092828291 image-20191224163200310
image-20191225092158750

samba服务器

文件共享 samba nts

image-20191224145821469

vim /etc/selinux/config

image-20191224205121337

samba服务器配置步骤

  1. yum install -y samba samba-client 安装samba服务

  2. systemctl start smb.service nmb.service 启动服务

  3. mkdir /home/company建立共享目录

  4. useradd -s /sbin/nologin xzusr useradd -s /sbin/nologin gcusr useradd -s /sbin/nologin xsusr #smbpasswd -a xzusr

    #smbpasswd -a gcusr

    #smbpasswd -a xsusr

    smbpasswd 选项说明:-a 添加 smb 帐号;-x 删除 smb 帐号;-d 禁用 smb 帐号;-e 启用 smb 帐号

    创建访问账号

  5. 修改配置文件/etc/samba/smb.conf

    [company] //共享名称为 company comment = company share//共享注释

    path = /home/company browseable = yes guest ok = no writeable = yes

    [company]
    comment = company share
    path = /home/company
    guest ok = no
    valid users=xzusr,gcusr,xsusr //允许访问的用户列表

    write list=xzusr //允许写入的用户列表

    修改后需要重启服务

  6. 测试

    在 linux 客户端访问测试:smbclient -U smbuser //192.168.75.128/company 查看服务器的共享文件有哪些:smbclient -L 192.168.75.128
    查看 smbuser 用户可以访问的共享文件:smbclient -L 192.168.75.128 -U smbuser

    测试配置文件
    testparm 当配置文件的语法出错时会给出提示,修改再次运行 testparm 测试。

  7. 在 Linux 下访问 Windows 共享目录的配置方法

    (1)在 Windows xp 上设置一个共享目录:d:\myfiles

    (2)在 Linux 下安装 samba-client 客户端

    # yum install samba-client

    (3)安装 cifs-utils 软件包

    # yum install cifs-utils

    (4)在 Linux 下创建一个挂载点
    # mkdir /mnt/Windows

    (5)挂载 Windows 上的共享目录 d:\myfiles 到 Linux 下的/mnt/Windows 目录下
    # mount -t cifs -o username=Administrator //192.168.0.3/mytest /mnt/Windows Enter password: ********

    (6)如果挂载成功,则可以进入/mnt/Windows 下进行相应操作。

    (7)在/etc/fstab 文件中,加入该共享目录的挂载信息

    //192.168.1.123/redhat_disk /mnt/Windows cifs username=tommy,password=111111 0 0

    (8)到此为止,Windows 上的共享目录//192.168.1.123/redhat_disk 就被成功挂载到了 Linux

    上面了,并且 Linux 重启后,会自动挂载该目录到/mnt/Windows 目录下

    image-20191225093511054

TFP服务器

  • 用户:系统用户、虚拟用户、匿名用户
  • ftp安装 yum install vsftp ftp
  • systemctl start vsftp
  • systemctl enable vsftp.sever
  1. 匿名用户 访问的路径是 /var/ftp

  2. ftp的配置文件是/etc/vsftp/vsftpd.conf 修改用户访问权限

    (1)默认允许匿名用户与系统用户访问ftp,访问的默认目录是:/var/ftp

    访问测试(用户名:anonymous 密码为空)

    img

    (2)ftp的配置文件是:/etc/vsftpd/vsftpd.conf

    设置匿名用户访问ftp:

    anonymous_enable=YES

    (3)设置匿名用户登录ftp时不输入密码:

    no_anon_password=YES

    ftpd_banner= welcome to our home! //设置提示内容

    (4)设置匿名用户上传、新建、删除文件:

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=yes

    (5)设置文件权限

    chmod 777 pub 不推荐使用

    setfacl -m u:ftp:rwx pub 推荐使用

    (6)设置匿名用户上传或新建文件的权限

    如果使用vsftp的是本地用户,则要修改配置文件中的 local_umask 的值;
    如果使用vsftp的是虚拟用户,则要修改配置文件中的 *anon_umask* 的值。

    umask = 022 时,新建的目录 权限是755,文件的权限是 644;
    umask = 077 时,新建的目录 权限是700,文件的权限时 600。

    (7)设置不允许系统用户登录,只能匿名用户登录:

    anonymous_enable=YES

    local_enable=no

    (8)设置匿名用户访问ftp的默认目录

    ​ anon_root=/var/ftp

    anon_root=/var/public

    注意:要修改vsftp服务器匿名用户默认目录时,不可以将anon_root设置为一个其他账号已有的家目录,否则不能实现匿名用户访问ftp服务器。

    image-20191225142516115[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qlWFPsAB-1580739766149)(/Users/tongfei/Library/Application Support/typora-user-images/image-20191225172035063.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Th3VRQMi-1580739766149)(/Users/tongfei/Library/Application Support/typora-user-images/image-20191225172035063.png)]

  3. 系统用户

  4. 虚拟用户

    配置虚拟用户访问FTP****

    1、安装Vsftpd虚拟用户需要用到的软件及认证模块

    #yum install pam* libdb-utils libdb* --skip-broken -y

    2、创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,用户名密码格式如下:

    techftp

    123456

    netftp

    123456

    admftp

    123456

    markftp

    123456

    3、生成Vsftpd虚拟用户数据库认证文件,设置权限为600

    #db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftp_login.db

    #chmod 600 /etc/vsftpd/vsftp_login.db

    4、配置PAM认证文件:vim /etc/pam.d/vsftpd.vu

    auth required pam_userdb.so db=/etc/vsftpd/vsftp_login

    account required pam_userdb.so db=/etc/vsftpd/vsftp_login

    5、创建一个系统用户,用于虚拟用户映射

    #useradd -s /sbin/nologin ftpuser

    6、修改配置文件:#vim /etc/vsftpd/vsftpd.conf

    #pam_service_name=vsftpd

    pam_service_name=vsftpd.vu

    guest_enable=YES

    guest_username=ftpuser

    user_config_dir=/etc/vsftpd/vsftpd_user_conf

    virtual_use_local_privs=YES

    7、分别为虚拟用户创建私有的虚拟目录与独立的配置文件

    #mkdir /home/ftpuser/techftp

    #mkdir /etc/vsftpd/vsftpd_user_conf

    #vim techftp

    local_root=/home/ftpuser/techftp

    write_enable=YES

    anon_world_readable_only=YES

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    #mkdir /home/ftpuser/netftp

    #vim netftp

    local_root=/home/ftpuser/netftp

    write_enable=YES

    virtual_use_local_privs=NO #不具有可登录用户的权限 anon_world_readable_only=YES #可浏览目录

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

image-20191225164048740 image-20191225165359920

DHCP

配置文件路径/etc/sysconfig/network-scripts

image-20191226095455543

修改网络配置 ifcfg-eht

启用网卡:ifup ens33

禁用网卡:ifdown ens33

image-20191226104546541 image-20191226174437504 image-20191227092200061

apache服务

  1. 配置文件
  2. 服务
  3. 日志

DNS服务

dns的查询方式:递归查询、迭代查询

正向解析:将域名解析成IP地址,A记录 CNAME记录 MX记录

反向解析:将IP地址解析成域名,PTR指针

区域类型:hint 根区域 master 主要区域 salve 辅助区域

配置dns服务器:以配置www.zlt.com为例

  1. 打开: /etc/named.rfc1912.zones
  2. 到var/named目录下配置区域配置文件
  3. 修改区域配置文件的所属组为named
  4. 启动服务(重启)
  5. 设置dns地址
  6. 测试dns:nslookup

辅助dns服务器

  1. 安装bind
  2. 启动bind

Nginx

远程访问与控制

puttygen 生成秘钥对

防火墙

netfilter/iptables

7.0以前叫做iptables (包过滤防火墙)

7.0以后叫做firewalld

iptables

  1. 四张表

    • raw
    • mangle
    • nat
    • fileter
  2. 五个规则链

    • input
    • output
    • forWord
    • Postruting
    • Perrouting
  3. 匹配顺序

    1. 规则表的顺序
  4. iptables 语法规则

    如果没有指定,默认在fileter表

    iptables 【-t 表名】管理选项 【链名】【条件匹配】【-j 目标动作】

  5. 规则匹配条件

    image-20200102165613994

shell脚本

awk 字符提取 -f 分隔符+ 符号 {print $1,$7} $+数字 代表第几个字段

> /dev/null 忽略信息

shell脚本变量

  1. 定义新的变量

    变量名=变量值 ps:= 号旁边没有空格

    名称需要以字母或者下划线开头,不能包含特殊字符

    当变量名称容易和紧跟其后其他字符相混淆时,需要添加”{}”将其括起来,否则将无法确定正确的变量名称。对未定义的变量,将显示空值

    $()可以嵌套命令 单个的可以用"`"符号

  2. read命令

  3. 变量的作用范围

  4. 数值变量的运算

  5. 特殊的变量

    环境变量、全局变量

  6. 预定义变量

    $# 表示命令行中的参数的个数

    $#表示所有位置参数的内容

测试

  • test 条件表达式 \ 【条件表达式】

  • 文件测试

  • 数值比较

    -eq a等于b

    -ne a不等于b

    -gt a大于b

    -lt a小于b

    -le a小于或等于b

    -ge a大于或等于b

  • 字符串比较

case分支语句

for循环语句

shell函数应用

shell脚本测试

  • echo命令

  • bash命令

    sh [-nvx]

正则表达式

\ 转义符 ^ 开头 $ 结尾

sed工具

  • 语法 sed -e ‘编辑指令’ 文件1 文件2.。。。

    sed -n -e ‘编辑命令’ 文件1 文件2.。。。

    sed -i -e ‘编辑命令’ 文件1 文件2.。。。

    image-20200107171848585
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值