PostgreSQL+Linux 从入门到精通培训文档 2命令

合集下载

PostgreSQL学习手册(目录)

PostgreSQL学习手册(目录)

PostgreSQL学习⼿册(⽬录)事实上之前有很长⼀段时间都在纠结是否有必要好好学习它,但是始终都没有⼀个很好的理由说服⾃⼰。

甚⾄是直到这个项⽬最终决定选⽤PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能⽤就⾏了。

然⽽有⼀天晚上,⾃⼰也不知道为什么,躺在床上开始回想整个项⽬的实施过程,想着想着就想到了数据库选型这⼀问题上了。

事情是这样的,最初客户将他们的产品⽬标定位为主打中型规模,同时也要在⼀定程度上⽀持⼩型规模。

鉴于此,我们为他们提供的⽅案是中型规模的数据库选⽤Oracle,⼩型规模的选定MySQL,在经过多轮商谈之后这个⽅案通过了。

然⽽随着项⽬的深⼊,客户突然有⼀天提出,由于成本和市场推⼴等问题,该产品的数据库部分需要进⾏⼀定的调整,调整的结果是中型规模可以同时⽀持Oracle和MySQL,⽽⼩型规模则要同时⽀持MySQL和PostgreSQL,原因⾮常简单,PostgreSQL是纯免费的数据库产品。

听到这个消息之后,我当时就⾮常恼⽕,因为当初为了保证运⾏时效率(国标),我们的数据库访问层是完全基于数据库供应商提供的原始C接⼝开发的,甚⾄都没有考虑ODBC提供的原始C接⼝,以防在转换中失去效率,或是ODBC本⾝为了强调通⽤性⽽不得不牺牲某些数据库的优化特征,如批量插⼊、批量读取等。

最后的结果显⽽易见,客户就是上帝,上帝的意见就是真理,这样我们就不得不基于现有的访问层接⼝⼜重新开发了⼀套⽀持PostgreSQL原⽣C接⼝的驱动。

然⽽随着对PostgreSQL的不断学习,对它的了解也在逐步加深,后来发现它的功能还是⾮常强⼤的,特别是对GIS空间数据的⽀持就更加的吸引我了。

于是就在脑⼦⾥为MySQL和PostgreSQL做了⼀个简单的对⽐和分析,最后得出⼀个结论,相⽐MySQL,PostgreSQL并没有什么刚性的缺点,但是它的纯免费特征确实是MySQL⽆法⽐拟的。

linux操作系统教案

linux操作系统教案

