linux

linux

在虚拟机中配置静态ip

修改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33内容如下:(其他的保持默认)

BOOTPROTO="static" #改为静态ip
IPADDR=192.168.48.100 #ip地址
GATEWAY=192.168.48.2 #网关
NETMASK=255.255.255.0 #掩码
DNS1=192.168.48.2 #dns
ONBOOT="yes"

如果虚拟机是克隆出来的,那么其ip和mac地址会与原来的一样,则需要修改IP地址,并删除原有mac地址使其重新生成具体方法如下(CentOS6.5中实践通过,CentOS7中只是改个IP地址就可以了):

  • VMware中:编辑虚拟机设置->网络适配器->高级->生成(生成新的mac地址);
  • 开启虚拟机;
  • 删除文件/etc/sysconfig/network-scripts/ifcfg-Auto_eth1;
  • 编辑/etc/udev/rules.d/70-persistent-net.rules文件,删除多余配置,保留最后一个eth,修改为eth0,并复制ATTR(address)的值,即复制硬件地址;
  • 编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,粘贴硬件地址到HWADDR,修改IPADDR;
  • 重启网卡(service network restart),重启虚拟机;

虚拟机的三种连接方式

  • 1)NAT网络地址转换(VMnet8),虚拟机和真实主机处在不同的网段,其使用nat方式实现联网;
  • 2)bridge桥接(VMnet0),使用桥接的方式使虚拟机和真实主机在同一个网段,从而实现联网;
  • 3)host-only仅主机(VMnet1),只能和主机通讯,不能和外界通讯。

虚拟机扩展磁盘

  1. 在VMware虚拟机上扩展磁盘;
  2. 查看状态:df -h:容量无变化,fdisk -l:分区多了一个;
  3. 找到扩展的分区名称,执行:fdisk /dev/sda
  4. 选择n添加分区,其他默认;
  5. 选择t修改分区id,L查看详情,然后选择:8e,即:Linux LVM;
  6. 选择w保存退出;
  7. 执行:partprobe,重新加载分区;
  8. 执行:fdisk -l可以看到列表中多了刚刚加的分区;
  9. 依次执行:pvcreate /dev/sda1 -> vgs -> vgextend centos /dev/sda1->vgs
  10. 依次执行:lvs->lvextend /dev/centos/root /dev/sda1->lvs
  11. 执行:xfs_growfs /dev/mapper/centos-root
  12. 完成,可以通过df -h查看磁盘情况了
  13. 说明:上面命令中的centos是vgs命令返回中的一个值,sda1是加的分区名

文件管理

  • xshell自带的两个文件传输命令,需要yum install lrzsz:
    rz:上传文件,
    sz:下载文件。

磁盘信息和文件系统

查看已挂载的磁盘及分区信息和及使用情况:df -h、查看目录使用情况:du -h;查看磁盘及分区信息:fdisk -l、parted -l;修改swap参数:临时修改用sysctl vm.swappiness=10、永久修改在/etc/sysctl.conf文件中添加vm.swappiness=10(需要重启)。

挂载文件系统命令:mount 设备 挂载目录。卸载:umount 设备/目录。/etc/fstab文件中保存了开机自动挂载的设备和目录。

linux目录结构

说明:文件或者目录名必须小于255个字符、区分大小写、不能使用"/"。

  • 家目录:/root/、/home/用户名/;
  • 可执行文件目录:/bin/、/usr/bin/、/usr/local/bin/,(对应root可执行文件目录为:/sbin、/usr/sbin、/usr/local/sbin/);
  • 配置文件:/etc/;
  • 临时文件:/tmp/;
  • 内核和启动文件:/boot/;
  • 服务器数据:/var/、/srv/;
  • 系统信息:/proc/、/sys/;
  • 共享库:/lib/、/usr/lib/、/usr/local/lib/;
  • 其他挂载点:/media/、/mnt/。

