zoukankan      html  css  js  c++  java
  • 001 linux安装优化、bash概述、命令行介绍、命令结构、获取命令的帮助信息

    基础介绍

    主要介绍企业中常用的服务器操作系统

    • 什么是Linux?

      类似于windows,是一个服务器上使用的操作系统,Linux支持多用户,多进程,多CPU,多任务等功能,而且Linux是开源的,支持嵌入式等。

    Linux发展史

    1969年,美国贝尔实验室开发,Unix

    • 优点:性能好
    • 缺点:消耗资源大

    1987年,谭宁邦开发微内核unix,主要用来教学

    1991年,芬兰 林纳斯-托瓦丝 在大学期间基于unix微内核开发了第一款Linux内核,并且开源,并且很快加入FSF基金会,

    Linux核心概念

    FSF基金会,GPL通用公共协议:开源的公共协议

    GNU

    Linux的组成:Linux内核—>系统软件—>个人软件 GNU Linux

    虚拟机介绍

    • 网络类型

      • 仅主机

        只能跟宿主主机进行连接

      • 桥接

        共享宿主主机网卡,跟宿主主机处于同一个局域网

      • NAT

        使用自己的虚拟网卡,有自己的一套网络

    Linux发现版本

    • RedHat/CentOS
    • Ubuntu
    • Debian

    虚拟机软件

    一般用来虚拟化一台主机的

    • 虚拟机软件分类
      • vmware workstation(个人使用,或者开发者使用)
      • KVM一般用在云服务平台上
      • ESXI部署在物理主机上

    安装linux系统、连接x-shell

    系统网络优化

    • 解决网络下载软件慢的问题
    • 解决系统软件升级的问题
    • 安装一些常用的计算机软件
    • 关闭一些不必要软件
      • 防火墙
      • selinux

    修改系统下载源

    华为源TP

    # 第一步:备份原来源
    mkdir /etc/yum.repos.d/backup/
    mv /etc/yum.repos.d/CentOS-*  /etc/yum.repos.d/backup/
    
    # 第二步:下载新的源
    cd /etc/yum.repos.d
    [root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    
    # 第三步:生成新的源的缓存
    [root@localhost yum.repos.d]# yum cleanall
    [root@localhost yum.repos.d]# yum makecache
     
    # 第四步:更新系统
    [root@localhost yum.repos.d]# yum update -y
    
    # 第五步:安装常用的计算机软件
    # 安装系统常用软件
    [root@www yum.repos.d]# yum -y install tree nmap sysstat lrzsz telnet bash-completion vim lsof net-tools rsync ntpdate nfs-utils
    
    # 第六步:关闭防火墙和Selinux
    [root@localhost ~]# systemctl disable --now firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    
    #关闭SELINUX
    1、临时关闭
    [root@oldboy ~]# setenforce 0
    setenforce: SELinux is disabled
    
    2、永久关闭
    [root@oldboy ~]# vim /etc/selinux/config
    SELINUX=disabled
    #稍微高级点的
    [root@localhost ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
    
    #关闭NetworkManager服务
    [root@tecent_cloud ~]# systemctl stop NetworkManager
    [root@tecent_cloud ~]# systemctl disable NetworkManager
    
    
    # 第七步:拍摄快照
    

    系统优化脚本

    #!/bin/bash
    
    rm -rf /etc/yum.repos.d/*
    
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    
    cat >/etc/yum.repos.d/huawei_epel.repo<<EOF
    [huawei_epel]
    baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
    name="huawei"
    enabled=1
    gpgcheck=0
    EOF
    
    cat >/etc/yum.repos.d/nginx.repo<<EOF
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    EOF
    
    yum clean all
    yum makecache
    yum update -y
    yum -y install python-setuptools python-pip gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zipqunzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-develnss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bisonsetuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfiggit bind-utils tmux elinks numactl iftop bwm-ng net-tools expect
    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    systemctl disable --now NetworkManage
    
    systemctl disable --now firewalld
    
    echo '#Timing synchronization time' >>/var/spool/cron/root
    
    echo '0 */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root
    
    cat >>/etc/sysctl.conf <<EOF
    net.ipv4.tcp_fin_timeout = 2
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_keepalive_time = 600
    net.ipv4.ip_local_port_range = 4000    65000
    net.ipv4.tcp_max_syn_backlog = 16384
    net.ipv4.tcp_max_tw_buckets = 36000
    net.ipv4.route.gc_timeout = 100
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_synack_retries = 1
    net.core.somaxconn = 16384
    net.core.netdev_max_backlog = 16384
    net.ipv4.tcp_max_orphans = 16384
    net.ipv4.ip_forward = 1
    EOF
    
    sysctl -p
    
    sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
    sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
    systemctl restart sshd
    
    systemctl disable abrt-ccpp.service
    systemctl disable abrt-oops.service
    systemctl disable abrt-vmcore.service
    systemctl disable abrt-xorg.service
    systemctl disable abrtd.service
    systemctl disable accounts-daemon.service
    systemctl disable atd.service
    systemctl disable auditd.service
    systemctl disable autovt@.service
    systemctl disable avahi-daemon.service
    systemctl disable bluetooth.service
    systemctl disable cups.service
    systemctl disable dbus-org.bluez.service
    systemctl disable dbus-org.fedoraproject.FirewallD1.service
    systemctl disable dbus-org.freedesktop.Avahi.service
    systemctl disable dbus-org.freedesktop.ModemManager1.service
    systemctl disable dbus-org.freedesktop.NetworkManager.service
    systemctl disable dbus-org.freedesktop.nm-dispatcher.service
    systemctl disable display-manager.service
    systemctl disable dmraid-activation.service
    systemctl disable firewalld.service
    systemctl disable gdm.service
    systemctl disable irqbalance.service
    systemctl disable iscsi.service
    systemctl disable ksm.service
    systemctl disable ksmtuned.service
    systemctl disable libstoragemgmt.service
    systemctl disable libvirtd.service
    systemctl disable lvm2-monitor.service
    systemctl disable mcelog.service
    systemctl disable mdmonitor.service
    systemctl disable microcode.service
    systemctl disable ModemManager.service
    systemctl disable multipathd.service
    systemctl disable NetworkManager-dispatcher.service
    systemctl disable NetworkManager.service
    systemctl disable postfix.service
    systemctl disable qemu-guest-agent.service
    systemctl disable rngd.service
    systemctl disable rtkit-daemon.service
    systemctl disable smartd.service
    systemctl disable spice-vdagentd.service
    systemctl disable systemd-readahead-collect.service
    systemctl disable systemd-readahead-drop.service
    systemctl disable systemd-readahead-replay.service
    systemctl disable tuned.service
    systemctl disable vgauthd.service
    systemctl disable vmtoolsd.service
    

    bash概述

    ​ bash(壳)是一个命令解释器,负责跟系统的内核进行交互,在操作系统的最外层

    ​ bash可以干什么?针对于操作系统做了一些操作

    • 文件管理

    • 目录管理

    • 权限管理

    • 用户管理

    • 应用管理

    • 软件管理

    • 磁盘管理

    • 等等

      执行方式 操作简单 针对简单的管理操作

      脚本script 操作复杂 操作一些复杂性较大的操作

    命令行介绍

    [root@localhost ~]#		#表示超级用户管理员命令提示符,注释
    [test@localhost ~]		$普通用户命令提示符
    
    []	 	#表示括号,没有其他的作用
    root	#本身是超级管理员	所在的位置是登录的用户
    @		#表示分隔符
    qls		#表示主机名,是唯一的,也是可以修改的
    ~		#表示本身当时用户的家目录
    
    变量	PS1	定义了命令行的结构
    

    命令结构

    命令的语法:
    一条完整命令
    命令			[选项]		[参数]
    command		[options]	[arguments]
    
    [root@localhost ~]# ls		#命令
    1.txt  2.txt  anaconda-ks.cfg  a.txt
    
    
    [root@localhost ~]# ls -l		#命令+选项
    total 12
    -rw-r--r--. 1 root root  979 Dec  9 11:11 1.txt
    -rw-r--r--. 1 root root    0 Dec  8 04:01 2.txt
    -rw-------. 1 root root 1439 Dec  2 04:04 anaconda-ks.cfg
    -rw-r--r--. 1 root root    5 Dec  9 09:13 a.txt
    
    
    [root@localhost ~]# ls /root		#命令+参数
    1.txt  2.txt  anaconda-ks.cfg  a.txt
    
    
    [root@localhost ~]# ls -l /root		#命令+选项+参数
    total 12
    -rw-r--r--. 1 root root  979 Dec  9 11:11 1.txt
    -rw-r--r--. 1 root root    0 Dec  8 04:01 2.txt
    -rw-------. 1 root root 1439 Dec  2 04:04 anaconda-ks.cfg
    -rw-r--r--. 1 root root    5 Dec  9 09:13 a.txt
    
    1、中括号内的内容是可有可无的,选项和参数不是必须的
    2、命令是指令的主体,是必须存在的
    3、选项是用于调节命令的某个功能
    	引导短格式(单个字符)	以短横杠表示‘-’	例如	-l
    	引导长格式(多个字符)	多个字符表示一定的含义	以‘--’表示		--all
    	多个短格式(多个字符)	每个字符都有一定的功能,‘-’	-al
    4、参数是命令操作的对象	文件或者目录
    5、指令、选项、参数两两之间必须要有一个空格
    6、完整的命令、选项、参数之间不能有空格
    7、命令的位置是在最前面的,是不能改变位置的
    8、选项和参数的位置是可以发生改变的
    

    获取命令的帮助信息

    1. man + 命令:详细的显示一个命令的使用方法
    2. help:查看一个命令的帮助信息,只能查看系统的内置命令(很少使用,不推荐)
    3. 命令 ----help:显示命令的选项帮助信息,有的命令不支持
    4. info:信息比较杂糅,查看说明信息,用的比较少
    5. 通过互联网的方式获取命令的帮助信息

    命令查询手册传送门

  • 相关阅读:
    VUE参考---组件切换动画
    VUE参考---组件切换方式
    VUE参考---为什么组件中的data必须是一个方法且返回一个对象
    VUE参考---组件中的data和methods
    VUE课程---26、组件
    VUE课程---25、发ajax请求
    VUE课程---24、插件
    Spring3.2.4集成quartz2.2.1定时任务(demo)
    TODO
    【转】Mac 程序员的十种武器
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14470080.html
Copyright © 2011-2022 走看看