Linux学习记录-文件、目录与磁盘

简介: 用户和群组用户和群组主要是为了区分用户对文件的操作权限。账号在/etc/passwd个人密码在/etc/shadow组信息在/etc/group不要乱动这3个文件文件权限和目录配置文件属性文件前缀解释,例如:...

用户和群组

用户和群组主要是为了区分用户对文件的操作权限。

  • 账号在/etc/passwd
  • 个人密码在/etc/shadow
  • 组信息在/etc/group
    不要乱动这3个文件

文件权限和目录配置

文件属性

文件前缀解释,例如:


img_0c5e70e7da80f5ef90b76ea5da0bb56d.png

img_3254df0cf770fa5b1ca77d4be2186adf.png
  • 第一个字符代表这个文件是『目录、文件或链接文件等等』:

    • 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
    • 当为[ - ]则是文件,例如上表档名为『install.log』那一行;
    • 若是[ l ]则表示为连结档(link file);
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
  • 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

文件类型:
d 目录 directory
 - 文件 file
l 链接档link-file
b 存储文件block
c 外设文件character

文件权限:
r 可读  read
w 可写 write
x 可执行 execute
- 没有权限

改变文件属性和权限

  • chgrp: 改变文件的所属组 change group
  • chown: 改变文件的所有者
    change own
  • chmod: 改变文件的权限,SUID《SGID《SBIT等 change mod
改变群组:  chgrp [-R] 组名 文件名
改变文件拥有者: chown [-R] 用户 文件名
注意: cp命令会拷贝源文件的组和所有者权限
改变文件权限:chmod
linux的权限共9个,三个一组,一组只有rwx权限,为了方便可以用数字124表示,没有3是为了方便,因为3种权限可以有7中组合方式,而124加和为7,好机智是吧,不过也好反人类,不适合人看适合机器看。
x:1
w:2
r:4 
可以这样记忆:数字越大,权限越低
1:x--
2:w--
3:xw-
4:r--
5:xr-
6:wr-
7:wxr
更改文件权限:chmod [-R] 777文件名 最高权限
chmod 135 filename
设置文件可执行,则权限应该是-rwxr-xr-x 755
最高权限就是 -rwxrwxrwx 777 
文件仅自己可见 -rwxr----- 740

除了数字更改权限,chmod本身支持符号类型改变权限
9个权限每3个一组也可以这样划分user,group,other三种身份
用户权限,组权限,其他用户权限
于是可以用三个符号代替u,g,o 
另外增加一个全部权限的all ,a符号

img_c72251c2475c6d8cf3842eb148f449be.png
+ 添加权限
- 删除权限
= 设置权限
u 用户
g 组
o 其他用户
a 全部
r 可读
w 可写
x 可执行

使用示例:
chmod u=rwx,g=rx,o=r 文件名
chmod a+w 文件名

目录和文件权限的意义

安全,保护文件。
注意事项:

  • 文件是否可以执行由x决定,跟档名(文件扩展名)无关(windows才这样做)
  • w使文件拥有的是可写权限,权限作用于文件内容,而非文件本身,可写不代表可删除。
  • rwx对目录的意义:r可读取目录结构列表,w可操作该目录的文件,增删改名,删除,移动目录等,此时文件就是目录的内容,x代码用户能否进入该目录成为工作目录,

文件的种类和扩展名

linux下所有的外设等都是转化为文件管理的
文件的扩展名并无太多作用

查看文件内容

  • 直接查看 cat,tac,nl
  • 翻页查看 more,less
  • 数据截取 head,tail
  • 非纯文字档 od
  • 修改文件时间与简直新档 touch

命令用途

  • cat 从第一行开始显示文件内容,cat是Concatenate连续的缩写单词
    -tac 从最后一行开始显示文件内容,cat倒过来就是tac,简明达意
  • nl 带行号显示文件内容
  • more 一页一页的显示文件内容
  • less 与more相似,但是可以向前翻页,more不可以
  • head 只看头几行
  • tail 只看尾巴几行
  • od 以二进制的形式读取文件内容

使用例子

cat -n /etc/issue
tac /etc/issue
nl -b a /etc/issue
more /etc/man.config
- 空格键:向下一页
- Enter:向下一行
- /字符串: 向下搜索关键字
- :f   :显示档名和当前的行数
- q :退出more
- b或ctrl-b:往回翻页,只对文件管用,管线无用
less /etc/man.config
- 空格键: 向下翻一页
- pageDown:向下翻一页
- pageUp: 向上翻一页
- /字符串:向下搜索关键字
- ?字符串: 向上搜索关键字
- n :重复前一个搜索
- N:反向重复前一个搜索
q :退出less命令

-- 数据撷取
以行为单位,采集文件的内容
head /ect/man.config
head -n -100 /etc/man.config
tail -n 20 /etc/man.config
-- 组合取文件中间的内容
比如取第11行到20行内容
先取前20行,然后取后10行即可
head -n 20 /etc/man.config |tail -n 10 

-- od读取二进制文件内容

修改文件时间或者建新档

文件时间:

  • modification time (mtime) 文件内容修改时间
  • status time(ctime)文件状态修改时间,比如权限或属性被修改
  • access time(atime)访问时间,文件内容被读取时间
    touch可以创建一个新文件,可以修改文件的时间

