一、Linux下的文件類(lèi)型
Linux文件的常見(jiàn)類(lèi)型:
1冯乘、普通文件
2洽胶、目錄
3、字符設(shè)備文件
4裆馒、塊設(shè)備文件
5姊氓、符號(hào)鏈接文件等
現(xiàn)在我們進(jìn)行一個(gè)簡(jiǎn)要的說(shuō)明;
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è)備,即硬盤(pán)订雾、光驅(qū)等設(shè)備肢预。
這種類(lèi)的文件,是可以用mknode來(lái)創(chuàng)建洼哎,用rm來(lái)刪除的烫映,目前在最新的Linux發(fā)行版本中,一般不用自己來(lái)創(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的縮寫(xiě),用來(lái)切換工作目錄的命令切油。注:目錄名稱與cd命令之間存在一個(gè)空格蝙斜。
絕對(duì)路徑:【由根目錄/寫(xiě)起】;例:/dev/tty
相對(duì)路徑:【非由/寫(xiě)起】白翻;例:./ or ../
注意:
. 代表此層目錄
.. 代表上一目錄
- 代表前一工作目錄
~ 代表【目前使用者身份】所在的家目錄
~account 代表account這個(gè)使用者家目錄
(account是個(gè)賬號(hào)名稱)
2乍炉、pwd(顯示目前所在的目錄)
pwd是Print Working Directory的縮寫(xiě),也就是顯示目前所在目錄的命令滤馍。實(shí)例請(qǐng)參照1岛琼。
3、mkdir(創(chuàng)建目錄)
[root@localhost ~]# mkdir [-mp](目錄名稱)
-m 配置文件的權(quán)限巢株。直接配置槐瑞,不需要看默認(rèn)權(quán)限(umask)
-p 直接將所需要的目錄(包含上一級(jí)目錄)遞回創(chuàng)建起來(lái)
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ù)字母大小排序。
長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a, --all 不隱藏任何以. 開(kāi)始的項(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 加上文件類(lèi)型的指示符號(hào)(*/=@| 其中一個(gè))
--format=關(guān)鍵字 交錯(cuò)-x交汤,逗號(hào)分隔-m,水平-x劫笙,長(zhǎng)-l芙扎,
單欄-1,詳細(xì)-l邀摆,垂直-C
--full-time 即-l --time-style=full-iso
-g 類(lèi)似-l纵顾,但不列出所有者
--group-directories-first
在文件前分組目錄。此選項(xiàng)可與--sort 一起使用栋盹,
但是一旦使用--sort=none (-U)將禁用分組
-G, --no-group 以一個(gè)長(zhǎng)列表的形式施逾,不輸出組名
-h, --human-readable 與-l 一起,以易于閱讀的格式輸出文件大小
(例如 1K 234M 2G)
--si 同上面類(lèi)似例获,但是使用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 使用較長(zhǎng)格式列出信息
-L, --dereference 當(dāng)顯示符號(hào)鏈接的文件信息時(shí)榨汤,顯示符號(hào)鏈接所指示
的對(duì)象而并非符號(hào)鏈接本身的信息
-m 所有項(xiàng)目以逗號(hào)分隔蠕搜,并填滿整行行寬
-n, --numeric-uid-gid 類(lèi)似 -l,但列出UID 及GID 號(hào)
-N, --literal 輸出未經(jīng)處理的項(xiàng)目名稱 (如不特別處理控制字符)
-o 類(lèi)似 -l收壕,但不列出有關(guān)組的信息
-p, --indicator-style=slash 對(duì)目錄加上表示符號(hào)"/"
-q, --hide-control-chars 以"?"字符代替無(wú)法打印的字符
--show-control-chars 直接顯示無(wú)法打印的字符 (這是默認(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-"開(kāi)頭鹿寨,則STYLE 僅在POSIX 語(yǔ)系之外
生效。
-t 根據(jù)修改時(shí)間排序
-T, --tabsize=寬度 指定制表符(Tab)的寬度薪夕,而非8 個(gè)字符
-t 按修改時(shí)間排序
-T, --tabsize=COLS 指定制表符(Tab)的寬度脚草,而非8個(gè)字符
-u 同-lt 一起使用:按照訪問(wèn)時(shí)間排序并顯示
同-l一起使用:顯示訪問(wèn)時(shí)間并按文件名排序
其他:按照訪問(wèn)時(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冕房。
使用色彩來(lái)區(qū)分文件類(lèi)型的功能已被禁用,默認(rèn)設(shè)置和 --color=never 同時(shí)禁用了它趁矾。
使用 --color=auto 選項(xiàng)耙册,ls 只在標(biāo)準(zhǔn)輸出被連至終端時(shí)才生成顏色代碼。
LS_COLORS 環(huán)境變量可改變此設(shè)置毫捣,可使用 dircolors 命令來(lái)設(shè)置详拙。
退出狀態(tài):
0 正常
1 一般問(wèn)題 (例如:無(wú)法訪問(wèn)子文件夾)
2 嚴(yán)重問(wèn)題 (例如:無(wú)法使用命令行參數(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)目錄饶辙。
長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
-b 類(lèi)似--backup 但不接受參數(shù)
--copy-contents 在遞歸處理是復(fù)制特殊文件內(nèi)容
-d 等于--no-dereference --preserve=links
-f, --force 如果目標(biāo)文件無(wú)法打開(kāi)則將其移除并重試(當(dāng) -n 選項(xiàng)
存在時(shí)則不需再選此項(xiàng))
-i, --interactive 覆蓋前詢問(wèn)(使前面的 -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)建來(lái)源文件路徑中的所有目錄
-R, -r, --recursive 遞歸復(fù)制目錄及其子目錄內(nèi)的所有內(nèi)容
--reflink[=WHEN] 控制克隆/CoW 副本珊佣。請(qǐng)查看下面的內(nèi)如蹋宦。
--remove-destination 嘗試打開(kāi)目標(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)情況下,源文件的稀疏性僅僅通過(guò)簡(jiǎn)單的方法判斷咒锻,對(duì)應(yīng)的目標(biāo)文件目標(biāo)文件也
被為稀疏冷冗。這是因?yàn)槟J(rèn)情況下使用了--sparse=auto 參數(shù)。如果明確使用
--sparse=always 參數(shù)則不論源文件是否包含足夠長(zhǎng)的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)境變量指定泰偿。版本控制的方式可通過(guò)--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來(lái)選擇熄守。以下是可用的變量值:
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 在刪除超過(guò)三個(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í)屿聋,跳過(guò)所有不符合命令行參
數(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"),請(qǐng)使用以下方法之一:
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)至指定目錄。
長(zhǎng)選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的脆粥。
--backup[=CONTROL] 為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
-b 類(lèi)似--backup 但不接受參數(shù)
-f, --force 覆蓋前不詢問(wèn)
-i, --interactive 覆蓋前詢問(wèn)
-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)境變量指定猖闪。版本控制的方式可通過(guò)--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來(lái)選擇鲜棠。以下是可用的變量值:
none, off 不進(jìn)行備份(即使使用了--backup 選項(xiàng))
numbered, t 備份文件加上數(shù)字進(jìn)行排序
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠(yuǎn)使用普通方式備份