Linux笔记

ss 和 netstat

ss -nlt
netstat -anp
ss -a 查看机器的socket连接数
ss -l 查看机器的端口情况
ss -s 查看机器的网络连接数,查看当前服务器的网络连接统计。

利用python传输文件

# python启动临时文件服务器,当前目录下的所有文件
# 访问文件服务器
python -m SimpleHTTPServer 8000
python3 -m http.server 8000
http://host:8000

查看系统的内核版本,查看系统版本

使用`uname`命令查看Linux内核版本
使用`hostnamectl`命令查看内核版本
通过查看`/proc/version`文件确认内核版本
使用dmesg命令查找Linux内核版本 `dmesg | grep Linux`

查看文件系统的类型(EXT4 、XFS)

标签:查看LV(逻辑卷)的文件系统类型

df -T         只可以查看已经挂载的分区和文件系统类型。
fdisk -l      可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。 
fdisk /dev/vdb  # 分区磁盘
m/p/n/w
mkfs.xfs /dev/vdb1   # 格式化磁盘
mkfs -t xfs /dev/vdb1
parted -l   可以查看未挂载的文件系统类型,以及哪些分区尚未格式化。
lsblk -f      也可以查看未挂载的文件系统类型。【推荐】

参考: www.cnblogs.com/youbiyoufang/p/7607174.html

yum的使用

# 查看某个命令是由哪个rpm包提供
yum whatprovides [*]locate
yum list |grep expect
yum list expect 
yum list expect --showduplicates
yum search expect --showduplicates
yum install -y expect.x86_64
yum list installed |grep expect
yum list installed expect
yum info expect
yum remove expect

