Linux 知识点2020
命令相关
tar包命令
tar -czvf
tar -xzvf
linux命令中f
指文件,后面需要跟对应的文件. 这也是为什么命令中, f
参数都是放在最后的原因
v
参数是 压缩形式. gz
格式. 包可以用 tar.gz
和 tgz
两种后缀名来表示.
xargs命令
xargs命令一般和管道一起使用.
把上条命令的结果作为参数输出.
wget -O
下载并以指定名称保存.
awk $NF
mysql -uroot -p`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'`
$NF代表是该行最后一列的数据.
vim
搜索关键字
正常模式下输入/
追加关键字即可
找出来的关键字跳转: n下一个/N上一个
搜索后消除高亮键入命令:noh
批量替换
批量替换在/
命令行模式下.键入: %s/<目标关键字>/<要替换上去的内容>
即可.
如果要将全文的12345
替换成54321
则%s/12345/54321
如果中间有/
做为内容出现, 则使用\
转义. \/
表/
例如:
%s/\/tmp\/mysql.sock/\/jettodevops\/mysql\/tmp\/mysql.sock
grep 参数
grep -A
-B
-C
三个参数, 后加[数字]
..都是对搜索出来的信息,对其上下文进行匹配.
grep - A 20
:匹配出来关键字, 以及后面20行.
grep - B 20
:匹配出来关键字, 以及前面20行.
grep - C 20
:匹配出来关键字, 以及前后面各20行.
查看端口是否被占用:lsof/netstat
- lsof -i:80
- netstat -anp|grep 80
这两种方法, 相对来说, lsof -i:
用的比较多. netstat -an
用的比较少, 因为更长
其中, netstat -lntup 和 netstat -anp
配置相关
CentOS7.0
小知识:
为什么自带的数据库变成了mariaDB而不是之前的MySQL.
是因为Oracle收购了Sun公司之后, 除了JAVA,还有MySQL的软件归属权都发生了变化.
照理说, 开源软件即使是所属公司发生改变, 该用还是可以用.
重点在于Oracel公司起家是做数据库的, 和MySQL存在一定的利益冲突.
为了避免MySQL可能出现的问题. 开源界发生了一些变化:
- MySQL原作者重新开发并开源新数据库软件,MariaDB.可完全兼容MySQL.
- CentOS7开始不再以MySQL作为默认数据库
创建用户
useradd -m [username]
passwd [username]
为普通用户分配root权限
为普通的用户赋予root权限的方式有三种.
- 改用户权限(决定是否可以直接更换角色为root)
没有该项设置的时候, 该用户是压根无法请求root权限的. 设置了之后, 可以通过命令的方式切换成root用户
/etc/sudoers
内
在
root ALL=(ALL) ALL
行
增加
<用户名> ALL=(ALL) ALL
# <用户名> ALL=(ALL) NOPASSWD:ALL
这个时候, 对应的用户已经拥有的root权限. sudo -i
命令来开启权限.
其中第二行的NOPASSWD, 就是在原本的基础上免密, 在sudo -i
的时候要不要输入密码.
- 改用户组
/etc/sudoers
内
找
# %wheel ALL=(ALL) ALL
如果注释状况下, 就把注释取消掉.
如果没有注释, 刚修改为
%wheel ALL=(ALL) ALL
usermod -g root <用户名>
- 改用户ID
/etc/passwd
内
找到对应自己帐号的信息, 把第3个字段(x后)改为0
root:x:0:0:root:/root:/bin/bash
<用户名>:x:1000:1000::/home/<用户名>:/bin/bash
网卡设置
网卡文件所在目录为
/etc/sysconfig/network-scripts
之前的网卡文件为:
ifcfg-eth0
CentOS 7之前
ifcfg-ens33
CentOS 7及之后
配置文件参数:
- IPADDR(IP 地址)=192.168.10.10
- NETMASK(子网掩码)=255.255.255.0
- GATEWAY(网关地址)=192.168.10.1
DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.3.25
NETMASK=255.255.255.0
GATEWAY=192.168.3.254
DNS1=192.168.99.42
更改完配置文件之后, 重启网卡
service network restart
测试网卡工作是否正常
ping 192.168.0.1
ping www.baidu.com
# 修改配置文件后重载
nmcli connection reload
# 激活连接 由其配置文件 ifcfg-ens33, 则填ens33
nmcli connection up ens33
时间相关
设置时区
CentOS7加入命令timedatectl
timedatectl set-timezone Asia/Shanghai
Linux和Windows时差问题
硬件时间是一样的.
Linux 把硬件时间看作是 UTC时间. 会把时间 进行 +8 处理
Windows 把硬件时候看作是 localtime. 和Bios上一样.
处理方式二选其一
linux处理方式(改时间为本地时间)
timedatectl set-local-rtc 1 --adjust-system-clock
Windows处理方式(改时间为UTC时间)
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1