Linux

Linux 删除文件的特定行(第一行,前n行,最后一行)

当我们编辑文件的时候时候,我们通过可以vi/vim编辑器来删除文件中的特定行,比如删除第一行或者删除最后行或者符合某个模式的行。 但是如何在shell脚本里来删除特定的符合条件的行呢。 这时候,我们可以使用linux下强大的文本处理工具sed。 我们可以通过该命令删除指定的行,或者通过sed命令提供的正则表达式,来查找符合模式匹配的行,然后将其删除。 删除文件的第一行 如果要删除文件的行,并将其立即应用到源文件,在sed命令里需要使用-i 选项,否则,只是将删除文件内容显示出来,但不会真正的删除文件的内容。 执行下面的命令: # sed -i ‘1d’ fio.txt 命令输出如下: [email protected]:~/osetc# cat fio.txt line1  a line2  b line3  c [email protected]:~/osetc# sed -i ‘1d’ fio.txt [email protected]:~/osetc# cat fio.txt line2  b line3  c… read more »

Linux下通过grep命令恢复被删文件的内容

我们之前已经介绍了在linux下通过构建一个类似于windows的回收站来恢复被删除的文件。 今天我们再来介绍一个通过grep命令来恢复被删除文件的内容的方法。 我们都知道,当linux的删除命令rm执行删除文件操作后,文件数据并没有从磁盘存储上移除,所以只要文件内容没有被覆盖掉,文件内容依然有被恢复的可能性。 因为linux下一切数据皆以文件的形式存放,依旧是说磁盘设备也是以文件的形式存在。所以我们可以通过grep命令来过滤查找出我们删除文件的内容,并将其重定向到另一个文件里,这也也就能达到恢复文件的目的。 1# 确定根目录所在的磁盘 执行命令: #mount | grep sda 命令输出如下: [email protected]:~/osetc# mount | grep sda /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) 2# 删除文件 执行rm命令: #rm fio.txt 命令输出如下: [email protected]:~/osetc# cat fio.txt delete line 1… read more »

Linux 快速删除百万级文件(rsync命令)

当我们想在linux下删除文件的时候,我们会想到通过rm命令来进行删除操作。 而当我们要删除的文件很多的时候,我们会遇到“/bin/rm: Argument list too long“的问题,上一篇文章我们已经介绍了通过find命令或者xargs命令或者自定义shell脚本的方法来避免这种错误。但是如果你想删除几十万或者上百万的文件的话,如果使用之前介绍的方法,效率会很低,删除所需要的时间也会很长。本文会介绍一种通过rsync命令来快速删除大批量文件的方法,并与之前的find命令结合rm命令删除文件的方法进行比较。 Find命令结合rm 命令删除文件 假如要删除当前目录下的上百万个文件(下面的例子以删除1000个文件做比较),执行下面的命令,并通过time命令来查看find /rm命令组合删除文件所需要的时间, 执行命令如下: #time find  ./ -name * –exec rm –rf {} \; 命令输出如下: [email protected]:~/osetc# time find  ./ -name “*.txt” -exec rm  {} \; real    0m0.543s user   … read more »

Linux 下/bin/rm: Argument list too long 解决方法(最全)

本文将会通过不同方法来解决在Linux命令行下通过rm命令删除大批量文件的时候遇到的“Argument list too long”的问题。 因为linux命令对传入的参数个数有限制,所以超过限制的时候,系统就会输出参数过长的问题。 查看命令行参数允许的长度大小 执行命令如下: #getconf ARG_MAX 命令输出如下: [email protected]:~# getconf ARG_MAX 2097152 通过AWK命令结合RM命令来删除大批量文件 当通过rm命令直接删除大批量文件的时候,系统会报错,那么可以将rm命令结合AWK命令来进行删除操作,避免“/bin/rm: Argument list too long”的问题。 例如要删除当前目录下所有文件,执行下面命令: # ls -l |awk ‘{print “rm -rf” , $9}’| sh 命令输出如下: [email protected]:~/osetc# ls -l… read more »

