Linux文本处理入门深入解析动手实操
学习并使用Linux系统中的文本编辑工具Vim以及文本处理命令。
vim的三种操作模式
命令模式、输入模式和底线命令模式
在命令模式下,快捷键gg表示移动游标到第一行,快捷键nG表示移动游标到第n行,快捷键Ctrl+o表示快速回到上一次光标所在位置等。
输入模式就没有什么好讲的了,直接在命令模式下按i或a键就进入了输入模式。
底线命令模式中保存并退出:wq(加一个感叹号表示强制保存退出),将文件的行号显示出来 :set nu,等基础的命令。
文本文件查看命令cat
cat命令一般用于查看内容比较少的文件。以下是cat操作的一些参数:
more:more命令从前向后分页显示文件内容。
less:less命令可以对文件或其它输出进行分页显示,与moe命令相似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动。
head:head命令用于查看文件开头指定行数的内容。
tail:tail命令用于查看文档的后N行或持续刷新内容。
stat:用来显示文件的详细信息,包括inode、atime、mtime、ctime等。
wc:wc命令用于统计指定文本的行数、字数、字节数。
file:file命令用于辨识文件类型。
diff:diff命令用于比较文件的差异。
grep:grep命令用于查找文件里符合条件的字符串。
sed:sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。
awk:和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。
cut:cut命令主要用来切割字符串,可以对输入的数据进行切割然后输出。
tr:tr命令用于对来自标准输入的字符进行替换、压缩和删除。
Linux系统管理入门深入解析动手实操
体验了Linux中常用的系统工作命令以及系统状态检测命令。
学习到了对Linux服务器进行系统管理、进程管理的命令,了解到Shell命令中的变量、管道符(|)、重定向(>)等知识。
常用系统工作命令
echo:echo命令用于在终端输出字符串或变量提取后的值。
date:date命令用于显示和设置系统的时间和日期。时间格式的部分控制字符命令如下:
date "+%r":显示当地时间下的 12 小时时钟的时间 (如:11:11:04 下午)
date "+%U":显示一年中的第几周,以周日为每星期第一天(如:00-53)
date "+%W":显示一年中的第几周,以周一为每星期第一天(如:00-53)
wget:在终端中下载文件。部分参数使用命令如下:
wget -b:后台下载
wget -P:下载到指定目录,如果指定路径不存在会自动创建
wget -r:递归下载
ps:ps命令用于查看系统中的进程状态。部分参数使用命令如下:
ps -a:显示现行终端机下的所有程序,包括其他用户的程序
ps -e:列出程序时,显示每个程序所使用的环境变量
ps -f:显示当前所有的进程
top:top命令动态地监视进程活动与系统负载等信息。
输出视图中分为两个区域,一个统计信息区,一个进程信息区。
统计信息区:
第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。
进程信息区:
列名 | 含义 |
PID |
进程ID |
USER | 进程所有者的用户名 |
PR | 进程优先级 |
NI | nice值。负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb |
RES | 进程使用的、未被换出的物理内存大小,单位kb |
SHR | 共享内存大小,单位kb |
S | 进程状态D:不可中断的睡眠状态R:正在运行S:睡眠T:停止Z:僵尸进程 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 命令名 |
pidof:pidof命令用于查询指定服务进程的PID值。
kill:kill命令用于终止指定PID的服务进程。
killall:killall命令用于终止指定名称的服务对应的全部进程。
系统状态检测命令
ifconfig:ifconfig命令用于获取网卡配置与网络状态等信息。
命令输出说明:
第一部分的第一行显示网卡状态信息。
eth0表示第一块网卡。
UP代表网卡开启状态。
RUNNING代表网卡的网线被接上。
MULTICAST表示支持组播。
第二行显示网卡的网络信息。
inet(IP地址):172.16.132.195。
broadcast(广播地址):172.16.143.255。
netmask(掩码地址):255.255.240.0。
RX表示接收数据包的情况,TX表示发送数据包的情况。
lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。
uname:uname命令用于查看系统内核与系统版本等信息。
free:free用于显示当前系统中内存的使用量信息。
who:who 命令显示关于当前在本地系统上的所有用户的信息。
last: last 命令用于显示用户最近登录信息。
history:history命令用于显示历史执行过的命令。
Linux磁盘管理入门深入解析动手实操
学习并体验了Linux系统中常用的磁盘管理命令。
磁盘管理命令
df命令:该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
du命令:查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间。
fdisk命令:该命令用于磁盘分区。
Linux文件与权限入门深入解析动手实操
学习了Linux系统中常用的文件目录管理和文件权限管理命令。我学习到了怎么创建文件或者文件夹,同时怎么查看文件夹下面有什么内容,查看当前在什么目录下面的目录,ls命令用于显示指定工作目录下的内容等,还有copy复制目录。
文件目录管理命令
ls: ls命令用于显示指定工作目录下的内容。
pwd:获取当前工作目录的绝对路径。
cd:cd命令用于切换工作目录。
touch:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
mkdir:mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。
rm:rm命令用于删除一个文件或者目录。
cp: cp命令主要用于复制文件或目录。
mv: mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
rename:rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式。
文件权限
ls -l命令可以查看Linux系统上的文件、目录和设备的权限。
第1位表示存档类型,d表示目录,-表示一般文件。
第2~4位表示当前用户的权限(属主权限)。
第5~7位表示同用户组的用户权限(属组权限)。
第8~10位表示不同用户组的用户权限(其他用户权限)。
第11位是一个半角句号.,表示SELinux安全标签。
用户权限每组三位,rwx分别表示读、写、执行权限,对应八进制表示为4、2、1。
chmod命令:chmod命令用于修改文件权限mode,-R参数以递归方式对子目录和文件进行修改。
chown命令:chown命令修改文件的属主和属组;-R参数以递归方式对子目录和文件进行修改;ls -l命令显示的第三列和第四列就是文件的属主和属组信息。
chgrp命令:chgrp命令用于修改文件的属组。
Linux文件管理入门深入解析动手实操
学习了Linux系统中常用的文件管理命令。
磁盘管理命令
cat命令:该命令用于连接文件并打印到标准输出设备上。
cmp命令:该命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。
diff命令:该命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
file命令:该命令用于辨识文件类型。
find命令:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
本期小知识:更新系统时间,与网络时间同步
a. 安装ntp校时工具
yum -y install ntp
b. 用ntpdate从时间服务器更新时间
ntpdate time.nist.gov