十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Linux入门】常用基本命令(二)——文件权限、搜索查找、压缩解压与磁盘管理

【Linux入门】常用基本命令(二)——文件权限、搜索查找、压缩解压与磁盘管理 文章目录一、文件权限管理1.1 为什么需要权限1.2 文件属性从左到右的 10 个字符1.3 rwx 作用在文件和目录的不同解释1.4 chmod 改变权限1.5 chown 改变所有者1.6 chgrp 改变所属组1.7 umask 默认权限1.8 特殊权限位二、搜索查找类2.1 find 查找文件或目录2.2 locate 快速定位文件路径2.3 grep 过滤查找及管道符三、压缩和解压类3.1 gzip / gunzip 压缩与解压3.2 zip / unzip 压缩与解压3.3 tar 打包四、磁盘查看和分区类4.1 du 查看文件和目录占用的磁盘空间4.2 df 查看磁盘空间使用情况4.3 lsblk 查看设备挂载情况4.4 mount / umount 挂载 / 卸载4.5 fdisk 分区五、总结一、文件权限管理1.1 为什么需要权限Linux 系统是一种典型的多用户系统不同的用户处于不同的地位拥有不同的权限。为了保护系统的安全性Linux 系统对不同的用户访问同一文件包括目录文件做了不同的权限规定。在 Linux 中可以使用ll或ls -l命令来显示一个文件的属性以及文件所属的用户和组。1.2 文件属性从左到右的 10 个字符-rwxr-xr-x 1 root root 4096 9月 2 10:00 test.sh [权限位] 链接数 属主 属组 大小 修改时间 文件名从左至右用 0-9 编号第 0 位首位表示文件类型-普通文件d目录l链接文件link fileb块设备文件c字符设备文件。第 1-3 位确定属主文件的所有者拥有的权限Useru第 4-6 位确定属组所有者的同组用户拥有的权限Groupg第 7-9 位确定其他用户拥有的权限Othero。如果没有权限对应位置就是减号-。1.3 rwx 作用在文件和目录的不同解释作用到文件权限说明rread可读可以读取、查看wwrite可写可以修改内容但不代表可以删除该文件。删除文件的前提是对该文件所在目录有写权限xexecute可执行可以被系统执行作用到目录权限说明rread可读可以读取即用 ls 查看目录内容wwrite可写可以修改目录即在目录内创建、删除、重命名文件xexecute可执行可以进入该目录ll# 查看当前目录下文件的详细属性与权限1.4 chmod 改变权限字母方式chmod[{ugoa}{-}{rwx}]文件或目录u所有者g所有组o其他人a所有人u、g、o 的总和添加权限-移除权限设定权限cpbigdata/test.txt ./chmodux test.txt# 给文件所有者添加执行权限chmodgx test.txt# 给所属组添加执行权限chmodu-x,ox test.txt# 移除所有者的执行权限给其他用户添加执行权限数字方式权限对应的数字r4、w2、x1相加得到权限值例如rwx 421 7。chmod[mode421][文件或目录]# 数字方式修改权限chmod777test.txt# 所有者、所属组、其他用户都具有读写执行权限chmod-R777bigdata/# 递归修改整个文件夹内所有文件的权限为 777常用数字组合数字权限含义7rwx读 写 执行6rw-读 写5r-x读 执行4r–只读0—无权限1.5 chown 改变所有者chown[选项][最终用户][文件或目录]# 改变文件或目录的所有者选项功能-R递归操作chownxiaoxiaoguai test.txt# 修改文件所有者ls-alchown-Rxiaoxiaoguai:xiaoxiaoguai bigdata/# 递归修改所有者和所有组1.6 chgrp 改变所属组chgrp[最终用户组][文件或目录]# 改变文件或目录的所属组chgrproot test.txt# 修改文件的所属组ll1.7 umask 默认权限当我们创建文件或目录时系统会根据 umask 值计算默认权限umask# 查看当前 umask 值umask022# 设置 umask 值文件默认权限 666 - umask目录默认权限 777 - umask。例如 umask 为 022 时新建目录默认权限为 755新建文件默认权限为 644。1.8 特殊权限位特殊权限表示作用setuids属主权限位出现s执行该文件时以文件属主身份运行如 /usr/bin/passwdsetgids属组权限位出现s在目录中新建文件时继承目录的属组粘滞位t其他用户权限位出现t目录内只有文件属主或 root 才能删除文件如 /tmp例如/tmp目录的权限通常是drwxrwxrwt末尾的t就是粘滞位。二、搜索查找类2.1 find 查找文件或目录find 指令将从指定目录向下递归地遍历其各个子目录将满足条件的文件显示在终端。find[搜索范围][选项]选项功能-name查询方式按照指定的文件名查找模式查找文件-user用户名查找属于指定用户名所有的文件-size文件大小按照指定的文件大小查找文件。单位b块512 字节、c字节、w字2 字节、k千字节、M兆字节、G吉字节n大于、-n小于、n等于-type按文件类型查找如 f普通文件、d目录-mtime天数按修改时间查找如-mtime 7表示 7 天前修改过的-exec 命令 {} \;对查找到的结果执行命令# 按文件名在 bigdata/ 目录下查找所有 .txt 文件findbigdata/-name*.txt# 按拥有者查找 bigdata 目录下属于 xiaoxiaoguai 的文件findbigdata/-userxiaoxiaoguai# 按文件大小在 /home 目录下查找大于 200MB 的文件推荐使用 M/G 等现代单位find/home-size200M# 按类型查找 /etc 下所有的目录find/etc-typed# 查找并删除谨慎使用find/tmp-name*.tmp-execrm-f{}\;说明早期资料常用find /home -size 204800表示大于某阈值其中 204800 块 × 512 字节 100MB现代 GNU find 直接支持200M这样的写法更直观不易出错。2.2 locate 快速定位文件路径locate 指令利用事先建立的系统中所有文件名称及路径的数据库实现快速定位无需遍历整个文件系统查询速度较快。为了保证查询结果的准确度需要定期更新该数据库。locate搜索文件由于 locate 基于数据库查询第一次运行前必须使用updatedb命令创建 locate 数据库updatedblocatetmp补充如果提示找不到 locate 命令可以先安装yum install -y mlocateCentOS或apt install -y locateUbuntu。2.3 grep 过滤查找及管道符管道符|表示将前一个命令的处理结果输出传递给后面的命令处理。grep选项 查找内容 源文件选项功能-n显示匹配行及行号-i忽略大小写-v反向匹配显示不包含关键词的行-r递归搜索目录下所有文件ls|grep-ntest# 查找 ls 输出中匹配 test 的行并显示行号grep-ierror/var/log/messages# 忽略大小写搜索日志中的 errorps-ef|grepsshd# 常用组合在进程列表中查找 sshd三、压缩和解压类3.1 gzip / gunzip 压缩与解压gzip文件# 压缩文件只能将文件压缩为 *.gz 文件gunzip 文件.gz# 解压缩文件经验技巧只能压缩文件不能压缩目录不保留原来的文件同时压缩多个文件会产生多个压缩包。gziptest.txt# gzip 压缩gunzip test.txt.gz# gunzip 解压缩3.2 zip / unzip 压缩与解压zip[选项]XXX.zip 将要压缩的内容# 压缩文件和目录unzip[选项]XXX.zip# 解压缩文件zip 选项功能-r压缩目录unzip 选项功能-d目录指定解压后文件的存放目录经验技巧zip 压缩命令在 Windows/Linux 通用可以压缩目录且保留源文件。touchword.txtzipmypackage.zip test.txt word.txt# 压缩两个文件为 mypackage.zipunzipmypackage.zip# 解压到当前目录unzipmypackage.zip-dbigdata/# 解压到指定目录3.3 tar 打包tar[选项]XXX.tar.gz 将要打包进去的内容# 打包目录压缩后的文件格式 .tar.gz选项功能-c产生 .tar 打包文件-v显示详细信息-f指定压缩后的文件名-z打包同时压缩gzip-x解包 .tar 文件-C解压到指定目录-t查看压缩包中的文件列表# 压缩多个文件tar-zcvffile.tar.gz test.txt word.txt# 压缩目录tar-zcvfbigdata.tar.gz bigdata/# 解压到当前目录tar-zxvffile.tar.gz# 解压到指定目录tar-zxvfbigdata.tar.gz-Cbigdata/# 只查看压缩包内容而不解压tar-ztvffile.tar.gz记忆口诀z用 gzip 压缩、c打包、v显示过程、f指定文件名解压时把c换成x。四、磁盘查看和分区类4.1 du 查看文件和目录占用的磁盘空间dudisk usage磁盘占用情况。du目录/文件# 显示目录下每个子目录的磁盘使用情况选项功能-h以人们较易阅读的 GBytes、MBytes、KBytes 等格式显示-a不仅查看子目录大小还包括文件-c显示所有文件和子目录大小后显示总和-s只显示总和--max-depthn指定统计子目录的深度为第 n 层du-sh# 查看当前目录含子目录占用的磁盘空间总和du-h--max-depth1# 只查看当前目录下一级子目录的大小4.2 df 查看磁盘空间使用情况dfdisk free空余磁盘。df选项# 列出文件系统的整体磁盘使用量选项功能-h以人们较易阅读的 GBytes、MBytes、KBytes 等格式显示df-h# 查看磁盘使用情况区别du统计的是文件占用了多少空间df统计的是文件系统还有多少空间可用。4.3 lsblk 查看设备挂载情况lsblk# 查看设备挂载情况lsblk-f# 查看详细的设备挂载情况显示文件系统信息4.4 mount / umount 挂载 / 卸载对于 Linux 用户来讲不论有几个分区、分别分给哪一个目录使用它总归就是一个根目录、一个独立且唯一的文件结构。Linux 中每个分区都是用来组成整个文件系统的一部分它通过挂载的方法把一个分区和一个目录联系起来要载入的那个分区将使它的存储空间在这个目录下获得。基本语法mount[-t vfstype][-o options]devicedir# 挂载设备umount设备文件名或挂载点# 卸载设备参数功能-t vfstype指定文件系统的类型通常不必指定mount 会自动选择正确的类型。常见类型光盘/光盘镜像 iso9660、DOS fat16 文件系统 msdos、Windows 9x fat32 文件系统 vfat、Windows NT ntfs 文件系统 ntfs、挂载 Windows 文件网络共享 smbfs、UNIXLinux文件网络共享 nfs-o options主要用来描述设备或文件的挂接方式。常用参数loop把一个文件当成硬盘分区挂接上系统、ro只读方式挂接、rw读写方式挂接、iocharset指定访问文件系统的字符集device要挂接mount的设备dir设备在系统上的挂接点mount point案例实操挂载光盘镜像mkdir/mnt/cdrom# 建立挂载点mount-tiso9660 /dev/cdrom /mnt/cdrom/# 将设备 /dev/cdrom 挂载到 /mnt/cdromls/mnt/cdrom/# 查看卸载光盘镜像umount/mnt/cdrom设置开机自动挂载编辑 /etc/fstab 文件添加对应挂载条目vi/etc/fstab4.5 fdisk 分区基本语法fdisk-l# 查看磁盘分区详情fdisk硬盘设备名# 对新增硬盘进行分区操作选项功能-l显示所有硬盘的分区列表经验技巧该命令必须在 root 用户下才能使用。分区信息字段说明Device分区序列Boot引导Start从 X 磁柱开始End到 Y 磁柱结束Blocks容量Id分区类型 IDSystem分区类型。分区操作按键说明m显示命令列表p显示当前磁盘分区n新增分区w写入分区信息并退出q不保存分区信息直接退出。案例实操新硬盘从分区到挂载的完整流程1添加一块 10G 的硬盘并重启后检查硬盘是否被系统识别fdisk-l2对新磁盘 nvme0n2 进行分区fdisk/dev/nvme0n2# 输入 n 创建一个新分区# 输入 p 创建主分区# 输入分区号 1# 按回车 接受默认的第一个扇区# 按回车 接受默认的最后一个扇区# 输入 w 写入分区表并退出 fdisk3格式化分区、挂载、卸载# 格式化分区为 ext4 文件系统mkfs.ext4 /dev/nvme0n2p1# 创建挂载点mkdir/mnt/newdisk# 挂载分区mount/dev/nvme0n2p1 /mnt/newdisk# 查看挂载情况df-h# 卸载分区前检查是否有进程正在使用挂载点lsof/mnt/newdisk# 卸载分区umount/mnt/newdisk# 删除挂载点目录rmdir/mnt/newdisk注意上述挂载是临时挂载重启后失效如需开机自动挂载应把分区信息写入 /etc/fstab。五、总结文件权限10 位属性、chmod字母法/数字法r4 w2 x1、chown、chgrp、umask、特殊权限位。搜索查找find按名称/属主/大小/类型、locate数据库快速定位、grep 管道。压缩解压gzip、zip、tar重点掌握 -zcvf / -zxvf。磁盘管理du、df、lsblk、mount/umount、fdisk分区 mkfs.ext4格式化。
返回列表