5 种Linux下清空大文件的方法(删除大文件内容)

本文将会讲述如何在linux系统下清空大文件或者说删除大文件内容的5种不同的方法。 当我们想要清空一个大文件里的内容的时候,我们通常会通过vi编辑器打开这个文件,然后将其内容删除,但是如果文件内容太多,或者文件太大的话,打开文件有可能会很慢或者清空文件的内容会很费时间。 下面我们将会介绍5种简单易用的清空文件的内容的方法呢? 通过重定向来清空文件内容 通过true命令重定向清空文件 通过cat /dev/null 设备重定向来清空文件内容 通过echo命令清空文件内容 通过truncate 命令清空内容 通过重定向来清空文件内容 在linux清空普通文件内容尤其是大文件内容,最简单的方法是通过重定向来实现, 比如要清空当前目录下的大文件fio.txt 内容,执行下面的命令: # > fio.txt 命令输出如下: [email protected]:~/osetc# ls -alh fio.txt -rw-r–r– 1 root root 1.0G 3月  24 23:35 fio.txt [email protected]:~/osetc# >fio.txt [email protected]:~/osetc#… read more »

Linux 自动删除N小时或分钟前的文件

在前一篇文章我们介绍了如何在Linux系统下自动删除N天前的日志文件,那么本文将会讲述如何在Linux系统下自动删除N小时之前的特定文件或者日志文件。 在日常工作中,经常会有定时清空相关程序目录下特定时间前生成的日志文件的需求。当然实现的具体方法和上篇文章类似,但唯一不同的是find命令查找文件的依据的条件或者参数不同,-mtime是要查找n*24之前或者之内的相关文件,该参数无法实现小于24小时的特定时间的文件查找,当然find命令提供了另一个类似的参数-mmin, 该参数可以让find命令按指定的分钟来查找文件。 Linux下自动删除2小时之前的日志文件 将上篇文章的find 命令更新如下: find /var/log/ -mmin +120 -name message* -exec rm -rf {} \; 执行完上面的命令后,在/var/log/目录下所有的120分钟或者说2小时以前生成的或者更改过的以message开头的日志文件都会被删掉。 如果要删除两小时之内的日志文件,使用下面的命令: find /var/log/ -mmin -120 -name message* -exec rm -rf {} \; 将上面的find命令加到Linux系统的任务计划crontab里,即可实现自动定时删除文件。 99%的人还阅读了: 通过linux find命令删除查找到的文件 Linux… read more »

Linux 自动删除日志文件(N天或特定日期)

本文将会讲述如何在Linux系统下自动删除特定日期或者N天系统生成的日志文件或者归档文件或者特定某类文件。 Linux系统和windows系统一样,在系统的运行过程中,会不断的产生日志文件或者日志归档文件,或者其它不同类型的日志文件。随着日志的不断输出到文件里,文件的大小也会越来越大,这样该日志文件就会占据越来多的磁盘空间,而且有可能会将可用存储空间全部占用,这样就有可能导致你的机器越来越慢,相应的服务也会停止。为了防止日志文件变大后,导致的系统不能正常访问,我们需要定期的清理或者删除这些日志文件。 查看Linux系统日志文件 对于Linux 下APACHE服务器里,系统会产生访问时的日志文件,错误访问日志文件,MySQL数据库服务也会产生相应的日志文件, 大多数Linux系统的默认系统日志文件都会放在/var/log/目录下,通过下执行下面的命令来查看Linux系统的日志文件: #ls /var/log/* 命令输出如下: [email protected]:~# ls /var/log/* alternatives.log bootstrap.log gpu-manager.log syslog.2.gz alternatives.log.1 btmp installer syslog.3.gz …… Linux系统下自动删除日志文件的方法 首先我们要查找到你要删除的N天生成日志文件,之后再通过Linux rm命令删除日志文件。 之前我们已经介绍过Linux如何根据文件日期删除文件的方法,所以我们现在只需要在该方法的基础上,实现如何自动删除就可以了。我们可通过Linux下的定时任务命令crontab来实现特定日期日志文件的自动删除。 实例:Linux 下自动删除5天前更改或生成的系统日志文件,参照下面的几个步骤, 1# 确定删除特定日期的日志文件的命令,可以使用下面的命令 find /var/log/ -mtime +5 -name message*… read more »

