Linux系统下安装jdk及环境配置(两种方法)

第一种方式一键安装(yum安装)默认安装在/usr/lib/jvm

第二种手动安装,需要自己去Oracle官网下载需要的jdk版本,然后解压并配置环境,整个过程其实很简单。

一、yum一键安装

查看:

复制代码
1.查看是否已安装JDK

# yum list installed |grep java

2.卸载CentOS系统Java环境

# yum -y remove java-1.8.0-openjdk*   *表示卸载所有openjdk相关文件输入 

# yum -y remove tzdata-java.noarch       卸载tzdata-java  

3.查看JDK软件包版本

# yum -y list java*      或者使用# yum searchjava | grep -i --color JDK 

查看JDK软件包列表
复制代码

下载:

复制代码
安装JDK
# yum install java-1.8.0-openjdk*  安装java1.8.0所有程序 
yum install -y java-1.8.0-openjdk-devel.x86_64
注意:输入确认(y)直到控制台返回Complete安装成功

查看java版本信息
# java -version

输入javac    java命令后显示帮助信息就算是安装成功了

使用yum安装环境变量自动就配好了
复制代码

 二、手动安装

1.去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u221-linux-x64.tar.gz
2.将该压缩包放到/usr/local/java目录下(java需要自己创建,名字自己随意取,见名知意),然后解压该压缩包,输入如下指令:

tar zxvf jdk-8u221-linux-x64.tar.gz 

3.配置环境变量,输入以下指令进行配置:

复制代码
vi /etc/profile

在文件尾部添加如下信息:
复制代码

JAVA_HOME=/usr/local/java/jdk1.8.0_221
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

复制代码

注意:JAVA_HOME=/usr/local/java/jdk1.8.0_221 此处等号右边的是自己的jdk实际解压目录。如果不是该目录则需要改成自己的实际目录,其他不变。

实际情况如下图所示:

复制代码

 4.编辑完之后,保存并退出,然后输入以下指令,刷新环境配置使其生效:

source /etc/profile

Linux命令之ls(文件与目录的查看)

本文将会学到的命令
ls
ls(文件与目录的查看)
ls这个命令官方提供的可选参数太多,本文就列举了一些平时比较常用的几个参数进行讲解与说明,可以在文末查看该命令的全部参数。

比较常用参数有[-aAdfFhilnrRSt]
-a :全部的文件,连同隐藏文件(开头为.的文件)一起列出来
-A :全部的文件,连同隐藏文件,但是不包括.和…这两个目录
-d :仅列出目录本身,而不是列出目录内的文件数据
-f :直接列出结果,而不进行排序(ls默认会以文件名排序)
-F:根据文件、目录等信息,给予附件数据结构,例如:*:代表可执行文件;/:代表目录;=:代表socket文件;|:代表FIFO文件
-h:将文件容量以人类较易读的方式(如GB,KB等)列出来
-i:列出inode号码
-l:详细信息显示,包含文件的属性和权限等数据
-n:列出UID和GID而非使用者与用户组的名称
-r:将排序结果反向输出,例如:原本文件名由小到大,反向则由大到小
-R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来
-S:以文件容量大小排序,而不是用文件名排序
-t:依时间排序,而不是用文件名排序
这里需要注意的是,当在一次查询中使用多个-S -t 等排序方式时,哪个参数写在后面那个参数生效

最后还有两个特殊的参数–color与–full-time

–color:颜色显示

never:不要依据文件特性给予颜色显示
always:显示颜色
auto:让系统自行依据设置来判断是否给予颜色

–full-time:以完整时间模式输出

最后来看一下官方文档