常用文件操作命令

  • 切换目录:cd(参数有:当前目录"."、父目录"…"、家目录"~"、返回上一个目录"-");
  • 创建目录:mkdir(选项:-p递归多层创建目录);
  • 显示目录/文件:ls(选项:-l全部显示、-l详细列表、-R递归处理、-d目录、-h友好显示)、查看别名:alias;
  • 复制命令:cp src des;(选项:-r递归处理);(常用于备份,备份文件一般以.bak为后缀);
  • 远程复制:scp -option src des;常用选项:-c递归、-p保留权限和修改时间、-v显示详情
  • 创建空文件/修改目录的时间戳:touch fileName;
  • 删除命令:rm(选项:-r递归处理了、-f强制删除)、rmdir(删除空目录);(文件名可以用通配符:?、*、-);
  • 移动命令:mv src des;(src与des在同一目录下时为重命名);
  • 批量修改文件名:rename from to filename;(将满足filename的文件名的from改为to,filename支持通配符:?、*、[]);示例:touch file{0…20}.txt(创建file0.txt-file20.txt共21个文件)、rename file file0 file?.txt(将file0.txt - file9.txt更名为file00.txt - file09.txt);

用户和组

说明

  • 用户及UID(UID即用户对应的标识号):root用户为0;系统用户为1-499;自定义用户从500开始;不同用户若uid相同则视为同一用户,但家目录,shell不同。
  • 用户信息存储位置:
  • 账户信息在/etc/passwd文件中,密码信息在/etc/shadow文件中,创建用户的同时,默认还会为用户创建一个同名的组,保存在/etc/group文件中;
    /etc/passwd文件信息及格式为:用户名:口令:标识号:组标识号:注释:主目录:shell七个部分;用户名长度一般不超过8个字符,大小写敏感,不能包含:,最好不包含.,不用-、+开头。

用户管理

  • 添加用户(useradd):
    选项:-c添加注释,-d指定家目录,-g用户组,-G附加组,-s登录shell,-u用户号;查看用户信息:id 用户名;Linux中,不能登录的账户一般由系统创建,用于管理服务或进程。
  • 修改用户(usermod):
    选项:同添加用户;
  • 删除用户:userdel 用户名;
  • 切换用户(su):su 用户名:切换用户; su - 用户名:切换用户的同时切换到家目录;
  • 修改用户密码(passwd):不跟用户名表示修改当前用户密码,且只有root用户才能修改其他用户密码;
  • 组管理类似:groupadd、groupmod、groupdel;切换用户组(newgrp)。

权限

权限有读(4r)写(2w)执行(1x)三种,Linux中,-代表普通文件,d代表目录;每个文件都有用户、组、其他用户三组权限;修改权限的命令为:chmod(可以用数字,也可以用u/g/o+r/w/x修改权限)。
物理权限:chattr命令可以锁定某个文件不能被修改(2.6以上支持),他是通过修改物理属性来提高安全性,但不能保护/、/dev、/tmp、/var;chattr设置的权限通过lsattr查看。

其他用户如果需要执行部分root用户才能执行的命令,则可以修改/etc/sudoers文件,修改成功后普通用户可以通过sudo命令和自己的密码来执行相关命令。

进程

常用命令及选项:ps aux | grep xxx

  • 查看进程命令(ps):选项-aux:查看所有进程;-l:查看自己相关的进程。
  • 进程列表各个选项的含义:①TTY:tty1-tty6表示物理机上登录的终端,pts/0表示远程登录的终端,?表示与终端无关的进程;②STAT:进程状态(R/S/D/T/Z);③START:启动时间;④TIME:使用CPU时间;⑤COMMAND:使用什么命令启动的。⑥RSS:占用的物理内存(Kb);⑦VSZ:用掉的虚拟内存(Kb)。
  • 进程的状态:①R:正在运行;②S:休眠状态;③D不可中断;④T:停止或被追踪;⑤Z:僵尸进程。
  • 动态查看进程变化(top):选项-d 秒:画面更新秒数,默认3;
  • 查看进程树(pstree):
    -U使用utf-8,
    -p列出pid,
    -u列出所属用户,
    常用(pstree -Uup);
  • 进程管理(kill、killall):
    -l显示可用的信号量,
    常用信号量:-15正常方式终止(默认)、
    -9强制终止(系统进程不能强制终止)、
    -2终止当前(同ctrl+C)、
    -1针对守护进程则重新读取配置文件,否则终止进程。