Linux 删除文件名为乱码的文件

本文将会讲述如何通过Linux rm命令来删除文件名包含特殊字符或者乱码文件的方法。 删除文件名以“-”开头的文件 删除文件名包含特殊字符的文件 删除文件名包含乱码的文件 在Linux系统下我们主要用来删除文件的命令是rm或者unlink命令,但是当文件名为乱码或者包含乱码的文件是,我们就无法选择要删除的文件名,这样就会导致无法删除这些文件名为乱码或者包含特殊字符的文件。 当然这种乱码文件名的文件大多数情况都是由于不正常的操作,比如突然中断从服务器文件上传或者下载某些文件的时候,就有可能导致乱码文件名的出现。 Linux下删除以短横杠或者减号“-””开头的文件名的文件 当文件名以减号“-”开头的时候,如果我们使用rm 命令来删除该文件的时候,系统会报错,那么删除这种文件,可以通过rm命令后面接–, 来删除。 执行命令如下: #rm — -fio.txt Linux下删除文件名包含特殊字符的文件 如果文件名包含的是系统里可以打印的特殊字符的文件,这个时候我们可以使用转义字符或者双引号来传给rm命令。 如果要删除当前目录下的名为“!”的文件,那么可以执行下面的命令: # rm  \! 或者 # rm “!“ 命令输出日下: [email protected]:~# ls ! ! [email protected]:~# ls -al ! -rw-r–r–… read more »

Linux 下回收站实现(恢复删除文件)

本文主要讲述通过shell 脚本来实现Linux系统下的类似于windows系统中的回收站的功能。 默认情况下,大多数的Linux发型版本都没有实现回收站的功能,这样就会导致当你错误的删除了系统里某个文件或者错误的执行rm –rf * 命令将某些文件删除后, 我们没有很好的办法恢复已经被误删掉的文件。 下面我们通过简单的shell 脚本函数来重新定义一个trash函数,该函数将会实现当我们执行rm命令删除文件的时候,只是将文件先移动到某个临时的目录文件里,这样就可以起到一个简单回收站功能,如果需要撤销文件删除操作,我们也可以通过重新定义的另一个函数undo,来恢复被删掉的文件,该函数会将你指定的文件从临时目录里恢复到当前目录。 下面是我们实现的shell 函数: undo( ) # 该函数用来撤销或者恢复被删掉的文件 { mv –i ~/.tmp/[email protected] ./ } trash( ) # 该函数用来删除指定文件,并将其移动到临时目录~/.tmp/目录里 { mv [email protected]  ~/.tmp/ } cleartrash()  # 该函数用来删除回收站(临时目录)里的所有文件 { read… read more »

5 种Linux下 删除除指定文件外的所有文件的方法

本文将会讲述Linux系统下通过rm命令删除除指定文件外的其它所有的文件的5中不同的方法。 当我们在当前目录下或者指定目录下,想删除同类文件或者符合同一模式匹配规则的文件,但需要排除其中的某个或多个文件,只是简单的使用rm命令是无法实现。所以我们需要结合其它的linux命令来实现我们的删除文件操作。 下面我们通过5中不同的方法来介绍删除指定文件外的文件的方法: 方法一: 可以先将需要排除的文件,从当前目录中移动到一个临时目录里,然后执行rm命令将其与的文件删除,最后再将刚才移动走的文件从新拷贝回来。 执行的命令如下: #mv  保留文件 /tmp # rm –rf  删除文件 #mv  /tmp/保留文件 . 方法二:使用Linux中的通配符来排除保留文件 我们可以使用Linux系统中的通配符 !来排除指定的文件, 比如我们要删除当前目录下除了fio1.txt文件的所有其它文件, 执行下面的命令: #rm –i  !(fio1.txt) 命令输出如下: [email protected]:~/osetc# ls fio1.txt  fio2.txt [email protected]:~/osetc# rm -i !(fio1.txt) rm:是否删除普通文件 ‘fio2.txt’?… read more »