Linux操作系统教案第一章:Linux操作系统概述1.1 Linux简介1.1.1 Linux的起源和发展1.1.2 Linux的特点和优势1.1.3 Linux的应用领域1.2 Linux发行版介绍1.2.1 Ubuntu1.2.2 CentOS1.2.3 Fedora1.3 Linux文件系统结构1.3.1 /bin、/usr、/etc等目录的作用1.3.2 文件权限和所有权1.3.3 文件系统类型第二章:Linux基本命令2.1 命令行操作概述2.1.1 命令行界面2.1.2 命令行输入和输出2.1.3 命令历史和快捷键2.2 文件操作命令2.2.1 pwd、cd命令2.2.2 ls、ll、tree命令2.2.3 touch、cp、mv命令2.2.4 rm、rmdir命令2.3 文本操作命令2.3.1 cat、more、less命令2.3.2 head、tl命令2.3.3 grep、awk命令2.3.4 sed命令2.4 权限和所有权操作命令2.4.1 chmod、chown命令2.4.2 chgrp命令2.5 系统管理命令2.5.1 ps、top命令2.5.2 kill、pkill命令2.5.3 df、du命令2.5.4 free、vmstat命令2.5.5 mount、umount命令第三章:Linux用户和组管理3.1 用户管理概述3.1.1 用户配置文件3.1.2 useradd、usermod、userdel命令3.1.3 用户密码管理3.2 组管理3.2.1 组配置文件3.2.2 groupadd、groupmod、groupdel命令3.2.3 用户所属组管理3.3 用户和组管理实践3.3.1 创建普通用户和组3.3.2 设置用户和组权限3.3.3 切换用户和组3.3.4 删除用户和组第四章:Linux文件权限和所有权4.1 文件权限概述4.1.1 权限的表示方法4.1.2 权限的分类4.2 修改文件权限4.2.1 chmod命令4.2.2 chown命令4.3 设置文件权限实践4.3.1 设置文件读、写、执行权限4.3.2 设置文件归属权4.3.3 修改文件权限示例第五章:Linux软件管理5.1 包管理概述5.1.1 RPM包管理器5.1.2 DEB包管理器5.2 使用RPM包管理器5.2.1 安装、升级和卸载软件5.2.2 查询软件包信息5.2.3 软件依赖关系解决5.3 使用DEB包管理器5.3.1 安装、升级和卸载软件5.3.2 查询软件包信息5.3.3 软件依赖关系解决5.4 软件源码安装5.4.1 软件源码5.4.2 编译和安装软件5.4.3 软件配置和管理第六章:Linux网络配置6.1 网络配置文件6.1.1 /etc/network/interfaces文件6.1.2 网络配置示例6.2 网络管理命令6.2.1 ifconfig、ip命令6.2.2 ping、traceroute命令6.2.3 netstat命令6.3 配置网关和域名解析6.3.1 route命令6.3.2 resolvconf命令6.4 网络服务管理6.4.1 syslog、send服务6.4.2 Apache、Nginx服务6.4.3 SSH服务第七章:Linux shell脚本编程7.1 shell脚本基础7.1.1 脚本语法和结构7.1.2 变量和参数7.1.3 常用shell内置命令7.2 条件语句和循环语句7.2.1 if、else、elif语句7.2.2 for、while、until循环7.3 常用脚本技巧7.3.1 函数定义和调用7.3.2 文件操作命令7.3.3 文本处理命令7.4 实战shell脚本示例7.4.1 自动备份文件脚本7.4.2 监控系统负载脚本7.4.3 定时任务脚本第八章:Linux系统安全8.1 系统安全概述8.1.1 安全策略和原则8.1.2 防火墙和SELinux 8.2 用户和权限安全8.2.1 用户认证方法8.2.2 文件权限和安全8.2.3 用户行为审计8.3 系统审计和日志管理8.3.1 auditd服务8.3.2 syslog服务8.3.3 日志分析与监控8.4 入侵检测和防御8.4.1 IDS/IPS系统8.4.2 安全漏洞扫描8.4.3 恶意代码防护第九章:Linux备份和恢复9.1 备份策略和工具9.1.1 备份类型和策略9.1.2 tar、cpio备份工具9.1.3 duplicity备份工具9.2 磁盘阵列和存储池9.2.1 RD技术概述9.2.2 mdadm命令9.2.3 LVM存储池9.3 系统恢复和急救盘9.3.1 系统恢复步骤9.3.2 急救盘制作和使用9.3.3 系统镜像和克隆第十章:Linux服务器配置与管理10.1 服务器配置概述10.1.1 服务器角色和类型10.1.2 配置文件和工具10.2 文件服务器配置10.2.1 NFS服务配置10.2.2 Samba服务配置10.3 打印服务器配置10.3.1 cupsd服务配置10.3.2 打印机共享设置10.4 数据库服务器配置10.4.1 MySQL、PostgreSQL配置10.4.2 数据库管理和维护10.5 网络服务器的配置与管理10.5.1 Apache、Nginx配置10.5.2 SSH、VPN服务配置10.5.3 邮件服务器配置重点解析本文教案涵盖了Linux操作系统的概述、基本命令、用户和组管理、文件权限和所有权、软件管理、网络配置、shell脚本编程、系统安全、备份和恢复以及服务器配置与管理等方面的知识点。

PostgreSQL入门教程(命令行)

PostgreSQL入门教程(命令行)

PostgreSQL⼊门教程(命令⾏)初次安装完成后1.默认⽣成⼀个名为postgres的数据库2.⼀个名为postgres的数据库⽤户3.这⾥需要注意的是,同时还⽣成了⼀个名为postgres的Linux系统⽤户。

下⾯,我们使⽤postgres⽤户,来⽣成其他⽤户和新数据库。

好⼏种⽅法可以达到这个⽬的,这⾥介绍两种。

第⼀种⽅法:使⽤PostgreSQL控制台⾸先,新建⼀个Linux新⽤户,可以取你想要的名字,这⾥为dbuser。

sudo adduser dbuser然后,切换到postgres⽤户。

