Python32期【day 3】Linux基本命令操作管理

参考链接

https://www.cnblogs.com/oldboy-heqing/articles/13610167.html#_label3

一、命令的快捷键

  这里和vi的快捷键不同,主要是系统命令的快捷键

  1、命令和路径补全       tab    (centos7添加了命令的补全)

  2、移动光标快捷键

    1、移动到命令行首          ctrl+a        vi下是0或者^

    2、移动到命令行尾        ctrl+e  end     vi下是$

  3、剪切(删除)、粘贴、清除快捷键

    1、剪切到命令行首        ctrl+u  vi下是d0

    2、剪切到命令行尾             ctrl+k        vi下是dG

      3、剪切光标前的一个单词   ctrl+w   word

    4、粘贴          ctrl+y  vi下是p

    5、中断终端正在执行的任务    ctrl+c  cancel

  4、重复执行命令

    1、获取上一条命令的最后部分(空格之后的部分)   esc+.点

    2、退出当前shell命令行               ctrl+d     logout

    3、搜索命令行使用过的历史命令记录          ctrl+r 输入命令关键字查找

    4、从搜索命令行退出              ctrl+g

  5、清屏和暂停

    1、清屏                    ctrl+l    clear

    2、暂停执行在终端运行的命令    ctrl+z  比如:暂停ping或者循环打印 如果ctrl+c不行,就用ctrl+z暂停

二、linux系统的目录

/       根目录
bin        普通用户可以执行的命令
sbin      只有root用户才能执行的命令
boot      存储系统引导文件
dev       存储系统设备文件信息(光驱、硬盘)
        vmware可以添加一个硬盘(一共是2个硬盘)
        ll /dev/sd*
        sda是磁盘1
        sda1
        sda2
        sdb是磁盘2
etc    存储程序配置文件信息

查找命令
find
find /etc -type f -name 'rsyncd.conf'
--搜索文件 备份的服务rsyncd
/etc/rsyncd.conf
find /etc -type d (搜索文件夹)

home        普通用户的家目录
root     root用户的家目录
mnt      用于存储设备临时挂载使用
      挂载是linux或者unix系统的特性
opt      第三方软件安装在这里
        类似win下的c:\program files
usr      jumpserver /usr/local/jumpserver
      第三方软件安装在这里
proc     显示内存中的信息 cpuinfo meminfo
        系统内核文件信息和系统硬件参数信息
        此目录中数据信息会保存在内存中
tmp      临时目录

        保存服务产生的临时文件
var      日志文件信息
      默认将日志文件保存到该目录

三、挂载

挂载的概念:

  linux系统中,所有存储设备都是以设备文件的方式呈现在系统中,但是设备文件不能直接用于存储数据,需要将设备文件挂载到一个空目录上,才能查看数据。

用光驱cdrom存储设备作为参考,挂载过程如下:

1、确认vmware中的已经加载iso镜像信息

 

 

2、确认系统光驱设备文件是否存在

[root@oldboyedu /]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 Sep 6 20:32 /dev/cdrom -> sr0

3、创建挂载点目录实现挂载

   (默认挂载点是/mnt)  

[root@oldboyedu Packages]# mount /dev/cdrom /mnt
[root@oldboyedu Packages]# cd /mnt/
[root@oldboyedu mnt]# ll
total 678
-rw-rw-r--. 1 root root 14 May 2 2018 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 May 3 2018 EFI
-rw-rw-r--. 1 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 1 root root 18009 Dec 9 2015 GPL
drwxr-xr-x. 3 root root 2048 May 3 2018 images
drwxr-xr-x. 2 root root 2048 May 3 2018 isolinux
drwxr-xr-x. 2 root root 2048 May 3 2018 LiveOS
drwxrwxr-x. 2 root root 655360 May 3 2018 Packages   #这个里面有很多rpm的安装包,可以用于安装rpm软件(和yum安装是类似的)
drwxrwxr-x. 2 root root 4096 May 3 2018 repodata
-rw-rw-r--. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 May 3 2018 TRANS.TBL