Linux unlink命令

本文将会讲述Linux系统下unlink删除文件命令的用法。 Unlink 命令会直接调用linux系统下的unlink系统函数,来删除指定的某一个文件。 Linux unlink 命令格式及参数 命令格式如下: Unlink {文件名} Unlink {选项} Unlink 参数如下: –help – 显示该命令的帮助信息并退出命令 –version –显示命令的版本信息并退出命令 Unlink命令只有提供了上面的两个参数。 Linux unlink命令实例 1# 删除当前目录下的名为fio.txt 的文件,执行下面的命令: # unlink fio.txt 命令输出如下: [email protected]:~/osetc# ls fio1.txt  fio2.txt  fio.txt [email protected]:~/osetc# unlink… read more »

Linux rm 删除命令

当我们在Linux系统下,如果要删除某个特定的文件或者特定目录下的特定文件,那么首先会想到的是Linux系统的系统命令rm。 本文将会对rm删除文件命令的使用方法做详细的介绍,包括rm命令的命令格式,包含的命令选项,并且通过实例来介绍rm命令的不同选项。 Linux rm 命令介绍 rm 命令在英语里就是remove单词的缩写,就是删除的意思, 该命令主要用来删除linux文件系统下的文件。当使用rm命令的递归参数-rf的话,也可用来删除目录文件。 我们可以在命令行下通过rm命令来删除指定的每一个文件。 默认情况下,该命令不会删除目录文件。 Linux rm命令删除文件的处理过程只是删除文件所对应的inode链接,但并不会删除或者清空文件的存储数据,当删除完成后,系统会将该文件的存储空间标记为空闲状态,这样就别的程序就可以将数据写入这个空间里了。 也就是说,当你删除一个文件的时候,文件数据并没有被改变,只是不会再关联到这个文件名了。 因为文件数据本身并没有被销货,所以当rm命令将指向数据区域的指针删除掉后, 该数据就不能再被访问了, 而且也没法注销该删除操作。不像我们在windows系统里, 我们可以去回收站里将删除的文件恢复到以前的存储位置。 注意: 如果你想彻底的将文件数据从磁盘里删掉,我们可以通过使用Linux系统的shred命令将指定文件所在存储数据测试重新覆盖,这样数据就彻底无法再恢复了。 Linux rm 命令格式及参数 rm [参数] {文件名} 参数如下: -f, –force 强制删除文件, 不做任何删除操作的提示 -I, –interactive  进行交互式的删除操作 -r, -R,… read more »

Linux 删除文件

本文将会讲述如何在Linux系统下删除文件的方法,以及如何在命令行下删除某个文件中特定的内容行, 或者删除特定日期创建的文件或者目录。 目录如下: Linux 删除文件命令 Linux 删除单个文件或目录(文件夹) Linux 删除多个文件 Linux 递归删除目录或子目录文件 Linux 交互式删除文件 Linux显示删除文件时的信息 Linux 删除空目录文件 Linux删除文件里文件列表的文件 Linux 删除文件名以“-”开头的文件 Linux 通过文件inode号删除文件 Linux删除指定日期之前的文件 Linux通过自定义rm函数删除文件 Linux删除文件后空间没有释放解决办法 Linux 恢复删除的文件 Linux 删除文件命令 在CentOS,Redhat,或者Ubuntu等类Unix系统下,我们主要用来删除文件或文件夹目录的方法是通过执行rm 命令或者 unlink命令。 下面我们来看删除文件命令rm的用法介绍: rm 命令是Unix或者Linux系统下的主要用来文件系统中删除文件的命令。 当然,在大多数的系统里,… read more »

PHP中 “Fata error Call to undefined function curl_init()解决方法