yum install --downloadonly expect
ll /var/cache/yum/x86_64/
yum install --downloadonly --downloaddir=/tmp expect
yum reinstall --downloadonly --downloaddir=/tmp expect
# 说明:如果该服务器已经安装了需要下载的软件包,那么使用 install下载就不行,可以使用reinstall下载。 放心(不会真的安装和重新安装,因为后面加了 --downloadonly,表明只是下载。
ll /tmp 
yum install -y /tmp/*.rpm  # 安装tmp下面所有的安装包,yum会自动解决程序依赖问题
# 在CentOS/RHEL 6或更早期的版本中,需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项

# yum 默认情况下,升级或者安装后,会删除下载的rpm包。
# 我们也可以如下设置升级后不删除下载的rpm包
# vim/etc/yum.conf
# [main]
# cachedir=/var/cache/yum
# keepcache=0
# 将 keepcache=0 修改为 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。
yum localinstall *.rpm   # 安装本地包
yum localinstall *.rpm --disablerepo=* 
# 为了保证不受到任何yum仓库的影响,添加--disablerepo=*参数,这个参数表示在安装时不检查所有仓库(仓库不会被禁用,只是这次安装不用从已知的仓库中检索信息)
https://www.cnblogs.com/jrri/p/14948611.html

查看网卡信息的三种方式

ifconfig -a
cat /proc/net/dev
nmcli dev
lspci | grep eth -i   【推荐】
yum install -y pciutils  # 安装pci工具集

给网卡新增和删除IP

# 命令方式
# 新增IP
ip addr add 192.168.232.144/24 dev ens33
/
ifconfig ens33:1 192.168.232.144 netmask 255.255.255.0 up

# 删除IP
ip addr del 192.168.232.144/24 dev ens33
/
ifconfig ens33:1 192.168.232.144 netmask 255.255.255.0 down
#####  上面的修改方式是临时配置,立即生效!重启失效!
#####  使用nmtui 图形化配置,需要重启生效!而且是永久有效!
nmtui # 图形化配置修改
nmcli connection up ens33  # 重启接口
systemctl restart network / service network restart  # 重启网络服务

阅读:
https://blog.csdn.net/u010599211/article/details/86515603
https://blog.csdn.net/hyfstyle/article/details/90899955

下载包的几种方式

# wget方式精准下载到本地
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-8.0.4/binary/7/x86_64/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm
# 下载包的同时,将安装此包的依赖包也一同下载
yum install -y --downloadonly --downloaddir=/root/percona_xtrabackup percona-xtrabackup-80
# 只下载此包,不考虑安装
yumdownloader <package-name> 

https://blog.csdn.net/wanghailan1818/article/details/120695315

配置主机之间无密码访问,公钥,秘钥,互信

ssh-keygen  # 所有提示回车即可,生成密钥对
ssh-copy-id -i ~/.ssh/id_rsa.pub IP地址(受访主机IP)  # 输入密码后回车,将公钥发送给受访主机
或者:
ssh-keygen -t rsa
ssh-copy-id IP地址

# 取消互信(将主机的公钥信息从受访主机的 ~/.ssh/authorized_keys 文件中删除

断开其他终端连接

who am i
who
w
pkill -kill -t pts/1
pkill -9 -t pts/1

为没有家目录的用户创建家目录

mkdir /home/test
chown test:test -R /home/test
usermod -d /home/test test
cp /etc/skel/.bash* /home/test/
(chown test:test /home/test/.bash*)
localhost:~ # grep test /etc/passwd
test:x:2001:2001::/home/test:/bin/bash
su - test

# 用户正常创建流程
groupadd mysql
useradd -g mysql mysql 
passwd mysql  # 修改用户密码,如果当前用户是mysql,passwd后面不需要跟用户名

tar的高级用法

tar -zcvf preset.tar.gz preset # 将目录preset压缩为preset.tar.gz文件,【-p参数保存属性】
tar -zcvf xxx.tar.gz * # 将当前目录下所有文件压缩打包成xxx.tar.gz
tar -tvf preset.tar.gz  # 不解压文件,只列出(查看)包的文件列表

tar -zxvf xxxx.tar.gz -C /usr/local # 将xxxx.tar.gz解压到目录下/usr/local ,【-p参数保存属性】
tar -zxvf preset.tar.gz components # 解压包中指定的目录或文件 ,【-p参数保存属性】

tar -rvf preset.tar file1 file2  # 向包中追加文件
# tar.gz包可以有两种理解:
# 1.这个tar包的名字叫 tar.gz,但本质上是一个用cvf创建的tar包
# 2.这个tar包是通过zc选项创建的压缩的
# 对于上面两种情况,你首先用file命令查看一下这个文件到底是哪个类型:
# 追加操作只针对没有压缩的tar包才有效。如果这个tar.gz是经过gzip压缩的,是无法进行追加操作的。

systemctl的使用

# 列出所有的服务
systemctl list-unit-files

# 列出所有enabled状态的服务
systemctl list-unit-files --state=enabled

# 想要自动补全systemctl后面的服务命令,需要安装bash-completion(yum install -y bash-completion)
启动服务:systemctl start xxx.service
关闭服务:systemctl stop xxx.service
重启服务:systemctl restart xxx.service
显示服务的状态:systemctl status xxx.service
在开机时启用服务:systemctl enable xxx.service
在开机时禁用服务:systemctl disable xxx.service
查看服务是否开机启动:systemctl is-enabled xxx.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

手动配置静态IP后,不能上网

原因为手动配置静态IP后,没有配置正确的网关和DNS
nmtui工具配置好正确的网关和DNS地址后重启网卡即可正常上网

  1. 查看自动IP时候能够正常上网时候的网关和DNS
route -n
netstat -rn
ip route
cat /etc/resolv.conf
  1. 安装nslookup命令工具
yum install -y bind-utils
  1. 使用nslookup命令查看能正常上网时候的DNS
cat /etc/resolv.conf

[root@slave1 ~]# nslookup  # 进入交互模式
> set all
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 114.114.114.114
Address: 114.114.114.114#53

Set options:
  novc			nodebug		nod2
  search		recurse
  timeout = 0		retry = 3	port = 53	ndots = 1
  querytype = A       	class = IN
  srchlist = 
> 
  1. 使用nmtui工具配置好网关和DNS后验证上网
[root@slave4 yum.repos.d]# 
[root@slave4 yum.repos.d]# ping www.baidu.com  # 上网成功
PING www.baidu.com (163.177.151.109) 56(84) bytes of data.
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=1 ttl=128 time=13.1 ms
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=2 ttl=128 time=14.0 ms
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=3 ttl=128 time=14.0 ms
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=4 ttl=128 time=12.9 ms
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=5 ttl=128 time=13.1 ms
64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=6 ttl=128 time=23.8 ms
^C
--- www.baidu.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 8384ms
rtt min/avg/max/mdev = 12.992/15.210/23.879/3.901 ms
[root@slave4 yum.repos.d]# 

上传下载命令(rz,sz)的安装

yum install lrzsz

tar 命令的用法

# 查看包中的文件
tar -tf Redis-1.972.tar 

# 只解压其中某个文件到某个目录(当前目录时,-C及后面的路径可忽略)
tar -xvpf Redis-1.972.tar -C ./  Redis-1.972/Changes

查看进程启动时间

ps -eo pid,lstart,etime,cmd |grep -i 'cm server'

备注:本文档是基于Centos7.4操作系统而写

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@localhost Asia]# uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

修改服务器开机默认启动模式

systemctl get-default # 查看当前默认启动模式
vim /etc/inittab # 查看系统有哪些默认启动模式
systemctl set-default multi-user.target # 更改默认启动模式为多用户命令行模式

重启网卡

systemctl restart network
systemctl stop network
systemctl start network
查看防火墙状态
停止防火墙
永久禁止防火墙

systemctl status firewalld
systemctl stop firewalld
systemctl firewalld disable

修正系统时间/时区

搭建时间服务器(linux)

# https://blog.csdn.net/yongroot/article/details/90676764
#设置系统时区为“中国.上海” 或者使用交互式工具
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#同步系统时间
ntpdate cn.pool.ntp.org

# 在linux下修改系统时间可以使用date命令:
date –s 2009-08-16 (设置系统日期,不修改时间)
date –s 11:30:00(设置系统时间,不修改日期)
date –s “2009-08-16 11:30:00”(设置系统日期和时间,注意在日期和时间之间有一个空格)
修改完系统时间后,执行clock -w,将系统时间写入CMOS,即将系统时间和硬件时间同步。

#同步系统时间和硬件时间,可以使用hwclock命令
#以系统时间为基准,修改硬件时间
[root@localhost ~]# hwclock --systohc<== sys(系统时间)to(写到)hc(Hard Clock)
[root@localhost ~]# hwclock -w
#以硬件时间为基准,修改系统时间
[root@localhost ~]# hwclock --hctosys
[root@localhost ~]# hwclock -s

修正postgresql时间/时区

postgres=# select now();
              now              
-------------------------------
 2020-08-09 00:44:25.664692-07
(1 row)

postgres=# show time zone;
  TimeZone  
------------
 US/Pacific
(1 row)

postgres=# set time zone 'PRC'
postgres-# ;
SET
postgres=# show time zone;
 TimeZone 
----------
 PRC
(1 row)

postgres=# select now();
              now              
-------------------------------
 2020-08-09 15:45:22.285182+08
(1 row)

postgres=# 


要想永久生效到pgdata下的postgresql.conf配置里修改两项

log_timezone = 'PRC'

timezone = 'PRC'

修改好重启pg或者reload重新查询登录生效
pg_ctl restart -D /usr/local/pgsql/data
或者
pg_ctl reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值