系统资源监控

内存

观察内存使用情况(free):选项-k、m、g以kb、mb、gb为单位,-t显示swap与内存总量;列含义shared共享内存,buffer将要写入磁盘的,cached以写磁盘或从磁盘读出的

核心版本

  • 查阅系统与核心信息(uname):选项:-a所有系统信息,-s内核名,-r内核版本,-pcpu类型
  • 正在运行的版本:cat /proc/version
  • 发行版本:cat /etc/issuecat /etc/redhat-releaselsb_release -a(可能没有)

工作负载

  • 系统启动时间与工作负载(uptime):列含义:系统时间,系统运行时间,登录用户数,系统过去1、5、15分钟的平均负载;
  • top(监控系统状况):可以查看cpu、内存等资源的使用情况;
  • 监控java线程数:ps -eLf | grep java | wc -l
  • 监控网络客户连接数:netstat -an | grep 侦听端口 | wc -l

系统资源

系统资源变化(vmstat),列含义:

  • 进程proc(r:等待运行的进程数,b:等待被唤醒的进程数;这两项越大,系统越忙碌)
  • 内存memory(swpd:虚拟内存使用量,free:未使用的内存容量,buff/cache:缓冲的内存)
  • 交换分区(si:内存<-磁盘;so:内存->磁盘;值越大系统效能越低)
  • 磁盘(bi读磁盘、oi写磁盘)
  • system(in:每秒中断次数,cs:每秒切换次数;值越大代表与接口设备通讯越频繁)
  • CPU(us:用户进程cpu使用情况,sy:系统进程使用情况,id:闲置情况,wa:等待i/o情况,虚拟机使用情况)

网络监控

