目錄命名規則:
(1)文件名最長255個字節
(2)包括路徑在內文件名稱最長4095個字節
(3)除了斜槓和NUL,全部字符都有效.但使用特殊字符的目錄名和文件不推薦使用,有些字符須要用引號來引用它們
(4)標準Linux文件系統(如ext4),文件名稱大小寫敏感
系統目錄名稱及用途node
[root@centos7 /]# tree -d -L 1 /
/
├── bin -> usr/bin //全部用戶使用的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
├── boot //引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放於此目錄
├── data //此文件夾爲用戶自建
├── dev //設備文件及特殊文件存儲位置
├── etc //配置文件目錄
├── home //普通用戶家目錄
├── lib -> usr/lib //啓動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)
├── lib64 -> usr/lib64 //專用於x86_64系統上的輔助共享庫文件存放位置
├── media //便攜式移動設備掛載點
├── mnt //臨時文件系統掛載點
├── opt //第三方應用程序的安裝位置
├── proc //用於輸出內核與進程信息相關的虛擬文件系統
├── root //管理員的家目錄
├── run //是各類各樣數據的家園,爲了在 Linux 文件系統中更好地組織運行時數據。
├── sbin -> usr/sbin //管理類的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序
├── srv //系統上運行的服務用到的數據
├── sys //用於輸出當前系統上硬件設備相關信息虛擬文件系統
├── tmp //臨時文件存儲位置
├── usr //universal shared, read-only data
└── var //包括系統運行時要改變的數據shell
查看文件元數據vim
[root@centos7 data]# stat test.txt
File: ‘test.txt’ --文件名
Size: 0 --大小 Blocks: 0 --佔用的磁盤塊數 IO Block: 4096 --磁盤塊大小 regular empty file --文件類型
Device: fd02h/64770d --所在設備 Inode: 67 --inode號 Links: 1 --被硬連接次數
Access: (0644/-rw-r--r--) --訪問權限 Uid: ( 0/ root) --屬主 Gid: ( 0/ root)--屬組
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-02-13 19:46:00.164949782 +0800 --文件最近一次的訪問時間
Modify: 2020-02-13 19:46:00.164949782 +0800 --文件的修改時間
Change: 2020-02-13 19:46:00.164949782 +0800 --文件的改變時間
Birth: -windows
修改文件時間戳centos
touch [OPTION]... FILE...
OPTION:
-a 僅改變 atime和ctime
-m 僅改變 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]指定atime和mtime的時間戳ide
硬連接 | 軟連接 | |
---|---|---|
本質 | 同一個文件多個名字 | 不一樣文件,軟連接只是指向相應的文件,相似於windows中的快捷方式 |
可否跨磁盤分區 | 不能 | 能 |
可否連接目錄 | 不能 | 能 |
相互關係 | 平等 ,相對獨立 | 有主次之分 |
文件類型 | 與源文件相同 | 連接文件 |
連接數 | 被連接後增長連接數 | 被連接後不增長連接數 |
語法:centos7
pwd(選項)排序
選項:遞歸
-P 顯示真實物理路徑
-L 顯示連接路徑(默認)進程
實例:
[root@localhost ~]# pwd
/root
語法:
cd (選項) (參數)
選項:
-p 若是要切換到的目標目錄是一個符號鏈接,直接切換到符號鏈接指向的目標目錄
-L 若是要切換的目標目錄是一個符號的鏈接,直接切換到字符鏈接名錶明的目錄,而非符號鏈接所指向的目標目錄。
- 當僅實用"-"一個選項時,當前工做目錄將被切換到環境變量"OLDPWD"所表示的目錄。
實例:
cd 進入用戶主目錄;
cd ~ 進入用戶主目錄;
cd - 返回進入此目錄以前所在的目錄;
cd .. 返回上級目錄(若當前目錄爲「/「,則執行完後還在「/";".."爲上級目錄的意思);
cd ../.. 返回上兩級目錄;
cd !$ 把上個命令的參數做爲cd參數使用。
語法:
ls(選項)(參數)
實例:
ls -a 包含隱藏文件
ls -l 顯示額外的信息
ls -R 目錄遞歸
ls -ld 目錄和符號連接信息
ls -1 文件分行顯示
ls –S 按從大到小排序
ls –t 按mtime排序
ls –u 配合-t選項,顯示並按atime重新到舊排序
ls –U 按目錄存放順序顯示
ls –X 按文件後綴排序
語法:
stat(選項)(參數)
選項:
-L:支持符號鏈接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;
--help:顯示指令的幫助信息;
--version:顯示指令的版本信息。
實例:
[root@localhost ~]# stat myfile
file: 「myfile」
Size: 0 Blocks: 8 IO Block: 4096 通常空文件
Device: fd00h/64768d Inode: 194805815 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-12-12 12:22:35.000000000 +0800
Modify: 2010-10-09 20:44:21.000000000 +0800
Change: 2010-10-09 20:44:21.000000000 +0800[root@localhost ~]# stat -f myfile
File: "myfile"
id: 0 Namelen: 255 type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 241555461 free: 232910771 Available: 220442547
Inodes: Total: 249364480 Free: 249139691[root@localhost ~]# stat -t myfile
myfile 0 8 81a4 0 0 fd00 194805815 1 0 0 1292127755 1286628261 1286628261 4096
語法:
touch [OPTION]... FILE...
選項:
-a 僅改變 atime和ctime
-m 僅改變 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的時間戳
-c 若是文件不存在,則不予建立
語法:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
選項:
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件以前先詢問用戶;
-l:對源文件創建硬鏈接,而非複製文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理;
-s:對源文件創建符號鏈接,而非複製文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操做。
實例:
cp aaa/* /bbb
複製目錄aaa下全部到/bbb目錄下,這時若是/bbb目錄下有和aaa同名的文件,須要按Y來確認而且會略過aaa目錄下的子目錄。cp -r aaa/* /bbb
此次依然須要按Y來確認操做,可是沒有忽略子目錄。cp -r -a aaa/* /bbb
依然須要按Y來確認操做,而且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。\cp -r -a aaa/* /bbb
成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。
語法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
選項:
-i 交互式
-f 強制
-b 目標存在,覆蓋前先備份
實例:
將文件ex3更名爲new1
mv ex3 new1
將目錄/usr/men中的全部文件移到當前目錄(用.表示)中:
mv /usr/men/* .
語法:
rm [OPTION]... FILE...
選項:
-i 交互式
-f 強制刪除
-r 遞歸
--no-preserve-root 刪除/
實例:
交互式刪除當前目錄下的文件test和example
rm -i test example
Remove test ?n(不刪除文件test)
Remove example ?y(刪除文件example)
刪除當前目錄下除隱含文件外的全部文件和子目錄
rm -r *
cp /etc/profile /tmp //複製/etc/profile至/tmp/目錄
vim /tmp/profile //用vim打開profile文件
:%s/^\s*//g //擴展命令模式下輸入
vim ~/.vimrc //vim打開用戶家目錄下.vimrc,如需改全局變量的話修改/etc/vimrc文件set tabstop=4 //加入以下字段