linux檔案管理,winscp
Linux的目錄結構:
/ 根分區 linux檔案系統的起點
/bin 普通使用者的命令,普通使用者能使用
/sbin 管理員使用的命令,只有管理員能使用
/home 普通使用者的宿主目錄
/root 管理員的宿主目錄
/boot linux啟動所需的檔案,核心,grub,核心引導檔案
/dev 裝置檔案,硬碟,鍵盤滑鼠,光碟機等
/usr 應用程式 /usr/src 源碼包的存放路徑
/etc 設定檔
/opt 安裝額外軟體時的存放路徑
/var 記錄檔,郵件等
/proc 虛擬檔案系統(電腦核心的資訊,CPU...),資料都在記憶體中
/lib 庫檔案,驅動
/selinux 美國國家安全屬研發的安全機制
/tmp 臨時檔案存放目錄(公用檔案夾)
/media 掛載點(redhat9.0裡面使用的/mnt)
/sys 系統相關檔案
/srv 啟動的服務需要訪問的資料目錄
/mnt 臨時檔案系統掛載點
檔案的兩類資料:
中繼資料:檔案的屬性
資料:檔案的內容
顯示當前所在目錄:
[root@bogon ~]# pwd/root
切換目錄:cd命令
絕對路徑:以根目錄“/”作為起點,可以非常準確的表示一個目錄或檔案所在的位置,如果路徑較長輸入時會比較繁瑣。
相對路徑:以當前工作目錄作為起點,“.”表示當前工作目錄,“..”表示上一級目錄,“~”表示使用者的宿主目錄。
[root@bogon ~]# cd - ##回到上一次的工作目錄,實現兩個工作目錄間來回切換/etc[root@bogon etc]#cd -
檔案萬用字元:
* 匹配零個或多個字元
? 匹配任何單個字元
~ 目前使用者家目錄
~username 使用者家目錄
~+ 當前工作目錄
~- 前一個工作目錄
[0-9] 匹配一個數字範圍
[a-z] 大寫和小寫字母
[A-Z] 大寫字母
[wxc] 匹配列表中的任何的一個字元
[^wxc] 匹配列表中的所有字元以外的字元
預定義的字元類: #man 7 glob
[:digit:] 任一數字,相當於0-9
[:lower:] 任意小寫字母
[:upper:] 任意大寫字母
[:alpha:] 任意大小寫字母
[:alnum:] 任一數字或字母
[:space:] 空格
[:punct:] 標點符號
列出目錄的內容或指定目錄:
ls命令:ls [options] [files_or_dirs]
-a 包含隱藏檔案
-l 以長格式顯示,ll
-R 目錄遞迴顯示
-d 目錄和符合連結資訊
-1 檔案分行顯示
-S 從大到小排序
-i 顯示檔案索引節點
顯示當前工作目錄下的所以隱藏檔案和目錄:
[root@bogon ~]# ls -d .*. .. .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc .viminfo
顯示當前工作目錄下的所以目錄:
[root@bogon var]# ls -d */ adm/ crash/ empty/ gopher/ lib/ lock/ mail/ opt/ run/ tmp/cache/ db/ games/ kerberos/ local/ log/ nis/ preserve/ spool/ yp/
顯示/etc 目錄下,所有.conf 結尾,且以m,n,r,p 開頭的檔案或目錄
[root@bogon log]# ll /etc/[mnrp]*.conf -rw-r--r--. 1 root root 5171 Jun 10 2014 /etc/man_db.conf-rw-r--r--. 1 root root 936 Mar 6 2015 /etc/mke2fs.conf-rw-r--r--. 1 root root 1717 May 1 05:40 /etc/nsswitch.conf-rw-r--r--. 1 root root 82 May 1 19:24 /etc/resolv.conf-rw-r--r--. 1 root root 458 Nov 21 2015 /etc/rsyncd.conf-rw-r--r--. 1 root root 3232 Sep 8 2015 /etc/rsyslog.conf
linux檔案的類型:
- 普通檔案
d 目錄檔案
b 塊裝置
c 字元裝置
l 符號連結檔案
p 管道檔案pipe
s 通訊端檔案socket
查看檔案狀態:stat
[root@bogon ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1401 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 101877942 Links: 1Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)Context: system_u:object_r:admin_home_t:s0Access: 2017-05-01 05:41:12.625008626 +0800 ##訪問時間,讀取檔案內容Modify: 2017-05-01 05:41:12.630008626 +0800 ##修改時間,改變檔案內容(資料)Change: 2017-05-01 05:41:12.630008626 +0800 ## 改變時間,中繼資料發生改變 Birth: -
touch命令:建立檔案和重新整理時間
touch [OPTION]... FILE...
-a 改變atime
-m 改變mtime
-t STAMP:[[CC]YY]MMDDhhmm[.ss]
-c 如果檔案不存在,則不予建立
cp命令:複製
-a 歸檔,等同於-dr
-b 若刪除或者覆蓋目標檔案,將對目標檔案進行備份,備份檔案以備份的字串結尾
-d 複製符號連結
-f 強制複製
-h 強制cp複製符號連結。預設值是跟隨符號連結,將檔案複製到符號連結指向處。
-i 互動式模式。覆蓋目標檔案之前先要進行詢問
-l 建立永久連結,而非複製
-p 來源目錄或者檔案的屬性保留
-r 處理指定目錄以及子目錄
複製/root目錄下所以檔案到/data目錄,包括隱藏檔案:
[root@bogon ~]# cp -r /root/. /data/[root@bogon ~]# ls -a /data/. anaconda-ks.cfg .bash_logout .bashrc .tcshrc.. .bash_history .bash_profile .cshrc .viminfo
移動和重新命名:mv [選項]
-i 互動式
-f 強制,如果目標檔案已經存在,不會詢問而直接覆蓋
-b :若需覆蓋檔案,則覆蓋前先行備份
[root@bogon ~]# lsanaconda-ks.cfg file1.txt[root@bogon ~]# mv file1.txt /data/file2.txt[root@bogon ~]# ls /data/file2.txt ##將file1移動到/data目錄下重新命名file2
刪除檔案: rm [選項]... file...
-i: 互動式
-f: 強制移除
-r: 遞迴刪除分類樹
[root@bogon ~]# ls /data/file2.txt testdir[root@bogon ~]# rm -rf /data/*[root@bogon ~]# ll /data/total 0 ##刪除/data目錄下所以檔案
顯示分類樹: tree
-d: 只顯示目錄
-L level :指定顯示的層級數目
-P pattern: 只顯示由指定pattern 匹配到的
顯示“/”分類樹,只顯示一層:
[root@bogon ~]# tree -L 1 //├── bin -> usr/bin├── boot├── data├── dev├── etc├── home├── lib -> usr/lib├── lib64 -> usr/lib64├── media├── mnt├── opt├── proc├── root├── run├── sbin -> usr/sbin├── srv├── sys├── tmp├── usr└── var
建立目錄:mkdir
-p: 遞迴建立,且可自動建立所需的各目錄;
-v: 顯示詳細資料
-m MODE: 建立目錄時直接指定許可權;
[root@bogon ~]# mkdir -m 700 test[root@bogon ~]# lltotal 4-rw-------. 1 root root 1401 May 1 05:41 anaconda-ks.cfgdrwx------. 2 root root 6 May 2 02:27 test
rmdir:刪除空目錄
-p: 遞迴刪除父空目錄
-v: 顯示詳細資料
連結檔案:ln命令
軟串連與永久連結的區別:
當刪除源檔案後,軟串連將失效,但永久連結仍舊可用。
軟串連適用於檔案或目錄,但永久連結只可用於檔案。
軟串連與原檔案可以位於不同的檔案系統中,但永久連結必須與原檔案在同一個分區內。
ln命令預設建立的是永久連結,建立軟連結必須結合“-s”選項
[root@bogon ~]# ln -s /etc/httpd/conf/httpd.conf /etc[root@bogon ~]# ll /etc/httpd.conf lrwxrwxrwx. 1 root root 26 May 2 02:47 /etc/httpd.conf -> /etc/httpd/conf/httpd.conf[root@bogon ~]# ln /var/log/messages /tmp/test[root@bogon ~]# ll -h /tmp/test-rw-------. 2 root root 574K May 2 02:46 /tmp/test
file命令:用來識別檔案類型,也可用來辨別一些檔案的編碼格式
file [options] <filename>...
-b 列出檔案辨識結果時,不顯示檔案名稱。
-c 詳細顯示指令執行過程,便於排錯或剖析器執行形
-f 列出檔案中檔案名稱的檔案類型
-F 使用指定分隔字元號替換輸出檔案名後預設的”:” 分隔字元
-i 輸出mime 類型的字串
-L 查看對應軟連結對應檔案的檔案類型
-z 嘗試去解讀壓縮檔的內容
--help顯示命令線上協助
查看軟串連對應檔案的類型:
[root@bogon ~]# file -L /etc/httpd.conf /etc/httpd.conf: ASCII text
du命令:統計目錄及檔案的空間佔用情況
-a 統計磁碟空間佔用的所以檔案,而不僅僅只統計目錄
-h 以K,M單位顯示
-s 只統計某個參數所佔用的空間,而不是統計每個子目錄
[root@bogon ~]# du -sh /var/log/3.3M /var/log/[root@bogon ~]# du -ah /boot/4.0K /boot/grub/splash.xpm.gz4.0K /boot/grub0 /boot/grub2/themes/system0 /boot/grub2/themes4.0K /boot/grub2/device.map12K /boot/grub2/i386-pc/acpi.mod