Linux系统中使用grep命令,查找包含某字符串的文件

我们在windows查找包含包含某些文字的文件时,通过高级查找工具可以很方便的做到,一次在linux要用到这一功能时却犯了难,我们知道使用find -name 命令可以根据文件名来查找,但具体到文件里面的内容时就做不到了,经查找资料用grep这一命令可以满足我们的需要,现总结如下

grpe命令格式

grep 「选项」 “查找的内容” 「查找文件的路径」

实例

1-在当前目录下查找所有包含有“测试”内容的文件

robin@robin-Lenovo:~$ grep -rn “测试” ./

  • -r 是递归查找所有符合条件的内容
  • -n 是显示查找到的“字符串”所在文件中的行号
继续阅读“Linux系统中使用grep命令,查找包含某字符串的文件”

Linux系统中常用命令汇总

1、系统升级命令

查看系统中可升级的软件包

jgss@jgss-Lenovo-XiaoXin-I2000:~$ apt list –upgradable

升级可更新的软件包

jgss@jgss-Lenovo-XiaoXin-I2000:~$ sudo apt upgrade

2、输入法

重新启动IBus输入法

jgss@jgss-Lenovo-XiaoXin-I2000:~$ ibus-daemon -rdx

3、修复ubuntu uefi引导

robin@robin-B450M-GAMING:~$ sudo grub-install -v

Linux系统下关于用户和用户组的常用操作

在服务器搭建及日常使用中,鉴于权限的配置,经常会对用户及用户组进行设置,因此,将关于用户的常用操作总结如下。

一、创建新用户useradd

1、命令参数

用法:useradd [选项] 登录
useradd -D
useradd -D [选项]

继续阅读“Linux系统下关于用户和用户组的常用操作”

在腾讯云服务器CentOS7上架设ftp服务器Vsftpd

今年双十一时看到腾讯云服务器搞活动,就果断下手入了一台2核8GB独享5Mb带宽的centos7云服务器,为发表博客空间做准备,也就是您现在看了的“洛水之滨的linux博客”。为了方便后期在本地和服务器之间传送数据,便首先架设ftp服务,平台方面习惯性的选择了大家常用的Vsftpd来搭建,现将架设步骤及注意事项汇总如下:

继续阅读“在腾讯云服务器CentOS7上架设ftp服务器Vsftpd”

Linux下重定向输入输出操作示例

重定向

1.1      重定向符号

>               输出重定向到一个文件或设备 覆盖原来的文件
>!              输出重定向到一个文件或设备 强制覆盖原来的文件
>>             输出重定向到一个文件或设备 追加原来的文件
<               输入重定向到一个程序

1.2标准错误重定向符号

2>             将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件  b-shell
2>>           将一个标准错误输出重定向到一个文件或设备 追加到原来的文件
2>&1         将一个标准错误输出重定向到标准输出 注释:1 可能就是代表 标准输出
>&             将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件  c-shell
|&              将一个标准错误 管道 输送 到另一个命令作为输入

1.3命令重定向输入输出类别

在 bash 命令执行的过程中,主要有三种输出入的状况,分别是:
1. 标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
2. 标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
3. 错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>

1.4命令重定向操作实例

将显示的结果输出到 robin.txt 文件中,若该文件以存在则予以取代!

将显示的结果追加到 robin.txt 文件中,该文件是在旧文件的末尾追加新的记录内容!

将显示的数据,正确的输出到 robin.txt 错误的数据输出到 robin.err

将显示的数据,不论正确或错误均输出到 robin.txt 当中!错误与正确文件输出到同一个文件中,则必须以上面的方法来写!不能写成其它格式!

将显示的数据,正确的输出到 robin.txt 错误的数据则予以丢弃! /dev/null ,可以说成是黑洞装置,为空即不保存。