man ls
LS(1) General Commands Manual LS(1)
NAME
ls, dir, vdir – 列目录内容
提要
ls [选项] [文件名…]
POSIX 标准选项: [-CFRacdilqrtu1]
GNU 选项 (短格式):
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [–full-time] [–format={long,verbose,commas,across,vertical,single-column}] [–sort={none,time,size,extension}] [–time={atime,access,use,ctime,status}] [–color[={none,auto,always}]] [–help]
[–version] [–]
描述( DESCRIPTION )
程序ls先列出非目录的文件项,然后是每一个目录中的“可显示”文件。如果 没有选项之外的参数【译注:即文件名部分为空】出现,缺省为 “.” (当前目录)。 选项“ -d ”使得目录与非目录项同样对待。除非“ -a ” 选项出现,文 件名以“.”开始的文件不属“可显示”文件。
以当前目录为准,每一组文件(包括非目录文件项,以及每一内含文件的目录)分 别按文件名比较顺序排序。如果“ -l ”选项存在,每组文件前显示一摘要行: 给出该组文件长度之和(以 512 字节为单位)。
输出是到标准输出( stdout )。除非以“ -C ”选项要求按多列输出,输出 将是一行一个。然而,输出到终端时,单列输出或多列输出是不确定的。可以分别 用选项“ -1 ” 或“ -C ”来强制按单列或多列输出。
-C 多列输出,纵向排序。
-F 每个目录名加“ / ”后缀,每个 FIFO 名加“ | ”后缀, 每个可运行名加“ * ”后缀。
-R 递归列出遇到的子目录。
-a 列出所有文件,包括以 “.” 开头的隐含文件。
-c 使用“状态改变时间”代替“文件修改时间”为依据来排序 (使用“ -t ”选项时)或列出(使用“ -l ”选项时)。
-d 将目录名象其它文件一样列出,而不是列出它们的内容。
-i 输出文件前先输出文件系列号(即 i 节点号: i-node number)。 -l 列出(以单列格式)文件模式( file mode ),文件的链 接数,所有者名,组名,文件大小(以字节为单位),时间信 息,及文件名。缺省时,时间信息显示最近修改时间;可以以 选项“ -c ”和“ -u
”选择显示其它两种时间信息。对于设 备文件,原先显示文件大小的区域通常显示的是主要和次要的 号(majorand minor device numbers)。
-q 将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。)
-r 逆序排列。
-t 按时间信息排序。
-u 使用最近访问时间代替最近修改时间为依据来排序(使用 “ -t ”选项时)或列出(使用“ -l ”选项时)。
-1 单列输出。
GNU 细节
如果标准输出是终端,将多列输出(纵向排序)。
dir ( 也被安装为命令 d ) 等同于“ ls -C ”;即,文件
缺省是多列输出,纵向排序。vdir ( 也被安装为命令 v ) 等同于“ ls -l ”; 即,文件缺省是按长格式输出。
GNU 选项
-1, –format=single-column 一行输出一个文件(单列输出)。如标准输出不是到终端, 此选项就是缺省选项。
-a, –all
列出目录中所有文件,包括以“.”开头的文件。
-b, –escape
把文件名中不可输出的字符用反斜杠加字符编号(就象在 C 语言里一样)的形式列出。
-c, –time=ctime, –time=status
按文件状态改变时间(i节点中的ctime)排序并输出目录内 容。如采用长格式输出(选项“-l”),使用文件的状态改 变时间取代文件修改时间。【译注:所谓文件状态改变(i节 点中以ctime标志),既包括文件被修改,又包括文件属性( 如所有者、组、链接数等等)的变化】
-d, –directory
将目录名象其它文件一样列出,而不是列出它们的内容。
-f 不排序目录内容;按它们在磁盘上存储的顺序列出。同时启 动“ -a ”选项,如果在“ -f ”之前存在“ -l ”、“ – -color ”或“ -s ”,则禁止它们。
-g 忽略,为兼容UNIX用。
-i, –inode
在每个文件左边打印 i 节点号(也叫文件序列号和索引号: file serial number and index number)。i节点号在每个特定的文件系统中是唯一的。
-k, –kilobytes
如列出文件大小,则以千字节KB为单位。
-l, –format=long, –format=verbose
除每个文件名外,增加显示文件类型、权限、硬链接数、所 有者名、组名、大小( byte )、及时间信息(如未指明是 其它时间即指修改时间)。对于6个月以上的文件或超出未来 1 小时的文件,时间信息中的时分将被年代取代。
每个目录列出前,有一行“总块数”显示目录下全部文件所 占的磁盘空间。块默认是 1024 字节;如果设置了 POSIXLY_CORRECT 的环境变量,除非用“ -k ”选项,则默认块大小是 512 字 节。每一个硬链接都计入总块数(因此可能重复计数),这无 疑是个缺点。
列出的权限类似于以符号表示(文件)模式的规范。但是 ls
在每套权限的第三个字符中结合了多位( multiple bits ) 的信息,如下: s 如果设置了 setuid 位或 setgid 位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid 位,但是没有设置相应的可执行位。 t 如果设置了 sticky 位,而且也设置了相应的可执行位。 T
如果设置了 sticky 位,但是没有设置相应的可执行位。 x 如果仅仅设置了可执行位而非以上四种情况。 – 其它情况(即可执行位未设置)。
-m, –format=commas
水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。
-n, –numeric-uid-gid
列出数字化的 UID 和 GID 而不是用户名和组名。
-o 以长格式列出目录内容,但是不显示组信息。等于使用“ –format=long –no-group ”选项。提供此选项是为了与其它版本的 ls 兼容。
-p 在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不 标示可执行文件。
-q, –hide-control-chars
用问号代替文件名中非打印的字符。这是缺省选项。
-r, –reverse
逆序排列目录内容。
-s, –size
在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT 的环境变量,除非用“ -k ”选项,块大小是 512 字节。
-t, –sort=time
按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件 靠前。
-u, –time=atime, –time=access, –time=use
类似选项“ -t ”,但是用文件最近访问时间( i 节点中的 atime )取代文件修 改时间。如果使用长格式列出,打印的时间是最近访问时间。
-w, –width cols
假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这 样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量 COLUMNS (如果设 置了的话),都不行则取 80 。
-x, –format=across, –format=horizontal
多列输出,横向排序。
-A, –almost-all
显示除 “.” 和 “..” 外的所有文件。
-B, –ignore-backups
不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。
-C, –format=vertical
多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时, 则总是缺省的。
-D, –dired
当采用长格式(“ -l ”选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2 END2 …
BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置(
字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正 常字符也无需特异的搜索。
如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:
//SUBDIRED// BEG1 END1 … 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “ //DIRED// BEG1… ”之后列出“ //SUBDIRED// BEG1 … ”,也即只有一个 而不是在每个子目录后都有。而且“ //SUBDIRED// BEG1 … ”列出的是各个子目 录名的偏移。】
-F, –classify, –file-type
在每个文件名后附上一个字符以说明该文件的类型。“ * ”表示普通的可执行文件; “ / ”表示目录;“ @ ”表示符号链接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也没有则表示普通文件。
-G, –no-group
以长格式列目录时不显示组信息。
-I, –ignorepattern
除非在命令行中给定,不要列出匹配 shell 文件名匹配式( pattern ,不是指一般 表达式)的文件。在 shell 中,文件名以 “.” 起始的不与在文件名匹配式 (pattern) 开头的通配符匹配。
-L, –dereference
列出符号链接指向的文件的信息,而不是符号链接本身。
-N, –literal
不要用引号引起文件名。
-Q, –quote-name
用双引号引起文件名,非打印字符以 C 语言的方法表示。
-R, –recursive
递归列出全部目录的内容。
-S, –sort=size
按文件大小而不是字典序排序目录内容,大文件靠前。
-T, –tabsize cols
假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。 若 cols 为 0,则不使用制表符。
-U, –sort=none
不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“ -U ”和“ -f ”的不 同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序 能显著的加快速度。
-X, –sort=extension
按文件扩展名(由最后的 “.” 之后的字符组成)的字典序排序。没有扩展名的先列 出。
–color[=when]
指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置 这个变量见 dircolors(1) 。 when 可以被省略,或是以下几项之一:
none 不使用颜色,这是缺省项。
auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 –color 而且省略 when 时就等同于 –color=always 。
–full-time
列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式 是不能改变的,但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令 “ date -d ”。
输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,
因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件 不能恰当的生成文件时,这个选项会提供帮助。

————————————————
版权声明:本文为CSDN博主「April_FGR」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39016934/article/details/89305385

linux定时任务cron配置

实现linux定时任务有:cron、anacron、at,使用最多的是cron任务

名词解释

  cron–服务名;crond–linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似;crontab–是定制好的计划任务表

软件包安装

  要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如下:

  vixie-cron软件包是cron的主程序。crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

查看是否安装了cron软件包: rpm -qa|grep vixie-cron

  查看是否安装了crontabs软件包:rpm -qa|grep crontabs

  如果没有安装,则执行如下命令安装软件包(软件包必须存在)
  rpm -ivh vixie-cron-4.1-54.FC5*
  rpm -ivh crontabs*

  如果本地没有安装包,在能够连网的情况下可以在线安装

  yum install vixie-cron
  yum install crontabs

查看crond服务是否运行

  pgrep crond 或 /sbin/service crond status 或 ps -elf|grep crond|grep -v “grep”

crond服务操作命令

  /sbin/service crond start //启动服务  
  /sbin/service crond stop //关闭服务  
  /sbin/service crond restart //重启服务  
  /sbin/service crond reload //重新载入配置

配置定时任务

  cron有两个配置文件,一个是一个全局配置文件(/etc/crontab),是针对系统任务的;一组是crontab命令生成的配置文件(/var/spool/cron下的文件),是针对某个用户的.定时任务配置到任意一个中都可以。

  查看全局配置文件配置情况: cat /etc/crontab

  ———————————————
  SHELL=/bin/bash
  PATH=/sbin:/bin:/usr/sbin:/usr/bin
  MAILTO=root
  HOME=/

  # run-parts
  01 * * * * root run-parts /etc/cron.hourly
  02 4 * * * root run-parts /etc/cron.daily
  22 4 * * 0 root run-parts /etc/cron.weekly
  42 4 1 * * root run-parts /etc/cron.monthly
  ———————————————-

  查看用户下的定时任务:crontab -l或cat /var/spool/cron/用户名

crontab任务配置基本格式

  *   *  *  *  *  command
  分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令
  第1列表示分钟1~59 每分钟用*或者 */1表示
  第2列表示小时1~23(0表示0点)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列标识号星期0~6(0表示星期天)
  第6列要运行的命令

  在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
  整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
  用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
  正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer> 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
  开头为井号(#)的行是注释,不会被处理

使用实例

   实例1:每1分钟执行一次command

  命令:* * * * * command

  实例2:每小时的第3和第15分钟执行

  命令:3,15 * * * * command

  实例3:在上午8点到11点的第3和第15分钟执行

  命令:3,15 8-11 * * * command

  实例4:每隔两天的上午8点到11点的第3和第15分钟执行

  命令:3,15 8-11 */2 * * command

  实例5:每个星期一的上午8点到11点的第3和第15分钟执行

  命令:3,15 8-11 * * 1 command

  实例6:每晚的21:30重启smb 

  命令:30 21 * * * /etc/init.d/smb restart

  实例7:每月1、10、22日的4 : 45重启smb 

  命令:45 4 1,10,22 * * /etc/init.d/smb restart

  实例8:每周六、周日的1 : 10重启smb

  命令:10 1 * * 6,0 /etc/init.d/smb restart

  实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb 

  命令:0,30 18-23 * * * /etc/init.d/smb restart

  实例10:每星期六的晚上11 : 00 pm重启smb 

  命令:0 23 * * 6 /etc/init.d/smb restart

  实例11:每一小时重启smb 

  命令:* */1 * * * /etc/init.d/smb restart

  实例12:晚上11点到早上7点之间,每隔一小时重启smb 

  命令:* 23-7/1 * * * /etc/init.d/smb restart

  实例13:每月的4号与每周一到周三的11点重启smb 

  命令:0 11 4 * mon-wed /etc/init.d/smb restart

  实例14:一月一号的4点重启smb 

  命令:0 4 1 jan * /etc/init.d/smb restart

  实例15:每小时执行/etc/cron.hourly目录内的脚本

  命令:01   *   *   *   *     root run-parts /etc/cron.hourly

  说明:

  run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了

Linux 设置定时任务crontab命令

 一、crontab命令概念

  crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。

  crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。

二、检查是否安装了crontab

rpm -qa | grep crontab

三、crontab服务启动与关闭

四、全局配置文件

crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件

cron.daily是每天执行一次的job

cron.weekly是每个星期执行一次的job

cron.monthly是每月执行一次的job

cron.hourly是每个小时执行一次的job

cron.d是系统自动定期需要做的任务

crontab是设定定时任务执行文件

cron.deny文件就是用于控制不让哪些用户使用Crontab的功能

五、用户配置文件

  每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.

六、crontab文件格式

  *           *        *        *        *           command

minute   hour    day   month   week      command

分          时         天      月        星期       命令

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件

七、特殊字符

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

八、查询当前用户定时任务或删除当前用户定时任务

九、测试

在home目录下编写一个test.sh脚本,脚本功能是把/home下ifcfg-eth0这个文本复制到/mnt目录下。

运行crontab –e 编写一条定时任务 */5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本。

十、其它

设置crond开机自动启动。

实例

crontab还可以支持系统重启自动执行任务     @reboot /home/test.sh

Linux怎样创建FTP服务器–修改用户默认目录-完美解决

  1.  
  2. 在创建FTP服务器之有先命令: ps -ef |grep vsftpd查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
  3.  然后再执行:yum install vsftpd -y进行在线安装vsftpd这个服务。
  4.  安装成功以后需要把匿名登陆的这个功能关闭了。使用命令: vim /etc/vsftpd/vsftpd.conf然后在里成找到:‍ anonymous_enable=NO
  5.  然后再查看一下vsftpd这个服务有没有启动。使用命令: chkconfig –list如果你如下图所示一样没有启动。没有启动使用启动:chkconfig –level 35 vsftpd on     
  6. 1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test2、建用户:在root用户下:useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test   如果目录已经存在,会有提示,但是不影响用户的权限登陆
    passwd test //为test设置密码3、更改用户相应的权限设置:usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
           usermod -s /sbin/bash test //用户test恢复正常
           usermod -d /test test //更改用户test的主目录为/test

    4、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES //限制访问自身目录
    # (default follows)
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行改完配置文件,不要忘记重启vsFTPd服务器
    [root@linuxsir001 root]# /etc/init.d/vsftpd restart5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面  
  7. 最后重启一下服务:service vsftpd start如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
  8.  成功链接FTP服务器上。    ————————————————————————————————–Linux下如何修改用户默认目录配置:
    1. 1、切换到root用户,直接修改/etc/passwd文件,找到你的用户名你一行,如下图所示修改路径,然后保存即可。
    2. 22、切换到root用户,使用usermod命令,例如usermod -d /tmp test (test为你的用户名),使用该命令请确保该用户下没有运行的软件或进程
    3. 3最后切换到普通账户,就会看到当前默认目录已经更改了。
    4.  
     如果用户不能上传文件,记得chmod -R 777 /file

Linux文件传输FTP详解

ftp命令用来设置文件系统相关功能。ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux进行ftp操作将会非常容易。

语法

ftp(选项)(参数)

选项

-d:详细显示指令执行过程,便于排错或分析程序执行的情况;
-i:关闭互动模式,不询问任何问题;
-g:关闭本地主机文件名称支持特殊字符的扩充特性;
-n:不使用自动登录;
-v:显示指令执行过程。

参数

主机:指定要连接的FTP服务器的主机名或ip地址。

实例

复制代码
FTP>ascii: 设定以ASCII方式传送文件(缺省值)
FTP>bell: 每完成一次文件传送,报警提示.
FTP>binary: 设定以二进制方式传送文件.
FTP>bye: 终止主机FTP进程,并退出FTP管理方式.
FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.
FTP>cd: 同UNIX的CD命令.
FTP>cdup: 返回上一级目录.
FTP>chmod: 改变远端主机的文件权限.
FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.
FTP>delete: 删除远端主机中的文件.
FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.
FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中.
FTP>help [command] 输出命令的解释.
FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.
FTP>ls [remote-directory] [local-file] 同DIR.
FTP>macdef: 定义宏命令.
FTP>mdelete [remote-files] 删除一批文件.
FTP>mget [remote-files] 从远端主机接收一批文件至本地主机.
FTP>mkdir directory-name 在远端主机中建立目录.
FTP>mput local-files 将本地主机中一批文件传送至远端主机.
FTP>open host [port] 重新建立一个新的连接.
FTP>prompt: 交互提示模式.
FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中.
FTP>pwd: 列出当前远端主机目录.
FTP>quit: 同BYE.
FTP>recv remote-file [local-file] 同GET.
FTP>rename [from] [to] 改变远端主机中的文件名.
FTP>rmdir directory-name 删除远端主机中的目录.
FTP>send local-file [remote-file] 同PUT.
FTP>status: 显示当前FTP的状态.
FTP>system: 显示远端主机系统类型.
FTP>user user-name [password] [account] 重新以别的用户名登录远端主机.
FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
FTP>! 从 ftp 子系统退出到外壳。
复制代码

详解:1. 连接ftp服务器

格式:ftp [hostname| ip-address]
a)在linux命令行下输入:ftp 192.168.1.1

b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。

2. 下载文件

下载文件通常用get和mget这两条命令。
a) get 
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则ftp> get /usr/your/1.htm 1.htm (回车)


b) mget      
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则ftp> cd /usr/your/
ftp> mget *.* (回车)


