Linux初学者学习日记
Linux枯燥难学,做笔记时尽量清晰明了,方便大家更好的学习
烟敛寒林o
谋事在人,成事在天。
展开
-
超全138条Vim命令、操作、快捷键
1、命令历史 2、启动vim 3、文件命令 4、vim的模式 5、导航命令 6、插入命令 7、查找命令 8、替换命令 9、移动命令 10、撤销和重做 11、删除命令 12、拷贝和粘贴 13、剪切命令 14、退出命令 15、窗口命令 16、执行shell命令 ...原创 2018-07-06 13:10:57 · 295 阅读 · 0 评论 -
Linux学习日记 —— 13.1.1 Linux系统管理-进程管理-进程查看
1、进程简介 进程就是正在运行的一个程序或命令。每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。 任何程序只要在运行,就会产生至少一个进程。对于比较复杂的程序,比如apache,运行时,会产生多个进程。 命令产生的进程一般都是临时的,因为大多数命令运行的时间很短,命令结束后,进程就自动终止了。2、进程管理的作用1. 判断服务器的健康状...原创 2018-03-11 17:07:46 · 224 阅读 · 0 评论 -
Linux学习日记 —— 14.1 Linux日志管理-简介
1、日志服务 在 CentOS 6.x 中日志服务已经由rsyslogd取代了原先的syslogd服务。rsyslogd日志服务更加先进,功能更多。但学起来基本与syslogd服务一致。2、查看日志服务是否启动[root@localhost~]# ps aux | grep rsyslogd通过查看rsyslogd服务的进程是否存在,判断日志服务rsyslogd是否启动...原创 2018-03-11 22:18:48 · 208 阅读 · 0 评论 -
Linux学习日记 —— 14.2 Linux日志管理-rsyslogd服务
1、日志的文件格式 基本日志格式包含以下四列: - 事件产生的时间 - 发生事件的服务器的主机名 - 产生事件的服务名或程序名 事件的具体信息2、/etc/rsyslog.conf配置文件以下面这条配置信息为例:authpriv.* /var/log/secure#服务名称[连接符号]日志等级 日志记录位置#记录authpriv认证相关服务及所有日志等级...原创 2018-03-11 22:32:27 · 227 阅读 · 0 评论 -
Linux学习日记 —— 14.3 Linux日志管理-日志轮替
1、日志文件的命名规则 如果配置文件中拥有 dateext 参数,那么日志会用日期来作为日志文件的后缀。例如 secure-20130605。这样,日志文件就不会重名,也就不需要更改日志的文件名,只需保存指定的日志个数,删除多余的日志文件即可。 如果配置文件中没有 dateext 参数,那么日志文件就需要进行改名了。当第一次进行日志轮替时,当前的 secure 日志会自动更名为 ...原创 2018-03-11 22:46:49 · 461 阅读 · 0 评论 -
Linux学习日记 —— 15.1.1 Linux启动管理-启动流程-运行级别
1、系统的运行级别 0 关机 1 单用户模式(命令行界面),类似于windows的安全模式,主要用于系统修复 (只会启动最基本的程序) 2 不完全的命令行界面,不含NFS服务,也没有网络 3 完全的命令行界面,是标准的字符界面 4 系统保留的一个运行级别 5 图形界面 6 重启2、运行级别命令[root@localhost ~]# runlevel ...原创 2018-03-11 22:51:16 · 189 阅读 · 0 评论 -
Linux学习日记 —— 15.2.1 Linux启动管理-启动引导程序-Grub配置文件
1、grub中分区表示 硬盘分区在grub中的表示,以第一块SCSI硬盘为例。 分区 Linux中的设备文件名 grub中的设备文件名 第一个主分区 /dev/sda1 hd(0,0) 第二个主分区 /dev/sda2 hd(0,1) 扩展分区 /dev/sda3 hd(0,2) 第一个逻辑分区 /dev/sda5...原创 2018-03-11 22:56:23 · 245 阅读 · 0 评论 -
Linux学习日记 —— 12.1 Linux服务管理-服务分类
1、服务分类 Linux的服务分为两大类:RPM包默认安装的服务 它又分为: 独立的服务和基于xinetd的服务。Linux中绝大多数的服务都是独立的服务。源码包安装的服务2、服务的启动与自启动 启动是指在当前系统中让服务运行,并提供功能。 自启动是指让服务在系统开机或重启后,随着系统的启动而自动启动服务。3、查询已安装的服务chkconfig --list查...原创 2018-03-09 21:02:02 · 272 阅读 · 0 评论 -
Linux学习日记 —— 12.2.1 Linux服务管理-RPM服务管理-独立服务管理
1、rpm包安装服务的位置rpm包安装的默认位置主要有:/etc/init.d/:独立服务启动脚本的保存位置,同目录/etc/rc.d/init.d/(/etc/init.d/是/etc/rc.d/init.d/的软连接)。/etc/sysconfig/:初始化环境配置文件的保存位置。/etc/:配置文件的保存位置。/etc/xinetd.conf:xinetd的配置文件。/etc/xinetd.d原创 2018-03-09 21:14:21 · 189 阅读 · 0 评论 -
Linux学习日记 —— 12.2.2 Linux服务管理-RPM服务管理-基于xinetd服务的管理
1、安装xinetd与telnet[root@localhost ~]# yum -y install xinetd 安装xinetd超级服务。新版本的Linux中已经取消了xinetd的安装,而且基于xinetd的服务也越来越少。[root@localhost ~]# yum -y install telnet-server 安装telnet-serv...原创 2018-03-09 21:39:54 · 209 阅读 · 0 评论 -
Linux学习日记 —— 12.3 Linux服务管理-源码包服务的管理
1、源码包安装服务的启动使用绝对路径,调用启动脚本来启动源码包安装的服务 不同的源码包的启动脚本不同,可通过查看源码包的安装说明,来明确掌握启动脚本的方法。例如,源码包安装的apache2.2的启动方法:/usr/local/apache2/bin/apachectl start|stop|restart|status2、源码包服务的自启动修改/etc/rc....原创 2018-03-09 21:47:15 · 208 阅读 · 0 评论 -
Linux学习日记 —— 11.5.3 Shell编程-流程控制-for循环
for循环的写法主要有两种:for 变量 in 值1 值2 值3 ... do 程序 done或者for (( 初始值;循环条件;变量变化 )) do 程序 done说明:第一种写法主要用于循环次数不明确的情况;而第二种写法主要用于已知循环次数的情况。示例1:打印时间#!/bin/bash#打印...原创 2018-03-07 22:10:33 · 224 阅读 · 0 评论 -
Linux学习日记 —— 11.5.4 Shell编程-流程控制-while循环与until循环
1. while循环 while循环是不定循环,也称作条件循环。只要条件成立,循环就会一直继续,直到条件不成立,循环才会停止。这就和for循环有一点区别。基本格式:while [ 条件 ] do 程序 done示例:求1到100的和#!/bin/bash#求1到100的和i=1s=0while [ $i -le 100 ]#...原创 2018-03-07 22:13:11 · 196 阅读 · 0 评论 -
Linux学习日记 —— 11.1 Shell编程-正则表达式
1. 正则表达式与通配符正则表达式。用来在文件中匹配符合条件的字符串,是包含匹配。 grep、awk、sed等命令可以支持正则表达式。通配符。用来匹配符合条件的文件名,是完全匹配。ls、find、cp等命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配。 在Linux的shell中,通配符是用来完全匹配文件名的,而正则表达式是用来包含匹配文件中的字符串的。二者有明显的区别。2原创 2018-03-06 22:26:13 · 218 阅读 · 0 评论 -
Linux学习日记 —— 11.2.1 Shell编程-字符截取命令-cut命令
[root@localhost ~]# cut [选项] 文件名作用:提取(显示或查看)文件中的哪几列。局限性:它不能提取多个空格分割的列,它可以识别的分隔符默认是制表符。选项:-f 列号:提取第几竖列。这个选项是必须选项。-d 分隔符:按照手工指定的分隔符分割列。分隔符可以用双引号括起来。示例:[root@localhost ~]# vi student.txtID ...原创 2018-03-06 22:30:52 · 208 阅读 · 0 评论 -
Linux学习日记 —— 11.2.2 Shell编程-字符截取命令-printf命令
严格来说,printf命令并不是字符提取命令。命令格式:printf ‘输出类型输出格式’ 要输出的内容作用:把要输出的内容,按照指定的格式匹配输出。注意:printf不能直接输出文件中的内容,也不支持管道符。输出类型: %ns:输出字符串。n是数字指代输出几个字符 %ni:输出整数。n是数字指代输出几个数字 %m.nf:输出浮点数。m和n是数字,指代输出的整数位数和...原创 2018-03-06 22:36:10 · 212 阅读 · 0 评论 -
Linux学习日记 —— 11.2.3 Shell编程-字符截取命令-awk命令
awk不仅可以截取文件中的哪些列,而且它还是一门编程语言。功能很强大,操作起来比cut复杂得多。 截取列时,优先选择cut命令。如果cut命令不足以完成,就考虑awk命令。 awk可以识别的分隔符默认是制表符或空格(就算是多个没有规律的空格也可以识别)。[root@localhost ~]# awk ‘[条件1] {动作1} [条件2] {动作2} …’ 文件名...原创 2018-03-06 22:40:27 · 235 阅读 · 0 评论 -
Linux学习日记 —— 11.3 Shell编程-字符处理命令
1. 排序命令 sort[root@localhost ~]# sort [选项] 文件名作用:读取文件的所有行,排序后输出。选项:-f:忽略大小写-n:以数值型进行排序,默认使用字符串型排序-r:反向排序-t:指定分隔符,默认分隔符是制表符-k n[,m]:按照指定的字段范围排序。从第n字段开始,到m字段结束(默认到行尾)示例:sort /etc/passwd ...原创 2018-03-06 22:54:39 · 186 阅读 · 0 评论 -
Linux学习日记 —— 11.4 Shell编程-条件判断
1. 按照文件类型进行判断 判断选项 作用 -b 文件 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)。 -c 文件 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)。 -d 文件 判断该文件是否存在,并且是否为目录文件(是目录文件为真)。 -e 文件 判断该文件是否存在(存在为真)。 -f 文...原创 2018-03-07 21:51:40 · 298 阅读 · 0 评论 -
Linux学习日记 —— 11.5.1 Shell编程-流程控制-if语句
1. 单分支if条件语句 单分支if条件语句有三种写法:if [ 条件判断式 ]; then程序fi或者if [ 条件判断式 ] then 程序fi或者if [ 条件判断式 ];then 操作;fi说明:只有条件成立,才执行相应的操作。示例:if [ aa==aa ];then echo yes;fi注意要点:if语句使用f...原创 2018-03-07 21:58:52 · 271 阅读 · 0 评论 -
Linux学习日记 —— 11.5.2 Shell编程-流程控制-case语句
case语句和if…elif…else一样是一种多分支条件判断语句。 不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。基本格式:case $变量名 in "值1") 如果变量等于这个值,则执行操作1 ;; "值2") 如果变量等于这个值,则执行操作2 ...原创 2018-03-07 22:04:18 · 228 阅读 · 0 评论 -
Linux学习日记 —— 10.5.1 Shell基础-Bash变量-数值运算与运算符
在Linux的shell中,变量的值的类型默认是字符串,不能直接进行数值运算。[root@localhost ~]# aa=11[root@localhost ~]# b=22[root@localhost ~]# c=$aa+$bb[root@localhost ~]# echo $cc11+22要想对变量进行数值运算,需要采用特殊的方法。1. declare声明变量类型[root@lo原创 2018-03-06 22:08:13 · 211 阅读 · 0 评论 -
Linux学习日记 —— 10.1 Shell基础-概述
Shell是一个命令行解释器,应用程序发送命令通过Shell编译成机器语言给了内核,由内核给了硬件。 它易编写,易调试,灵活性强。Shell语言是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。1、Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 启动、挂起、停止甚至是编写原创 2018-02-28 23:39:44 · 193 阅读 · 0 评论 -
Linux学习日记 —— 10.2 Shell基础-脚本执行方式
1. 输出命令echo 命令格式:echo [选项] [输出的内容] 选项: -e:支持反斜线控制的字符转换。 Linux中的转义字符的作用 转义字符 作用 \ 输出\本身。 \a 输出警告音。 \b 退格键,也就是向左退删除一个字符。 \c 取消行尾的换行符。和“-n”选项一致。 \e ESCAPE键。 ...原创 2018-03-01 00:06:05 · 341 阅读 · 0 评论 -
Linux学习日记 —— 10.3.1 Shell基础-Bash基本功能-历史命令与补全
1. 历史命令 命令格式:history [选项] [历史命令保存文件] 选项:-c:清空所有的历史命令-w:把缓存中的历史命令立即写入历史命令保存文件(默认保存位置为登录用户家目录下的.bash_history文件)注:用户登录后执行的命令,要等到用户退出后,才会自动写入历史命令保存文件。历史命令的调用:使用上、下箭头调用以前的历史命令使用!n执行第n条历史命令...原创 2018-03-01 00:23:25 · 204 阅读 · 0 评论 -
Linux学习日记 —— 10.3.2 Shell基础-Bash基本功能-别名与快捷键
1. 命令别名 alias[root@localhost ~]# alias 别名='原命令'#设定命令别名[root@localhost ~]# alias#查询所有命令别名示例:[root@localhost ~]# alias vi='vim'#给vim命令设置别名vi这样,执行vi时,实际上执行的是vim。而且原有的vi命令被覆盖,就失效了。注:给原命...原创 2018-03-02 14:43:28 · 168 阅读 · 0 评论 -
Linux学习日记 —— 10.3.3 Shell基础-Bash基本功能-输入输出重定向
1.标准输入输出 在Linux系统中,所有的内容(包括硬件)都是文件。 设备 设备文件名 文件描述符 类型 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/stderr 2 标准错误输出数字0代表标准输入;1代表标准输出;2代表标准错误...原创 2018-03-02 15:08:22 · 182 阅读 · 0 评论 -
Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
1. 多命令顺序执行 多命令执行符 基本格式 作用 ; 命令1 ; 命令2 多个命令按照先后顺序执行,命令之间没有逻辑关系。 && 命令1 && 命令2 逻辑与。 只有当命令1执行正确,命令2才会执行。 || 命令1 || 命令2 逻辑或。 只有当命令1执行不正确,命令2才会执行。示例:...原创 2018-03-02 15:20:24 · 143 阅读 · 0 评论 -
Linux学习日记 —— 10.3.5 Shell基础-Bash基本功能-通配符和其他特殊符号
1. 通配符 通配符主要用来匹配文件名或文件夹名,以便对文件或文件夹进行删除、查找等操作。 通配符 作用 ? 匹配一个任意字符。 * 匹配0个或任意个任意字符,也就是匹配任何内容。 [] 匹配中括号内的任意一个字符。 [-] 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母。 [^]...原创 2018-03-02 15:25:58 · 161 阅读 · 0 评论 -
Linux学习日记 —— 10.4.1 Shell基础-Bash变量-用户自定义变量
1. 什么是变量 变量是计算机内存的单元,其中存放的值可以改变。 变量包含变量的名称和变量的值两个部分。2. 变量的设置规则 1.变量的名称可以用字母、数字和下划线组成,但不能以数字开头。 2.变量的值的类型默认是字符串型,如果要进行数值运算,就需指定变量类型为数值型。 3.变量可以用等号=来赋值,等号左右两侧不能有空格。 4.变量的值如果包含空格,需要用单引号或双引号括起来原创 2018-03-03 02:10:10 · 237 阅读 · 0 评论 -
Linux学习日记 —— 10.4.2 Shell基础-Bash变量-环境变量
1. 什么是环境变量 自定义变量只在当前的shell中生效,而环境变量会在当前的shell和这个shell的所有子shell中生效。 如果把环境变量写入配置文件,它就会在所有的shell中生效。 Linux系统中有一些内置的环境变量,用户可以修改系统环境变量的值,也可以自定义新的环境变量。2. 操作环境变量定义环境变量: 格式:export 变量名=变量值[root@lo原创 2018-03-03 02:21:08 · 223 阅读 · 0 评论 -
Linux学习日记 —— 10.4.3 Shell基础-Bash变量-位置参数变量
位置参数变量其实属于预定义变量的一种。位置参数变量主要有以下这些: 位置参数变量 说明 $n n为数字。$0代表命令本身,$1到$9代表第1到第9个参数(参数的值是执行该命令时,从1开始依次输入的),十以上的参数要用大括号包含,如${10}。 $* 这个变量代表命令行中所有的参数(不包括$0),它把所有的参数当做一个整体对待。对其进行for循环遍历时,只会循环一次。 $@原创 2018-03-03 02:30:34 · 231 阅读 · 0 评论 -
Linux学习日记 —— 10.4.4 Shell基础-Bash变量-预定义变量
1. 预定义变量 预定义变量 说明 $? 用于判断上一条命令的执行状态。如果上一条命令执行正确,则这个变量的值是0;如果上一条命令执行错误,则这个变量的值是除0之外的其他数(具体是哪个数,由命令的撰写者决定)。 $$ 当前进程的进程号(PID)。 $! 在后台运行的最后一个进程的进程号(PID)。示例: 命令正确时的情况:[root@localhost ~]# ls原创 2018-03-03 02:38:47 · 269 阅读 · 0 评论 -
Linux学习日记 —— 9.1 文件系统管理-文件系统常用命令df、du、fsck、dumpe2fs
1、文件系统查看命令df [root@localhost ~]# df [选项][挂载点] 选项: -a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs -h 使用习惯单位显示容量,如KB,MB或GB等 -T 显示文件系统类型 -m 以MB 为单位显示容量 -k 以KB为单位显示容量。默认就是以KB为单位2、统计目录或文件大小 [root@localhost~]原创 2018-02-25 15:42:24 · 193 阅读 · 0 评论 -
Linux学习日记 —— 9.2 文件系统管理-文件系统常用命令-挂载命令
1、查询与自动挂载 [root@localhost~]# mount [-l] #查询系统中已经挂载的设备,-l会显示卷标名称 [root@localhost~]# mount -a #依据配置文件/etc/fstab的内容,自动挂载2、挂载命令格式 [root@localhost~]# mount [-t 文件系统][-L 卷标名][-o 特殊选项] 设备文件名 挂载点 选项: -t原创 2018-02-25 15:44:26 · 187 阅读 · 0 评论 -
Linux学习日记 —— 8.1.1 权限管理-ACL权限简介与开启
1、ACL权限简介 ACL权限用于解决身份不足问题2、查看分区ACL权限是否开启 [root@localhost ~]# dumpe2fs -h /dev/sda3 #dumpe2fs命令是查询指定分区详细文件系统信息的命令 选项: -h 仅显示超级块中信息,而不显示磁盘块组的详细信息3、临时开启分区ACL权限 [root@localhost ~]# mount -o remount,a原创 2018-02-22 13:42:49 · 329 阅读 · 0 评论 -
Linux学习日记 —— 8.1.2 权限管理-查看与设定ACL权限
1、查看ACL命令 [root@localhost ~]# getfacle 文件名 #查看acl权限2、设定ACL权限的命令 [root@localhost ~]# setfacl 选项 文件名 选项: -m 设定ACL权限 -x 删除指定的ACL权限 -b 删除所有的ACL权限 -d 设定默认ACL权限 -k 删除默认ACL权限 -R 递归设定ACL权限3、...原创 2018-02-22 13:54:28 · 248 阅读 · 0 评论 -
Linux学习日记 —— 8.1.3 权限管理-最大有效权限与删除ACL权限
1、最大有效权限mask mask是用来指定最大有效权限的。 如果我给用户赋予了ACL权限,是需要和mask的权限“相与”才能得到用户的真正权限修改最大有效权限 [root@localhost /]# setfacl -m m:rx 文件名 #设定mask权限为r-x。使用“m:权限”格式2、删除ACL权限 [root@localhost /]# setfacl -x u:用户名 文件名原创 2018-02-22 14:01:51 · 206 阅读 · 0 评论 -
Linux学习日记 —— 8.1.4 权限管理-默认和递归ACL权限
1、递归ACL权限 递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限。 setfacl -m u:用户名:权限 -R 文件名2、默认ACL权限 默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。 setfacl -m d:u:用户名:权限 文件名原创 2018-02-22 14:06:02 · 154 阅读 · 0 评论 -
Linux学习日记 —— 8.2.1 权限管理-文件特殊权限-SetUID
1、 SetUID的功能只有可执行的二进制程序才能设定SUID权限命令执行者要对该程序拥有x(执行)权限命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效passwd命令拥有SetUID权限,所以普通可以修改自己的密码 [root@localhost ~]# ll...原创 2018-02-22 14:13:23 · 283 阅读 · 0 评论