【学习资料】第12期快速入门PostgreSQL应用开发与管理 - 2 Linux基本操作

背景


玩转PostgreSQL前,首先要了解的最最基本的Linux操作。

本章大纲

1. 如何访问命令行

2. 使用命令行下的工具

非编辑模式

进入编辑模式

3. 正则表达式、管道和I/O 重定向

4. 管理用户账户

5. 文件访问控制

6. 管理进程

1,如何访问命令行

1.1 本地命令行的访问

在图形界面中,访问命令行的方法:打开Terminal,Console。

或者:Ctrl+Alt+F1 ~ F6

1.2 使用SSH 访问命令行

同上

2,使用命令行下的工具

2.1 使用硬链接

硬链接,指在同一个文件系统中,对inode的引用,只要文件上存在至少1个硬链接,就可以找到对应的inode。

[digoal@digoal01 ~]$ stat a
File: `a'
Size: 4               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 656374      Links: 1  -- 硬链接数量
Access: (0664/-rw-rw-r--)  Uid: (  500/  digoal)   Gid: (  500/  digoal)
Access: 2017-04-11 13:18:14.292848716 +0800
Modify: 2017-04-11 13:18:14.292848716 +0800
Change: 2017-04-11 13:18:14.292848716 +0800

创建硬链接

[digoal@digoal01 ~]$ stat a
File: `a'
Size: 4               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 656374      Links: 2
Access: (0664/-rw-rw-r--)  Uid: (  500/  digoal)   Gid: (  500/  digoal)
Access: 2017-04-11 13:18:14.292848716 +0800
Modify: 2017-04-11 13:18:14.292848716 +0800
Change: 2017-04-11 13:18:34.631855044 +0800
[digoal@digoal01 ~]$ stat b
File: `b'
Size: 4               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 656374      Links: 2
Access: (0664/-rw-rw-r--)  Uid: (  500/  digoal)   Gid: (  500/  digoal)
Access: 2017-04-11 13:18:14.292848716 +0800
Modify: 2017-04-11 13:18:14.292848716 +0800
Change: 2017-04-11 13:18:34.631855044 +0800

删除一个硬链接,还能通过其他硬链接找到对应的inode。

rm: remove regular file `a'? y
[digoal@digoal01 ~]$ cat b
abc

2.2 归档和解压

常用的归档命令tar

归档-c (常用压缩库-j bz2, -z gzip)

b

解压-x

b
[digoal@digoal01 ~]$ cat b
abc

2.3 VIM 简介

Linux下的命令行文本编辑器。

2.4 基本的VIM 工作流程

使用vi打开文件

非编辑模式

进入vi帮助

退出vi帮助

显示行号

向后find

转义符号为\

向前find

转义符号为\

find下一个

向上定位下一个目标词 N

查找时忽略大小写

?abc\c

光标移动

左h右l

翻页

Ctrl+b 向上翻页

行尾

行头

文件开始

文件结尾

按词移动光标

向上移动 b

删除行

向下删除两行(包括当前行)  d2d

删除字

删除到词尾(直到下一个词的第一个字)

删除2个词   d2w

粘贴刚刚删除的行、字符等

向上粘贴 P

粘贴

替换

替换每行所有的命中词        :%s/原词/替换为目标词/g

反悔

前滚  Ctrl+R

进入编辑模式

插入

追加

向前插入行

向后插入行

换行

退出编辑模式

保存

保存并退出

:x!

3,正则表达式、管道和I/O 重定向

3.1 基本的正则表达式

以grep为例,使用正则查找

查找以a开头的行

abc

查找以b结束的行

查找包含数字的行

查找包含2个连续数字的行

3.2 使用grep

同上

3.3 管道和重定向

管道符

使用管道,将一个命令的标准输出,作为另一个命令的标准输入

abc

重定向命令的标准输出

$cat a >/dev/null
重定向到某个文件,并覆盖重定向目标
$cat a >./b
追加方式重定向目标
$cat a >>./b

重定向命令的标准错误

$cat err
cat: 1: No such file or directory

4,管理用户账户

4.1 什么是用户

Linux是多用户系统,多用户同时也便于权限的管理。

查找已有的用户

root:x:0:0:root:/root:/bin/bash
......

4.2 管理本地用户

新增、删除用户

userdel 用户名

4.3 管理密码

设置用户密码

Changing password for user digoal.
New password:
Retype new password:

5,文件访问控制

5.1 管理用户组

创建、删除组

[root@digoal01 ~]# groupdel 组名

5.2 管理文件系统访问控制列表

Linux中文件、目录的权限分为用户权限、组权限、其他用户权限。

例如

total 18744
-rw-------. 1 root root     1048 Mar  8  2016 anaconda-ks.cfg
-rw-r--r--  1 root root     9579 Mar 26 23:00 install.log
-rw-r--r--. 1 root root     3384 Mar  8  2016 install.log.syslog
drwxrwxrwx. 6 1107 1107     4096 Sep 27  2016 postgresql-9.6.0
第1个字符:表示这个文件是目录、普通文件。
2-4字符:owner的权限
5-7字符:group的权限
8-10字符:other的权限
r 读
w 写
x 普通文件表示可以运行, 目录表示可以进入目录

修改文件、目录的user:group

ls -l postgresql-9.6.0
drwxrwxrwx. 6 digoal root     4096 Sep 27  2016 postgresql-9.6.0

修改文件、目录的权限

w 2
x 1
[root@digoal01 ~]# chmod 700 install.log
[root@digoal01 ~]# ls -l install.log
-rwx------ 1 root root 9579 Mar 26 23:00 install.log

6,管理进程

6.1 监控进程

top
打印系统进程
ps -efwL
统计每个进程的开销
pidstat -d -r -u -w -l -h -p ALL 5 1
打印进程stack
pstack -p pid
打印进程系统调用
strace -p pid

6.2 结束和管理进程

结束进程

强制结束进程(用户进程无法捕获-9信号,可能崩溃)

6.3 管理周期进程

任务调度进程的管理

查看当前用户的当前调度任务

配置当前用户的调度任务(命令一定要有user:x权限,否则不会被执行)

# * 表示所有,支持-号范围,支持,号枚举
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

6.4 调整进程

进程优先级,Linux在分配计算资源时,优先分配给nice值低的进程。

nice等级的范围从-20-19,其中-20最高,19最低,只有系统管理者可以设置负数的等级。

启动时调整进程的优先级

nice -n -5 命令 &

调整已存在进程的优先级

#PID为5200的进程nice设为-5

查看进程优先级

NI 字段表示

调整进程的CPU亲和(绑定CPU)

将命令的CPU绑定到1,2,3号核

6.5 系统状态监控

iostat
cpu,disk,net,system资源使用监控
dstat
每个CPU核的使用监控
mpstat
上一篇:SaaS行业需要什么样的数据库


下一篇:关于重建LOB字段的表后是否需要重建LOB索引(试验)