1 文件系统介绍
Linux的文件系统: 根文件系统(rootfs): root filesystem
LSB, FHS: (Filesystem Hierarchy Standard)
/etc, /usr, /var, /root, /home, /dev
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/lib:基本共享库文件,以及内核模块文件(/lib/modules);
/lib64:专用于x86_64系统上的辅助共享库文件存放位置;
/etc:配置文件目录(纯文本文件);
/home/USERNAME:普通用户家目录;
/root:管理员的家目录;
/media:便携式移动设备挂载点;
cdrom
usb
/mnt:临时文件系统挂载点;
/dev:设备文件及特殊文件存储位置;
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置;
/srv:系统上运行的服务用到的数据;
/tmp:临时文件存储位置;
/usr: universal shared, read-only data;
bin: 保证系统拥有完整功能而提供的应用程序;
sbin:
lib:
lib64:
include: C程序的头文件(header files);
share:结构化独立的数据,例如doc, man等;
local:第三方应用程序的安装位置;
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录;
lib: 应用程序状态信息数据;
local:专用于为/usr/local下的应用程序存储可变数据;
lock: 锁文件
log: 日志目录及文件;
opt: 专用于为/opt下的应用程序存储可变数据;
run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
spool: 应用程序数据池;
tmp: 保存系统两次重启之间产生的临时数据;
/proc: 用于输出内核与进程信息相关的虚拟文件系统;
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置;
Linux上的应用程序的组成部分:
二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
Linux下的文件类型:
- (f):普通文件;
d: 目录文件;
b: 块设备;
c: 字符设备;
l: 符号链接文件;
p: 管道文件;
s: 套接字文件;sock
2Linux常用命令
命令格式:命令 -选项 [参数]
1 当多个选项出现时可以写在一起 (ls -a -l===>ls -la====>ll -a)
2 参数也可以有多个
创建用户 :useradd 用户名
3 su切换用户:su 用户名称
4 cd的应用
- cd 目录名称 : 进入目录
- cd … : 进入上一级目录
- cd ~ : 进入当前用户的家目录
- cd :进入当前用户的家目录
- cd - :回到上一次所在的目录
- cd . :进入当前目录(没有意义)
5 ls
- ls 查看当前目录下的所有文件和子目录(不包含隐藏文件)
- ls -a 查看当前目录下的所有文件和子目录(包含隐藏文件)
- ls -l ll是其简写,列出当前目录下的所有文件和目录的详细信息(不包含隐藏文件)
- ls -la ll -a 是其简写,列出当前目录下的所有文件和目录的详细信息(包含隐藏文件)
- ll -t 按时间距离当前最近的顺序列出文件及其目录
- ll -R 递归显示所有文件和目录
6 mkdir
- mkdir aa 是mkdir ./aa的简写,代表在当前目录下创建一个aa的目录
- mkdir /root/Desktop/aa1 在/root/Desktop下创建一个aa1的目录
- mkdir -p 递归创建多层目录
7 touch
- touch a.java 创建一个文件
- touch a1.java a2.java a3.java 一次创建多个文件
8 cp
- cp ./dir1/a1.py ./dir2/ 拷贝当前目录下的dir1目录中的a1.py到当前目录中的dir2目录下(保留原来的名称)
- cp ./dir1/a1.py ./dir2/01.py 拷贝当前目录下的dir1目录中的a1.py到当前目录中的dir2目录下(修改名称为01.py)
- -r 拷贝目录
9 mv
- 移动文件或者目录
10 rm
- 删除文件
- -f 强制删除
- -r 删除目录
- rm -rf 通常这样搭配来使用
- 砸饭碗的命令: rm -rf /* (慎重使用)
11 查看
cat
-
查看文件(文件的全部内容)
-
-n 显示行号
more
- 查看文件(分页的形式查看)
- 空格或者f 查看下一页
- 回车 下一行
- q或者Q 退出查看
tail
- 查看文件的后几行
- tail -100 ===> tail -n100 查看文件末尾100行
- tail -f 查看文件末尾10行,并且动态跟踪文件内容的变化(如果文件删除则停止跟踪,重新创建文件也不会再跟踪了)
- tail -F 查看文件末尾10行,并且动态跟踪文件内容的变化(如果文件删除则停止跟踪,重新创建又会继续跟踪)
head
-
查看文件头部(默认10行)head -100 a1.txt
-
查看文件头部前100行
12 连接
ln
-
软连接 : ln -s 源文件 目标文件
-
硬链接: ln 源文件 目标文件
-
硬链接只能链接文件,软链接既可以链接文件,也可以链接目录
-
硬链接就相当于 拷贝+同步更新
以上是一些基础的命令 请各位大佬点评