一、Linux下的文件類型
Linux文件的常見類型:
1、普通文件
2、目錄
3、字符設(shè)備文件
4、塊設(shè)備文件
5、符號(hào)鏈接文件等
現(xiàn)在我們進(jìn)行一個(gè)簡要的說明;
1、普通文件和目錄
[baixiaoyeer@localhost ~]$ls -lh=[baixiaoyeer@localhost ~]$ll
查看文件屬性

or

2、字符設(shè)備或塊設(shè)備文件
[baixiaoyeer@localhost ~]$ ls -la /dev/tty
crw-rw-rw-. 1 root tty 5, 0 May 17 22:39 /dev/tty
[baixiaoyeer@localhost ~]$ ls -la /dev/ram0
brw-rw----. 1 root disk 1, 0 May 17 22:39 /dev/ram0


注意:
/dev/tty的屬性是crw-rw-rw-,前面第一個(gè)字符是c,表示是字符設(shè)備文件,即串口設(shè)備;
/dev/ram0的屬性是brw-rw----,前面第一個(gè)字符是b,表示塊設(shè)備,即硬盤、光驅(qū)等設(shè)備。
這種類的文件,是可以用mknode來創(chuàng)建,用rm來刪除的,目前在最新的Linux發(fā)行版本中,一般不用自己來創(chuàng)建設(shè)備文件,主要是因?yàn)槲募蛢?nèi)核相關(guān)聯(lián)的。
3、套接口文件
[root@localhost lib]# ls -lh /var/run/cups/cups.sock
srwxrwxrwx. 1 root root 0 May 17 22:40 /var/run/cups/cups.sock
注意:
/var/run/cups/cups.sock的屬性是srwxrwxrwx,前面第一個(gè)字符是s。僅了解即可。
二、目錄的操作
目錄相關(guān)操作最基本的操作命令
cd:切換目錄
pwd:顯示目前的目錄
mkdir:創(chuàng)建一個(gè)新目錄
rmdir:刪除一個(gè)空目錄
1、cd是change directory的縮寫,用來切換工作目錄的命令。注:目錄名稱與cd命令之間存在一個(gè)空格。
絕對(duì)路徑:【由根目錄/寫起】;例:/dev/tty
相對(duì)路徑:【非由/寫起】;例:./ or ../

注意:
. 代表此層目錄
.. 代表上一目錄
- 代表前一工作目錄
~ 代表【目前使用者身份】所在的家目錄
~account 代表account這個(gè)使用者家目錄
(account是個(gè)賬號(hào)名稱)

2、pwd(顯示目前所在的目錄)
pwd是Print Working Directory的縮寫,也就是顯示目前所在目錄的命令。實(shí)例請參照1。
3、mkdir(創(chuàng)建目錄)
[root@localhost ~]# mkdir [-mp](目錄名稱)
-m 配置文件的權(quán)限。直接配置,不需要看默認(rèn)權(quán)限(umask)
-p 直接將所需要的目錄(包含上一級(jí)目錄)遞回創(chuàng)建起來

eg1:創(chuàng)建一個(gè)目錄

eg2:創(chuàng)建多級(jí)目錄

4、rmdir(刪除【空】的目錄)
[root@localhost ~]# rmdir [-mp](目錄名稱)

eg1:刪除一個(gè)空目錄

eg2:刪除多級(jí)空目錄

