linux 命令pg我则linux系统怎么用不了啊

linux 命令pg我则linux系统怎么用不了啊,第1张

分页显示文件内容

命令:pg (page)

格式:pg [option] filename

功能:分页显示指定文件的内容。在显示一页文件时,最后一行将显示等待用

户输入指令。可输入的指令有如下选项。

选项:h 显示pg命令中可使用的帮助(help)命令。

q 退出pg命令。

[return] 显示下一页正文。

1 显示正文的下一行

[Space] 显示下一页

d/[Ctrl-D] 将屏幕滚动半屏。

n 显示pg命令行中说明的下一个文件。

p 显示pg命令行中说明的前一个文件。

% 显示正文当前页的前面一页。

/pattern 在文件中向前搜索指定的字符模式。

pattern 在文件中向后搜索指定的字符模式。

注释:当pg命令显示到文件的末尾时,显示一个文件结束信息EOF(end of file)。

例如:% pg filename

举例来说你的lp命令在/usr/bin/lp这里

你试试看打全路径是否可以执行,如果可以,说明你的$PATH设置有问题

如果不可以,如果你没有安装lp的这个命令,需要重新安装包

1 安装Linux *** 作系统注意把gdb、Emacs或DDD这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置Linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgreSQL源码能在Linux下面访问到。

2 安装PostgreSQL

useradd postgre

(自动建立 postgre 组;设计人员为了安全考虑,PostgreSQL 不能以root 用户运行,所以必须建立对应的用户和组。)

解压到 /usr/local/src

tar xvfz postgresql-84targz

cd postgresql-84

/configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib

make

make install

chown -R postgrepostgre /usr/local/pgsql

3 设置Postgres环境变量(非必须)

vi ~postgre/bash_profile

添加:

PGLIB=/usr/local/pgsql/lib

PGDATA=$HOME/data

PATH=$PATH:/usr/local/pgsql/bin

MANPATH=$MANPATH:/usr/local/pgsql/man

export PGLIB PGDATA PATH MANPATH

4 建立数据

以 postgres 用户登录:

su postgre

建立数据库目录:

mkdir data

启动数据库引擎:

initdb –D “数据库目录”

之后可以根据提示,通过psql进入数据库

5 构造PostgreSQL调试环境

先 psql template1进去,然后

select pg_backend_pid();

获得id,就是gdb后面用到的数字

gdb /usr/local/pgsql/bin/postgres 997(pid的数字)

如果只使用gdb,全部是命令行界面;而Emac、DDD分别是彩色、黑白用户交互式图形界面。

6 使用gdb进行调试

PG默认每个page的大小为8K,PG数据页写入是以page为单位,但是在断电等情况下, *** 作系统往往不能保证单个page原子地写入磁盘,这样就极有可能导致部分数据块只写到4K( *** 作系统是一般以4K为单位),这些“部分写”的页面包含新旧数据的混合。在崩溃后的恢复期间,xlog 里面存储的记录变化信息不够完整,无法完全恢复该页。PG为了解决这类问题,full_page_write机制孕育而生。

PostgreSQL 在 checkpoint 之后在对数据页面的第一次写的时候会将整个数据页面写到 xlog 里面。当出现主机断电或者OS崩溃时,redo *** 作时通过checksum发现“部分写”的数据页,并将xlog中保存的这个完整数据页覆盖当前损坏的数据页,然后再继续redo就可以恢复整个数据库了。

除了能够解决断电等带来坏数据页问题外,full_page_write 还应用在在线备份功能上。PG进行全量备份数据库一般通过pg_basebackup工具实现,pg_basebackup类似于copy *** 作,在此期间,也会出现部分数据页写到一半时文件被copy走了,正是因为full_page_write存在,备份出来的数据库才可以成功恢复启动。所以即便full_page_write=off,在备份时也会被强制自动打开,保证备份成功。

实现原理

full_page_write主要在XLogInsert(插入一条xlog记录)时发挥作用,通过full_page_writer开关状态以及是否是checkpoint后对数据页面的第一次修改(lsn<RedoRecPtr)判断是否需要备份数据页。如果需要备份,那么则把数据页存放在这条记录的末尾,最终写入到xlog中。

有关linux:

1、卸载某一个特定的挂在点。

umount /dev/datavg01 /data01

2、移掉lvm。

vgremove /dev/datavg01

3、拷贝数据。

scp -r /home/gaogetxt root@192168101:/opt 或rsync -av /root/rpmpkgs /tmp/backups/

4、显示系统盘符并以树状格式展开。

lsblk。

5、扫描新增设备。

echo "---" >/sys/class/scsi-host/hosto/scan

