0%

rc.local服务

systemd 服务配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@debian9 ~ # cat /lib/systemd/system/rc.local.service
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

初始化rc.local

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat <<EOF >/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
EOF

记得加权限chmod +x /etc/rc.local

启动服务

systemctl start rc-local

重新设定字符集

1
dpkg-reconfigure locales

设定启动级别

systemctl+grub

debian
1
2
3
systemctl get-default #查看默认启动级别
systemctl list-units --type=target #查看所有target
systemctl set-default multi-user.target #设定默认启动级别,多用户文本模式
ubuntu

将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"的一行注释掉: # GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 将GRUB_CMDLINE_LINUX=""的一行修改为: GRUB_CMDLINE_LINUX="text" 去掉#GRUB_TERMINAL=console一行的注释,即修改为: GRUB_TERMINAL=console

1
2
3
update-grub
systemctl set-default multi-user.target
reboot

网络配置

DNS服务器配置

/etc/resolv.conf ##### 格式

1
2
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2

RHEL

网络配置文件

/etc/sysconfig/network

主机名配置

/etc/sysconfig/network

网络接口配置文件

/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

格式
1
2
3
4
5
6
7
8
9
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; 
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;

路由配置文件

/etc/sysconfig/network-scripts/route-INTERFACE_NAME

格式
1
2
3
4
5
6
#1
DEST via NEXTHOP
#2
ADDRESS0=ip
NETMASK0=netmask
GATEWAY0=gateway

Debian

网络配置文件

网卡的所有配置都在/etc/network/interfaces

主机名配置

/etc/hostname /etc/hosts #### 路由配置

多网卡静态路由配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# The primary network interface
auto eth0 #网卡开机启动
iface eth0 inet static #定义为静态 IP
mtu 1492 #定义 MTU
address 192.168.100.113 #定义 IP 地址
netmask 255.255.255.0 #定义子网掩码
dns-nameservers 192.168.100.253 #定义 DNS
up route add -net 192.168.0.0/16 gateway 192.168.100.1 dev eth0 #eth0 连接增加静态路由
down route del -net 192.168.0.0/16 gateway 192.168.100.1 dev eth0 #eth0 断开删除指定路由
# The second network interface
auto eth1
iface eth1 inet static
mtu 1492
address x.x.x.x
netmask y.y.y.y
gateway z.z.z.z
dns-nameservers 223.6.6.6

命令缩写:

  • ls = list(列出目录内容)
  • cd = Change Directory(改变目录)
  • su = switch user 切换用户
  • rpm = redhat package manager 红帽子打包管理器
  • pwd = print work directory 打印当前目录 显示出当前工作目录的绝对路径
  • ps = process status(进程状态,类似于windows的任务管理器) 常用参数:-auxf
  • ps -auxf 显示进程状态
  • df = disk free 其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。
  • rpm = 即RedHat Package Management,是RedHat的发明之一
  • rmdir = Remove Directory(删除目录)
  • rm = Remove(删除目录或文件)
    阅读全文 »

交换机就是多路网桥

MAC表

由交换机维护,记录了自己子网中的所有主机MAC地址

ARP表

由计算机维护,记录了MAC与IP地址的对应关系

路由表

由路由器维护,记录了不同网段网段的信息

直连路由

是直接连接在路由器接口的网段,由路由器自动生成.

非直连路由

就是不是直接连接在路由器接口上的网段,此记录需要手动添加或者是使用动态路由.

主机路由/网络路由

最佳匹配作为选择标准

默认路由

路由表中无法匹配

路由汇聚

网络地址/主机地址

子网划分

子网掩码借用位/右移位 剩下的地址 全0为网络地址,全一为广播地址 其余为主机地址

合并网络

子网掩码左移 子网个数为(2^位移数)个 由于子网掩码左移,原来子网中的部分广播地址变为可用地址由于多了一位,是原来受限制的位不再受限制,拓展了一位,使原来子网中的广播地址不再是全1,所以可以作为主机地址使用 使用连续子网可以合并为超网

广播

受限广播

在子网内传播,不被路由转发,地址为255.255.255.255 0xFFFFFFFF #### 直接广播 发送到广播地址,会发送到该子网内的所有主机

网关

网关就是子网中路由器的地址

IP地址与类别

不进行子网划分

A类:

地址范围:1.0.0.1-126.255.255.254 (0000 0001.00000000.00000000.00000000~01111110.111111111.11111111.11111110) 地址范围:1.0.0.0-126.255.255.255 (这种写法是把全0全1都算进去了,其它几类类似) 网络号范围: 1~126                        (0000 0001 ~ 0111 1110) 默认子网掩码:255.0.0.0 或  0xFF000000(十六进制) 私有号段:10.0.0.0-10.255.255.255 前1个字节(8位)为网络号,后3个字节(24位)为主机号. A类第1位必须是0. 最大网络数:2^7-2 最大主机数:2^24-2 全0全1的地址不可分配,作为保留地址. 上面减2也是这个原因. 一般用于大型网络.

