1)Linux中,文件系统的最顶层是由根目录开始的,系统使用 “/” ,在根目录之下即可以包含子目录,也可以是文件(实际上目录也是一个文件)。每一个目录中,也可以包含子目录或是文件,如此递归下去就构成了一个文件系统,这种文件系统类似于树形结构
2)由于 Linux 的开源性,Linux 基金会发布了 **FHS(Filesystem Hierarchy Standard)**文件系统层次化标准,该标准规定了系统中相关的一级目录和二级目录的用途
存放系统命令的目录。普通用户和超级用户都可以执行,是/usr/bin/目录的软链接
存放系统命令的目录。只有超级用户可以执行,是/usr/bin/目录的软链接
存放系统命令的目录,普通用户和超级用户都可以执行
存放系统命令的目录,只有超级用户才可以执行
系统启动时需要读取的目录,如内核文件和启动引导程序(grub)
存放设备文件的目录(device)。Linux中,设备分为两种块设备(block)硬盘、软驱、光驱;字符设备(character)鼠标、键盘
系统的配置文件保存位置,系统中所有采用默认安装方式的服务配置文件全部保存在此目录中,如用户信息(账号密码),服务的启动脚本
普通用户的主目录,在创建用户时,每个用户有一个默认登录和保存自己数据的位置,在/home/下建立一个和用户名相同的目录,如用户XXX的主目录就是/home/XXX
系统调用的函数库保存位置,是/usr/lib/的软链接
64位函数库的保存位置,是/usr/lib64的软链接。只要是以so.4.3这样.so+数字的格式的都是重要的系统库函数,不要随意删除
当系统意外崩溃或者机器意外关机时,会产生一些文件碎片。当系统启动时,fsck工具会检查这里,并且修复已经损坏的文件系统。这个目录只在每个分区中出现,为每个分区点的备份恢复目录
都是挂载目录,/media/系统建议用来挂载媒体设备,如软盘和光盘;/misc/建议用来挂载NFS服务的共享目录;/mnt/系统建议用来挂载额外的设备,如U盘,移动硬盘
第三方安装的软件保存位置,不过习惯上是将第三方软件安装到/usr/local/目录下面
虚拟文件系统,该目录中的数据并不保存在硬盘上,而是保存在内存上。主要保存系统的内核,进程,外部设备状态和网络状态。如/proc/cpuinfo是保存CPU信息的,/proc/devices保存设备驱动列表的,/proc/filesystems保存文件系统列表的
虚拟文件系统,记录和内核相关的信息,同样不占据空间
超级用户的主目录,也就是root的主目录,类似于C:\Documents and Setting\Administrator
系统运行时产生的数据,如ssid, pid等数据
服务需要取得数据目录,系统服务启动之后,在该目录下保存数据
系统存放临时文件的目录,建议不要保存重要数据,建议开机清空
系统软件资源目录,usr不是user的缩写,而是 UNIX Software Resource的缩写,存放的是系统软件资源。系统中的软件大部分在这个目录里面
———————————————————————————————————————
应用程序调用的函数库保存位置
自己安装的软件保存位置,即程序的安装位置
应用程序的资源文件保存位置,如帮助文档,说明文档
源码包保存的位置, 建议仅仅保存内核相关源码,将自己下载的源码包保存到/usr/local/src/目录中,免得与内核源码弄混了
内核源码保存位置。
常态性变动的文件,比如缓存,MySQL文件以及mail的数据
RPM包安装的Apache的网页主目录
程序运行中需要调用的数据保存位置,如MySQL的数据库保存在/var/lib/mysql/目录中
系统日志保存位置
一些服务和程序运行后,它们的PID保存位置
放置队列数据的目录,即排队等待其他程序使用的数据,如邮件队列和打印队列
系统新收到的邮件会保存在该目录中
系统的定时计划任务会保存在这个目录下面
使用前的小 tips
1)绝对路径:从根目录开始的文件名或目录名称
2)相对路径:相对于目前路径的写法
cd(change directory)切换到当前目录
cd ~ 切换到根目录
cd - 切换到上一个历史目录
cd .. 却换到上一级目录
cd ../.. 切换到上一级的上一级目录
pwd(print working direcotory)打印当前工作目录
ls(list)显示当前目录下的文件
ls ~/XX 查看根目录下XX文件的内容,~代表根目录
ls /etc /home /home/hll 查看绝对路径下的文件和文件夹
ls -a 查看当前目录下的所有文件夹和文件(包括点开头的隐藏文件),点开头表示隐藏属性
ls -l 查看当前目录下详细信息
ls -al 查看所有文件的详细信息
ls -t(time) 按时间排序,最新的在上面,一般与-l搭配使用,ls -lt
ls -r 默认按照首字母倒叙排列
ls -tr 按照事件倒叙排列
ls -h(human) 以易读方式展示文件大小
mkdir 创建文件夹
mkdir /home/hll/XXX 在绝对路径下创建XXX文件夹
mkdir aaa/bbb 在相对路径下创建bbb文件夹
mkdir .aaa 创建隐藏文件夹aaa
mkdir aaa bbb ccc 创建多个文件夹
mkdir -p X/Y/Z 创建多级目录,若上级目录不存在,则自动创建
mv(move)移动、重命名文件/目录
mv src dst 都是目录,若dst存在,就将src移动到dst里
若dst不存在,就像src改名为dst
mv 1.txt 2.txt 2.txt存在,1.txt内容就将2.txt覆盖
2.txt不存在,则将1.txt改名为2.txt
mv -u 1.txt 2.txt 当源文件比目标文件新的时候,才会覆盖
mv 1.txt a/ 把文件1.txt移动到另一个文件夹
mv /home/hll/a.txt a/a1.txt 把a.txt 移动到a文件夹并改名为a1.txt
mv /home/hll/a b/b 把文件夹a移动到b目录下并改名为b(b不存在)
cp(copy)拷贝
cp [-adfilprsu] 来源文件 目标文件
cp 1.txt 2.txt 将1.txt的内容拷贝到2.txt中
cp -r src dst 将src目录拷贝到dst目录中
cp -s src intest 创建软链接,指向源文件,实际不是一个文件
cp -d intest in1 拷贝软链接(不加-d,拷贝的是软链接指向的文件)
rm 删除目录或文件
rm a.txt 删除a.txt文件
rm -r aaa 递归删除aaa目录下的所有子目录和文件
rm -f 强制删除文件
rm -rf 强制删除目录
cp/rm对目录进行操作时,需要加-r;但mv对目录不需要加-r
cat 查看日志
cat /etc/centos-release 查看centos的版本号
cat -n 1.txt 显示文件并给每行加行号(包括空行)
cat -b 2.txt 显示文件并对非空行进行编号
cat 1.txt 2.txt 查看多个文件,一起输出到屏幕
cat 1.txt 2.txt>3.txt 重定向符,将输出到屏幕的结果重定向到一个新闻界,不输出到屏幕(如果文件存在,则覆盖)
cat 1.txt 2.txt>>3.txt 追加,将新的内容追加到文件尾部
head 查看文件头部
head 1.txt 默认查看文件前10行
head -n 5 1.txt(head -5 1.txt是缩写) 查看文件前5行
head -5 1.txt|cat -n 对查看的文件前五行加上行号
tail 查看文件尾部
tail 1.txt 默认查看文件的后10行
tail -f 1.txt 实时查看动态文件(Ctrl+C退出)
tail -f -n 15 1.txt(tail -15f 1.txt) 实时查看文件的后15行
tail -n 15 1.txt(tail -15 1.txt是缩写) 查看文件的后15行
more 分屏查看文件
more 1.txt 分屏查看文件
more +2 -10 1.txt 从第2行开始,每次显示10行查看文件
ctrl+F/ctrl+B翻页、或空格;
ctrl+d向下翻半页
ctrl+c或q退出
/查找字符(没有背景色,less的有背景色)
输入v进入vi命令,:q返回more
less 分屏查看文件
q退出less,ctrl+c不行
ctrl+F\ctrl+B翻页、或空格
ctrl+d向下翻半页、Ctrl+u上翻半页
大F进入动态查看模式,同tail -f;Ctrl+C返回静态模式
输入v进入vi命令,:q返回less
/ 查找目标字符串 (从上向下) 输入n同向查找下个字符,N反向查找下一个
?查找目标字符串 (从下向上) 输入n同向查找下个字符,N反向查找下一个