4、卸载光驱设备  

[root@oldboyedu mnt]# umount /mnt
umount: /mnt: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@oldboyedu mnt]# umount -l /mnt    #这里的-l参数可以强制卸载
[root@oldboyedu mnt]# ll /mnt    #卸载完成后,这里就是空的
total 0

mount /dev/cdrom /mnt
packages目录下有很多rpm安装包 (和yum安装是类似的)

安装命令 rpm
rpm -ivh rpm安装包的名字
i是install
v是显示安装过程
h是human-readable

如何确认软件是否已经安装
rpm -qa rpm安装包的名字(取版本号的前面)
q query 查询
a all

rpm -qa|grep vim(推荐)
grep是筛选,过滤

rpm -qa回车会显示系统中已经安装的所有软件

软件安装部署方法:
方法1:利用yum安装软件
ps:必须具有外网访问能力

方法2:利用rpm安装软件
ps:需要提前获取程序的软件包
有的在光驱的package中
有的需要从网上下载

四、目录中重要的配置文件

1、网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0

[root@oldboyedu network-scripts]# pwd
/etc/sysconfig/network-scripts

[root@oldboyedu network-scripts]# more ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none    #静态手工设置ip
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=eth0    #网卡逻辑名称
UUID=c0454050-c5b5-4f89-ac17-2df6ad969737
DEVICE=eth0  #网卡物理设备名称
ONBOOT=yes
IPADDR=10.0.0.200  #ip地址
PREFIX=24   #掩码
GATEWAY=10.0.0.254   #网关地址
DNS1=223.5.5.5   #域名解析服务器地址
IPV6_PRIVACY=no


如果网卡配置文件修改了,需要重启网卡服务后才能生效

systemctl start network

systenctl restart network

2、网络域名服务dns配置文件
/etc/resolve.conf
223.5.5.5 223.6.6.6 阿里云的公共dns服务器
114.114.114.114 电信云公共dns
119.29.29.29 腾讯公共dns
上述3个公共dns可以在搜索引擎搜索到

[root@oldboyedu etc]# more resolv.conf
# Generated by NetworkManager
search com
nameserver 223.5.5.5   #默认的域名服务地址信息,多条记录,后面的就是备份的
[root@oldboyedu etc]# pwd
/etc

上述dns配置文件resolve.conf修改后,无需重启任何服务,即可立即生效

3、网络本地解析配置文件
/etc/hosts
curl www.baidu.com 测试连通性

xinfang.jd.com 192.168.1.1

10.0.0.7 www.oldboy.com   #实现指定域名和指定ip的对应关系,以的形式存储了主机名IP地址映射关系

#浏览器访问www.oldboy.com,实际是访问的地址10.0.0.7

上述hosts文件修改后,无需重启任何服务,即可立即生效

4、开机自动运行脚本
/etc/rc.local   #这里的rc.local是软链接(快捷方式),实际指向的是/etc/rc.d/rc.local(给这个文件执行权限)
需要确保rc.local文件所指向的源文件权威具有执行权限,默认未设置,
需要执行chmod命令手工设置执行权限。

-rw-r--r--. 1 root root 473 Apr 11 2018 rc.local
[root@oldboyedu rc.d]# chmod +x rc.local
[root@oldboyedu rc.d]# ll
total 4
drwxr-xr-x. 2 root root 70 Sep 3 02:39 init.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc0.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc1.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc2.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc3.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc4.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc5.d
drwxr-xr-x. 2 root root 45 Sep 3 02:39 rc6.d
-rwxr-xr-x. 1 root root 473 Apr 11 2018 rc.local

5、系统运行状况日志
/var/log/messages

 有正常运行状态输出,也有错误运行状态输出,主要用于排错使用

五、linux操作系统基础优化介绍

1、操作系统安全优化配置

  1、防火墙服务-firewalld

    作用:控制一些网络流量的进入,避免系统服务受到外网入侵攻击

    临时关闭:

      systemctl stop firewalld   #停止

      systemctl status firewalld  #查看状态

      systemctl start/restart firewalld   #启动/重启

    永久关闭:

      systemctl disable firewalld   #永久关闭

      systemctl  is-enabled firewalld  #查看状态是否是永久关闭

      systemctl enable firewalld   #永久开启