本文主要讲述在Centos/RHEL linux系统下运行php时候遇到的错误 Fatal error: Call to undefined function curl_init() 的解决方法。 当你在配置完成一个LEMP(Linux,Nginx, MySQL, PHP)的web环境后,PHP在运行的时候有可能会在/var/log/nginx/error.log文件里看到下面的错误: Fatal error: Call to undefined function curl_init() 根据错误的提示,我们可以基本判断curl扩展模块没有安装或者启用,所以接下里我们可以去执行下面的命令来检测php-curl 模块包是否安装。 Centos/RHEL 系统检测php-curl是否安装 执行下面的命令: $ rpm -qa |grep php-curl ubuntu 系统检测php-curl是否安装 执行下面的命令: $ sudo dpkg -l |grep… read more »

Linux 下curl命令post传递表单数据

本文将会讲述如何在linux或者unix系统下使用cURL工具或者命令在命令行下发送post请求传递数据。 比如上传一个文件到远程的服务器的特定目录下。如何通过cURL 命令在linux命令行下创建一个post请求来上传文件。 CURL是一个可以用来从本地传递数据请求到远程服务器的非常好用的工具,可以通过多种协议(http,https,ftp等)从远程web服务器上上传或者下载所需要的文件。 可以通过cURL工具来创建post或者get 请求来创建请求或者测试不同的请求操作。 cRURL 命令post传递参数给相应表单字段 当我们只是需要传递相应的值给表单里的特定字段,我们可以使用cURL命令的–data 或者-d选项,命令格式如下: curl -d “key=value1&key2=value2” “url” 或者 curl –data “key=value1&key2=value2” “url” 对于上述命令,如果只是通过curl post请求传递一个参数值,那么可以不适用双引号,如果是两个以上的参数就必须使用双引号扩起来。 下面我们来看一个实例: 假如我们想向一个登陆页面传递用户名和密码数据,那么我们来看看如何创建cURL post请求来发送数据。 登陆表单的数据如下: <form  action=”login” method=”post”> <input type=”text”  name=”username”  value=”user1″/> <input type=”password”  name=”password”  value=”123″/> <button type=”submit”  value=”登陆” /> </form> 那么可以在linux命令行下执行下面的cURL命令创建一个post请求来传递相应的字段值给表单: curl -d “username=user1&password=123” “www.test.com/login”… read more »

Ubuntu 下curl安装及使用指南

对于linux用户,可能经常会用到curl工具从远程的服务器上通过http,https, SCP, SFTP,SMB或者其它支持的协议来下载或传输文件。 本文将会讲述如何下载到你需要的curl 程序文件,以及如何在ubuntu系统下安装curl工具,并对curl的一些常用的命令做介绍。 Curl 是什么 CURL是Linux系统下常用的功能强大的网络工具,可以通过多种协议(http,https,ftp等)从远程web服务器上上传或者下载所需要的文件。 我们可以通过curl工具来抓取网页来监控可能会遇到的问题。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。 curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。 curl 工具常用的参数如下: -a/–append 上传文件时,附加到目标文件 -A/–user-agent <string> 设置用户代理发送给服务器 – anyauth 可以使用“任何”身份验证方法 -b/–cookie <name=string/file> cookie字符串或文件读取位置 – basic 使用HTTP基本验证 -B/–use-ascii 使用ASCII /文本传输 -c/–cookie-jar <file> 操作结束后把cookie写入到这个文件中 -C/–continue-at <offset> 断点续转… read more »

Linux 查看发行版本信息以及内核版本的方法(CentOS/Ubuntu)

本文主要讲述如何在linux系统下查看不同发型版本的版本信息(centos/ubuntu),以及查看linux内核版本号的方法。当前已经存在了很多的linux 版本,那么这些版本直接到底有什么区别,有什么特点,到底哪个linux发行版本更好用呢。 linux 发行版本概念 Linux 主要作为Linux发行版(通常被称为”distro”)的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。 一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。-来自百度百科 linux 版本信息查看命令(centos/ubuntu) 查看linux发行版系统的信息 1# 使用lsb_release –a 命令 这个命令基本使用与所有其它的linux发型版本(redhat,centos, fedora, Ubuntu,suse等) # lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:     Ubuntu 16.04.3 LTS Release:  16.04… read more »

