Linux快速入门02-文件系统管理
继续进入Linux文件系统的学习,加油,早日突破MS压在自己身上的那道束缚。
文件属性基本概念:文件所有者,文件组,其他人。
对上图来说,-rw-r—r—表示文件的权限,1表示连接数,两个root分别表示所有者和用户组,264表示文件大小(单位为B),之后信息为文件修改日期和文件名(.开头表示隐藏文件)。
这部分最终要的概念就是文件权限,可以将文件权限部分内容分为之后的4个部分来理解,例如对于[-][rwx][r-x][r--],有:
部分 | 诠释 |
第一部分[-] | 文件类型,d表示目录,-表示文件,l表示连接文件(linkfile),b,c等表示设备 |
第二部分[rwx] | 文件所有者的权限,可读、可写、可执行 |
第三部分[r-x] | 文件用户组的权限,可读、可执行 |
第四部分[r--] | 其他用户的权限,可读 |
权限相关常见命令
命令 | 诠释 |
chgrp | 改变文件所属用户组 |
chown | 改变文件所有者 |
chmod | 改变文件权限,rwx=4+2+1, chmod 764 |
cd | 访问目录(需要x权限),cd .., ~, .表示相对路径, cd /xxx表示绝对路径 |
Uname –t | 查看内核版本 |
Linux目录配置标准FHS(FileSystem Hierarchy Standard)如下所示
可分享的 | 不可分享的 | |
不可变的 | /usr软件放置处 | /etc配置文件 |
/opt第三方软件 | /boot开机和内核文件 | |
可变动的(跟随distribution变动) | /var/mail用户邮件信箱 | /var/run程序相关 |
/var/spool/news新闻组 | /var/lock程序相关 |
本文最后的附录中,可以看到Linux中根目录(/)、/usr目录(放置可分享但不可变动数据),/var目录中主要的目录结构(主要针对常态性变动的文件)。
这部分基本上会介绍最为常见的Linux命令,需要熟练掌握。
命令 | 诠释 |
cd | Change Directory切换目录 |
pwd | Print Working Directory显示当前目录 |
mkdir | 新建一个目录, -p自行创建多层目录 |
rmdir | 删除一个空的目录, -p连同上层某目录一起删除,需要注意这只能删除空目录 |
echo $PATH | 执行文件路径 |
ls | 查看文件和目录, ls –a显示全部文件,包括隐藏;-d,仅列出目录本身;-l,显示详细信息,包括文件的属性和权限 |
cp | 复制,cp [参数] 源文件 目标文件。参数-a表示-pdr;-i若目标文件存在,覆盖时会询问;-r递归持续复制,用于目录的复制行为 |
rm | 删除文件/目录,参数-r递归删除,非常危险 |
mv | 移动文件和目录,或更名,mv 文件1 [,文件2] 目录,可以通过mv 文件 新文件名改名 |
basename | 以及dirname 文件,用于获取文件名和完整目录名 |
文件内容查阅 | 方式比较多,包括cat,tac(逆序),nl显示时输出行号,more,less向后向前翻页,head,tail只看首尾几行,od以二进制方式读取 |
touch | 修改文件时间或创建新文件 |
umask | 新建一个文件的的默认权限,默认为0022,这时新建文件的权限时-rw-r—r--,目录为drwxr-xr-x。注意mask掩码其实就是对权限的异或操作,022代表去除组和其他用户的写权限。 |
文件隐藏属性 | 是9个权限外的权限,对于安全有很大帮助,参数a表示文件只能增加而不能删除修改,参数i表示文件不能被删除、改名,设置连接也无法写入或添加数据,只有root可用 设置文件隐藏属性:chattr +i attrtest, chattr –i attrtest 显示文件隐藏属性:lsattr 文件 |
文件特殊属性 | 比如ls –ld /tmp ; ls –l /usr/bin/passwd,可以看到除rwx外的s和t 简单来说,就是用户执行这个2进制文件是会获得额外的权限,SUID所有者权限,SGID组权限,SBIT目录权限,其对应的值分别为4,2,1 |
file | 查看文件类型 |
which | 脚本文件名查询,which ifconfig |
whereis | 文件名的查找whereis ifconfig, 文件名模糊查找locate ifconfig |
find |
功能更强大的文件查找,参数-uid id,-gid id,这个id可以在/etc/passwd中看到 -user name, -group name, -nouser, -nogroup 查找目录:find -name dirname -type d |
Linux的默认文件系统Ext3的基础结构主要包括3个主要的概念。
super block:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式和相关信息。
inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码。
block:实际记录文件的内容,若文件太大,会占用多个block。
比较有意思的是,Linux文件系统使用异步处理方式来保存数据,比如系统加载一个文件到内存并设置其状态为clean,如果修改了文件就设置为dirty。此时操作都还在内存中,并未写入到磁盘,系统会不定时的异步写入,此外Linux VFS虚拟文件系统功能也非常不错,可以兼容多种不同的文件系统。
文件系统操作
命令 | 诠释 |
df | 文件系统整体磁盘使用量,参数-h以人们易阅读的方式GB,MB显示,-i显示inode数量 |
du | 评估文件系统的磁盘使用量,-d列出总量 |
ln | 连接文件,连接包括两种:类似快捷方式的软连接(符号连接);通过文件系统inode连接来产生新文件名的硬连接。 Hardlink: ln /etc/crontab . Symbolic link: ln –s /etc/corntab crontab2 |
fdisk | 磁盘分区:df /, fdisk /dev/vda1, 可以使用m查看命令,d用于删除分区,n用于新增分区,p显示分区,q退出,w写入刚才操作到分区表 |
mkfs | 磁盘格式化,mkfs –t ext3 /dev/hdc6 |
fsck,badblocks | 磁盘检测,fsck –C –f –t ext3 /dev/hdc6, badblocks –sv /dev/hdc6 |
mount | 磁盘挂载,mount –a将未挂载的磁盘挂载 mount /dev/hdc6 /mnt/hdc6 |
umount | 磁盘卸载,umount /dev/hdc6 |
磁盘参数修改 | mknod,e2label修改卷标名,tune2fs,hdparm |
开机挂载 | /etc/fstab, /etc/mtab |
Swap内存交换空间的建立 | 先进行分区并partprobe让内核更新分区表,创建hdc7,之后mkswap /dev/hdc7, free, swapon /dev/hdc7, free, swapon-s |
Linux提供了很多不同的压缩文件和打包格式,但现在主要还在使用的主要为.tar和.tar.gz等。
命令 |
示例 |
gzip/bzip2 | 压缩:gzip –c node.config > node.config.gz 解压缩:gzip –d node.config.gz |
tar打包命令 | 压缩:tar –jcv –f filename.tar.bz2 xxx目标压缩文件 查询:tar -jtv –f filename.tar.bz2 解压缩:tar –jxv –f filename.tar.bz2 –C xxx欲解压到的目录 |
备份/恢复文件系统 | 备份步骤: df –h 查看文件系统 dump –S/dev dump -0u –f /root/boot.dump/boot 恢复步骤: restore –t –f /root/boot.dump |
dd备份磁盘或文件 | dd if=/etc/passwd of=/tmp/passwd.back dd if=/dev/vda1 of=/tmp/mbr.back |
通常来说,会使用tar来备份关键数据,而用dd来备份整块分区或磁盘。
此外还有一些备份工具,需要时再查询就好,比如:mkisofs新建镜像文件;cdrecord光盘刻录工具;
目录 | 应放置文件内容 |
/bin | 执行文件,可以在单用户维护模式使用,主要有cat,chmod,mkdir,bash等命令 |
/boot | 开机使用到的文件,包括linux内核文件和开机所需配置文件等,vmlinz,/boot/grub |
/dev | 任何设备和接口都是以文件的形式存放在该目录,/dev/nul,zero,tty,lp*,hd*,sd* |
/etc | 系统主要的配置文件,例如用户的账号密码,各种服务的init文件,比较重要的文件包括,/etc/inittab,init.d/,modprobe.conf,X11/,fstab,sysconfig/ |
/home | 系统默认的用户主文件夹,~表示当前用户的主文件夹,~xionger则表示熊二的主文件夹 |
/lib | 开机时会用到的函数库,以及/bin或/sbin下命令调用的函数库 |
/media, /mnt | 放置可删除设备,如cdrom等; 放置临时需要挂载的设备 |
/opt | 放置第三方软件的目录,也可以放在/usr/local中 |
/root | 系统管理员root的主文件夹,需要和根目录放置在同一分区 |
/sbin | 包括开机、修复、还原系统的命令,常见命令有fdisk,fsck,ifconfig,init,mkfs |
/srv | 一些网络服务启动,所需数据的目录,例如WWW服务需要/srv/www/ |
/tmp | 临时文件,推荐定期删除 |
/lost+found | 对于ext2/ext3文件系统格式来说,当系统出现错误时,会把丢失的片段放在该目录,此外,如果加一块硬盘到/disk中,那么系统会自动产生/disk/lost+found |
/proc | 虚拟文件系统,其数据放置在内存,包括系统内核、进程、外部设备和网络状态,重要的文件包括/proc/cpuinfo,dma,interrupts,ioports,net/* |
/sys | 和/proc内丝,也是一个虚拟文件系统,主要记录与内核有关的信息 |
/usr/bin | 绝大部分的用于可使用命令都在这,不过不支持单用户维护模式 |
/usr/include | C/C++等程序头文件放置处,当使用tarball方式安装数据时会用到这里的很多包含文件 |
/usr/lib | 包含应用程序的函数库、目标文件和脚本,对于x86_64的linux还有/usr/lib64/产生 |
/usr/local | 系统管理员自己下载的软件推荐安装在此 |
/usr/sbin | 非系统正常运行需要的系统命令,例如某系网络服务软件的服务命令(daemon) |
/usr/share | 放置共享文件的地方 |
/usr/src | 一般用来放置源码 |
/var/cache | 应用程序运行时产生的暂存文件 |
/var/lib | 程序本身执行需要使用的数据文件放置在这,比如mysql的数据库放置在/var/lib/mysql |
/var/lock | 对于某些系统资源来说,一次只能供一个应用使用,因此需要将其加锁 |
/var/log | 登录文件放置的目录,比较重要的有/var/log/messages,wtmp |
/var/mail | 放置个人电子邮箱的目录,链接到/var/spool/mail |
/var/run | 某些程序或服务启动后,会将其PID放置在此 |
/var/spool | 放置一些队列数据,"队列"就是排队等待其他程序使用的数据了,比如工作任务数据(crontab),就防止在/var/spool/cron/中 |
整个linux的学习,重在命令的熟练,加油!"天行健,君子以自强不息;地势坤,君子以厚德载物" -- 《周易》
参考资料:
- 鸟哥. 鸟哥的Linux私房菜基础学习篇(第三版)[M]. 北京:人民邮电出版社, 2010.
转载于:https://www.cnblogs.com/xiong2ge/p/Linux_FileSystem_Fast02.html
Linux快速入门02-文件系统管理相关推荐
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...
本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
- Linux 基础入门 02
Linux 基础入门 02 一.用户&组管理 1.1 usermod 用来修改用户账号的各项设定 -c<备注> #修改用户帐号的备注文字. -d登入目录> #修改用户登入时的 ...
- Linux快速入门(操作基础)
Linux快速入门(操作基础) 一.Linux操作系统 Shell简介: shell的原意是外壳,用来形容物体外部的架构.Linux系统的shell作为操作系统的外壳,为用户提供了使用操作系统的接口. ...
- 180天Linux小白到大神-Linux快速入门
01.Linux快速入门 01.Linux快速入门 1.计算机组成原理 1.1 什么是计算机 1.2 为什么要有计算机 1.3 计算机五大组成部分 1.3.1 CPU 1.3.2 内存/硬盘 1.3. ...
- Easy-RSA 3快速入门自述文件
Easy-RSA 3快速入门自述文件 这是使用Easy-RSA版本3的快速入门指南.运行./easyrsa -h可以找到有关使用和特定命令的详细帮助.可以在doc /目录中找到其他文档. 如果您从Ea ...
- linux文件系统使用和管理,Linux磁盘使用及文件系统管理
Linux磁盘使用及文件系统管理 新建 欢迎来到 来到大浪涛天的博客 ! 一.Linux磁盘使用及文件系统管理 1.mount 命令 mount [-fnrsvw] [-t vfstype] [-o ...
- Linux快速入门打开你的学习之道
相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...
- Linux 快速入门到实战【一】
一.操作系统概述 1. 计算机原理 现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算. ...
- Linux 快速入门到实战【二】
一.Linux用户与权限 1. 用户和权限的基本概念 1.1.基本概念 用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理 在Linux系统中, 不论是由本级或是远程登录系统, ...
最新文章
- hashMap传入参数,table长度为多少
- python累加求和_李老师带你学Python-第二课 如何编写Python程序
- HDU 3534 Tree (经典树形dp)
- 有什么用_app用什么软件编写
- red hat linux 虚拟机,Red Hat linux 的安装详细流程(包括VM虚拟机的设置)
- 服务器内存升级与oracle 参数调整 实施
- WBE前端笔记1:HTML中一些不熟悉的标签
- 如何在 vscode 中更换炫酷的背景图
- 抱薪者说 | 在Conflux玩夺宝游戏是怎样的一种体验?
- hyper-v自带坑
- 不仅室内,思岚科技激光雷达在室外使用同样出色
- 360手机卫士插件化RePlugin今日开源,官方全面解读
- bom翻译中文_电器BOM表中英文对照
- C++实现2048小游戏
- 期货自动止损止盈 易盛极星
- 东野圭吾:把杀人凶手绑在这种虚无的十字架上,到底有什么意义?
- ESXI6.7打补丁升级至17700523版本
- golang gin框架入门教程,gin框架脚手架,开箱即用
- 光伏并网逆变器学习1-simulink
- 回字有四种写法,阶乘verilog实现有几种方法?
热门文章
- Corosync Pacemaker 高可用 Mariadb
- WP老杨解迷:可知评论系统还能勾搭用户呢
- .CN域名总量达1090.6万个:8月份共净增13.8万个
- Unity游戏暂停之Update与FixedUpdate区别
- ASP.NET 学习笔记_13 文章发布管理小系统
- C#者重建C++之路 - 运行机制的差异
- 技校毕业是什么学历_技校毕业是什么学历
- @query传参_VueRouter之query与params两种传参区别
- vue-cli eslint 规则
- hdu 5385 The path