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
相关推荐
奔跑吧 android4 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 2】【通过一个案例属性list、hlist、rbtree、xarray数据结构使用】
linux·数据结构·list·kernel·rbtree·hlist·xarray
程序员码歌5 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
橙*^O^*安5 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
NiKo_W5 小时前
Linux 文件系统与基础指令
linux·开发语言·指令
工程师小星星5 小时前
Golang语言的文件组织方式
开发语言·后端·golang
哈喽姥爷6 小时前
Spring Boot---自动配置原理和自定义Starter
java·spring boot·后端·自定义starter·自动配置原理
Darkwanderor7 小时前
Linux 的权限详解
linux
SabreWulf20207 小时前
Ubuntu 20.04手动安装.NET 8 SDK
linux·ubuntu·avalonia·.net8
不是吧这都有重名7 小时前
为什么ubuntu大文件拷贝会先快后慢?
linux·运维·ubuntu
舒一笑8 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员