sudo su - postgres下⼀步,使⽤psql命令登录PostgreSQL控制台psql这时相当于系统⽤户postgres以同名数据库⽤户的⾝份,登录数据库,这是不⽤输⼊密码的。

如果⼀切正常,系统提⽰符会变为”postgres=#”,表⽰这时已经进⼊了数据库控制台。

以下的命令都在控制台内完成。

第⼀件事是使⽤\password命令,为postgres⽤户设置⼀个密码。

\password postgres第⼆件事是创建数据库⽤户dbuser(刚才创建的是Linux系统⽤户),并设置密码。

CREATE USER dbuser WITH PASSWORD 'password';第三件事是创建⽤户数据库,这⾥为exampledb,并指定所有者为dbuser。

CREATE DATABASE exampledb OWNER dbuser;第四件事是将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;最后,使⽤\q命令退出控制台(也可以直接按ctrl+D)。

\q第⼆种⽅法,使⽤shell命令⾏。

添加新⽤户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令⾏下完成。

linux下操作PostgreSQL的常用命令

linux下操作PostgreSQL的常用命令

linux下操作PostgreSQL的常⽤命令⼀般性:\copyright 显⽰PostgreSQL的使⽤和发⾏许可条款\g [⽂件] or; 执⾏查询 (并把结果写⼊⽂件或 |管道) \h [名称] SQL命令语法上的说明,⽤*显⽰全部命令的语法说明 \q 退出 psql查询缓存区 \e [FILE] [LINE] 使⽤外部编辑器编辑查询缓存区(或⽂件) \ef [FUNCNAME [LINE]] 使⽤外部编辑器编辑函数定义 \p 显⽰查询缓存区的内容 \r 重置(清除)查询缓存区 \s [⽂件] 显⽰历史记录或将历史记录保存在⽂件中 \w ⽂件将查询缓存区的内容写⼊⽂件输⼊/输出 \copy ... 执⾏ SQL COPY,将数据流发送到客户端主机 \echo [字符串] 将字符串写到标准输出 \i ⽂件从⽂件中执⾏命令 \o [⽂件] 将全部查询结果写⼊⽂件或 |管道 \qecho [字符串] 将字符串写到查询输出串流(参考 \o)资讯性 (选项: S = 显⽰系统对象, + = 其余的详细信息) \d[S+] 列出表,视图和序列 \d[S+] 名称描述表,视图,序列,或索引 \da[S] [模式] 列出聚合函数 \db[+] [模式] 列出表空间 \dc[S] [模式] 列出字元编码转换 \dC [模式] 列出类型强制转换 \dd[S] [模式] 显⽰对象的注释 \ddp [模式] 列出缺省权限 \dD[S] [模式] 列出共同值域 \det[+] [PATTERN] 列出引⽤表 \des[+] [模式] 列出外部服务器 \deu[+] [模式] 列出⽤户映射 \dew[+] [模式] 列出外部数据封装器 \df[antw][S+] [模式] 列出[只包括聚合/常规/触发器/窗⼝]函数 \dF[+] [模式] 列出⽂本搜索配置 \dFd[+] [模式] 列出⽂本搜寻字典 \dFp[+] [模式] 列出⽂本搜索解析器 \dFt[+] [模式] 列出⽂本搜索模版 \dg[+] [PATTERN] 列出⾓⾊ \di[S+] [模式] 列出索引 \dl 列出⼤对象,功能与\lo_list相同 \dL[S+] [PATTERN] 列出所有过程语⾔ \dn[S+] [PATTERN] 列出所有模式 \do[S] [模式] 列出运算符 \dO[S+] [PATTERN] 列出所有校对规则 \dp [模式] 列出表,视图和序列的访问权限 \drds [模式1 [模式2]] 列出每个数据库的⾓⾊设置 \ds[S+] [模式] 列出序列 \dt[S+] [模式] 列出表 \dT[S+] [模式] 列出数据类型 \du[+] [PATTERN] 列出⾓⾊ \dv[S+] [模式] 列出视图 \dE[S+] [PATTERN] 列出引⽤表 \dx[+] [PATTERN] 列出扩展 \l[+] 列出所有的数据库 \sf[+] FUNCNAME 显⽰函数定义 \z [模式] 和\dp的功能相同格式化 \a 在⾮对齐模式和对齐模式之间切换 \C [字符串] 设置表的标题,或如果没有的标题就取消 \f [字符串] 显⽰或设定⾮对齐模式查询输出的字段分隔符 \H 切换HTML输出模式 (⽬前是关闭) \pset 名称 [值] 设定表输出选项 (名称:= {format|border|expanded|fieldsep|footer|null| recordsep|tuples_only|title|tableattr|pager}) \t [开|关] 只显⽰记录 (⽬前是关闭) \T [字符串] 设置HTML <表格>标签属性, 或者如果没有的话取消设置 \x [开|关] 切换扩展输出模式(⽬前是关闭)连接 \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} connect to new database (currently "postgres") \encoding [编码名称] 显⽰或设定客户端编码 \password [USERNAME] 安全地为⽤户改变⼝令 \conninfo 显⽰当前连接的相关信息操作系统 \cd [⽬录] 改变⽬前的⼯作⽬录 \timing [开|关] 切换命令计时开关 (⽬前是关闭) \! [命令] 在 shell中执⾏命令或启动⼀个交互式shell变量 \prompt [⽂本] 名称提⽰⽤户设定内部变量 \set [名称 [值数]] 设定内部变量,若⽆参数则列出全部变量 \unset 名称清空(删除)内部变量⼤对象 \lo_export LOBOID ⽂件 \lo_import ⽂件 [注释] \lo_list \lo_unlink LOBOID ⼤对象运算。

