Linux文件系统是一个倒立的单根树状结构,文件名称严格区分大小写(windows系统则是对大小写不明感的)。路径用“/”分隔,跟windows的“”不同。
这里我画了一张一般Linux系统的正常目录结构图:
单根指最顶级的目录“/”,下面每个目录的大致作用如下:
bin:保存常用的可执行的二进制文件(命令)。sbin文件夹下只有超极用户(root)才能执行
boot:引导目录,系统引导启动文件。包含内核文件vmlinuz开头那个文件。
dev:设备目录,计算机的所有硬件设备。所有硬件每个抽象为一个文件。
etc:几乎所有操作系统的配置文件。
home:家目录,所有用户的文档数据
lib:程序运行的库文件。
opt:装大型软件(例如Oracle),并不是强制
proc:系统实时信息(该文件夹不存在硬盘中,只存在内存中,是虚拟的一个文件夹)
sys:系统底层硬件信息
tmp:临时目录,隔几天自动删除
usr:应用软件安装目录(默认安装目录)
var:保存经常变化的信息(比如系统日志信息)
对于Linux系统,每个系统进程(shell)都有一个当前的工作目录,就是说每个进程都是相对于一个工作目录进行的。pwd命令显示当前工作目录。
Linux下,文件和文件夹没有区别,名称大小写敏感最多255个字符,正斜线不是有效的字符(因为他是路径分隔符号),用touch命令可以创建一个空白文件或者更新已有文件的时间。
下面是一些基本的文件系统命令:
ls命令
ls列出当前目录下内容(也可以ls /usr这种加目录的,默认不加是当前目录)
ls -a 显示当前目录下所有文件(包含隐藏文件(隐藏文件一般是配置文件))
ls -l 显示详细信息
ls -R 递归显示子目录结构
ls -ld 显示目录和链接信息
file命令查看文件类型
cd 命令切换目录
上一级目录 : ..
当前目录: .
用户家目录: ~
上一个工作目录: -
任何目录下cd回车都是回到家目录
文件操作:
创建:mkdir 创建文件夹 touch 创建空文件或者更新文件时间
删除:
rmdir 删除空文件夹
rm 删除文件
参数:-i 交互式(每删除一个文件,都会提示确认)
-r 递归删除非空文件夹下所有内容
-f 强制删除,没有警告提示
复制:cp 源文件 目标文件
-r 递归复制整个目录树(文件夹复制)
-v 显示详细信息
移动: mv 跟cp基本上操作一样。如果不指定文件名,相当于剪切,指定名称则是剪切并重命名。可以利用这个重命名文件。