[root@oldboyedu log]# systemctl is-enabled firewalld
disabled   #表示永久关闭
[root@oldboyedu log]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@oldboyedu log]# systemctl is-enabled firewalld
enabled

  2、selinux服务

    作用:主要是某些时候,限制root的某些操作功能

    临时关闭:

      setenforce 0   #临时关闭  0是false

      getenforce

          Permissive   #已经关闭的状态

      setenforce 1  #临时打开  1是true      

      getenforce

          Enforcing   #已经打开的状态

    永久关闭:

      将/etc/selinux/config 文件中的enforing是永久打开

                      disabled是永久关闭

      方法1:vi编辑

[root@oldboyedu selinux]# more config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing   #这个是打开,如果改成disabled就是永久关闭
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

[root@oldboyedu selinux]# pwd
/etc/selinux

方法2:sed -i '/enforcing$/s#enforcing#disabled#g' /etc/selinux/config

#将enforing结尾的那一行中的enforcing修改成disable  

2、操作系统下载软件优化

  curl -o newName.tar http://a.b.c/a.tar 把a.tar下载下来顺便改名为newName.tar

  curl -o  /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo   #优化基础软件下载源

    #把文件https://mirrors.aliyun.com/repo/Centos-7.repo下载下来后,重命名成/etc/yum.repos.d/CentOS-Base.repo(这个文件已经存在,就会覆盖)

  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo   #优化扩展软件下载源

    #把文件http://mirrors.aliyun.com/repo/epel-7.repo下载下来后,重命名成/etc/yum.repos.d/epel.repo(这个文件不存在,就会新建)

     优化完毕后,下载系统常用软件进行测试

  yum install -y vim lrzsz net-tools telnet wget tree sl bash-completion

3、操作系统时间信息优化

  1、调整系统时区信息    

[root@oldboyedu yum.repos.d]# timedatectl status   #查看系统时间和时区信息
Local time: Tue 2020-09-08 07:37:09 EDT
Universal time: Tue 2020-09-08 11:37:09 UTC
RTC time: Tue 2020-09-08 11:37:09
Time zone: America/New_York (EDT, -0400)    #时区
NTP enabled: yes
NTP synchronized: yes   #时间同步  NTP(network time protocol) 这行和上行都需要是yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2020-03-08 01:59:59 EST
Sun 2020-03-08 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2020-11-01 01:59:59 EDT
Sun 2020-11-01 01:00:00 EST

[root@oldboyedu yum.repos.d]# timedatectl set-timezone Asia/Shanghai    #修改系统的时区

一般情况下,时区修改完毕后,时间就调整好了

  2、下载安装系统时间同步服务程序

    yum install -y chrony

    systemctl start chronyd   #临时开启  #注意:服务名是chronyd 而不是chrony

    systemctl status chronyd

    systenctl  enable chronyd  #永久开启,开机就启动

  3、开启系统自动同步功能

    timedatectl set-ntp 1   #开启

    timedatectl set-ntp 0   #关闭

    timedatectl status   #查看系统时间和时区信息

    NTP enabled: yes   #这2行都是yes即可
    NTP synchronized: yes        

4、操作系统远程连接效率提升-xshell

  1、调整远程连接配置文件    

[root@oldboyedu ssh]# sed -i '79s#yes#no#g' sshd_config

#将指定文件中第79行的yes替换成no
[root@oldboyedu ssh]# sed -i '115s#yes#no#g' sshd_config

grep -Ei 'gssapia|usedns'  sshd_config

#将上述命令修改的2行过滤出来

参数i是不区分大小写

参数E是正则表达式

 

        2、重启服务,使配置文件修改后生效

    systemcrl restart sshd

 

posted @ 2020-09-07 22:13  王同佩  阅读(285)  评论(0编辑  收藏  举报