端口开放情况(netstat)命令参数,(常见用法:netstat -antp | grep xxx

  • 常用选项(-antp,-autp);

  • -a列出所有、

  • -t列出tcp、

  • -u列出udp、

  • -n以端口方式显示、

  • -l列出监听中的服务、

  • -p列出该网络服务的进程id。

网络流量监控:iftop

路由追踪:traceroute ip/域名

防火墙

CentOS6.5中:

临时操作:

  • 开启:service iptables start/etc/init.d/iptables start
  • 关闭:setvice iptables stop或者/etc/init.d/iptables stop
  • 其他:重启、状态:restart、status;

永久操作:

  • chkconfig iptables on或者chkconfig iptables off;(需要重启)
  • 开放端口:修改/etc/sysconfig/iptables文件后重启;

CentOS7中:

  • 查看防火墙状态:systemctl status firewalld或者firewall-cmd --state
  • 开启、重启、关闭防火墙:service firewalld start/restart/stop
  • 查看防火墙规则:firewall-cmd --list-all
  • 查询端口开放:firewall-cmd --query-port=8080/tcp
  • 开放端口:firewall-cmd --permanent --add-port=80/tcp
  • 移除开放端口:firewall-cmd --permanent --remove-port=80.tcp
  • 重启:firewall-cmd --reload

任务管理

  • ctrl+z:将任务暂停并放置后台;
  • &:在命令后加&可使其在后台运行,任务完成会反馈Done;(有些命令不适合,如vim);
  • jobs:查看后台命令;(-l显示pid);
  • fg 任务号:把后台任务放到前台;
  • bg 任务号:运行后台任务;(对类似vim命令无效)。

打包与软件包管理

文件的压缩与打包

linux中文件的扩展名用途不大,但是压缩或打包文件是必须的

  • linux中常见的压缩文件:
    .gz:gzip;
    .bz2:bzip2;
    .tar:tar打包,没有压缩;
    .tar.gz:tar打包后经过gzip压缩;
    .tar.bz2:tar打包后经过bzip2压缩;
  • gzip(性能较好,能处理gz、zip等文件):
    -d解压、
    -v压缩时显示压缩比、
    -c显示压缩输出(一般用于输出重导向>,即压缩时保留原文件,解压时保留源文件用gunzip -c file.gz > file )、
    -t检查数据一致性、
    file->file.gz可以保留源文件;(zcat可以查看纯文本的压缩文件)
  • bzip2(压缩比较高):
    选项在gzip的基础上多了:-k保留源文件、-f强制压缩;
  • tar(打包):
    -c建立打包文件、
    -t查看打包文件列表、
    -x解打包、
    -j通过bzip2压缩、
    -z通过gzip压缩、
    -v压缩或解压时显示处理的文件、
    -f处理后的文件全名、
    -C解压到指定目录、
    -p保留权限(一般用于备份)、
    –exclude=排除那些文件;
  • 常用选项(tar -zcvf file.tar.gz file或tar -jcvf file.tar.bz2 file和tar -xvf file.tar.gz -C dir和tar -ztvf file.tar.gz或tar -jtvf file.tar.bz2);

rpm软件安装

  • rpm默认安装路径:
    /etc:配置文件,
    /usr/bin:可执行文件,
    /usr/lib:动态链接库,
    /usr/share/doc:使用手册与说明文件,
    /usr/share/man:命令帮助文件;
  • 安装选项:
    -i:安装,
    -v:显示详细安装信息(啰嗦模式),
    -h:执行过程(进度条);
    一般安装使用rpm -ivh file.rpm;
  • 环境变量(以Java为例):
    在/etc/profile文件末尾添加一下内容(修改完成后执行source /etc/profile):
#方式一:
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
#方式二:
JAVA_HOME=/usr/java/jdk
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
  • 查询选项:
    ☆ -qa:已安装的软件,
    ☆ -q:查询是否安装,
    -qRPi:详细信息,
    -qi:详细信息,
    -ql:所有的文件与目录,
    -qc:所有的配置文件,
    -qd:所有的说明文件,
    -qR:所有依赖,
    -qf:该文件所属的已安装的软件,
    -qp:加上述选项后跟包名,可查询rpm文件中的信息。
    一般常用rpm -qa
  • 卸载选项:-e;

yum软件安装更新

  • 查询选项:
    查找相关软件包:yum search xxx,
    查看软件包功能:yum info xxx,
    查看服务器上提供的前10个软件的详细信息:yum info | head -10,
    查看服务器上提供的前20个软件的名称:yum list | head -20,
    查看服务器上可供本机升级的软件:yum list updates;
  • 安装/升级/卸载:
    install(命令跟-y则可以省略安装过程中输入y)、update(后面不跟软件名则整个系统升级)、remove;
  • yum源:搭建yum源服务很复杂,但使用yum很简单;

shell命令

  • shell是用户和linux之间的接口,提供了与操作系统之间的通讯方式,这里主要用/bin/bash;

变量

变量设置规则(name=value):

  • 等号两边不能有空格,
  • 变量名规则同Java,
  • 变量内容若有特殊字符,可用单引号或双引号
    • 单引号:全部作为一般字符,
    • 双引号:特殊字符保持其原本特性,可使用转义字符\转义为一般字符;
  • 全局变量一般用大写,局部变量一般使用小写,可以用local修饰,
  • 变量内容由其他命令提供时使用name=$(命令)或者name=反引号命令反引号,
  • 删除变量:unset;
  • 获取变量的值:$name或者${name}
  • 增加变量内容:name=$n1$n2(变量值拼接不需要+号);
  • 设置全局变量:在/etc/profile文件中加一行:export NAME=VALUE即可;

数据重定向:>(覆盖方式)、>>(累加方式);

命令执行判断:$?是命令的回传值,1代表标准输出、2代表标准错误输出;

  • cmd1 && cmd2:cmd1正确执行完毕则执行cmd2,否则不执行,
  • cmd1 || cmd2:cmd1正确执行完毕则不执行cmd2,否则执行。

环境变量

  • 全局环境变量是在/etc/profile文件中添加一行:export PATH=$PATH:变量;(也可以先export 变量=值,再export PATH=$PATH:$变量
  • 局部环境变量是在~/bash_profile目录做同样操作
  • 生效环境变量:source /etc/profile

常用shell命令

|

将|左边的命令的输出作为管道右边的命令输入,如:ps aux | grep tomcat,

find

搜索文件,格式:find 路径 选项 参数,常用选项如下:

  • -size:按文件大小搜索,
  • -name:按文件名搜索(参数可以使用通配符*),
  • -perm:按文件权限搜索,
  • -user:按文件属主搜索,
  • -group:按文件属组搜索,
  • -nogroup:搜索没有属组的文件,
  • -type:按文件类型搜索(参数:b块设备、d目录、c字符设备、p管道文件、l链接文件、f普通文件),
grep

全面搜索正则表达式并把行打印出来,常用选项:

  • -i:忽略大小写,
  • -v:反检索,
  • -n:显示行号,
tail

查看文档的最后几行内容,并实时更新,常用选项:

  • -n 20:从最后20行开始显示,
  • -n +20:从第20行开始显示,
  • -f:实时展示文件内容
sort

将文件/文本每一行相互比较(按ASCII值比较,系统的编码会影响排序),常用选项如下:

  • -u:不出现重复的行;
  • -t:指定分段符号;
  • -k:指定第几段;
  • -r:逆向排序;
  • -n:按数值大小排序;
sed

非交互式文本处理工具,一般在shell脚本使用;默认所有的输出行都打印在屏幕上,sed处理文件的过程如下:把当前处理的行保存在临时缓冲区(模式空间),然后处理临时缓冲区的行,处理完就打印在屏幕上并删除该临时缓冲区,接着以同样的方式处理下一行直到最后一行。常用选项如下:

  • -n:仅显示脚本处理后的结果;
  • -e:允许对输入数据应用多条sed命令;
  • -f:直接将sed动作写在文件中,及运行文件内的sed动作;

常用的sed动作如下:

  • s:匹配查找;
  • i:编辑;
  • d:删除;
  • a:追加;
  • c:替换;
  • p:打印;

使用实例:

  • sed "s/x/y/g" 1.txt > 2.txt:将1.txt文件每一行所有的x改为y然后写入2.txt;
  • sed -i "s/x/y/g" 1.txt:将1.txt文件所有x改为y;
  • sed -i "1,$ s/x/y/2" 1.txt:替换1到最后一行每一行的第2个匹配项;
  • sed "1s/x/y/1;1s/x/y/1":替换前两个;
  • sed "1 i word":在第一行添加word;
  • sed "/qwer/d":匹配则删除整行;

注意:

  • 重导向到文件自身时会清空文件;
  • sed后面的参数表达式类似于vi编辑模式中的相关命令;
cut

剪切文件中的数据,格式为 cut -option filename;常用选项:

  • -b m-n:取第m到n的字节;
  • -c m-n:取第m到n的字符;
  • -d:按指定分隔符分割列;
  • -f n:提取第n列;(两个选项要连用)
history

查看历史命令;常用选项:

  • !!:运行上一条命令;
  • !9:运行history列表中的9条命令;
  • fc:编辑并运行上一条命令;
  • fc 5:编辑并运行第5条命令;
  • ctrl+r:搜索历史命令;
  • history -c:清空历史命令;

shell脚本

是纯文本文件以固定语法组织起来的;可以执行多条命令;执行顺序是从上而下、从左而右;命令、选项与参数间的多个空格会被忽略;空白行会忽略,tab被视为空格;读取到Enter(CR)就尝试执行;第一行之后的#为注释;exit为退出脚本,exit 0:以0作为脚本的执行返回值,正常退出返回0;之后可以通过$?获取返回值;

sh:执行脚本;有两个选项:

  • -x:打印执行到的内容;
  • -n:不执行,只检查语法;

read -p "提示:" a:输入命令;

$(($a+$b)):变量运算(a+b)

test:判断文件、字符串;选项:

  • -e:文件是否存在;
  • -fdrwx:分别判断文件是否存在且为文件/目录/可读/可写/可执行;
  • -z:字符串是否存在;
  • -ef:是否为同一文件;

[]: 条件判断,与test类似,使用时需要与内容有空格,不能使用&&、||、<、>等符号,==、!=用于比较字符串,常用的比较字符串还有:

  • -o:或;
  • -a:与;
  • -lt:小于;
  • -le:小于等于
  • -gt:大于;
  • -ge:大于等于;
  • -eq:等于;
  • -ne:不等;

脚本参数:

  • $*:整体获取所有参数;
  • $@:获取参数列表;
  • $0:程序名;
  • $#:参数个数;

{}:定义列表;如{a…z}、{1…10}

expect

expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。

expect自动交互流程:spawn启动指定进程—expect获取指定关键字—send向指定程序发送指定字符—执行完成退出.

安装:yum install -y expect

示例一(在redis中设置一个key):

#!/usr/bin/expect
# 注意要用双引号
spawn ./src/redis-cli
expect ">"
send "auth 123456\r"
expect "OK"
send "set k v1\r"
expect "OK"
send "exit\r"
expect eof

示例二:

#!/bin/bash

echo '====start===='
expect << EOF
    spawn ./src/redis-cli
    expect ">"
    send "auth 1234\r"
    expect {
        "OK" { send "ping\r" }
        "error" { send "auth 123456\r" }
    }
    expect "OK"
    send "set k v2\r"
    expect "OK"
    send "exit\r"
    expect eof
EOF
echo '====end===='

curl

常见用法如下:

  • 无参get:curl http://www.baidu.com(也可用?带一个简单参数,多了或有特殊字符会出错)
  • 带参get:curl -G -d 'page=1&count=2&type=text' https://api.apiopen.top/getJoke
  • post:curl -d 'page=1&count=2' https://api.apiopen.top/getWangYiNews
  • post json:curl -d '{id: 1, name: "张三"}' -H 'Content-Type: application/json' http://localhost/test

另外:若参数中带有特殊字符,可以将-d替换为--data-urlencode

vi/vim常用快捷键

  • o/O:下/上面新建一行插入;
  • a/A:后面/行尾插入;
  • i/I:前面/行首插入;
  • hjkl:依次对应左、下、上、右;
  • ctrl+b/f:上/下一页;
  • ctrl+u/d:上/下半页;
  • :1、G/:$、^、$:依次为文章头,文章尾,行首、行尾;
  • x/nx:剪切(删除)一个/n个字符;
  • dd/ndd、yy/nyy:剪切(删除)一行/n行、复制一行/n行;
  • p/P在后面或下面/在前面或上面粘贴;
  • u:撤销;
  • :set nu:显示行号;
  • /xxx:查找字符串xxx;按n/N查找下/上一个;
  • :%s(:s)/xxx/yyy(/g):将所有行(当前行)的第一个(所有)xxx替换为yyy;
  • :., $s/xxx/yyy/g:当前行到最后一行的所有xxx替换为yyy,.$可以数数字,代表行(注意有个空格);
  • :e filename:打开一个新文件;
  • :vs/:sv filename:打开一个新文件,且垂直/水平划分窗口(ctrl+w+w切换窗口);
  • v:选择模式,可以移动光标选择需要的内容进行复制、剪切、删除;
  • ctrl+v:多行编辑选择,此时可以移动光标选中多行;
    • x:删除选中的字符;
    • I:输入内容,按esc插入多行内容;

vim显示行号永久生效配置:/etc/vimrc或者~/.vimrc中添加set nu。

其他

帮助命令

如:man ls、whatis ls、info ls、ls --help、help ls等等;

免密登录

  • 1)ssh-keygen命令生成证书;
  • 2)ssh-copy-id root@ip,发送证书到远程服务器,第一次要输入密码,后面就无需输入了。生成的key在~/.ssh/目录下。

