一、系统与目录

1.1 文件系统结构

1)Linux中,文件系统的最顶层是由根目录开始的,系统使用 “/” ,在根目录之下即可以包含子目录,也可以是文件(实际上目录也是一个文件)。每一个目录中,也可以包含子目录或是文件,如此递归下去就构成了一个文件系统,这种文件系统类似于树形结构
2)由于 Linux 的开源性,Linux 基金会发布了 **FHS(Filesystem Hierarchy Standard)**文件系统层次化标准,该标准规定了系统中相关的一级目录和二级目录的用途

1.1.1 一级目录

1. /bin/

存放系统命令的目录。普通用户和超级用户都可以执行,是/usr/bin/目录的软链接

2. /sbin/

存放系统命令的目录。只有超级用户可以执行,是/usr/bin/目录的软链接

3. /usr/bin/

存放系统命令的目录,普通用户和超级用户都可以执行

4. /usr/sbin/

存放系统命令的目录,只有超级用户才可以执行

5. /boot/

系统启动时需要读取的目录,如内核文件和启动引导程序(grub)

6. /dev/

存放设备文件的目录(device)。Linux中,设备分为两种块设备(block)硬盘、软驱、光驱;字符设备(character)鼠标、键盘

7. /etc/

系统的配置文件保存位置,系统中所有采用默认安装方式的服务配置文件全部保存在此目录中,如用户信息(账号密码),服务的启动脚本

8. /home/

普通用户的主目录,在创建用户时,每个用户有一个默认登录和保存自己数据的位置,在/home/下建立一个和用户名相同的目录,如用户XXX的主目录就是/home/XXX

9. /lib/

系统调用的函数库保存位置,是/usr/lib/的软链接

10. /lib64/

64位函数库的保存位置,是/usr/lib64的软链接。只要是以so.4.3这样.so+数字的格式的都是重要的系统库函数,不要随意删除

11. /list+found/

当系统意外崩溃或者机器意外关机时,会产生一些文件碎片。当系统启动时,fsck工具会检查这里,并且修复已经损坏的文件系统。这个目录只在每个分区中出现,为每个分区点的备份恢复目录

12. /media/, /misc/, /mnt/

都是挂载目录,/media/系统建议用来挂载媒体设备,如软盘和光盘;/misc/建议用来挂载NFS服务的共享目录;/mnt/系统建议用来挂载额外的设备,如U盘,移动硬盘

13. /opt/

第三方安装的软件保存位置,不过习惯上是将第三方软件安装到/usr/local/目录下面

14. /proc/

虚拟文件系统,该目录中的数据并不保存在硬盘上,而是保存在内存上。主要保存系统的内核,进程,外部设备状态和网络状态。如/proc/cpuinfo是保存CPU信息的,/proc/devices保存设备驱动列表的,/proc/filesystems保存文件系统列表的

15. /sys/

虚拟文件系统,记录和内核相关的信息,同样不占据空间

16. /root/

超级用户的主目录,也就是root的主目录,类似于C:\Documents and Setting\Administrator

17. /run/

系统运行时产生的数据,如ssid, pid等数据

18. /srv/

服务需要取得数据目录,系统服务启动之后,在该目录下保存数据

19. /tmp/

系统存放临时文件的目录,建议不要保存重要数据,建议开机清空

20. /usr/

系统软件资源目录,usr不是user的缩写,而是 UNIX Software Resource的缩写,存放的是系统软件资源。系统中的软件大部分在这个目录里面
———————————————————————————————————————

1.1.2 二级目录

1. /usr/lib/

应用程序调用的函数库保存位置

2. /usr/local/

自己安装的软件保存位置,即程序的安装位置

3. /usr/share/

应用程序的资源文件保存位置,如帮助文档,说明文档

4. /usr/src/

源码包保存的位置, 建议仅仅保存内核相关源码,将自己下载的源码包保存到/usr/local/src/目录中,免得与内核源码弄混了

5. /usr/src/kernels/

内核源码保存位置。

6. /var/

常态性变动的文件,比如缓存,MySQL文件以及mail的数据

7. /var/www/html/

RPM包安装的Apache的网页主目录

8. /var/lib/

程序运行中需要调用的数据保存位置,如MySQL的数据库保存在/var/lib/mysql/目录中

9. /var/log/

系统日志保存位置

10. /var/run/

一些服务和程序运行后,它们的PID保存位置

11. /var/spool/

放置队列数据的目录,即排队等待其他程序使用的数据,如邮件队列和打印队列

12. /var/spool/mail/

系统新收到的邮件会保存在该目录中

13. /var/spool/cron/

系统的定时计划任务会保存在这个目录下面

二、常用命令

2.1 目录访问

使用前的小 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

2.2 文件管理

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反向查找下一个
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