PostgreSQL基础教学与应用

PostgreSQL基础教学与应用

PostgreSQL基础教学与应用第一章:PostgreSQL简介1.1 PostgreSQL的定义和特点1.2 PostgreSQL在数据库领域的应用价值第二章:PostgreSQL的安装和配置2.1 安装PostgreSQL2.2 配置PostgreSQL第三章:PostgreSQL数据库的基本操作3.1 连接数据库3.2 创建数据库3.3 创建表3.4 插入数据3.5 查询数据3.6 更新数据3.7 删除数据第四章:PostgreSQL数据库的高级操作4.1 约束4.2 索引4.3 视图4.4 存储过程4.5 触发器第五章:PostgreSQL的高可用性5.1 水平扩展5.2 热备份5.3 流复制第六章:PostgreSQL与其他数据库的比较6.1 PostgreSQL与MySQL的比较6.2 PostgreSQL与Oracle的比较第七章:PostgreSQL的应用案例分析7.1 PostgreSQL在电子商务领域的应用7.2 PostgreSQL在大数据处理中的应用7.3 PostgreSQL在地理信息系统中的应用第八章:PostgreSQL的未来发展趋势8.1 PostgreSQL的发展历程8.2 PostgreSQL的未来发展方向第一章:PostgreSQL简介PostgreSQL是一个开源的关系型数据库管理系统,其具有可扩展性、稳定性和安全性等特点。

它被广泛应用于企业级数据库管理和大规模数据处理领域,成为了目前世界上发展最快的开源数据库之一。

第二章:PostgreSQL的安装和配置2.1 安装PostgreSQL要安装PostgreSQL,可以从官方网站上下载最新版本的安装包。

安装过程中需按照提示进行设置和配置,如选择安装路径、创建管理员用户等。

2.2 配置PostgreSQL配置文件中包含了数据库的参数设置,可以根据需求进行修改,如修改监听地址、设置最大连接数等。

第三章:PostgreSQL数据库的基本操作3.1 连接数据库使用命令行工具或可视化工具连接数据库,输入用户名和密码即可进行连接。

如何在Linux上安装和配置PostgreSQL数据库

如何在Linux上安装和配置PostgreSQL数据库

如何在Linux上安装和配置PostgreSQL数据库PostgreSQL是一个强大的开源关系型数据库管理系统,广泛应用于各种大型企业和Web应用程序。

本文将介绍如何在Linux操作系统上安装和配置PostgreSQL数据库。

1. 安装PostgreSQL数据库首先,需要使用适当的包管理工具在Linux系统上安装PostgreSQL。

在大多数基于Debian的系统(如Ubuntu)中,可以使用以下命令安装:```sudo apt-get install postgresql```对于基于Red Hat的系统(如CentOS),可以使用以下命令安装:```sudo yum install postgresql-server```2. 初始化数据库集群安装完成后,需要初始化一个数据库集群。

