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同樣可實現ok和exec的作用:
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地址
lftp是ftp的加強版,他在ftp所支持命令的基礎上,支持tab命令補全,支持整目錄下載等功能。
整目錄下載
mirror 文件目錄
斷點續傳下載工具
lftpget 文件名
網絡狀態的查看
netstat 選項
-t已建立的tcp鏈接
-u已建立的udp連接
-l顯示監聽的接口
-n以數字方式顯示解析信息
-p監聽服務的提供進程
-r查看本機路由表
常用的組合有:-rn –tunl –tnl –tunlp –unl
linux文件系統:
硬盤在出廠時進行低級格式化後,被劃分了扇區和磁道。扇區是最小的物理儲存單位,每個扇區爲512字節。每個盤上的扇區組成一個圓,多個盤上的圓組成一個柱面,柱面就是磁盤分區的最小單位,即相同柱面的信息一定處於一個分區。
硬盤中的第一個扇區由446字節的master boot record和64字節的分區表patition table。
分區信息每條16字節,所以最多只能有3個主分區和1個擴展分區,但每個擴展分區又可以劃分爲若干個邏輯分區。
硬盤通過分區之後,劃分爲了彼此相互獨立的空間,將分區後的磁盤再次按照文件格式和對存儲的需求進行格式化,從而建立起一個獨立的文件系統。
文件系統將文件的權限、屬性、存取時間等通過索引inode的形式存儲,將文件的數據按照block塊的形式存取,並在inode和block之間建立關聯映射,再用目錄文件將其下的所有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 #每兩小時在xx:02的時候執行一次
20,50 * * * * ls #每小時的XX:20 XX:50執行一次
crond到期未執行的命令即作廢
aracrond可以解決此問題