Linux文件查找和網絡客戶端命令

 

linux中的文件查找:

linux中文件查找一共主要使用到兩個命令

locate 基於文件數據庫查找,在數據庫生成之後新建的文件將無法找到。

find 從文件目錄中實時查找。

locate 選項 文件名

-i 忽略大小寫

-n 只顯示前n

使用updatedb生成數據庫

此命令由於非實時查找所以使用不是很廣泛

 

find 起始路徑  查找規則(限制條件)  查找後的動作

 

查找規則

-i 不區分大小寫

-name 按姓名關鍵字查找,支持*、?、[ ]

-user 按照屬主名查找

-group 按照屬主名查找

-uid 按照uid查找文件

-gid 按照gid查找文件

       以上兩種使用情況:刪除用戶,但未刪除用戶所屬的文件,此時這些文件的屬主爲原屬主的uid,所以進行uid匹配查找刪除。

 

按照時間屬性查找

-atime  [+/-]days  按訪問時間查找,+days表示xx天之外訪問過的文件,-days表示xx天之內訪問過的文件

-mtime  [+/-]days  按照修改時間查找。

-ctime   [+/-]days   按照屬性修改時間查找。

-amin      [+/-]minutes   以分鐘問單位,按訪問時間查找。

-mmin     [+/-]minutes  以分鐘爲單位,按修改時間查找。

-cmin     [+/-]minutes  以分鐘爲單位,按照屬性修改時間查找。

 

按照文件的屬性查找

-type

       f      普通文件

       d     目錄文件

       l      鏈接文件

       c     字符文件

       b     塊文件

       p     管道文件

       s      套接字文件

 

按照文件權限查找

-perm [/ -] 權限值

       /權限值 查找到得文件全蠍時目標值的子集

       -權限值 查找到文件的權限必須大於後者等於目標的權限,即目標值是查找到內容的子集

-nouser   查找出沒有用戶的文件

-group    查找出沒有組的文件

 

查找後動作

-ls    顯示查找到內容得詳細信息

-ok  提示並執行後跟的命令

              -ok 命令 {}(大括號指代查找到得文件) (空格)\

-exec      不提示直接執行後接的命令

              -exec 命令 {} (空格)\

 

使用xargs同樣可實現okexec的作用:

find  /  –name  aa  |  xargs  cat

 

網絡客戶端指令:

elinks 基於文本查看web網頁(用於檢測網站功能)

links

-dump 以純文本的形式查看

-source 以源代碼的形式查看

 

wget非交互式網絡下載

wget 資源鏈接

--tries 重試次數

-r 遞歸下載

 

SSH

secure shell是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題

使用指定用戶名登陸:

ssh –l 用戶名 登陸主機的ip地址

ssh  用戶名@登錄主機的ip地址

 

ssh的用戶認證:

1、  基於口令的驗證:客戶端向服務器發出登錄請求,服務器向客戶端返回服務端公鑰,客戶端通過此公鑰加密後將登陸口令發送給服務器,服務器收到後並用對應的密鑰解密,口令正確後建立連接。但此種驗證容易出現“中間人”***,即可能會有別的主機冒充真正的服務器。

2、  基於密鑰的驗證:客戶端生成一對密鑰,並將公鑰放置在服務器上,客戶端要登錄服務器就向服務器發送用自己公鑰加密的請求,服務器查找到用戶公鑰並與請求中的公鑰想比較,匹配則回執用客戶端公鑰加密的“質詢”challenge,客戶端收到“質詢”用密鑰解密,再將內容發送給服務器,內容與發送內容匹配就建立連接。

 

1)  密鑰生成 ssh-keygen –t rsa

生成rsa類型的一對密鑰保存在用戶家目錄的

[root@server55 .ssh]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): y

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in y.

Your public key has been saved in y.pub.

The key fingerprint is:

00:4c:14:c1:3b:c4:7e:aa:6c:b7:0e:4f:de:de:9f:dd [email protected]

~/.ssh/id_rsa(密鑰)

~/.ssh/id_rsa.pub(公鑰)

[root@server55 .ssh]# ls

authorized_keys2  known_hosts  y  y.pub

2)  將生成的公鑰複製到目的主機

i   ssh-copy-id –i ~/.ssh/id_rsa.pub  [email protected]

此時會提示輸入用戶名對應得密碼,然後命令會自動將公鑰內容複製到目的主機~/.ssh/authorized_keys2文件中,以文本形式存在。

