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