⑴ 我想在linux的shell里調用下載一個互聯網上的資源,請問用什麼命令
curl 或者wget
⑵ xshell遠程linux伺服器怎麼掛載安裝包
掛載安裝包,不太明白是什麼意思。這樣的,xshell是一款好用的Linux的遠程工具,使用的是22號埠來 進行遠程的。Linux的安裝包大概有2種吧,一個就是yum類的系統自帶的安裝包,這種安裝包在光碟鏡像或者網路中的,可以進行光碟的掛載或者網路安裝,當然這個和xshell並沒有什麼關系。
第二種包就是源碼包,tar.gz的,這種可從網路上面下載,或者本地 上傳過去的,掛載安裝包感覺應該是上傳安裝包吧。Linux中上傳文件 可以用 ftp ,nfs,Samba,sftp等等,用xshell呢可以用xmanager試試,或者直接用sftp可以直接打開文件傳輸界面,非常 方便文件傳輸。當然也可以安裝rzsz工具進行 上傳下載,命令 yum -y install lrzsz 。rz上傳就可以了。這個是最簡單的兩種方式了。
Linux中實現一個功能的方式太 多了,所需要學習的東西也是非常多的。建議參考下《Linux就該這樣學》,多多練習,多多思考,多敲命令,學好Linux其實並不難
⑶ shell腳本:從遠程伺服器下載文件到本地
a.
至少有三種在外通用:
(1)setup
$home/.rhosts
for
rcp,
remsh
等等
(2)setup
$home/.netrc
for
ftp
(3)ssh,scp
要判斷文件是否下載成功,最簡單的就是用check
sum
(linux/unix的通用command是
cksum)。好比你用個script去scp
file回來後,應該也執行一個ssh去遠端做個cksum,把cksum的output存起來,回到local做同樣的cksum,兩個一比較就知道了。按理說,這些利用tcp/ip的protocol寫的自動會做error
checking而且要是有error自動會re-transmit,不過你還是要考慮local的file
system是不是爆了等等,所以最簡單的做法就是兩邊都做cksum一比就知道了。
⑷ 如何直接用linux shell命令從windows下載文件
1、首先在Linux系統的terminal終端中輸入ifconfig命令查看主機IP,然後使用Xshell在文件目錄下點擊新建,在彈出的新建會話屬性中輸入主機IP,用戶名和密碼後,便可以連接到Linux系統,並對其進行操作。如下圖:
2.進行文件互傳時還需要設置如下圖左下方的ZMODEM,填寫下載的路徑和載入的路徑;兩個路徑可以一樣也可以不一樣
Xshell實現Windows上傳文件到Linux主機
3、在Linux主機上,安裝上傳下載工具包rz及sz,使用yum install -y 包名 進行安裝。
lrzsz包安裝完成後包括上傳rz、下載sz命令;只需在root下(使用su命令,輸入密碼即可進入)使用如下命令進行安裝該包即可。
[root@localhost src]# yum install -y lrzsz
4、從Windows上傳文件,上傳命令為rz;從Linux上傳文件指令為rz,上傳的文件在當前命令行的目錄下;
[root@localhost src]# rz
在Xshell命令行中輸入rz命令後,會彈出對話框,選擇你要上傳的文件,選擇打開要上傳的文件就上傳到Linux主機下。
5、從Linux主機下載文件,下載命令為sz ,後面也可跟要下載的文件名,也可以選擇下載的保存文件夾;只輸入sz命令時,文件一般保存在當前路徑下,上傳完可以使用ls 查看。
[root@localhost src]# sz
此方法相對來說比較簡單快捷,可以滿足日常需要。
⑸ 用shell的linux伺服器 .sh插件怎麼從遠程ftp伺服器下載文件
//ftpput.sh
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT
exit 0
//注釋:
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-lt表示小於
#-eq表示等於
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
#IP=127.0.0.1
IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#-i表示在多個文件傳輸期間關閉交互提示
#-n表示禁止自動登錄到初始連接
#<<FTPIT 和最後的 FTPIT:術語叫:當前文檔here documents. here document 就是一段特殊目的的代碼塊,
#它使用I/O重定向的形式來將一個命令序列傳遞到一個交互程序或者命令中,比如ftp、cat,或者ex文本編輯器.
#本句可以理解從<<FTPIT開始以非對話模式的ftp連接,直到輸入FTPIT為止的所有命令.
#當然FTPIT這個名字是可以隨便取的,不一定必須是FTPIT,可以取其它的名字。
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
#連接到指定ftp伺服器上
open $IP
#連接到指定ftp伺服器上,並指定埠
#open $IP $PORT
#登陸ftp伺服器上的用戶名和密碼
#user username password
user Sunrier redhat
#bin表示以二進制方式傳輸
#bin等價於bi,binary等
#另一種方式傳輸是ascii,默認情況下,將文件傳輸類型設置為ASCII
bin
#主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的FTP是指伺服器被動地等待客戶端連接自己的數據埠
#被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTP伺服器的情況.
#因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過.
#因此在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作.
#passive表示設置為被動模式的FTP
passive
#cd表示更改ftp伺服器上(即遠程計算機)的工作目錄
cd /home/remote/log/ftpfile
#lcd表示更改本地計算機的工作目錄
#lcd /home/Sunrier/Proj/log/
#put local_file [ remote_file ]
#其中local_file是指定要復制的本地文件,remote_file是指定要復制的遠程計算機上的文件名,
#remote_file為可選項,如果不指定的話是和本地計算機上的文件名同名.
#put表示把本地路徑下的文件復制到FTP伺服器(遠程計算機)上設置的路徑下的文件
put $FULLNAME $DESTFILE
#quit表示結束與遠程計算機的FTP會話,並退出FTP.
#還有個等價的命令為bye(或by)結束與遠程計算機的FTP會話並退出FTP
quit
#here document塊結束
FTPIT
#正式寫這個Shell腳本時,here document中的#和空行都會執行,
#所以為了消除警告最好去掉here document塊中#開頭的語句以及空行,
#暫時我還沒有找到here document中有效的注釋語句的方法.
exit 0
//ftpget.sh
[cpp] view plain
#!/bin/sh
#FileName:ftpget.sh
#Function:從ftp伺服器上下載一個文件到本地計算機上
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <remote_dir/filename> <local_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取從ftp伺服器上下載的文件全路徑名
FULLNAME=$1
#DESTDIR獲取從ftp伺服器上下載的文件所存放的本地計算機的目錄路徑
DESTDIR=$2
#remote_filename獲取從ftp伺服器上下載的文件名
remote_filename=`basename $FULLNAME`
#DESTFILE表示下載文件所存放的本地路徑,以及本地保存後的文件名
DESTFILE=$DESTDIR/$remote_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
cd /home/remote/log/ftpfile
get $FULLNAME $DESTFILE
quit
FTPIT
exit 0
#get remote_file [ local_file ]
#remote_file是指定要復制的文件,local_file是指定本地計算機上的文件名,
#local_file為可選項,沒有指定的話則跟remote_file同名。
//20120726改進版本
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件(添加遠程目錄是否存在判斷功能)
#Version:V0.2
#Author:Sunrier
#Date:2012-07-26
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#dirname返迴路徑中的目錄部分
#DESTDIR="/home/Sunrier/Proj/log/test.log";
#當PREDESTDIR=`dirname $DESTDIR`
#最終PREDESTDIR="/home/Sunrier/Proj/log"
PREDESTDIR=`dirname $DESTDIR`
SUFFIXDESTDIR=`basename $DESTDIR`
LOCALDIR=`dirname $FULLNAME`
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
dir $PREDESTDIR $LOCALDIR/tmp.txt
quit
FTPIT
#find $LOCALDIR -name "tmp.txt" -type f | xargs grep "^d.*$SUFFIXDESTDIR$"
#find . -name "tmp.txt" -type f | xargs grep "^d.*$SUFFIXDESTDIR$"
#find . ! -name "." -type d -prune -o -type f -iname "*tmp.txt" -print | xargs grep "^d.*$SUFFIXDESTDIR$"
#grep "^d.*$SUFFIXDESTDIR$" \$LOCALDIR/tmp.txt
#grep後面查找字元兩邊加不加引號效果相同
grep ^d.*$SUFFIXDESTDIR$ $LOCALDIR/tmp.txt >/dev/null 2>&1
#$?表示上一個命令的運行結果,0表示成功,其它值表示失敗
#if [ $? != 0 ]
if [ $? -ne 0 ]
then
rm $LOCALDIR/tmp.txt
exit 1
fi
#mkdir創建遠程目錄
#mkdir $DESTDIR
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT
rm $LOCALDIR/tmp.txt
exit 0
[cpp] view plain
注:
FTP伺服器的啟動:
[root@localhost ~]# service vsftpd start
為 vsftpd 啟動 vsftpd: [確定]
FTP伺服器的埠一般默認為21:
[root@localhost ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:523 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:601 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
[root@localhost ~]#
在使用system執行Shell腳本時,如system("ftpput.sh"),system返回值低8位為system執行腳本所接收到的信號值,9~16位為Shell腳本所設置的exit退出值
⑹ shell腳本登錄列表中的伺服器並安裝文件
1、思路
通過循環可以實現讀IP,通過ssh無密碼訪問可以用scp命令上傳,或安裝sshpass
2、實例,password-less ssh access
#!/bin/sh
for ip in `cat ip.txt`; do
echo ${ip};
scp a.gz root@${ip}:/opt
ssh root@$ip "cd /opt;install;";
done
exit 0;
3、或者sshpass實現
#!/bin/sh
for ip in `cat ip.txt`; do
echo ${ip};
sshpass -p password scp a.gz root@${ip}:/opt
sshpass -p password ssh root@$ip "cd /opt;install;";
done
exit 0;
⑺ 如何在linux環境下安裝R包
第一步:用Xshell登陸伺服器,cd命令進入你要存放R.tar.gz壓縮包的路徑,如第一張圖,我是cd ~/software,進入~/software路徑才開始下載R壓縮包。然後wget +url(R文件網址)獲取R-3.0.0.tar.gz。第二張圖是下載完成後截取的。
第二步,先解壓R-3.0.0.tar.gz,然後cd R-3.0.0打開R-3.0.0文件夾。接下來兩條命令按第一張圖所示輸入。./configure命令後截取了一張圖。
第三步,先make,然後 make install。make命令後出現Error 1和Error 2,我沒有弄明白錯誤原因。往下裝
第四步,vim ~/.bash_profile,vim打開此文件後在PATH中修改環境變數PATH=/home/luokai/software/R/bin:$PATH(也就是你mkdir後面的路徑)。vim打開文件後有三種模式:一般模式(打開後就是此模式),編輯模式以及命令行模式。在編輯模式下修改PATH後輸入:wq(保持後退出)退出vim。關於這三種模式的切換及具體操作可以網路具體了解。
第五步,source ~/.bash_profile,然後R,打開R可以看見一些描述信息。R裝好了。
END
R包安裝
R運行環境裝好後,下載需要的R包,可以用較方便的install.packages命令。這里的dependencies設置為TRUE,可以自動下載你所裝包「mpMap」所需要的其他依賴包。
載入R包,用包前需要先載入。有兩種載入方法,實現載入的兩個函數是:library和require。兩者之間存在細微差別,後者會返回一個布爾值(TRUE或FALSE)來表示是否載入成功。
⑻ 請問一下,使用xshell登錄vps下載一個文件到伺服器上
可以使用screen命令,CentOS系統可以執行:yum install screen,Debian/Ubuntu系統執行:apt-get install screen;然後執行screen -S x, 這個X是一個任務名,接著你再wget下載,即時你關閉了xsehll,重新登錄後輸入screen -r x就可以看到之前在做的事兒了! 詳細步驟你自己網路一下screen命令
⑼ 怎麼用xshell給linux安裝本地.sh文件
對於Linux用戶來說,經常會使用到Xshell這個遠程管理軟體,比如會藉助Xshell向Linux伺服器上傳文件,那麼作為新手,肯定還不知道怎麼操作,下面就來給大家介紹用Xshell
5+lrzsz實現Windows客戶端向Linux伺服器上傳文件,實現文件的快速上傳。
具體步驟如下:
步驟一:登錄Linux伺服器。打開Xshell,新建會話輸入相應的主機名稱和IP,登錄Linux伺服器。
圖7:選擇上傳的文件
以上就是給大家介紹的用Xshell向Linux伺服器上傳文件的方法,主要藉助lrzsz實現Windows客戶端向Linux伺服器上傳文件,從而實現快速上傳文件。
⑽ action生成的文件如何用shell下載
首先你可以把 LINUX 系統配置成一個 FTP 伺服器,然後再在 Windows 系統上安裝一個 FTP 客戶端程序(例如:Cuteftp、wsftp等),即可在 Windows系統下面運行 FTP客戶端程序,把 LINUX 下面自己編寫的 SHELL 文件傳輸到 Windows系統的機器上面。