Linux 下apache 服务器安装与配置教程(配置文件虚拟主机多站点详解)

本文主要讲述如何在linux系统下安装及配置APACHE web 服务器(httpd),并讲解如何配置针对apache 配置SSL, PHP,HTTPS等,并会详细介绍apache配置文件以及如何来配置虚拟主机,apache web 多站点配置等。 Apache 是什么 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 摘自百度百科 Apache 该怎么读 Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。 所以我们一般讲apache读作“阿帕奇”。 Apache 安装与配置 1# Apache 服务器安装前的准备工作 检查该环境中是否已经存在httpd服务的配置文件,默认存储路径:/etc/httpd/httpd.conf(这是centos预装的Apache的一个ent版本,一般我们安装源代码版的Apache)。如果已经存在/etc/httpd/httpd.conf,请先卸载或者关闭centos系统自带的web服务,执行命令:chkconfig  httpd off,再或者把centos自带的httpd服务的80端口改为其他端口,只要不与我们安装的Apache服务的端口冲突就可以啦。 停止并卸载Linux系统自带的httpd服务,执行下面的命令: service httpd stop ps -ef | grep httpd kill -9 pid号(逐个删除)… read more »

Linux 下Apache 配置SSL实现HTTPS访问

本文主要讲述如何在linux系统下通过配置ssl模块实现网站的https访问的方法。 Web服务器在默认情况下使用HTTP,这是一个纯文本的协议。正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密。而基于HTTP的Web服务器是非常容易配置,它在安全方面有重大缺陷。任何”中间人”,通过精心防止的数据包嗅探器,是能够看到任何经过的数据包内容。更进一步,恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器。在这种情况下,最终用户可能实际上与假冒者服务器,而不是真正的目的服务器进行通信。这样,恶意用户可以通过精心设计的表单欺骗终端用户获取到敏感信息,如用户名密码。 为了处理这些类型的漏洞,大多数供应商往往在他们的web服务器应用HTTPS协议。对于只读类型的网站,用户只能读取内容,并没有实际提交任何信息,HTTP仍然是一个可行的选择。但是,对于保存敏感信息的网站,比如:用户需要登录来获得网站的服务,那么HTTPS是必须的。 HTTPS能够为一个网站提供以下能力。 确保所有经过服务器传输的数据包都是经过加密的。 建立了一个官方数字证书证书,使得假冒服务器无法冒充真正的服务器。 需要建立支持HTTPS的WEB服务器所要做的第一件事就是获得数字证书。数字证书可以在以下任一方法来获得。 自签名证书被推荐用于测试目的和个人项目。自签名证书,也可以用于服务提供商,不过一般适用于用户互相信任的情形。另外,自签名证书不用花钱购买。 证书可以由社区为基础的认证供应商如StartSSL和CACERT办法。这些证书也不需要花钱,但建议为个人项目。 对于全球性商业网站,建议从值得信赖的知名证书颁发机构购买证书。这些证书需要花钱,但他们增加了网络服务提供商的信誉。 1# 准备 在这篇文档中,我们将使用自签名证书。假设CentOS已经安装了Apache Web服务器。我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL,它可以使用yum来安装。 # yum install mod_ssl openssl 安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件,下文配置会用到! 2# 生成一个自签名证书 下面的命令可以被用来产生一个自签名的证书。 首先,生成2048位的加密私钥 # openssl genrsa -out server.key 2048 然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等 # openssl req -new… read more »

linux FTP 服务器安装配置及命令使用教程(附:视频讲解)