6、强行杀死mysql

kill -9 $(ps -ef | grep mysql)

7、将文件内容以每一行5个的形式展示出来。

cat test2txt | xargs -n 5

8、用cut去实现awk切割列的效果

cat/etc/passwd | cut -d : -f 2

9、sed、grsp、awk。之前已经说过了、具体看 从linux三剑客说起 这篇。

10、增加一个oracle用户让其属于oinstall组同时也隶属于dba组。useradd oracle -g oinstall -G dba

11、新建立一个组groupnew并将组id修改为255。

groupadd -g 255 groupnew

12、将本地/dev/hdb整盘中的数据备份到/dev/hdd上。

dd if=/dev/hdb of=/dev/hdd

13、查看服务器cpu个数。

cat /proc/cpuinfo | grep "physical id" | wc -l

14、查看服务器io状况并以每间隔1秒的速度输出5次。

iostat 1 5

15、查看服务器内存使用情况并以每间隔2秒的速度输出10次。

vmstat 2 10

16、将gaogetxt中的第一列db2找到并将db两个字符用ab替换。

cat gaogetxt |grep db2 | awk -F 2 '{print $1}' | tr db ab

17、将包名解压到指定目录。

tar -cxvf 包名 -C 指定的目录

18、linux中前后台任务切换。

ctrl+z 切换到后台、jobs显示id、fg + id 切换至前台。

19、杀掉top下stopped的进程。

ps -A -ostat,ppid,pid,cmd |grep -e '^[T]'

然后在进行kill

20、监控cpu状态。

mpstat

21、查看虚拟内存使用了多少。

swapon

22、每月1到10号4:45重启nginx。

crontab -u root -l 显示root当前的计划任务。

crontab -u root -e 后输入以下内容并保存退出。

45 4 1,10 systemctl start nginx

23、awk打印df -h 的第一列、第三列、最后一列。

df -h | awk '{print $1 " " $3 " " $NF}'

24、批量拉、打标签、推docker镜像的shell脚本。

#!/bin/bash

for image in 'docker images | grep 10171101:10000 | awk ' { print $1 ":" $2 }

do

version = 'echo $image | awk -F / ' { print $2 } '

docker tag $image 192168101/$version

docker push 192168101/$version

done

25、正则表达式匹配电话号码。

(0d{2}[) -]d{8}

26、编译安装三步骤。

/configure --prefix=安装目录

make

make install

有关kubernetes:

将kubernetes中pod的数据拷贝到物理宿主机上。

kubectl cp gyl-run/gyl-mysql-01020304: /opt/dockersh /opt

将kubernetes中物理宿主机上的数据拷贝到pod中。

kubectl cp /opt/dockersh gyl-run/gyl-mysql-01020304: /opt

检查当前用户有没有权限在k8s中创建资源权限。

kubectl auth can-i '' ''

检查当前用户有没有权限在k8s集群中创建namespace权限。

kubectl auth can-i create pods --all-namespaces

查看集群是否 健康 。

kubectl get cs

有关数据库:

查看 mysql 二进制日志格式。

show variables like ‘%binlog_format%’

查看所有二进制日志文件

show master logs

查看正在写入的二进制日志

show master status

格式化二进制显示为sql格式

mysqlbinlog --base64 --output=decode-rows -v --start-date="2019-01-25 00:00:00" --stop-date=“2019-01-26 17:30” master-bin000006

利用bin-log去还原数据

/usr/bin/mysqlbinlog --no-default /var/lib/mysql/mysql-bin00001 | usr/bin/mysql -u root -p pwd test

连接 postgresql

psql -U 用户名 -d 数据

数据库名 -h 主机地址 -p端口(默认端口为5432)

l 显示数据库列表

d 显示所有表

d 表名称 显示表结构

du 显示所有数据库用户

c 数据库名 连接数据库

q 退出pg窗口

pg备份:

pg_dump -U kong -d kong -f /opt/2019-01-26-pgsql

pg还原:

psql -d kong -U kong -f /opt/2019-01-26-pgsql

mongo 批量更新数据:把age大于20的class name修改为,设置multi为true

*** 作记录,不准确

安装postgressql时候自动在linux系统建立了一个postgres的账户,密码可能也是postgres(不确定),可以用root身份给postgres修改密码并记住。 su - postgres 切换到 postgres ,然后用 psql 连接。

以上就是关于linux 命令pg我则linux系统怎么用不了啊全部的内容,包括:linux 命令pg我则linux系统怎么用不了啊、linux里面有个命令不全,比如pg ........lp等命令不全,怎么办、linux 下 怎么修改pg等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9779095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存