基础概念
目录
Linux的目录类似Windows下的文件夹的概念,目录中可以存放文件
在绝大多数命令中,可以使用.代表当前目录,..代表上级目录
常见目录
- / 根文件系统,所有挂载点与路径的起点。包含系统必须的子目录与入口结构。 无具体数据文件,只有子目录结构。
- /bin 系统启动和单用户模式下必须的基础命令,所有用户可执行。 如:ls, cp, mv, rm, bash
- /sbin 系统管理与维护命令,面向 root。 如:fsck, reboot, shutdown
- /usr 用户级程序与库的主集合,包含大部分系统软件、文档与工具。 如:/usr/bin, /usr/lib, /usr/share
- /usr/bin 常规用户程序的主要放置目录。 如:python3, vim, git
- /usr/sbin 管理工具的扩展集合。 如:useradd
- /usr/lib /usr 内程序所依赖的动态库与模块。 各类 .so 动态库
- /usr/local 本机安装或编译软件的独立区域。 如:/usr/local/bin, /usr/local/lib
- /lib 或 /lib64 系统启动核心库、动态链接器所在位置。 如:libc.so.6, ld-linux.so
- /etc 系统级配置中心,统一存放所有服务和系统配置。 如:passwd, group, fstab, ssh/sshd_config
- /home 普通用户的个人主目录集合。 如:/home/user/.bashrc, /home/user/Documents
- /root root 用户的主目录。 如:/root/.ssh/
- /var 频繁变化的数据:日志、缓存、数据库运行文件等。 如:/var/log, /var/lib, /var/cache
- /var/log 所有系统与服务日志的集中位置。 如:syslog, auth.log, kern.log
- /var/cache 应用和包管理器缓存。 如:/var/cache/apt/
- /var/lib 服务的持久化状态数据。 如:mysql/, docker/
- /tmp 程序运行时的临时文件区,随时可清理。 临时文件、socket 路径
- /boot 启动所需文件:内核、initramfs、引导配置。 如:vmlinuz-*, initrd.img, grub/grub.cfg
- /dev 设备节点集合,文件即设备。 如:/dev/sda, /dev/null, /dev/tty0
- /proc 由内核提供的虚拟文件系统,展示系统与进程的实时信息。 如:/proc/cpuinfo
- /sys 设备、驱动、内核子系统的状态接口。 如:/sys/class/net/, /sys/block/
- /mnt 手动挂载的临时挂载点。 如:/mnt/usb
- /media 自动挂载外接设备的默认位置。 如:/media/user/USB_DRIVE
- /run 运行时数据存放点,重启后清空。 如:*.pid, 运行状态 socket 文件
用户家目录
root用户的家目录是/root,其他用户的家目录一般是/home/用户名
在命令行中,可以使用~表示当前用户的家目录
文件
在Linux中,一切皆文件,包括普通文件、硬件、软硬件运行状态、网络套接字等
用户组
在Linux中,创建用户时,往往会同时创建一个同名的用户组,可以把用户加入到用户组来获取到对应的权限,比如,将user1加入到sudoers用户组,
user1就可以使用sudo命令了
所有权
在Linux中,文件和目录,默认归创建者以及创建者的组所有,可以使用chown命令来更改文件所有者
权限
Linux的文件和目录权限主要包含:读、写、执行,在使用chmod进行权限管理时,分别对应的数值是:4, 2, 1
具体的用法可以参考chmod命令
基础命令
文件、目录操作
pwd
查看当前目录的绝对路径
cd
修改当前路径,注意:传入的参数应当是一个目录
例如:
cd ~ # 进入当前用户家目录,这里的~代表当前用的家目录ls
查看目录下的文件
ls # 查看当前目录下的文件ls .. # 查看上级目录下的文件ls ./Downloads # 查看当前目录的Downloads目录下的文件参数:
-a 显示所有文件,包括隐藏文件-l 显示文件详情,包括文件的权限、大小、修改时间等信息-h 一般配合 -l 一起使用,将文件的大小换算成易读的表示方法touch
创建文件
mkdir
新建目录
mkdir dir1 dir2 dir3如果当前目录没有dir1的情况下需要创建多级目录dir1/dir1.1/dir1.1.1,则可以使用-p参数
mkdir -p dir1/dir1.1/dir1.1.1cat
查看文件内容
tail
逆序查看文件内容
参数:
-n 查看的行数mv
移动文件或目录,如果移动前后的目录相同,则会重命名
cp
复制文件或目录,如果是复制目录,则需要-r参数
rm
删除文件
参数:
-r 递归删除-f 强制删除(默认不加时,会询问你是否删除)chmod
修改文件权限,数字代表权限,读、写、执行分别对应的数值是:4, 2, 1
例如:
7 = 4 + 2 + 1,即可读、可写、可执行6 = 4 + 2,即可读、可写,不可执行0,即不可读,不可写,不可执行chmod命令会跟着三个数字作为参数,分别代表:所有者权限,所有者用户组权限,其它用户权限
chmod 777 file1 # 对于所有用户file1都是可读、可写、可执行chmod 600 file2 # file2只对所有者可读、可写,对于其它所有用户都是不可读、不可写、不可执行很多时候,秘钥相关的文件都会需要文件的权限是600,否则可能遇到报错
如果需要修改目录的权限,只需要执行
chmod 666 dir1如果需要修改目录以及目录内所有文件的权限,则需要-R参数
chmod 777 -R dir2chown
修改文件所有者
将文件所有权修改为gaze用户,test用户组
chown gaze:test file1和chmod一样,如果需要修改目录和目录内所有文件的权限,需要-R参数