本文将会讲述如何在linux系统下安装并配置最常用的FTP 服务器(VSFTPD),并通过实例来介绍如何利用FTP命令来上次文件和从ftp服务器上下载文件。 FTP 是什么 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。  -摘自 百度百科 linux FTP 服务器安装(VSFTP 软件包安装) 在linux系统下我们主要使用ftp软件是vsftp,它的进程名为vsftpd,下面我们来介绍如何来安装vsftp 软件包。 1# 检查vsftp软件包是否安装 执行下面的命令: # rpm -qa |grep vsftp 2# 如果vsftp软件没有安装,执行下面的命令安装 # yum install vsftpd linux FTP 服务启用 1# 启用vsftpd ftp… read more »

Windows 下的免费 SSH 客户端工具

如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件。实际上,SSH 是一个网络协议,它允许你通过网络连接到 Linux 和 Unix 服务器。SSH 使用公钥加密来认证远程的计算机。你可以有多种途径使用 SSH,无论是自动连接,还是使用密码认证登录。 本篇文章介绍了几种可以连接 Linux 服务器 SSH 客户端。 让我们开始吧。 Putty Putty 是最有名的 SSH 和 telnet 客户端,最初由 Simon Tatham 为 Windows 平台开发。Putty 是一款开源软件,有可用的源代码,和一群志愿者的开发和支持。… read more »

最实用的 Linux 命令行使用技巧 (必看!)

我们可能每天都会要使用到很多的 Linux 命令行。 我们也会网络上知晓一些使用它们的小技巧,但是如果我们没有时常来进行练习,就有可能会忘掉怎么去使用它们。 所以我就决定把那些你可能会忘记的小提示和小技巧,或者对你而言可能是全新的东西都列表来。 将输出内容以表格的形式显示出来 有时,在你看到命令行执行的输出时,因为字符串过度拥挤(比如说 mount 命令的输出)导致输出内容难以识别。如果我们看到的内容是一张表格会如何呢?其实这是很容易做到的! mount | column –t: 在此例中,由于内容中留了空格,所以输出的形式就美观了起来。 那如果想要的分隔符是别的什么符号,比如说冒号,又该怎么去做呢? (例如,在 cat/etc/passwd 的输出内容中使用) 这时候只需要使用 -s 参数指定分隔符就行了,像下面这样。 cat /etc/passwd | column -t -s: 重复执行一个命令,直到它运行成功 如果在 Google 上搜索这个功能,你会发现很多人都问到了如何重复执行命令,直到这个命令成功返回并且运行正常。 Google上的建议里就包括 ping 服务器,直到它变得空闲为止,还有就是检查是否有向特定的目录上传了具有特定扩展名的文件,还有就是检查特定的URL是否已经存在,诸如此类的办法。 其实你还可以使用 while true 的循环来实现来实现这个功能: 在上面这个示例中,>/dev/null 2>&1 会让程序的输出重定向到 /dev/ null。标准错误和标准输出都会被包含进去。 这是我认为最酷的Linux命令行技巧之一。… read more »

Linux系统下find命令递归删除查找目录的方法