文件与目录的默认权限和隐藏权限

  • 文件默认属性 umask:目前使用者在创建文件或目录时的默认权限
  • chattr配置文件默认属性
  • lsattr 显示文件默认属性
  • 文件特殊权限 SUID,SGID,SBIT

文件的搜索

  • 运行档,档名搜索which 通过PATH搜索运行档名
  • 文件档名搜索 type
  • 搜索特定文件 whereis 搜索的是linux的数据库
  • locate 搜索的是已创建的数据库/var/lib/mlocate
  • find [path] [option] [action] 扫描硬盘

ext2,3,4 第2,3,4代扩展文件系统

管理物理硬件的一个软件索引,idone/block/superblock等

文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。 另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。

  • superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;
  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码;
  • block:实际记录文件的内容,若文件太大时,会占用多个 block 。
    inode4放置着文件的属性权限等等信息,文件内容实际放置位置是2,7,13,15这些block


    img_84d9718b553aee5e650f653dc3ade7bf.png

    或者是另一种方式,链式索引


    img_2cf1c6be893924f922d9050a1ae3be23.png

    data block 数据区块 2代
    img_7dd91622fb749a9c9083e6490d8f80ac.png

    目前4代ext4已经支持pb eb级别的存储

文件系统操作

  • df 列出文件系统的磁盘使用情况
  • du 苹果文件系统的磁盘使用情况(常用推估目录所占容量)

ln 连接符

  • 实体连接 ,通过文件系统的inode连接产生新档名 需要加参数 -i
  • 符号连接,连接到文件,类似windows的快捷方式 默认就是这种连接方式
- 实体连接
lb -i  文件路径  文件路径
- 符合连接
ln -s 文件路径 文件路径

磁盘的分割、格式化、校验和挂载

  • 磁盘分区 fdisk,partprobe
  • 磁盘格式化 mkfs,mke2fs
  • 磁盘检验 fsck,badblocks
  • 磁盘挂载与卸除 mount,umount
  • 磁盘参数修订 mknod,e2label,tune2fs,hdparm
- 磁盘分区
fdisk [-l] 装置名称
- 磁盘格式化
mkfs [-t 文件系统格式] 装置文件名
mke2fs [-b block大小] [-i block大小] [-L 标头] [-cj] 装置
- 磁盘检验
fsck [-t 文件系统] 装置名称
badblocks -[svw] 装置名称
- 磁盘挂载与卸除
mount [-t 文件系统] [-L Label名] [-o 额外选项] \
 [-n]  装置文件名  挂载点
 umount [-fn] 装置文件名或挂载点

配置启动挂载

  • 根目录 / 是必须挂载的﹐而且一定要先于其它 mount point 被挂载进来。
  • 其它 mount point 必须为已创建的目录﹐可任意指定﹐但一定要遵守必须的系统目录架构原则
  • 所有 mount point 在同一时间之内﹐只能挂载一次。
  • 所有 partition 在同一时间之内﹐只能挂载一次。
  • 如若进行卸除﹐您必须先将工作目录移到 mount point(及其子目录) 之外。

文件压缩

常用的压缩命令

  • compress
  • gzip,zcat
  • bzip2,bzcat
    常见压缩文件后缀标识
*.Z         compress 程序压缩的文件;
*.gz        gzip 程序压缩的文件;
*.bz2       bzip2 程序压缩的文件;
*.tar       tar 程序打包的数据,并没有压缩过;
*.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩

compress老旧的打包工具,linux已经默认不安装了

gzip [-cdtv#] 档名
zcat 档名.gz
选项与参数:
-c  :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;
-d  :解压缩的参数;
-t  :可以用来检验一个压缩档的一致性~看看文件有无错误;
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6 


[root@www ~]# bzip2 [-cdkzv#] 档名
[root@www ~]# bzcat 档名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到萤幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-z  :压缩的参数
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

打包命令 tar
[root@www ~]# tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩
[root@www ~]# tar [-j|-z] [tv] [-f 创建的档名]             <==察看档名
[root@www ~]# tar [-j|-z] [xv] [-f 创建的档名] [-C 目录]   <==解压缩
选项与参数:
-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t  :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
      特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

其他后续练习会使用到的选项介绍:
-p  :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-P  :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包

完全备份工具

  • dump 备份工具
  • restore 恢复工具

vi和vim使用

编辑模式

  • 一般模式,打开文档就是一般模式,可以上下键移动光标,删除字符x或者删除整行dd,也可以复制/粘贴数据
  • 编辑模式,按下i,I,o,O,a,A,r,R任何一个按键进入编辑模式,按esc键退出编辑模式
  • 指令模式,一般模式下输入: / ? 任意按键,进入指令模式,主要操作有:读取、存盘、大量替换字符串、离开vi、显示行号等动作
img_23afc1f7bdffa1ee3679a9aff65501d2.png
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
8天前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
23 2
|
6天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
30 5
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
17 4
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
12天前
|
缓存 监控 Linux
|
6月前
|
Linux
linux(二十八)磁盘管理类命令df、du和free查看磁盘和目录空间占用
linux(二十八)磁盘管理类命令df、du和free查看磁盘和目录空间占用
138 0
|
6月前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
308 10