Linux - Linux文件、目录、磁盘模式的知识点

概述

本系列博客一共4篇,是对Linux系统知识的查漏补缺,Linux文件、目录、磁盘模式的一次扫盲知识点,下一篇学习shell的知识点。

Linux文件权限与目录配置

1.修改文件属性与权限

以前对于文件的权限总是记不住,也记不清给什么权限更合适更安全一些,所以对下面的命令进行一次梳理:

  • chgrp : 修改文件所属用户组,修改所有组的时候要注意,不要指定不存在的组。
  • chown : 修改文件拥有者,用户必须是已经存在系统中的账号
  • chmod : 修改文件权限

需要注意的是 chown -R www:www ./tfb-web-api可以改变所属组和所属用户,

bash 复制代码
# 改变所属组和所属用户
chown -R www:www ./tfb-web-api

# 指定一个文件 u=user g=group o=other
chmod -R u=rwx,g=rx,o=r

2.目录与文件权限的意义

  • r: 可读取此文件实际内容,如读取文件的文字内容等
  • w: 可以编辑、新增、或是修改该文件的内容
  • x: 该文件具有可以被系统执行的权限

特别注意的有两点:

~文件如果在它的家目录,它在此目录下具有rwx的完整权限,因此对于文件来说是有执行权限。

一个Linux文件能不能被执行,与它的第一栏的十个属性有关,与文件名一点关系也没有。

3.文件与目录管理

cp 常用的参数介绍,一般文件复制操作常用 cp -rp [源文件] [目标文件]:

  • -a : 全部
  • -i :若目标文件已经存在时,再覆盖时会先询问操作的进行
  • -p : 连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用)
  • -r : 递归复制

mv 将文件或目录由一个目录移动到另一个目录中。如果源为文件,而且标为目录,那么mv命令将移动文件。如果源为目录,mv将重命名目录。

  • -f : 若目标文件或目录与需要移动的文件或目录重复,则直接覆盖
  • -b : 若目标文件存在,则覆盖前为其创建一个备份
  • -i : 覆盖文件之前进行确认

4.查看和查找文件内容

cat -n : 打印出行号,连同空行也会有行号。

tail:

  • -n :后面接数字,代表显示几行的意思
  • -f :表示持续刷新显示

find 命令也是查找指定目录下的文件,语法格式

find -name php-fpm

查找/home/wwwroot/目录下以T开头的文件和目录,命令分别如下:

find /home/wwwroot/ -name "t.*" -type f find /home/wwwroot/ -name "t.*" -type d

5.磁盘管理命令

df: 列出文件系统的整体磁盘使用量

  • -h 以人们交易阅读的格式自行显示
  • -i 不用磁盘容量,而是以inode的数量来显示。

du: 查看文件系统磁盘的使用量,显示server目录的大小,忽略/usr目录,命令 du -sh ~/server,~/server是项目目录。

创建硬链接与符号链接 ln [-sf] 源文件 目标文件

  • -s : 如果不加任何参数就进行链接,那就是硬链接,-s就是符号链接。

常用的vim命令

  • ctrl+f 屏幕向下移动一页
  • ctrl+b 屏幕向上移动一页
  • 0 :移动到这一行的最前面字符处
  • $ : 移动到这一行的最后字符处
  • G : 移动到文件的最后一行
  • gg : 移动到文件的第一行
  • /stark : 向光标之下寻找一个名称为stark的字符串
  • ?stark : 向光标之上寻找一个名称为stark的字符串
  • 1,$s/stark/zcc/g:从第一行到结尾,把stark替换成zcc
相关推荐
许白掰13 分钟前
Linux入门篇学习——Linux 编写第一个自己的命令,make 工具和 makefile 文件
linux·运维·服务器·学习
程序员爱钓鱼1 小时前
Go语言实战案例-字符串反转
后端·google·go
木卯彳亍4 小时前
番外-linux系统运行.net framework 4.0的项目
linux·docker·.net
望获linux4 小时前
【实时Linux实战系列】硬实时与软实时设计模式
linux·运维·服务器·数据库·操作系统·rtos·嵌入式软件
free-9d6 小时前
NodeJs后端常用三方库汇总
后端·node.js
沉默的八哥7 小时前
Linux中LVM逻辑卷扩容
linux·运维·服务器
退役小学生呀7 小时前
十一、K8s细粒度权限管理RBAC
linux·docker·云原生·容器·kubernetes·k8s
写不出来就跑路7 小时前
WebClient与HTTPInterface远程调用对比
java·开发语言·后端·spring·springboot
天上掉下来个程小白8 小时前
MybatisPlus-06.核心功能-自定义SQL
java·spring boot·后端·sql·微服务·mybatisplus
网易独家音乐人Mike Zhou8 小时前
【Linux应用】开发板USB共享网络,网线或USB以太网共享网络(局域网连接PC和开发板,实现PC给开发板共享网络,USB通过NDIS驱动共享)
linux·网络·单片机·mcu·物联网·嵌入式·iot