三、文件的操作
1、文件和目錄檢查:ls
2、復(fù)制:cp & scp
3、刪除:rm
4、移動(dòng):mv
1、文件和目錄檢查:ls
[root@SecEvery ~]# ls --help
用法:ls [選項(xiàng)]... [文件]...
列出 FILE 的信息(默認(rèn)為當(dāng)前目錄)。
如果不指定-cftuvSUX 或--sort 選項(xiàng),則根據(jù)字母大小排序。
長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a, --all 不隱藏任何以. 開始的項(xiàng)目
-A, --almost-all 列出除. 及.. 以外的任何項(xiàng)目
--author 與-l 同時(shí)使用時(shí)列出每個(gè)文件的作者
-b, --escape 以八進(jìn)制溢出序列表示不可打印的字符
--block-size=大小 塊以指定大小的字節(jié)為單位
-B, --ignore-backups 不列出任何以"~"字符結(jié)束的項(xiàng)目
-c 配合-lt:根據(jù)ctime 排序并顯示ctime(文件
狀態(tài)最后更改的時(shí)間)
配合-l:顯示ctime 但根據(jù)名稱排序 其他情況:按ctime 排序
-C 每欄由上至下列出項(xiàng)目
--color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是
"never"(默認(rèn))、"always"或"auto"其中之一
-d, --directory 當(dāng)遇到目錄時(shí)列出目錄本身而非目錄內(nèi)的文件
-D, --dired 產(chǎn)生適合Emacs 的dired 模式使用的結(jié)果
-f 不進(jìn)行排序,-aU 選項(xiàng)生效,-lst 選項(xiàng)失效
-F, --classify 加上文件類型的指示符號(hào)(*/=@| 其中一個(gè))
--format=關(guān)鍵字 交錯(cuò)-x,逗號(hào)分隔-m,水平-x,長-l,
單欄-1,詳細(xì)-l,垂直-C
--full-time 即-l --time-style=full-iso
-g 類似-l,但不列出所有者
--group-directories-first
在文件前分組目錄。此選項(xiàng)可與--sort 一起使用,
但是一旦使用--sort=none (-U)將禁用分組
-G, --no-group 以一個(gè)長列表的形式,不輸出組名
-h, --human-readable 與-l 一起,以易于閱讀的格式輸出文件大小
(例如 1K 234M 2G)
--si 同上面類似,但是使用1000 為基底而非1024
-H, --dereference-command-line
跟隨命令行列出的符號(hào)鏈接
--dereference-command-line-symlink-to-dir
跟隨命令行列出的目錄的符號(hào)鏈接
--hide=PATTERN 隱藏符合PATTERN 模式的項(xiàng)目
(-a 或 -A 將覆蓋此選項(xiàng))
--indicator-style=方式 指定在每個(gè)項(xiàng)目名稱后加上指示符號(hào)方式:
none (默認(rèn)),classify (-F),file-type (-p)
-i, --inode 顯示每個(gè)文件的inode 號(hào)
-I, --ignore=PATTERN 不顯示任何符合指定shell PATTERN 的項(xiàng)目
-k 即--block-size=1K
-l 使用較長格式列出信息
-L, --dereference 當(dāng)顯示符號(hào)鏈接的文件信息時(shí),顯示符號(hào)鏈接所指示
的對(duì)象而并非符號(hào)鏈接本身的信息
-m 所有項(xiàng)目以逗號(hào)分隔,并填滿整行行寬
-n, --numeric-uid-gid 類似 -l,但列出UID 及GID 號(hào)
-N, --literal 輸出未經(jīng)處理的項(xiàng)目名稱 (如不特別處理控制字符)
-o 類似 -l,但不列出有關(guān)組的信息
-p, --indicator-style=slash 對(duì)目錄加上表示符號(hào)"/"
-q, --hide-control-chars 以"?"字符代替無法打印的字符
--show-control-chars 直接顯示無法打印的字符 (這是默認(rèn)方式,除非調(diào)用
的程序名稱是"ls"而且是在終端輸出結(jié)果)
-Q, --quote-name 將條目名稱括上雙引號(hào)
--quoting-style=方式 使用指定的quoting 方式顯示條目的名稱:
literal、locale、shell、shell-always、c、escape
-r, --reverse 排序時(shí)保留順序
-R, --recursive 遞歸顯示子目錄
-s, --size 以塊數(shù)形式顯示每個(gè)文件分配的尺寸
-S 根據(jù)文件大小排序
--sort=WORD 以下是可選用的WORD 和它們代表的相應(yīng)選項(xiàng):
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
--time=WORD 和-l 同時(shí)使用時(shí)顯示W(wǎng)ORD 所代表的時(shí)間而非修改時(shí)
間:atime、access、use、ctime 或status;加上
--sort=time 選項(xiàng)時(shí)會(huì)以指定時(shí)間作為排序關(guān)鍵字
--time-style=STYLE 和-l 同時(shí)使用時(shí)根據(jù)STYLE 代表的格式顯示時(shí)間:
full-iso、iso、locale、posix-iso、+FORMAT。
FORMAT 即是"date"所用的時(shí)間格式;如果FORMAT
是FORMAT1<換行>FORMAT2,F(xiàn)ORMAT1 適用于較舊
的文件而FORMAT2 適用于較新的文件;如果STYLE
以"posix-"開頭,則STYLE 僅在POSIX 語系之外
生效。
-t 根據(jù)修改時(shí)間排序
-T, --tabsize=寬度 指定制表符(Tab)的寬度,而非8 個(gè)字符
-t 按修改時(shí)間排序
-T, --tabsize=COLS 指定制表符(Tab)的寬度,而非8個(gè)字符
-u 同-lt 一起使用:按照訪問時(shí)間排序并顯示
同-l一起使用:顯示訪問時(shí)間并按文件名排序
其他:按照訪問時(shí)間排序
-U 不進(jìn)行排序;按照目錄順序列出項(xiàng)目
-v 在文本中進(jìn)行數(shù)字(版本)的自然排序
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
SELinux options:
--lcontext Display security context. Enable -l. Lines
will probably be too wide for most displays.
-Z, --context Display security context so it fits on most
displays. Displays only mode, user, group,
security context and file name.
--scontext Display only security context and file name.
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
SIZE 可以是一個(gè)可選的整數(shù),后面跟著以下單位中的一個(gè):
KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。
使用色彩來區(qū)分文件類型的功能已被禁用,默認(rèn)設(shè)置和 --color=never 同時(shí)禁用了它。
使用 --color=auto 選項(xiàng),ls 只在標(biāo)準(zhǔn)輸出被連至終端時(shí)才生成顏色代碼。
LS_COLORS 環(huán)境變量可改變此設(shè)置,可使用 dircolors 命令來設(shè)置。
退出狀態(tài):
0 正常
1 一般問題 (例如:無法訪問子文件夾)
2 嚴(yán)重問題 (例如:無法使用命令行參數(shù))
[root@SecEvery ~]# ls
[root@SecEvery ~]# ls -a