此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off

注意:文件都下载到了linux主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则文件都下载到了/usr/my下。

3.上传文件

a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htmftp> put 1.htm /usr/your/2.htm (回车)


b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)


注意:上传文件都来自于主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则只有在/usr/my下的文件linux才会上传到服务器/usr/your 下。

4. 断开连接
bye:中断与服务器的连接。ftp> bye (回车) 

 命令介绍:

复制代码

1.FTP> ! 从 ftp子系统退出到外壳。
2.FTP> ? 显示 ftp命令说明。? 与 help相同。
  格式:? [command]
  说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp将显示全部命令的列表。
3.FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。
  格式:append local-file [remote-file]
  说明:local-file 指定要添加的本地文件。
  remote-file 指定要添加 local-file的远程计算机上的文件。如果省略了 remote-file,本地文件名将被用作远程文件名。
4.FTP> ascii 将文件传送类型设置为默认的 ASCII。
  说明:FTP 支持两种文件传送类型,ASCII码和二进制图像。在传送文本文件时应该使用ASCII。
5.FTP> bell 切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。
6.FTP> binary(或bi)将文件传送类型设置为二进制。
7.FTP> bye(或by)结束与远程计算机的 FTP会话并退出 ftp。
8.FTP> cd 更改远程计算机上的工作目录。
  格式:cd remote-directory
  说明:remote-directory 指定要更改的远程计算机上的目录。