在命令行中执行以下命令:```sudo postgresql-setup initdb```该命令将在系统中创建一个空的数据库集群。

3. 启动PostgreSQL服务启动数据库服务,可以使用以下命令:```sudo systemctl start postgresql```4. 配置访问权限为了保护数据库的安全性,需要配置适当的访问权限。

默认情况下,PostgreSQL只允许本地主机访问。

要允许远程访问,需要编辑主配置文件`postgresql.conf`。

```sudo nano /etc/postgresql/<version>/main/postgresql.conf```找到以下行:```#listen_addresses = 'localhost'```将其改为:```listen_addresses = '*'```保存更改并关闭文件。

然后,打开`pg_hba.conf`文件:```sudo nano /etc/postgresql/<version>/main/pg_hba.conf```在文件的底部添加以下行:```host all all 0.0.0.0/0 md5```保存更改并关闭文件。

postgreSql基础命令及linux下postgreSql命令

postgreSql基础命令及linux下postgreSql命令

(1)用户实用程序:createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同)createuser 创建一个新的PostgreSQL的用户(和SQL语句:CREATE USER 相同)dropdb 删除数据库dropuser 删除用户pg_dump 将PostgreSQL数据库导出到一个脚本文件pg_dumpall 将所有的PostgreSQL数据库导出到一个脚本文件pg_restore 从一个由pg_dump或pg_dumpall程序导出的脚本文件中恢复PostgreSQL数据库psql 一个基于命令行的PostgreSQL交互式客户端程序vacuumdb 清理和分析一个PostgreSQL数据库,它是客户端程序psql环境下SQL语句VACUUM的shell 脚本封装,二者功能完全相同(2)系统实用程序initdb 创建一个用于存储数据库的PostgreSQL数据目录,并创建预定义的模板数据库template0和template1,生成共享目录表catalog;此程序通常只在安装PostgreSQL时运行一次initlocation 创建一个辅助的PostgreSQL数据库存储区域ipcclean 从停止的PostgreSQL服务器中清除共享内在和孤立信号标志pg_ctl 启动、停止、重启PostgreSQL服务(比如:pg_ctl start 启动PostgreSQL服务,它和service postgresql start相同)pg_controldata 显示PostgreSQL服务的内部控制信息postgres PostgreSQL单用户模式的数据库服务postmaster PostgreSQL多用户模式的数据库服务4.这里面最重要的是psql这个客户端程序最为重要。

启用客户端程序psql的方法是:切换到PostgreSQL预定义的数据库超级用户postgres,启用客户端程序psql,并连接到自己想要的数据库,比如说:psql template1出现以下界面,说明已经进入到想要的数据库,可以进行想要的操作了。

PostgreSQL从入门到精通(中译稿 by 洞庭湖的泥鳅)

PostgreSQL从入门到精通(中译稿 by 洞庭湖的泥鳅)