运行级别

  • 运行级别:
    • 0->关机;1->单用户;2->无网络多用户;3->命令行模式;4->未用;5->GUI桌面模式;6->重启;init:命令切换运行级别;who -r:查看运行级别;
    • 作用:重启、修改运行级别、找回密码(单用户模式下可直接修改密码)、修改启动时默认运行级别(修改文件/etc/inittab);
  • 关机/重启命令:shutdown -h、reboot、shutdown -h time、shutdown -h +min;

开机启动

修改/etc/rc.local文件,在文件末尾添加需要开机执行的脚本或者命令;如:nohup service mysqld start &(这里的脚本最好设置为后台运行,否则若脚本有问题,可能会导致卡死)

定时任务

命令:crontab -e -u root,后面的-u root 可以省略,表示当前用户,常用的选项还有:

  • -e:编辑工作表;
  • -l:列出工作表;
  • -r:删除工作表;

工作表编辑页面,每一行就是一条命令,一行的构成为是时间+动作,如:*/1 * * * * date >> ~/timer.txt,其中时间由分、时、日、月、周五部分组成,时间的操作符有:

  • *:取值范围内的所有数字;
  • /:每过多少时间;
  • - :从多少到多少的时间范围内;
  • ,:散列数字;

附:crontab也可以叫作业列表,可以在以下文件内找到相关配置文件:

  • /var/spool/cron/:存放每个用户的定时任务,文件名就是创建者(crontab命令操作的就是这个文件);
  • /etc/crontab:这个文件负责调度各种管理和维护任务;
  • /etc/cron.d/:存放要执行定时文件;
  • 还可以把脚本放在在/etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

