============================================================
Linux文件系统中的文件不仅包含文件系统的结构,还有数据。所有Linux 用户和程序看到的文件、目录等都存储在其中。
linux文件系统的目录结构,如图所示:
- /bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
- /boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
- /etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
- /media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
- /opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
- /selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
- /srv:
该目录存放一些服务启动之后需要提取的数据。
- /tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
- /usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
- /usr/bin:
系统用户使用的应用程序。
- /usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src:
内核源代码默认的放置目录。
- /var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
==============================================================
cd命令是linux中最基本的命令语句,必须熟练掌握。
cd / 返回根目录
cd ~ 用户主目录 cd /root 与 cd 的效果一致.
cd . 当前目录
cd …返回到上一级目录
cd /usr/ 进入到usr目录
cd – 返回上一个目录
cd 直接回家
ls –l 详细格式,文件权限,时间
ll 和ls –l作用相同
ls *.txt 查看所有的txt类型文档
mkdir 创建目录
mkdir a 创建 a目录
mkdir -p a/b 创建 a目录,并在a目录里创建b目录
mkdir -m 777 c 创建一个权限为777的C目录
rmdir 删除目录(如果目录里有文件,则不能用此命令)
touch 创建文件
touch f1.txt
touch f2.txt f3.txt
touch -a aa.txt #-a 参数更改最后访问的时间
rm 删除文件
rm n.txt 提示y删除n放弃
rm –f n.txt 不提示
rm –rf dirname 不提示递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /abc/* 删除所有abc的子目录和文件
cat 查看文件所有的内容(缺陷是文件比较长是也是直接到到文件尾),例如:
cat -n /etc/profile #-n 表示行号
more通常会结合cat使用输出文档所有的内容,分页输出,空格浏览下一屏,enter表示一行一行看,按q退出,ctrl+b 向上看一屏,ctrl+f表示向下看一屏。
more /etc/profile #这里表示将cat的内容交给more进行分页显示
less 用法和more类似,用来分屏查看文件内容,它的功能与more指令类似,但是比more更加强大,此指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于大型文件会有较高的性能。通过PgUp、PgOn,空格等键来控制文件内容的显示,按q则退出。
less /etc/profile
echo 用于输出文件环境信息,当然也可以输出文本信息,例如
echo $PATH
echo ‘hello’ #输出普通串
head指令一般用于显示文件的头几行,默认显示文件的前10行
head /etc/profile
head -n 5 /etc/profile
tail 用于显示文件后几行,默认显示后10行,例如:
tail -5 nginx.conf 查看nginx.conf的最后5行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息,使用频繁(例如在一个窗口增加内容,一个窗口查看内容,检测文件内容的变化。
ctrl+c 结束查看
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。