B类:

地址范围:128.1.0.1-191.255.255.254  网络号范围:128.1 ~ 191.255 默认子网掩码:255.255.0.0 或 0xFFFF0000(十六进制) 私有号段:172.16.0.0-172.31.255.255 前2个字节(16位)为网络号,后2个字节(16位)为主机号. 前两位固定为10. 最大网络数:2^14-1 最大主机数:2^16-2 一般用于中等规模网络.

C类:

地址范围:192.0.1.1-223.255.255.254 网络号段范围:192.0.1 ~ 223.255.255 子网掩码:255.255.255.0 或  0xFFFFFF00 (十六进制) 私有号段:192.168.0.0-192.168.255.255 前3个字节(24位)为网络号,后1个字节(8位)为主机号. 前3位固定为110. 最大网络数:2^21-1 最大主机数:2^8-2 一般用于小型网络. #### D类: 地址范围:224.0.0.1-239.255.255.254 是多播地址.该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间. 一般用于多路广播用户 . #### E类: 是保留地址.该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间.

回送地址:

127.x.x.x        有的资料说,它属于A类. 如127.0.0.1  等效于localhost或本机IP.  一般用于测试使用. 例如:ping 127.0.0.1来测试本机TCP/IP是否正常.http://127.0.0.1:8080 等效 http://localhost:8080

特殊说明

每一个字节都为0的地址(0.0.0.0)对应当前主机. IP地址中的每一个字节都为1的IP地址(255.255.255.255)是当前子网的广播地址. IP地址中凡是以11110开头的E类IP的地址,都保留用于将来和实验使用. 网络号的第一个8位不能全为0. IP地址不能以127为开头,该类地址中数字127.0.0.1~127.255.255.254用于回路测试.

openssl生成linux密码

1
2
openssl passwd -1 -salt '12345678'  #-1:表示采用的是MD5加密算法。 --salt:表示使用指定盐值
Password: ##这里输入的是密码

可以结合cron定时计划/suid实现任意添加用户到/etc/shadow文件,指定uid,gid等.达到获取最高权限的目的.

本文章可以和文章计算机常用词汇搭配使用,其中大部分选项全写都有记录,可以查用汉译查英文

Linux 常用命令全拼

cut 文本分块/切割:

1
2
3
4
-d""	#选择定界符
-f"" #选择被定界符分割的第几个
-b #以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c #以字符为单位进行分割。

grep 查找字符串:

1
2
-e	#以正则表达式匹配文本
-r #递归

rm 删除工具:

1
2
-r 	#递归
-f #强制

tar 打包工具:

1
2
3
4
5
6
7
8
9
10
-z 	#以gzip算法压缩/解压缩
-j #以bz2算法压缩/解压缩
-c #打包/建立一个压缩文件的参数指令
-x #解包
-v #显示过程
-f #指定档案名
-t #查看内容
-r #追加文件
-O #将文件解开到标准输出
-p #使用原文件的原来属性

ls 查看文件:

1
2
3
-l 	#查看详细信息
-a #查看包括隐藏文件文件在框内的所有文件
-h #以人类可读写的方式换算文件大小单位

tr 转换:

1
2
-d 	#删除指定字符集
-c #反选字符,选择在字符集之外的字符

cp 复制:

1
2
3
4
5
6
-r 	#递归
-p #保留权限
-d #保留链接
-a #相当于-dpr
-f #强制覆盖
-i #覆盖时产生提示

ln 生成文件链接:

1
-s 	#生成软链接

file 查看文件属性:

1
2
-L 	#直接显示符号连接所指向的文件的类别
-z #尝试去解读压缩文件的内容

chmod 修改权限

1
-r 递归修改权限

chown 修改所属主/组:

1
所属组:所属主

chsh 修改shell:

1
-s 	#指定shell

cd 切换目录:

1
2
3
- 	#上一次目录
.. #上一级目录
. #当前目录

ip:

1
addr #获取网卡信息

总线通讯协议

单总线(1-Wire bus)

SPI(Serial Periperal Interface,串行外设接口)

I2C(Inter Interface Circuit,芯片间总线)

备份数据库

还原数据库

1
2
3
4
5
6
RUN rm -rf /var/lib/mysql && \
mysql_install_db --user=mysql --datadir=/var/lib/mysql && \
sh -c 'mysqld_safe &' && \
sleep 5s && \
mysqladmin -uroot password '密码' && \
mysql -e "source sql文件路径;" -uroot -p密码

1
2
3
4
5
6
7
8
9
10
11
12
13

git:
.git/
mac:
.ds_store
vim:
.*.swp
备份文件
*.zip
*.tar
*.tar.gz
*.bak