Linux学习-文件管理(1)

文件管理——当你使用Linux时,大部分时间都会和文件打交道,我们需要了解基本的文件操作,如创建文件、删除文件、复制文件、重命名文件以及为文件创建链接等。



目录

文件的组成

目录结构

文件类型

pwd命令

更改目录 cd

查看文件状态 stat  --时间戳

文件通配符

复制文件和目录 cp

未完待续



详细内容



一、文件的组成

①元数据 -- 元数据就是数据的数据,用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等;

对文件系统元数据的更改都被保存到一份单独的日志里,当发生系统崩溃时可以利用日志正确地恢复数据。除此之外,日志使系统重新启动时不必进行文件系统的检查,从而缩短了恢复时间。

②数据-- 普通文件中的实际数据



二、目录结构

Linux下文件和目录组织成一个单根倒置树结构:

/     根目录

/boot 引导文件存放目录

/bin  供所有用户使用的基本命令

/sbin 管理类的基本命令

/lib  库文件以及内核模块文件

/lib64 专用于x86_64系统上的辅助共享库文件存放位置

/etc  配置文件目录

/home  普通用户家目录,软件的个性化配置

如用户自己设置的别名就存放在该目录下

/root 管理员家目录

/dev    设备文件,Linux下一切皆文件

/media  便携式移动设备挂载点

/mnt    临时文件系统挂载点

/opt    第三方应用程序的安装位置

/tmp    临时文件存储位置

/usr    read-only,以后不发生变化的数据

/var    可变数据文件 如运行程序缓存的数据,日志文件等

/proc   虚拟文件系统

/proc/cpuinfo  查看CPU信息

/proc/meninfo  查看内存信息

/sys    虚拟文件系统

查看根目录下的文件和目录:

以.开头的文件为隐藏文件

文件名最长255个字节(linux没有文件扩展名的概念,这一点和Windows不同)

蓝色->目录

绿色-> 可执行文件

红色-> 压缩文件

浅蓝色-> 链接文件

tree--以树形结构列出目录结构

-d  只列子目录,不列子文件

-L+n 查看n级目录

*******运行tree命令的时候可能会遇到命令不存在等的问题**********

如下图所示操作:

***********************************************************************



三、文件类型

-   普通文件

d   目录文件

b   块设备

c   字符设备

l   软链接

s   套接字文件socker

p   管道文件



四、pwd命令

pwd--显示当前文件所在路径

-p 显示真实物理路径,当目录为软链接时,显示源目录

. 代表当前目录

.. 代表上一级目录 (任何目录下都有. 和..两个目录  ;  cd ../.. 代表进入上上一级目录)

basename  显示基名(最后一项)

dirname   显示目录名(除最后一项)



五、更改目录  cd 

cd  进入家目录

列出目录内容  ls

-a  显示所有文件

-A  显示所有文件,不包含.和..

-l  显示详细信息

-R  递归展开目录

-d  不列出子目录

-1(数字1) 以一纵列显示

-S  从大到小排列

-t  从今往前的修改时间排序

-ut 从今往前的访问时间排序

-U  按目录存放信息排序

-X  按文件后缀排序



六、查看文件状态  stat

三个时间戳

access time:访问时间 atime

midify time:修改时间 mtime (文件的数据更改的时间)

change time:改变时间 ctime (文件的元数据更改的时间,mtime变ctime一定也跟着变)

touch 当文件存在时,可以更新三个时间戳

当文件不存在时,则创建

touch -a 更新atime 和 ctime

touch -m 更新mtime 和 ctime

touch -t  [CC[YY]]MMDDHHmm[.ss] (年月日时分.秒) 更新atime mtime到指定时间

touch -c 当文件已存在时,更新全部时间戳;当文件不存在时,不创建



七、文件通配符

*  0或多个任意字符

? 一个任意字符

~  当前用户家目录

~name 用户name的家目录

[0-9]  数字范围

[a-Z]  字母范围   注意:ls +字母范围  是按aAbBcCdD....zZ排列的

[任意字符] 匹配方括号内的任何的一个字符

[^任意字符]  匹配方括号内的字符以外的任何字符

[:digit:]  任意数字    例如:ls [[:digit:]]*

[:lower:]  任意小写字母

[:upper:]  任意大写字母

[:alpha:]  任意大小写字母

[:alnum:]  任意字母或数字

[:blank:]  水平空白字符

[:space:]  水平或垂直空白字符

' '        也可以表示空格

[:punct:]  任意符号

案例:

1、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录

ls -d /etc/rc[0-6]*

2、显示/etc目录下,所有以.d结尾的文件或目录

ls -d /etc/*.d

3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -d /etc/[mnrp]*.conf

4、只显示/root下的隐藏文件和目录(三种写法)

ls -a --ignore=[^.]*  /root

ls -a -I "[^.]*"  /root

ls -d .*  /root

5、只显示/etc下的非隐藏目录

ls -d /etc/*/

6、显示/etc目录下所有以k开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录

ls -d /etc/k*[[:digit:]]*[[:lower]]

7、显示/etc目录下,所有以一个大写字母开头,以两个数字结尾的文件或目录

ls -d /etc/[[:upper]]*[0-9][0-9]

8、显示/etc目录下,文件名至少包含一个小写字母和一个数字并以.conf结尾的文件或目录