nc命令

可以作为server以tcp/udp方法侦听端口;可以作为客户端发起tcp/udp连接从而实现端口扫描;可以传输文件;可以网络测速等。其常用的参数如下:

  • -l:侦听模式;

  • -s:发送数据;

  • -u:使用udp协议;

  • -v:输出交互信息;

  • -w:超时秒数;

  • -z:只扫描,不发送数据;

接收数据:nc -l port > file

发送数据:nc ip port < file

测试网速:nc -l port > /dev/nullnc ip port < /dev/zero

修改主机名

  1. 修改文件/etc/sysconfig/network的hostname的值(需要重启才生效);
  2. 执行命令hostname 新主机名(临时生效,重启失效);
  3. 修改/etc/hosts文件,每一行删除localhost后面的内容,添加一行内容为:ip 主机名;(相当于Windows中的host配置)

CentOS7修改主机名:执行命令:systemctl set-hostname name1或者修改/etc/hostname配置文件。

将iso文件作为yum源

方式一:

  • VMware中设置CD/DVD的已连接和启动时连接为勾选状态;
  • 在linux中挂载iso:mount /dev/cdrom /mnt/cdrom,要永久挂载需要在/etc/fstab文件中添加一行:/dev/cdrom /mnt/cdrom iso9660 defaults,ro 0 0
  • 备份并删除/etc/yum.repos.d/下的CentOS-Base.repo文件;
  • 在该目录下新建.repo文件,内容为:
[base]
name=localrepo
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
# 文件名称对应iso根目录的一个文件
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
  • 执行yum clean allyum makecache命令。

方式二:原理与方式一相同,不同之处是将iso文件直接拷贝到linux中,通过命令mount -o loop xxx.iso /mnt/cdrom挂载文件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值