ii 手動複製添加公鑰:

複製~/.ssh/id_rsa.pub到目的主機

cat id_rsa.pub >> ~/.ssh/authorized_keys2 向文件中追加

ssh上還支持scp遠程拷貝功能

用法:scp [email protected]:/root/id_rsa.pub  ./   #從遠程主機向本地複製

              scp ./文件[email protected]:/root   #從本地想遠程主機複製文件

linux訪問ftp服務器

ftp 服務器ip地址

下載命令:

get 文件名

mget 多個文件名

       ps.現在本地的地址默認是當前路徑

上傳命令:

put 文件名

mput 文件名

       使用!pwd查看當前本機的路徑

       !+命令可對本機執行命令

       lcd 切換本機目錄

 

lftp服務器ip地址

lftpftp的加強版,他在ftp所支持命令的基礎上,支持tab命令補全,支持整目錄下載等功能。

整目錄下載

mirror 文件目錄

斷點續傳下載工具

lftpget 文件名

 

網絡狀態的查看

netstat 選項

-t已建立的tcp鏈接

-u已建立的udp連接

-l顯示監聽的接口

-n以數字方式顯示解析信息

-p監聽服務的提供進程

-r查看本機路由表

常用的組合有:-rn –tunl –tnl –tunlp –unl

 

linux文件系統:

硬盤在出廠時進行低級格式化後,被劃分了扇區和磁道。扇區是最小的物理儲存單位,每個扇區爲512字節。每個盤上的扇區組成一個圓,多個盤上的圓組成一個柱面,柱面就是磁盤分區的最小單位,即相同柱面的信息一定處於一個分區。

硬盤中的第一個扇區由446字節的master boot record64字節的分區表patition table

分區信息每條16字節,所以最多只能有3個主分區和1個擴展分區,但每個擴展分區又可以劃分爲若干個邏輯分區。

硬盤通過分區之後,劃分爲了彼此相互獨立的空間,將分區後的磁盤再次按照文件格式和對存儲的需求進行格式化,從而建立起一個獨立的文件系統。

文件系統將文件的權限、屬性、存取時間等通過索引inode的形式存儲,將文件的數據按照block塊的形式存取,並在inodeblock之間建立關聯映射,再用目錄文件將其下的所有inode信息記錄在案,每次需要找到文件通過層層目錄找到索引,通過索引的指向找到存儲文件數據的塊。

linux中經常見到有對應多個inode個數的文件,這又是這麼回事呢?

其實這些都是鏈接文件,鏈接文件分爲硬鏈接和軟連接兩種。

硬鏈接:有兩個或者兩個以上的文件名能找到相同的inode文件,再由這個inode文件指向這個block

軟連接:文件名指向第一個文件的inode,第一個inode指向第一個block,但是這個塊中存儲的並不是文件,而是下個一inode的路徑,再有這個路徑順藤摸瓜的找到最終的文件。

硬鏈接:不可跨分區;不能是目錄;會改變鏈接的個數。

軟連接:可以對目錄;可以跨文件系統;不會改變鏈接的計數。

 

生成鏈接文件

ln 源文件 生成的鏈接文件

-v顯示創建過程

-s創建軟連接

 

 

磁盤分區存儲情況的查看:

df   顯示分區信息

-i顯示可用inode

-h單位換算

 

du  顯示目錄中包含文件的總大小

-s 總計大小

-h 單位換算

 

mknod   創建設備文件

 

 

任務的定期執行

at 在制定的未來某個時間點執行一次

at 選項 時間

>

 

>    到達某個時間點依次執行的命令

>

 

ctrl+d

-v創建人物後顯示

-f導入命令文件(將命令以文本的)

-l查看at列表

       atq有相同作用

-d[空格][任務號]刪除任務

 

batch 在系統空閒時自動執行

 

crond 週期性執行      使用service crond status查看服務是否開啓

crond min hour day month week command

/ xxx時間執行一次

,表示與的意思

- 表示時間段

 

定期實行命令建立crontab

crontab –e編輯 輸入* * * * * command

min hour day month week command

eg

*/2 * * * * ls         #每兩分鐘執行一次ls

2 */2 * * * ls        #每兩小時在xx02的時候執行一次

2050 * * * * ls  #每小時的XX:20 XX:50執行一次

 

crond到期未執行的命令即作廢

 

aracrond可以解決此問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章