9.FTP> close 结束与远程服务器的 FTP会话并返回命令解释程序。
  FTP> debug 切换调试。当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“>”。默认情况下,调试是关闭的。
10.FTP> delete 删除远程计算机上的文件。
  格式:delete remote-file
  说明:remote-file 指定要删除的文件。
11.FTP> dir 显示远程目录文件和子目录列表。
  格式:dir [remote-directory] [local-file]
  说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。Local-file指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。
12.FTP> disconnect从远程计算机断开,保留 ftp 提示。
13.FTP> get 使用当前文件转换类型将远程文件复制到本地计算机。
  格式:get remote-file [local-file]
  说明:remote-file 指定要复制的远程文件。
  Local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。
14.FTP >glob 切换文件名组合。组合允许在内部文件或路径名中使用通配符(*和?)。默认情况下,组合是打开的。
15.FTP >hash切换已传输的每个数据块的数字签名 (#) 打印。数据块的大小是2048字节。默认情况下,散列符号打印是关闭的。
16.FTP >help显示 ftp 命令说明。
  格式:help [command]
  说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp将显示全部命令的列表。
17.FTP >lcd 更改本地计算机上的工作目录。默认情况下,工作目录是启动 ftp的目录。
  格式:lcd [directory]
  说明:directory 指定要更改的本地计算机上的目录。如果没有指定directory,将显示本地计算机中当前的工作目录。
18.FTP >literal 将参数逐字发送到远程 FTP服务器。将返回单个的 FTP 回复代码。
  格式:literal argument [ …]
  说明:argument 指定要发送到 FTP服务器的参数。
19.FTP >ls 显示远程目录文件和子目录的缩写列表。
  格式:ls [remote-directory] [local-file]
  说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。 local-file指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。
20.FTP >mdelete 删除远程计算机上的文件。
  格式:mdelete remote-files [ …]
  说明:remote-files 指定要删除的远程文件。
21.FTP >mdir显示远程目录文件和子目录列表。可以使用 mdir 指定多个文件。
  格式:mdir remote-files [ …] local-file
  说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 -使用远程计算机上的当前工作目录。
  local-file 指定要还原列表的本地文件。请键入-在屏幕上显示列表。
22.FTP >mget 使用当前文件传送类型将远程文件复制到本地计算机。
  格式:mget remote-files [ …]
  说明:remote-files 指定要复制到本地计算机的远程文件。
23.FTP >mkdir 创建远程目录。
  格式:mkdir directory
  说明:directory 指定新的远程目录的名称。
24.FTP >mls 显示远程目录文件和子目录的缩写列表。
  格式:mls remote-files [ …] local-file
  说明:remote-files 指定要查看列表的文件。必须指定 remote-files;
  请键入- 使用远程计算机上的当前工作目录。
  local-file 指定要存储列表的本地文件。请键入 -以在屏幕上显示列表。
25.FTP >mput 使用当前文件传送类型将本地文件复制到远程计算机上。
  格式:mput local-files [ …]
  说明:local-files 指定要复制到远程计算机的本地文件
26.FTP >open 与指定的 FTP服务器连接。
  格式:open computer [port]
  说明:computer 指定要连接的远程计算机。可以通过 IP地址或计算机名称指定计算机(DNS 或主机文件必须可用)。如果自动登录打开(默认),ftp还将尝试自动将用户登录到 FTP 服务器port指定用来联系 FTP 服务器的端口号。
27.FTP >prompt 切换提示。如果关闭提示时 mget及 mput 传送所有文件,Ftp在多文件传送过程中将提示允许您有选择地检索或存储文件。默认情况下,提示是
  打开的。
28.FTP >put 使用当前文件传送类型将本地文件复制到远程计算机上。
  格式:put local-file [remote-file]
  说明:local-file 指定要复制的本地文件。
  remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。
29.FTP >pwd 显示远程计算机上的当前目录。
30.FTP >quit 结束与远程计算机的 FTP 会话并退出 ftp。
31.FTP >quote 将参数逐字发送到远程 FTP服务器。将返回单个的 FTP 回复代码。
  Quote 与 literal相同。
  格式:quote argument [ …]
  说明:argument 指定要发送到 FTP服务器的参数。
32.FTP >recv使用当前文件传送类型将远程文件复制到本地计算机。Recv 与 get相同。
  格式:recv remote-file [local-file]
  说明:remote-file 指定要复制的远程文件。
  local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。
33.FTP >remotehelp显示远程命令帮助。
  格式:remotehelp [command]
  说明:command 指定需要帮助的命令的名称。如果没有指定 command,ftp将显示全部远程命令的列表。
34.FTP >rename重命名远程文件。
  格式:rename filename newfilename
  说明:filename 指定要重命名的文件。 newfilename指定新的文件名。
35.FTP >rmdir 删除远程目录。
  格式:rmdir directory
  说明:directory 指定要删除的远程目录的名称。
36.FTP >send 使用当前文件传送类型将本地文件复制到远程计算机上。Send与put 相同。
  格式:send local-file [remote-file]
  说明:local-file 指定要复制的本地文件。 remote-file指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。
37.FTP >status 显示 FTP 连接和切换的当前状态。
38.FTP >trace 切换数据包跟踪。Trace在运行 ftp 命令时显示每个数据包的路由。
39.FTP >type 设置或显示文件传送类型。
  格式:type [type-name]
  说明:type-name 指定文件传送类型。默认设置为 ascii。如果没有指定type-name,将显示当前的类型。
40.FTP >user 指定远程计算机的用户。
  格式:user username [password] [account]
  说明:user-name 指定登录到远程计算机所使用的用户名。password指定 user-name 的密码。如果没有指定,但必须指定,ftp会提示输入密码。
  account 指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp会提示您输入帐户。
41.FTP >verbose 切换 verbose模式。如果打开,将显示所有 ftp 响应。在文件传送完成后,将同时显示与传送效率有关的统计信息。默认情况下,verbose是打开的。

复制代码

附录:ftp命令表

FTP采用客户端/服务器模型,客户端和服务器使用TCP建立连接。在服务器端,FTP有两个预分配的的端口号,分别为20和21.其中,端口20用于发送和接受FTP数据(ASCII码或二进制文件),该数据端口只在传输数据是打开,并在传输结束时关闭。端口21用于发送和接受FTP的控制信息,FTP服务器通过侦听这个端口来判断是否有ftp客户端的连接请求,FTP会话建立后,端口21的连接在会话期间始终保持打开状态。

在客户端,当发出请求时动态分配端口号,选择范围为1024~65535.当一个FTP会话开始后,客户端程序打开一个控制端口(如1038),该端连接到服务器上的21端口,接受和发送控制信命令;需要传输数据时,客户端再打开第二个端口(如1039),连接到服务器上的20端口。每当开始传输文件时,客户端程序会打开一个新的数据端口,在文件传输完毕后,再自动释放该端口。

该命令的语法格式如下所示:

ftp [-v] [-d] [–i] [-n] [-g] [-k realm] [-x] [-u] [host]

复制代码
ftp命令主要选项说明

 选项  说明
 -d     启动调试模式
 -u     关闭自动认证
 -e     不记录历史指令
 -i     关闭交互模式
 -x     在成功认证之后,协商密钥
 -n     关闭自动登录功能
 -p     传输文件模式为被动模式
 -v     程序运行时,显示详细的处理信息
 -k realm     使用Kerberos v4认证时,从realm中得到信息
 host     FTP服务器的主机名/IP地址
复制代码

在客户端访问FTP时,如果没有在命令行给出服务器的主机名或IP,则客户端将出现“ftp>”提示符,等待用户输入ftp内部命令
常见ftp内部命令及其说明

 内部命令  说明

复制代码
ls     显示服务器上的目录
get     从服务器下载指定文件到客户端
put     从客户端传送指定文件到服务器
open     连接ftp服务器
quit     断开连接并退出ftp服务器
cd directory     改变服务器的当前目录为directory
lcd directory     改变本地的当前目录为directory
bye     退出ftp命令状态
ascii     设置文件传输方式为ASCII模式
binary     设置文件传输方式为二进制模式
!     执行本地主机命令
cd     切换远端ftp服务器上的目录
cdup     上一层目录
close     在不结束ftp进程的情况下,关闭与ftp服务器的连接
delete     删除远端ftp服务器上的文件
get     下载
hash     显示#表示下载进度
mdelete     删除文件,模糊匹配
mget     下载文件,模糊匹配
mput     上传文件,模糊匹配
mkdir     在远端ftp服务器上,建立文件夹
newer     下载时,检测是不是新文件
prompt     关闭交互模式
put     上传
pwd     显示当前目录
复制代码

ftp使用的内部命令如下(中括号表示可选项):

复制代码
1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename,缺省为stream方式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name:如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。
40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式。
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2…:将参数逐字发至远程ftp服务器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
53.rename[from][to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2…:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
73.?[cmd]:同help。
复制代码

附表:

ascii为文本文件设置传输方式为ascii
bell命令完成时响铃
binary 设置传输方式为二进制,这是缺省设置
bye 终止ftp会话,并退出
cd dir_name切换远程主机上目录
cdup切换远程主机上目录至上一级目录
close终止到远程主机的ftp会话
delete file_name删除远程主机中的文件
dir 显示远程主机上目录列表
get file_name下载一个文件
hash 每传输一定数量数据打印`#’
lcd dir_name切换本地工作目录
ls 列表远程主机目录中的信息
mdelete file_names删除多个文件
mget file_names下载多个文件
mkdir dir_name在远程主机上创建目录
mput file_names上传多个文件
open site_name连接到远程tftp
prompt设置多个文件传输时的交互提示
put file_name上传一个文件
pwd显示远程主机当前工作目录
quit 终止ftp会话并退出
rename old_name new_name重命名文件
rmdir dir_name删除远程主机上的某个目录
size file_name显示远程主机上某个文件的大小
status 显示当前状态
system显示远程主机操作系统类型
tenex 将文件传输类型设置为tenex机所需的类型
user向远程主机发送用户信息(登录信息)
verbose 开关verbose方式,远程主机所有响应都显示给客户

 参考文章:https://blog.csdn.net/yexiangCSDN/article/details/80988355https://blog.csdn.net/sandy9919/article/details/81334064 作者:HuZixia出处:http://www.cnblogs.com/huzixia/本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。标签: FTP

linux 下 修改ftp上传文件目录

[root@localhost local]# chown ftp用户名 ftp上传的文件夹

[root@localhost local]# chgrp ftp用户名 ftp上传的文件夹

[root@localhost local]# chmod 755 ftp上传的文件夹

[root@localhost local]# ll |grep ftp上传的文件夹drwxr-xr-x  3 ftp用户  root 4096 Mar  7  2013 ftp上传的文件夹
[root@localhost local]# usermod -d ftp上传的全路径 ftp用户名查看“Directory”的值是否更改成功:[root@localhost local]# finger ftp用户名Login: ftp用户名                        Name: (null)Directory: 修改后的全路径     Shell: /sbin/nologinNever logged in.No mail.No Plan.

https://blog.csdn.net/lvhaidongbk/article/details/45690431

解决-bash:mysqldump: command not found问题

备份数据库时,直接使用命令 :mysqldump -h127.0.0.1 -p3306 -uroot -p123456 db t1 t2 > /data/backup/db_t1_t2.sql

有的数据库版本会提示错误-bash:mysqldump: command not found,解决这个问题的可以设置软连接,也可以将mysqldump所做目录补全执行备份。

/mysql/bin/mysqldump -h127.0.0.1 -p3306 -uroot -p123456 db t1 t2 > /data/backup/db_t1_t2.sql