PostgreSQL从入门到精通目录引言 (6)第一章 POSTGRESQL介绍 (7)基于数据编程 (7)静态数据 (7)用于数据存储的扁平文件 (7)重复单元和其他问题 (8)什么是数据库管理系统 (8)数据模型 (9)查询语言 (11)数据库管理系统的责任 (12)什么是P OSTGRE SQL? (13)PostgreSQL历史简介 (13)PostgreSQL架构 (13)通过PostgreSQL访问数据 (14)什么是开源? (15)相关资源 (15)第二章关系数据库原理 (16)电子表格的局限性 (16)将数据存入数据库 (18)选择列 (18)为每个列选择数据类型 (18)标记行的唯一性 (19)在数据库中访问数据 (19)通过网络访问数据 (20)处理多用户访问 (21)数据分片和分块 (21)增加信息 (23)设计表 (25)基本数据类型 (30)处理未知的值:空值(NULL) (31)回顾示例数据库 (31)摘要 (31)第三章初步使用POSTGRESQL (33)在L INUX和U NIX系统中安装P OSTGRE SQL (33)在Linux中使用二进制文件安装PostgreSQL (33)通过源码安装PostgreSQL (37)在Linux和Unix上配置PostgreSQL (40)在W INDOWS中安装P OSTGRE SQL (45)使用Windows安装程序 (45)配置客户机访问 (51)建立示例数据库 (52)添加用户记录 (52)建立数据库 (53)建表 (54)移除表 (55)填充表 (56)摘要 (59)第四章访问你的数据 (60)在Linux系统中启动 (60)在Windows系统中启动 (61)解决启动问题 (61)使用一些基本的psql命令 (63)使用SELECT语句 (64)覆盖列名 (66)控制行的顺序 (66)消除重复数据 (69)执行计算 (71)选择行 (72)使用更复杂的条件 (74)模式匹配 (76)限制结果集 (76)检查空值(NULL) (78)检查时间和日期 (78)设置时间和日期的风格 (79)使用日期和时间函数 (82)多个表协同工作 (84)关联两个表 (84)给表赋予别名 (88)关联三个或更多的表 (89)SQL92的SELECT语法 (93)摘要 (94)第五章 POSTGRESQL的命令行和图形界面工具 (95)PSQL (95)启动psql (95)在psql中输入命令 (96)使用命令历史 (96)在psql中执行脚本文件 (97)检查数据库 (98)psql命令行快速参考 (99)psql内部命令快速参考 (100)设置ODBC (101)在Windows中安装ODBC驱动程序 (102)在Windows中建立一个数据源 (104)在Linux/Unix中安装ODBC驱动程序 (106)在Linux/Unix中建立一个数据源 (106)PG A DMIN III (106)安装pgAdmin III (106)使用pgAdmin III (107)PHP P G A DMIN (110)安装phpPgAdmin (110)使用phpPgAdmin (111)M ICROSOFT A CCESS (113)使用链接表 (114)输入数据及建立报表 (116)M ICROSOFT E XCEL (118)P OSTGRE SQL相关工具的资源 (122)摘要 (122)第六章数据交互 (123)添加数据到数据库中 (123)使用更安全的插入语句 (126)插入数据到serial类型的列中 (127)插入空值 (130)使用\copy命令 (131)T R Y IT OU T:L O AD DA TA U SIN G\COPY ................................................................ 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本章大纲1. 如何访问命令行2. 使用命令行下的工具非编辑模式进入编辑模式3. 正则表达式、管道和I/O 重定向4. 管理用户账户5. 文件访问控制6. 管理进程1,如何访问命令行1.1 本地命令行的访问在图形界面中,访问命令行的方法:打开Terminal,Console。

或者:Ctrl+Alt+F1 ~ F61.2 使用SSH 访问命令行同上2,使用命令行下的工具2.1 使用硬链接硬链接,指在同一个文件系统中,对inode的引用,只要文件上存在至少1个硬链接,就可以找到对应的inode。

[digoal@digoal01 ~]$ echo "abc" > ./a[digoal@digoal01 ~]$ stat aFile: `a'Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: 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 +0800Modify: 2017-04-11 13:18:14.292848716 +0800Change: 2017-04-11 13:18:14.292848716 +0800创建硬链接[digoal@digoal01 ~]$ ln -L ./a ./b[digoal@digoal01 ~]$ stat aFile: `a'Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 656374 Links: 2Access: (0664/-rw-rw-r--) Uid: ( 500/ digoal) Gid: ( 500/ digoal)Access: 2017-04-11 13:18:14.292848716 +0800Modify: 2017-04-11 13:18:14.292848716 +0800Change: 2017-04-11 13:18:34.631855044 +0800[digoal@digoal01 ~]$ stat bFile: `b'Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: 803h/2051d Inode: 656374 Links: 2Access: (0664/-rw-rw-r--) Uid: ( 500/ digoal) Gid: ( 500/ digoal)Access: 2017-04-11 13:18:14.292848716 +0800Modify: 2017-04-11 13:18:14.292848716 +0800Change: 2017-04-11 13:18:34.631855044 +0800删除一个硬链接,还能通过其他硬链接找到对应的inode。