本文将会讲述如何使用linux系统下的find查找命令来查找目录或文件,并将查找到的所有文件和目录递归删除掉。 Linux find 命令递归删除非空目录 通常情况下我们会想到find命令里的删除操作是使用-delete选项,但是使用该选项只能删除空目录的文件,不能递归删除该目录里的其它文件。如下面的例子: $ ls dir1 test1 $ find ./ -name “dir1” -type d -delete find: cannot delete `./dir1′: Directory not empty 可以使用下面的Linux find 命令删除非空目录,如: $ find ./ -name “dir1” -type d -exec rm… read more »

Linux系统下通过bash shell脚本实现倒计时的方法

本文主要讲述如何在linux系统下通过bash shell 脚本来实现在屏幕上输出倒计时的方法。 先来看看实现后的脚本,如下: #!/bin/bash # script name: ctimer.sh # Author: osetc.com # ——————————————————– row=2 col=2 countdown() { msg=”starting…” clear tput cup $row $col echo -n “$msg” l=${#msg} l=$(( l+$col )) for i in {30..1}… read more »

Linux系统下批量升级LXD容器里的虚拟机的方法

本文将会讲述如何在linux 系统下自动升级LXD容器里的所有的虚拟机。 下面我们通过两种方法实现自动升级所有虚拟机: 方法一:使用shell 脚本来升级 手动的升级命令是: /usr/bin/lxc exec 虚拟机名 — /usr/bin/apt-get -y upgrade (ubuntu系统) /usr/bin/lxcexec 虚拟机名  — /usr/bin/yum -y update    (centos 系统) 下面来创建bash shell 脚本来自动升级所有的虚拟机: #!/bin/bash #脚本名:vmUpgrade.sh #——————————– cmd=”[email protected]”for i in 虚机1 虚机2 虚机3 虚机4… read more »

Linux系统下获取内核kernel版本号

本文将会讲述如何在linux 系统下获取内核kernel的版本号信息。本文主要针对linux初学者。 下面我们通过两种方法来在获取当前linux系统的内核版本号。 1# 查看/proc/version $ cat /proc/version Linux version 4.11.0-14-generic ([email protected]) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 从上面的输出里,我们可以看到当前linux系统的内核版本是4.11.0.-14. 2# 通过uname 命令来查看内核版本 $ uname  -r 或… read more »

Linux/ubuntu: SSH 无法远程登录的解决方法

默认情况下,ubuntu系统在安装完成之后,不会安装openssh相关的软件包,所有我们在远程ssh登录到ubuntu系统的时候会失败。 本文将会讲述如何来安装openssh相关软件包来解决无法远程ssh登录到ubuntu系统的问题。 1# 执行下面的apt-get命令安装openssh相关软件包。 apt-get install openssh* [email protected]:~$ apt-get install openssh* E: 无法打开锁文件 /var/lib/dpkg/lock – open (13: Permission denied) E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行? [email protected]:~$ sudo apt-get install openssh* [sudo] password for ubuntutest: 正在读取软件包列表… 完成 正在分析软件包的依赖关系树… read more »

Linux/ubuntu:如何更改apt-get源

当ubuntu系统默认的官方更新源下载速度慢或者宕机的情况下,我们需要更改到其它的第三方软件包更新源,比如163,阿里云等。 本文将会讲述如何在ubuntu系统下,更改默认的ubuntu官方源到aliyun 上。 方法一:在图形界面下,打开“软件包管理中心”,在“软件源” 中选择”中国的服务器“下的”mirros.aliyun.com“, 系统会自动根据ubuntu的不同版本来选择软件源。 方法二:针对ubuntu 服务器版的系统 或者没有安装GUI的ubuntu 系统,可以通过更改配置文件的方法来实现。 1# 备份/etc/apt/sources.list 文件, 输入下面的命令: cp /etc/apt/sources.list /etc/apt/sources.list.bak 2# 使用vi 编辑器打开 /etc/apt/sources.list 文件,删除所有的旧的软件源或者将下面相应的条目添加到文件的最前面: 根据你当前的ubuntu版本,来选择相应的条目: xenial (16.04) deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security… read more »

Linux: 如何设置HTTP网络代理(Proxy)

在某些特定网络里,系统如果需要通过http的方式访问外部网络,可能需要设置http代理才能正常访问,比如需要通过wget命令去下载一个外部的安装包文件,那么本文将会讲述如何在linux系统下设置http 代理。 下面的方法针对所有的类unix系统有效(centOS, Ubuntu,Fedora,Oracle linux,Debian,Suse…) 1#通过vi编辑器打开当前用户目录下的 .bashrc 文件 2# 在文件末尾加入下面的行: export http_proxy=http://proxyusr:[email protected]:proxyport   3# 保存退出当前文件,关闭当前的终端,重新打开终端,是更改的配置文件生效。 4# 验证配置是否成功,通过wget 下载文件 [email protected]:~$ sudo wget http://mirrors.163.com/kernel/tools/crosstool/files/bin/x86_64/4.5.1/sha256sums.asc

Sidebar