一、介绍
在Linux中,有着一句话,叫做:一切皆文件。也就是任何东西都是以文件的形式存储的。
目录结构
bin:全程binary,含义是二进制。该目录中存储的都是一些二进制文件。我们学过C/C++,其实也都知道机器能识别的就是二进制,所以,这些二进制文件其实都是可以被运行的。
dev:全程device,该目录中主要是存放的外接设备,例如键盘、鼠标等。在其中的外接设备是不能被直接使用的,需要挂载(类似Windows下的分配盘符C盘,D盘等)
etc:该目录主要存储一些配置文件。
home:表示“家”,表示除了root用户以外其它用户的家目录,类似于Windows下的User/用户目录。
proc:process,表示进程,该目录中存储的是Linux运行时候的进程。(这个目录本身是一个虚拟文件系统,他存放的数据都是在内存中的,本身不占磁盘空间)
root:表示“根”,该目录是root用户自己的家目录。
sbin:全称是super binary,该目录是存储一些可执行的二进制文件,但是必须得有super权限的用户才能执行。
tmp:全称temporary,表示临时的。当系统运行时产生的临时文件会在这个目录下存放。
usr:全称是unix software resources,存放的是用户自己安装的软件。类似于Windos下的program files。
var:存放程序/系统的日志文件的目录。
mnt:当外接设备需要挂载时,就需要挂载到mnt目录下。
绝对路径和相对路径
绝对路径:从/目录开始描述的路径为绝对路径,如:/etc/passwd就是一个绝对路径
相对路径:从当前位置开始描述的路径为相对路径,如:./files/file就是一个相对路径
特殊路径:
. 表示当前工作目录
..表示上一级工作目录(根据目录层次)
-表示上一次的工作目录(根据历史记录)
/表示根目录
~表示家目录
Linux文件类型
Linux文件类型有七种:
普通文件:-(纯文本文件、二进制文件、数据格式文件)
目录文件:d(directory)
设备文件:
字符设备c(character)
块设备b(block)
软连接:l(link)
管道文件:p(pipe)
套接字:s(socket)
对应的可以使用ls -l命令来查看:列表显示的第一组的首列就是文件类型。
二、目录与路径
ls指令
list,列出目录及文件名
用法1:$ls
含义:列出当前目录下的目录及文件名
根据颜色可以区分:
白色的为普通文件;蓝色的为目录文件;青色的为链接文件;绿色的为可执行文件;红色的为压缩文件
用法2:$ls 路径
含义:列出指定路径下的目录及文件名
当前显示的不是所有,下面还有没截下来的。该指令的含义是:列出根目录(/)下的etc目录的内容。也就是上图所示的在etc中的文件。
用法3:$ls 选项 路径
含义:在列出指定路径下的目录及文件名的基础上,按照指定的格式进行显示
ls -l 路径 #按照列表的形式展开
ls -a 路径 #显示所有的文件,包括隐藏文件
ls -h 路径 #以高可读性的形式显示文件大小。
ls -F 路径 #在列出的文件名后面加上一个符号;例如可执行文件加*,目录加/
ll 路径 #ll是ls -alF的别名, alias ll
ps:选项可以复合使用【-lahF -la -lh -laF】示例使用:(路径省去就代表当前工作目录 . )
这里我们看到,单独使用ls -h没有任何用处,这是因为ls本身不会显示文件大小的信息,更何况高可读性。所以,需要使用ls -l的-l选项复用才能完整显示预期信息。
pwd指令
print working directory-打印当前工作目录
cd指令
change directory-切换目录
用法1:cd
含义:切换到家目录~
用法2:cd 路径
含义:切换到指定目录
特殊用法:
cd - #回到上一个工作目录
cd ~ #切换到家目录(一般直接使用cd 不加参数)
cd / #切换到根目录
cd .. #切换到上一级目录(父目录)
du指令
查看目录的真实大小
用法:du -sh 目录路径
选项:-s:summaries,只显示汇总的大小;-h:以高可读性的形式进行显示
三、文件与目录管理
mkdir指令
make directory-创建目录
用法1:#mkdir 目录名称
含义:指定目录名称创建,支持绝对路径和相对路径,只有名称则在当前目录下创建
如果指定路径的话,将在指定路径下建立文件:
用法2:#mkdir -p 路径
含义:当一次性创建多层不存在的目录时,添加-p参数,否则会报错
用法3:#mkdir 路径1 路径2 路径3...
含义:一次性创建多个目录文件
rm指令
remove-移除文件或目录
语法:#rm 选项 文件路径
常用选项:
-f: force ,强制删除,不提示是否删除
-r:recursive,递归删除,危险
如上:删除一个目录时,需要递归删除,并且一般也不需要进行确认询问,所以移除目录时,一般使用-rf复合选项。另外,可以使用通配符*来删除。
rm -rf a* #删除任何以a开头的文件
rm -rf *.txt #删除任何以txt结尾的文件
rm -rf *a* #删除任何含有a的文件
mv指令
move-移动文件或目录/ 重命名文件
用法:#mv 源路径 目标路径
移动文件:
这个示例中,将2.txt移动到了test目录中
重命名:
这个示例中,将2.txt重命名为1.txt
将目录移动到另一个目录中:
-v选项就是显示移动进度的一个选项。不加该选项的话,不会显示已重命名等移动信息.
cp指令
copy-复制文件或目录
用法:#cp 被复制文件路径 被复制到的路径
注意:如果被复制到的路径下存在名字相同的文件,会覆盖同名的文件
常用选项:
-a:all,复制时保留文件属性
-r:recursive,递归复制。
复制目录时,需要加-r或-a。
touch指令
修改文件或目录的时间属性,若文件不存在则创建
用法:#touch 文件路径
含义:指定文件名或路径创建文件
创建一个以-开头的文件名的文件(文件名最好不要-开头)
感谢观看!