Linux学习笔记三----------Linux进阶知识和命令

一、正则表达式和数据操作

grep命令,筛选命令,全局搜索正则表达式并打印

grep text file

在profile中搜索包含path的行,grep path /etc/profile;搜索包含hello world的行,grep ’hello world‘ /etc/profile

-i,忽略大小写;-n,显示行号;-v,显示不包含文本的行;-r,在所有子目录和子文件中查找;-E,使用正则表达式;

grep -E 与 egrep一致

greo -E ^path /etc/profile(匹配行首)

sort,为文件排序 sort file,按照顺序将file中的行进行排序

-o,将排序后的内容写入新文件 sort -o 输出文件 输入文件

-r,倒序排列;-R,随机排序;-n,对数字排序

wc,文件统计,显示文件行数,单词数,字节数;

-l,只统计行数;-w,统计单词数;-c,统计字节数;-m,统计字符数

uniq,删除文件中重复内容;只能将连续重复行变为一行

uniq file;uniq 输入文件 输出文件

-c,统计重复行数;-d,只显示重复行的值

cut,剪切文件

-c,根据字符数来剪切

cut -c 2-4 file(每一行只保留第二个字符到第四个字符)

二、流、管道、重定向

重定向:把本来显示在终端的结果,输送到其他地方

管道:把两个命令连接起来使用,一个命令的输出作为另一个命令的输入

>和>>,重定向到文件,就不会显示在终端中

cut命令,根据分隔符剪切,cut -d , -f 1 notes.csv,按照逗号分隔符剪切csv文件中的第一列

>,将输出内容重定向到文件中 cut -d , -f 1 notes.csv > student.txt,若重定向文件不存在,则新建文件;否则覆盖该文件

若不想在终端显示,也不写入到文件中,则可以将内容重定向到 /dev/null中

>>,重定向到文件末尾,不会覆盖文件,只是追加到文件末尾

stdin,stdout,stderr,标准输入流、标准输出流、标准错误流

>,>>只能将标准输出重定向到文件

2>可以将标准错误输出重定向到文件 cat not_exist_file.csv > results.txt 2> errors.log

2>&1,将标准错误输出与标准输出重定向到相同文件 cat not_exist_file.csv >> results.txt 2>&1

输入重定向 <,<<

cat < notes.csv

<<,从键盘读取

sort -n << END

wc -m << END

管道,|,

排序输出结果,cut -d , -f 1 notes.csv | sort

sudo grep log -Ir /var/log | cut -d : -f 1| sort | uniq

三、进程和系统监测

Linux是一个多任务、多用户的系统

w,查看用户信息

tload,实时查看系统负载

ps,top命令,列出运行的进程

ps -ef,列出所有进程;-efH,按照乔木状列出进程;-u xxx,列出指定用户进程;-aux,通过cpu和内存过滤进程

pstree,以树形结构显示进程,与ps -asjf效果类似

top,实时进程状态

q键,退出top状态;h,显示帮助文档;u,依照用户过滤显示;k,结束某些进程;s,改变更新时间;

ctrl + c和kill,停止进程命令

ctrl + c,结束终端中的进程

kill + 进程号,结束进程,kill -9 +进程,立即结束进程;killall + 程序名,结束多个进程

halt,关闭系统;reboot,重启系统;poweroff,关闭系统

&和nohup,后台运行进程

让一个进程在后台运行,cp file.txt file-copy.txt &,但是依然与终端相关联,一旦终端关闭,进程自动结束

nohup让进程与终端分离

ctrl + z, jobs,bg,fg控制进程前后台切换

ctrl + z,转到后台,暂停运行;bg,使进程转入后台,开始运行

jobs,显示后台进程状态

fg,使进程转到前台

四、任务的定时和延期

可以使用at设定一个程序的执行时间

at 22:10(在22:10的时间点执行的程序,回车并输入程序),并使用ctrl+d退出命令输入

at 22:10 tomorrow;at 22:10 12/10/20;at now + 10 minutes

atq、atrm,列出和删除正在等待执行的at任务

atq,列出正在等待执行的at任务

atrm+任务编号,删除正在等待执行的at任务

sleep命令,在两条命令之间插入休眠时间

touch file.txt; sleep 10; rm file.txt

&&和||,逻辑与,逻辑或

&&前的命令执行成功,才会执行后面的命令

||前面的命令执行失败,才会执行后面的命令

;不论分号前命令是否执行成功,都会执行后面的命令

crontab命令,可以定时重复执行

前期配置,修改.bashrc文件,将export EDITOR=nano添加到.bashrc文件中(echo "export EDITOR=nano">> ~/.bashrc)

source ./bashrc让配置立即生效

crontab,-l,显示crontab文件;-e,修改crontab文件;-r,删除crontab文件

修改crontab文件,修改格式 m h dom mon dow command

每天的22点10分都在家目录下创建file.txt 10 22 * * * touch ~/file.txt

五、文件的解压与压缩

打包,将多个文件变成总的文件,成为archive

压缩,使用算法将文件压缩

tar命令,将多个文件归档为总的文件,然后使用gzip或者bzip2压缩归档文档

tar,将多个文件合并一个文件

-cvf,创建归档文件 tar -cvf sorting.tar sorting/

-tf,显示归档里的内容,并不解开归档

-rvf,追加文件到文档

-xvf,解开归档

gzip,bzip2压缩归档

.tar.gz,用gzip压缩后的文件后缀名

.tar.bz2,用bzip2压缩后的文件后缀名

gzip xx.tar

gunzip和bunzip2进行解压

gunzip xxx.tar.gz

用tar同时进行归档和压缩

tar -zcvf sorting.tar.gz sorting/

解压

tar -zxvf sorting.tar.gz

-jcvf,归档,然后用bzip2压缩

-jxvf,解压bzip2的压缩文档

zcat可以查看tar.gz文件;bzcat查看tar.bz2文件

使用zip、rar、unzip、unrar压缩和解压对应文件

六、编译安装软件

下载源代码,解压压缩包,配置,编译,安装

alien软件可以将.rpm和.deb软件相互转换,sudo yum install alien

alien -r *.deb,将deb文件转换为rpm,然后使用rpm -i xxx.rpm即可安装

编译安装

wget命令下载压缩文件

tar -zxvf xxx.tar.gz解压文件

./configure,检查是否电脑配置是否符合要求

make,编译源码

make install,安装程序

原文地址:https://www.cnblogs.com/xxp17457741/p/12482759.html