1.5为何要使用命令输出重定向

  • 当屏幕输出的信息很重要,而且我们需要将他保存下来的时候;
  • 背景执行中的程序,不希望他干扰屏幕正常的输出结果时;
  • 一些系统的例行命令(例如写在 /etc/crontab 中的文件)的执行结果,希望他可以存下来时;
  • 一些执行命令,我们已经知道他可能的错误讯息,所以想以『 2> /dev/null 』将他丢掉时;
  • 错误讯息与正确讯息需要分别输出时。

Linux系统boot空间不足解决办法

产生boot空间不足的原因

因为linux内核一直在更新,更新后,旧的内核就不在使用,但旧的内核文件还在boot里面,占据着空间,更新几次过后boot分区就会被占满,显示boot磁盘空间不足。

解决办法

将不用的内核文件删除,释放空间。

方法一:使用sudo apt-get autoremove命令

一个偶然的机会运行autoremove命令,发现也可以卸载不再使用的内核,你可以试一下,简单易行。

方法二:使用sudo apt-get remove命令

1、查看已安装的内核dpkg –get-selections |grep linux-image

robin@robin-Lenovo:~$ dpkg –get-selections |grep linux-image
linux-image-4.4.0-21-generic deinstall
linux-image-4.4.0-57-generic install
linux-image-4.4.0-59-generic install
linux-image-4.4.0-62-generic install
linux-image-4.4.0-64-generic install
linux-image-extra-4.4.0-21-generic deinstall
linux-image-extra-4.4.0-57-generic install
linux-image-extra-4.4.0-59-generic install
linux-image-extra-4.4.0-62-generic install
linux-image-extra-4.4.0-64-generic install
linux-image-extra-virtual install
linux-image-generic install

  • 后面带deinstall的为已删除的内核,可以忽略

2、使用uname -a查看自己当前启动的是哪个内核

robin@robin-Lenovo:~$ uname -a
Linux eason 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

  • 从输出可知我们当前启动的内核是4.4.0-62-generic

3、运行apt-get remove命令卸载其他内核,为了保险起见,保留最近的一两个版本。

sudo apt-get remove linux-image-4.4.0-57-generic
sudo apt-get remove linux-image-4.4.0-59-generic
sudo apt-get remove linux-image-extra-4.4.0-57-generic
sudo apt-get remove linux-image-extra-4.4.0-59-generic

robin@robin-Lenovo:~$ sudo apt-get autoremove

Linux、windows双系统安装磁盘分区方案

总体规划

本人将Linux作为主系统使用多年,日常工作常在Linux完成,偶尔会切换至windows系统下完成一些辅助工作,若要Linux与windows系统共存安装双系统,建议将winds系统分区划分在前面,linux系统分区划分在后。

windows分区

windows可划出两个分区,一个作为系统目录,一个作为文件存储。系统目录50GB左右,文件存储目录可根据个人需要来划分合适的大小。

Linux分区

因要将Linux作为主系统使用,故余下磁盘空间作为inux系统使用。Linux可以把分区作为挂载点,载入目录,其中最常用的目录如下表所示:

继续阅读“Linux、windows双系统安装磁盘分区方案”

crontab计划任务使用详解

crontab是一个linux下的定时执行工具,可以在无需人工干预的情况下自动执行计划任务。

crontab常用命令参数如下

编辑计划任务表:crontab -e,命令构成为“时间”+“动作”,时间有分、时、日、月、周五种。

时间操作符有:

操作实例

1、每天早上6:05执行/home/robin/backup.sh

继续阅读“crontab计划任务使用详解”

Linux下自动备份mysql数据库(附执行脚本程序)

开启数据库备份计划任务

配置计划任务database_mysql_backup.sh脚本

注意事项

  • 如果有多个数据库可以分别设定数据库名称、登录用户名、密码等项即可
  • 该计划任务是在服务器上执行的,所以IP地址填写的是127.0.0.1,如果是在其它终端上执行该任务,只需变更IP地址为服务器IP地址
  • 计划任务执行的sh脚本,可以放在任何地方,只需根据情况修改路径
  • BACKUP_PATH是备份文件的保存路径,根据情况替换成自己的路径