ls -d /etc/*[[:lower]]*[0-9]*.conf



八、复制文件和目录  cp

cp + source + dest

1、source是单个文件

如果目标不存在,新建dest,并将文件内容填充至dest

如果目标存在且是文件,内容覆盖

如果目标存在且是目录,在dest下新建与源文件名同名的文件,并填充至新文件

2、source是目录——要加选项 -r(此选项下面有说明)

如果目标不存在,则新建指定目录,然后复制source下所有文件至新建目录

如果目标存在,在dest下新建与源目录同名的目录,并复制源目录内容至新建目录   

   总结如下图

cp

-i:覆盖前提示 –n:不覆盖,注意两者顺序

-r, -R: 递归复制目录及内部的所有内容

-a: 归档,相当于-dR --preserv=all

-d:--no-dereference --preserv=links 不复制原文件,只复制链接名

--preserv[=ATTR_LIST]

mode: 权限

ownership: 属主属组

timestamp:

links

xattr

context

all

-p: 等同--preserv=mode,ownership,timestamp

-v: --verbose  显示复制的过程

-f: --force  当普通用户对某目录有rx权限时,使用-f可以将没有修改权限的文件强制覆盖。即删除再创建。

案例

1、定义别名命令baketc,将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见

alias baketc='mkdir -p(递归创建) /testdir/backup$(date +%F);cp -av /etc/* /testdir/backup$(date +%F)'

2、创建/testdir/rootdir目录,并复制root下所有文件到该目录内,要求保留原有权限

mkdir -p /testdir/rootdir;cp -a /root/*  /testdir/rootdir/rootdir

原文地址:http://blog.51cto.com/13570193/2060506

时间: 2024-11-09 03:01:14

Linux学习-文件管理(1)的相关文章

linux学习-文件管理

1.文件系统结构 /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader, grub)都存放于此目录 /bin:所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序 /sbin:管理类的基本命令:不能关联至独立分区,OS启动即会用到的程序 /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules) /lib64:专用于x86_64系统上的辅助共享库文件存放位置 /etc:配置文件目录 /home/USERNAME:普通用

Linux学习-文件管理(2)

九.移动.重命名文件 mv 移动文件 格式:mv+源文件+目标 -i 交互式,覆盖前提示 -f 强制覆盖 rm  删除文件和目录 -i 交互式 -f 强制 -r 递归删除目录  常用命令 rm -rf rename 用字符串替换的方式批量改变文件名(支持通配符) 格式:rename+原字符串+目标字符串+要改变文件名的文件列表 实例:rename .txt .doc *.txt 十.目录操作 mkdir 创建目录 -p  递归创建多级目录,若所要建立目录的上层目录目前尚未建立,则会一并建立上层目

linux学习之路之目录管理和文件管理

我们知道linux文件系统是一个树型结构,在最上层是'/'目录,根目录的下面就是其他目录,而这些目录下面又可以有多个子目录,这样一层一层的就形成一个树型结构图.那是不是我们查找某一个文件必须要从根目录开始往下查找的呢?当然不是,在这里我将会介绍两种路径方式:相对路径和绝对路径. 什么是相对路径和绝对路径? 绝对路径:就是从'/'根目录开始往下一级一级的查找,直到目的所经过的线路. 相对路径:就是相对当前位置而言来找到目的地所经过的线路. 目录的创建 mkdir:用于创建目录 语法格式:mkdir

Linux学习笔记之文件管理,用户管理

学而不用,总是忘记,今天又整理一下,记在这里,方便以后自己查看 常用操作命令 目录常用操作命令: pwd, cd, ls, mkdir, rmdir, tree. 文件常用操作命令: find,locate, whereis, which, touch, file, cp, rm,mv,ln,cat,tac,head,tail,more,less,grep,wc. 用户及用户组管理 Linux系统中用户分为3类:root用户,普通用户和虚拟用户.其中虚拟用户是不具备登录系统的能力,但却是系统运行

Linux学习记录--文件管理相关系统编程

文件管理相关系统编程 重要文件标识 打开文件标识 O_RDONLY:只读方式打开 O_WRONLY:只写方式打开 O_RDWR:可读写方式打开 打开文件操作副标识 O_CREAT:若路径中文件不存在则创建,使用Open函数时需同时指定文件权限 O_EXCL:若与O_CREAT连用,检查文件是否已经存在,若不存在则建立文件存在则返回错误,这使创建和测试成为一个原子操作 O_APPEND:读写文件从文件尾部开始移动,所有写入数据都加入文件尾部 O_TRUNC:若文件存在并且可以写入,此标识会将源文件

Linux学习第四节课-文件管理基本概念及相关部分指令

Linux学习第四节课 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- 十九.文件管理基本概念 文件和目录被组织成一个单根倒置树结构: 文件系统从根目录开始,用/表示: 根文件系统(rootfs):root file

转 Linux命令-文件管理命令

http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-12 15:26 | 标签:linux linux系统因其优秀的稳定性和安全性,被越来越多的企业服务器应用.随之而来的越来越多的人学习使用linux,而做为linux系统的基础linux命令更是必学无疑的,小编今天跟大家分享一篇小编精心编辑的文章“linux命令-文件管理命令”,希望能帮到大部分的li

新手必看,Linux学习基础

Linux学习基础 1.什么是Linux? 准确的说,是指Linux的kernel(系统的核心程序),其内核版权属于Linus Torvalds,在GPL(GNU General Public License)版权协议下发行, 任何人都可以自由的复制(copy), 修改(change), 套装分发(distribute),销售,但是不可以在分发时加入任何限制, 而且所有原码必须是公开的,所以任何人都可以无偿取得所有执行文件和原代码. 对于Linux用户和系统管理员来说,Linux是指包含Linu

Linux基础文件管理命令之rm,mv,cp,touch

在linux系统下,一切皆文件,就连光盘也看作文件,要使用光盘首先要先建立一个目录,然后通过挂载来操作这个光盘,就连鼠标,键盘都是被看作文件.所以学习文件的相关操作命令是很重要的. rm命令 rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件保持不变. 注:rm是一个危险的命令,使用的时候要特别小心,尤其对于新手,否则整个系统就会毁在这个命令,比如以root身份在根目录下执行rm * rf