2、復(fù)制:cp & scp
[root@SecEvery ~]# cp --help
用法:cp [選項(xiàng)]... [-T] 源文件 目標(biāo)文件
或:cp [選項(xiàng)]... 源文件... 目錄
或:cp [選項(xiàng)]... -t 目錄 源文件...
將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€(gè)源文件復(fù)制至目標(biāo)目錄。
長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
-b 類似--backup 但不接受參數(shù)
--copy-contents 在遞歸處理是復(fù)制特殊文件內(nèi)容
-d 等于--no-dereference --preserve=links
-f, --force 如果目標(biāo)文件無法打開則將其移除并重試(當(dāng) -n 選項(xiàng)
存在時(shí)則不需再選此項(xiàng))
-i, --interactive 覆蓋前詢問(使前面的 -n 選項(xiàng)失效)
-H 跟隨源文件中的命令行符號(hào)鏈接
-l, --link 鏈接文件而不復(fù)制
-L, --dereference 總是跟隨符號(hào)鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項(xiàng)失效)
-P, --no-dereference 不跟隨源文件中的符號(hào)鏈接
-p 等于--preserve=模式,所有權(quán),時(shí)間戳
--preserve[=屬性列表 保持指定的屬性(默認(rèn):模式,所有權(quán),時(shí)間戳),如果
可能保持附加屬性:環(huán)境、鏈接、xattr 等
-c same as --preserve=context
--sno-preserve=屬性列表 不保留指定的文件屬性
--parents 復(fù)制前在目標(biāo)目錄創(chuàng)建來源文件路徑中的所有目錄
-R, -r, --recursive 遞歸復(fù)制目錄及其子目錄內(nèi)的所有內(nèi)容
--reflink[=WHEN] 控制克隆/CoW 副本。請查看下面的內(nèi)如。
--remove-destination 嘗試打開目標(biāo)文件前先刪除已存在的目的地
文件 (相對(duì)于 --force 選項(xiàng))
--sparse=WHEN 控制創(chuàng)建稀疏文件的方式
--strip-trailing-slashes 刪除參數(shù)中所有源文件/目錄末端的斜杠
-s, --symbolic-link 只創(chuàng)建符號(hào)鏈接而不復(fù)制文件
-S, --suffix=后綴 自行指定備份文件的后綴
-t, --target-directory=目錄 將所有參數(shù)指定的源文件/目錄
復(fù)制至目標(biāo)目錄
-T, --no-target-directory 將目標(biāo)目錄視作普通文件
-u, --update copy only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of copy to CONTEXT
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
默認(rèn)情況下,源文件的稀疏性僅僅通過簡單的方法判斷,對(duì)應(yīng)的目標(biāo)文件目標(biāo)文件也
被為稀疏。這是因?yàn)槟J(rèn)情況下使用了--sparse=auto 參數(shù)。如果明確使用
--sparse=always 參數(shù)則不論源文件是否包含足夠長的0 序列也將目標(biāo)文件創(chuàng)文
建為稀疏件。
使用--sparse=never 參數(shù)禁止創(chuàng)建稀疏文件。
當(dāng)指定了--reflink[=always] 參數(shù)時(shí)執(zhí)行輕量化的復(fù)制,即只在數(shù)據(jù)塊被修改的
情況下才復(fù)制。如果復(fù)制失敗或者同時(shí)指定了--reflink=auto,則返回標(biāo)準(zhǔn)復(fù)制模式。
備份文件的后綴為"~",除非以--suffix 選項(xiàng)或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:
none, off 不進(jìn)行備份(即使使用了--backup 選項(xiàng))
numbered, t 備份文件加上數(shù)字進(jìn)行排序
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠(yuǎn)使用普通方式備份
有一個(gè)特別情況:如果同時(shí)指定--force 和--backup 選項(xiàng),而源文件和目標(biāo)文件
是同一個(gè)已存在的一般文件的話,cp 會(huì)將源文件備份。
復(fù)制/tmp/1.txt到/root目錄下,修改文件名為a.txt。

usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
復(fù)制本地a.txt到192.168.3.134主機(jī)的/tmp目錄下。

3、刪除:rm
[root@SecEvery ~]# rm --help
用法:rm [選項(xiàng)]... 文件...
刪除 (unlink) 文件。
-f, --force 強(qiáng)制刪除。忽略不存在的文件,不提示確認(rèn)
-i 在刪除前需要確認(rèn)
-I 在刪除超過三個(gè)文件或者遞歸刪除前要求確認(rèn)。此選項(xiàng)比-i 提
示內(nèi)容更少,但同樣可以阻止大多數(shù)錯(cuò)誤發(fā)生
--interactive[=WHEN] 根據(jù)指定的WHEN 進(jìn)行確認(rèn)提示:never,once (-I),
或者always (-i)。如果此參數(shù)不加WHEN 則總是提示
--one-file-system 遞歸刪除一個(gè)層級(jí)時(shí),跳過所有不符合命令行參
數(shù)的文件系統(tǒng)上的文件
--no-preserve-roo 不特殊對(duì)待"/"
--preserve-root 不允許刪除"/"(默認(rèn))
-r, -R, --recursive 遞歸刪除目錄及其內(nèi)容
-v, --verbose 詳細(xì)顯示進(jìn)行的步驟
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
默認(rèn)時(shí),rm 不會(huì)刪除目錄。使用--recursive(-r 或-R)選項(xiàng)可刪除每個(gè)給定
的目錄,以及其下所有的內(nèi)容。
要?jiǎng)h除第一個(gè)字符為"-"的文件 (例如"-foo"),請使用以下方法之一:
rm -- -foo
rm ./-foo
[root@SecEvery ~]# rm -i aaa.mysql
[root@SecEvery ~]# rm -rf a.txt

4、移動(dòng):mv
[root@SecEvery ~]# mv --help
用法:mv [選項(xiàng)]... [-T] 源文件 目標(biāo)文件
或:mv [選項(xiàng)]... 源文件... 目錄
或:mv [選項(xiàng)]... -t 目錄 源文件...
將源文件重命名為目標(biāo)文件,或?qū)⒃次募苿?dòng)至指定目錄。
長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
--backup[=CONTROL] 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
-b 類似--backup 但不接受參數(shù)
-f, --force 覆蓋前不詢問
-i, --interactive 覆蓋前詢問
-n, --no-clobber 不覆蓋已存在文件
如果您指定了-i、-f、-n 中的多個(gè),僅最后一個(gè)生效。
--strip-trailing-slashes 去掉每個(gè)源文件參數(shù)尾部的斜線
-S, --suffix=SUFFIX 替換常用的備份文件后綴
-t, --target-directory=DIRECTORY 將所有參數(shù)指定的源文件或目錄
移動(dòng)至 指定目錄
-T, --no-target-directory 將目標(biāo)文件視作普通文件處理
-u, --update 只在源文件文件比目標(biāo)文件新,或目標(biāo)文件
不存在時(shí)才進(jìn)行移動(dòng)
-v, --verbose 詳細(xì)顯示進(jìn)行的步驟
--help 顯示此幫助信息并退出
--version 顯示版本信息并退出
備份文件的后綴為"~",除非以--suffix 選項(xiàng)或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:
none, off 不進(jìn)行備份(即使使用了--backup 選項(xiàng))
numbered, t 備份文件加上數(shù)字進(jìn)行排序
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠(yuǎn)使用普通方式備份
