2022/10/23
树状图
tree 当前目录
tree / 指定根目录
inode是什么?
扇区:512字节(约0.5kb)
块:八个扇区组成(最常见4KB)
元数据(文件的属性信息:大小创建时间所在位置...)128个字节
数据(内容)
文件名不属于元数据
stat
元数据存储区:节点号----数据存储区(高效):LS里的内容
软硬链接的区别(面试)
软连接:快捷方式
在知道路径查找某个文件访问快捷,删除源文件快捷方式不能访问
文本文件目录文件都可以创建,并且可以跨文件系统
(link) ln -s 原文件 链接文件
如何判断是否是链接文件:
a.lnk>a.txt
读取源文件路径 内容(this is a.txt)
如果误删除?
硬链接:多个文件指向同一个Inode
作用:防止用户误删除,备份(仅对文件名备份)
对目录文件不能创建,并且不可以跨文件系统(硬盘)
ln 原文件 链接文件
lrwxrwxrwx. 1 root root 7 Aug 12 2018 bin -> usr/bin
链接次数
touch
[root@localhost ~]# touch file (创建一个文本文件)
-rw-r--r--. 1 root root 0 Oct 24 11:26 file
[root@localhost ~]# ln file fff
-rw-r--r--. 2 root root 0 Oct 24 11:26 fff
-rw-r--r--. 2 root root 0 Oct 24 11:26 file
[root@localhost ~]# ll -i
34070931 -rw-r--r--. 2 root root 0 Oct 24 11:26 fff
34070931 -rw-r--r--. 2 root root 0 Oct 24 11:26 file
[root@localhost ~]# ln file f3
34070931 -rw-r--r--. 3 root root 0 Oct 24 11:26 f3
34070931 -rw-r--r--. 3 root root 0 Oct 24 11:26 fff
34070931 -rw-r--r--. 3 root root 0 Oct 24 11:26 file
echo
[root@localhost ~]# echo this is file >> file 编辑文件内容
#cat( concatenate) 查看文件内容
#rm Filename 删除
[root@localhost ~]# rm file
rm: remove regular file 'file'? y
[root@localhost ~]# rm fff
rm: remove regular file 'fff'? y
[root@localhost ~]# rm f3
rm: remove regular file 'f3'? y
ln -选项 参数
ln 创建硬链接文件
ln 源文件 目标文件(创建的链接)
-s 创建一个软连接文件
ln -s 源文件 目标文件
touch a.txt
ln -s a.txt a.lnk
ll
lrwxrwxrwx. 1 root root 5 Oct 24 11:41 alink -> a.txt
echo 1235 >> a.txt
-rw-r--r--. 1 root root 6 Oct 24 11:42 a.link
lrwxrwxrwx. 1 root root 5 Oct 24 11:41 alink -> a.txt
-rw-r--r--. 1 root root 0 Oct 24 11:41 a.txt
cat a.txt
命令执行后要查看
注意:创建链接文件如果原文和目标文件不在同一个路径和目标都要用绝对路径
mkdir d1
ll
ln -s di ddd.lnk
ll
ll d1 -d
ln d1 d111(不行防止环)
ll(链接为2)为什么:每一个目录都有一个当前目录的表示符
rm filename(删除文件)
rm -r DIRNAME(表示把当前目录及其以下的文件)
FHS:
bin 二进制文件(可执行文件) 所有用户
sbin 可执行 管理员
[root@localhost ~]# ll /bin
lrwxrwxrwx. 1 root root 7 Aug 12 2018 /bin -> usr/bin
/boot 系统启动文件
/dev 所有设备文件
/etc
/home 所有用户的家目录
/lib 库文件
/mnt /media 挂载?
opt
proc
run
srv
sys
tmp
usr
var
cpuinfo
date
“年-月-日 小时:分钟:秒”
date [+指定的格式]
%S 秒(00~59)
%M 分钟(00~59)
%H 小时(00~23)
%I 小时(00~12)
%m 月份(1~12)
%p 显示出AM或PM
%a 缩写的工作日名称(例如:Sun)
%A 完整的工作日名称(例如:Sunday)
%b 缩写的月份名称(例如:Jan)
%B 完整的月份名称(例如:January)
%q 季度(1~4)
%y 简写年份(例如:20)
%Y 完整年份(例如:2020)
%d 本月中的第几天
%j 今年中的第几天
%n 换行符(相当于按下回车键)
%t 跳格(相当于按下Tab键)
timedatectl
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时区
date命令中的参数%j可用来查看今天是当年中的第几天。
cal 日历
cal 1752
文件命名规则:
(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的
(2)文件名不能超过255个字符
(3)区分大小写file File FILE fIle
(4)目录也是文件,在同一路径下,两个文件不能同名
可以创建多个文件
[root@localhost ~]# touch touch /home/{file1,file2,file3}^C
[root@localhost ~]# touch /home/file1 /home/file2 /home/file
方法1:touch 文件名1 文件名2 文件名3
方法2:touch {文件名1,文件名2,文件名3}
touch {1,2}{3,4}
touch abc{1..100}
删除普通文件:rm [-f] 文件名
*统配符 任意长度的任意字符
1、创建目录(make directory)——mkdir命令
命令格式: mkdir [-p] [/路径/]目录名
-p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
-v显示创建目录的详细过程
2、统计目录及文件的空间占用情况——du命令
功能:查看某个目录中的各级子目录所占用的磁盘空间数。
命令格式: du [选项] [目录名] kB
如果不跟目录名,则缺省为当前目录。
-a 显示指定目录下占用磁盘空间包括所有的文件,而不仅仅只统计目录。
-s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。
[root@localhost ~]# mkdir -p /d1/d2/d3/d4
[root@localhost ~]# tree /d1
/d1
└── d2
└── d3
└── d4
3 directories, 0 files
[root@localhost ~]# mkdir -pv /d11/d22/d33/d44
mkdir: created directory '/d11'
mkdir: created directory '/d11/d22'
mkdir: created directory '/d11/d22/d33'
mkdir: created directory '/d11/d22/d33/d44'
3、删除目录文件:rm(rm是rm -i的命令别名,该选项用来提示用户进行交互)
格式: rm [OPTION]... FILE...
删除目录文件:rm -r [-f] 目录文件名
1、复制(copy)文件或目录--cp命令
功能:目录或文件的复制。 -a ==> -rp -f
命令:cp [选项] 源文件 目标文件
-a 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录 -r -p
-d 拷贝时保留链接。
-f 在覆盖已经存在的目标文件时不提示。
-i
在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷
贝。
-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-r
若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标
文件必须为一个目录名。
-l 不作拷贝,只是链接文件。
2、移动(mv)文件或目录--mv命令 -f
mv命令用于剪切或重命名文件,英文全称为:“move”,语法格式为:“mv [参数] 源文件名称 目标文件
名称”。
剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某
个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作
wget
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
-b 后台下载模式
查看文件内容
cat
-n 可以把文件的行号标出来
tac(把cat内容倒着)
less /etc/passwd 打开阅读 不会打出文章
/ (可以在文中标出)
more(可以把文章打出来)
head -数字 (前几行)
tail -数字 (后几行)