[digoal@digoal01 ~]$ rm arm: remove regular file `a'? y[digoal@digoal01 ~]$ cat babc2.2 归档和解压常用的归档命令tar归档-c (常用压缩库-j bz2, -z gzip)[digoal@digoal01 ~]$ tar -jcvf test.tar.bz2 bb解压-x[digoal@digoal01 ~]$ tar -jxvf test.tar.bz2 b[digoal@digoal01 ~]$ cat babc2.3 VIM 简介Linux下的命令行文本编辑器。

2.4 基本的VIM 工作流程使用vi打开文件vi 文件名非编辑模式进入vi帮助:help退出vi帮助:q显示行号:set nu向后find/需要查找的词转义符号为\向前find?需要查找的词转义符号为\find下一个向下定位下一个目标词 n向上定位下一个目标词 N查找时忽略大小写/abc\c?abc\c光标移动上i下k左h右l翻页Ctrl+f 向下翻页Ctrl+b 向上翻页行尾Shift+$行头Shift+|文件开始按两次小写g文件结尾大写G按词移动光标向下移动 w向上移动 b删除行删除当前行 dd向下删除两行(包括当前行) d2d删除字x删除到词尾(直到下一个词的第一个字) dw删除2个词 d2w粘贴刚刚删除的行、字符等向下粘贴 p向上粘贴 P粘贴Shift+Insert替换只替换每行的第一个命中词 :%s/原词/替换为目标词/替换每行所有的命中词 :%s/原词/替换为目标词/g反悔回退 u前滚 Ctrl+R进入编辑模式插入i追加a向前插入行O向后插入行o换行Enter退出编辑模式ESC保存:w保存并退出:wq!:x!3,正则表达式、管道和I/O 重定向3.1 基本的正则表达式以grep为例,使用正则查找查找以a开头的行$grep -E "^a" fileabc查找以b结束的行$grep -E "b$" file查找包含数字的行grep -E "[0-9]" a查找包含2个连续数字的行$grep -E "[0-9]{2}" a3.2 使用grep同上3.3 管道和重定向管道符|使用管道,将一个命令的标准输出,作为另一个命令的标准输入$echo "abc" | grep "a"abc重定向命令的标准输出重定向到空设备,并覆盖重定向目标$cat a >/dev/null重定向到某个文件,并覆盖重定向目标$cat a >./b追加方式重定向目标$cat a >>./b重定向命令的标准错误$cat 1 > /dev/null 2>./err$cat errcat: 1: No such file or directory4,管理用户账户4.1 什么是用户Linux是多用户系统,多用户同时也便于权限的管理。

查找已有的用户$cat /etc/passwdroot:x:0:0:root:/root:/bin/bash......4.2 管理本地用户新增、删除用户useradd 用户名userdel 用户名4.3 管理密码设置用户密码passwd digoalChanging password for user digoal.New password:Retype new password:5,文件访问控制5.1 管理用户组创建、删除组[root@digoal01 ~]# groupadd 组名[root@digoal01 ~]# groupdel 组名5.2 管理文件系统访问控制列表Linux中文件、目录的权限分为用户权限、组权限、其他用户权限。

例如[root@digoal01 ~]# ls -ltotal 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:groupchown digoal:root postgresql-9.6.0ls -l postgresql-9.6.0drwxrwxrwx. 6 digoal root 4096 Sep 27 2016 postgresql-9.6.0 修改文件、目录的权限r 4w 2x 1[root@digoal01 ~]# chmod 700 install.log[root@digoal01 ~]# ls -l install.log-rwx------ 1 root root 9579 Mar 26 23:00 install.log6,管理进程6.1 监控进程查看系统TOP(f进入field选择)top打印系统进程ps -efwL统计每个进程的开销pidstat -d -r -u -w -l -h -p ALL 5 1打印进程stackpstack -p pid打印进程系统调用strace -p pid6.2 结束和管理进程结束进程kill pid强制结束进程(用户进程无法捕获-9信号,可能崩溃)kill -9 pid6.3 管理周期进程任务调度进程的管理查看当前用户的当前调度任务crontab -l配置当前用户的调度任务(命令一定要有user:x权限,否则不会被执行)crontab -e# * 表示所有,支持-号范围,支持,号枚举# 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 executed6.4 调整进程进程优先级,Linux在分配计算资源时,优先分配给nice值低的进程。

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

启动时调整进程的优先级启动时设置为-5nice -n -5 命令 &调整已存在进程的优先级renice -5 -p 5200#PID为5200的进程nice设为-5查看进程优先级top -p pidNI 字段表示调整进程的CPU亲和(绑定CPU) numactl --physcpubind=1,2,3 命令将命令的CPU绑定到1,2,3号核6.5 系统状态监控IO监控iostatcpu,disk,net,system资源使用监控dstat每个CPU核的使用监控mpstat。

相关文档
最新文档