Linux文件管理基础

一、列出目录内容

  • 列出当前目录的内容或指定目录
  • 用法:ls [options] [ files_or_dirs ]

ls -a 包含隐藏文件

ls -l 显示额外的信息

ls -R 目录递归通过

ls -ld 目录和符号链接信息

ls -1 文件分行显示

ls –S 按从大到小排序

ls –t 按mtime排序

ls –u 配合-t选项,显示并按atime从新到旧排序

ls –U 按目录存放顺序显示

ls –X 按文件后缀排序

示例:

[root@centos7 ~]# touch Desktop/young  //在Desktop文件夹下创建一个新的空文件
[root@centos7 ~]# ls -R  //目录递归显示
.:
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates  who.out
Desktop          Downloads  Music                 Public    Videos

./Desktop:
young

./Documents:

./Downloads:

./Music:

./Pictures:

./Public:

./Templates:

./Videos:
[root@centos7 ~]# 
[root@centos7 ~]# ls -l Desktop   //显示的是Desktop目录下的文件的属性
total 0
-rw-r--r--. 1 root root 0 Mar 10 21:29 young
[root@centos7 ~]# ls -ld Desktop   //显示Desktop本身的属性
drwxr-xr-x. 2 root root 19 Mar 10 21:29 Desktop
[root@centos7 ~]# ls -Sl   //按从大到小排序
total 12
-rw-r--r--. 1 root root 1953 Mar  6 21:24 initial-setup-ks.cfg
-rw-------. 1 root root 1922 Mar  6 20:08 anaconda-ks.cfg
-rw-r--r--. 1 root root  250 Mar  9 10:46 who.out
drwxr-xr-x. 2 root root   19 Mar 10 21:29 Desktop
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Documents
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Downloads
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Music
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Pictures
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Public
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Templates
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Videos
[root@centos7 ~]# ll -S   //与上面命令作用相同
total 12
-rw-r--r--. 1 root root 1953 Mar  6 21:24 initial-setup-ks.cfg
-rw-------. 1 root root 1922 Mar  6 20:08 anaconda-ks.cfg
-rw-r--r--. 1 root root  250 Mar  9 10:46 who.out
drwxr-xr-x. 2 root root   19 Mar 10 21:29 Desktop
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Documents
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Downloads
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Music
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Pictures
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Public
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Templates
drwxr-xr-x. 2 root root    6 Mar  6 22:34 Videos
[root@centos7 ~]# ls -1
anaconda-ks.cfg
Desktop
Documents
Downloads
initial-setup-ks.cfg
Music
Pictures
Public
Templates
Videos
who.out

二、查看文件状态

stat

  • 文件:metadata, data
    3个时间戳:
  • access time:访问时间,atime,读取文件内容
  • modify time: 修改时间, mtime,改变文件内容(数据)
  • change time: 改变时间, ctime,元数据发生改变

示例:

[root@centos7 ~]# chown young Music   //改变Music文件夹的所有者,用chown命令
[root@centos7 ~]# ll
total 12
-rw-------. 1 root  root 1922 Mar  6 20:08 anaconda-ks.cfg
drwxr-xr-x. 2 root  root   19 Mar 10 21:29 Desktop
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Documents
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Downloads
-rw-r--r--. 1 root  root 1953 Mar  6 21:24 initial-setup-ks.cfg
drwxr-xr-x. 2 young root    6 Mar  6 22:34 Music
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Pictures
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Public
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Templates
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Videos
-rw-r--r--. 1 root  root  250 Mar  9 10:46 who.out
[root@centos7 ~]# ll --time=ctime  //查看元数据改变时间
total 12
-rw-------. 1 root  root 1922 Mar  6 20:08 anaconda-ks.cfg
drwxr-xr-x. 2 root  root   19 Mar 10 21:29 Desktop
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Documents
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Downloads
-rw-r--r--. 1 root  root 1953 Mar  6 21:24 initial-setup-ks.cfg
drwxr-xr-x. 2 young root    6 Mar 10 21:44 Music   #时间与上面的时间不一样了
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Pictures
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Public
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Templates
drwxr-xr-x. 2 root  root    6 Mar  6 22:34 Videos
-rw-r--r--. 1 root  root  250 Mar  9 10:46 who.out
[root@centos7 ~]# stat Music    /三个时间状态一起查看
  File: ‘Music’
  Size: 6           Blocks: 0          IO Block: 4096   directory
Device: 802h/2050d  Inode: 35968019    Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/   young)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-10 21:45:31.568590791 +0800
Modify: 2018-03-06 22:34:44.021897018 +0800
Change: 2018-03-10 21:44:29.518592258 +0800
 Birth: -

PS:在网页端上关掉用户的atime-读取时间操作会大大提升服务器的性能

三、文件通配符

   当在使用命令行时,有很多时间都用来查找你所需要的文件,如 ls,find等。shell提供了一系列完整的字符串模式匹配规则,或者称之为元字符,当shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,这可以称为通配符。

通配符与正则表达式是有区别的,简单来说:通配符是用来通配的,正则表达式是用来匹配字符串的;在文本过滤工具里,都是用正则表达式,比如像awk,sed,等,是针对文件的内容的。而通配符多用在文件名上,比如查找find,ls,cp,等等。其次,shell对通配符与正则表达式的出了有不同,“ ”内一般为通配符(是shell本身提取处理),‘ ’内一般为正则表达式(shell会将其中的数据传递给其它命令处理)。

* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~mage 用户mage家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:字母
[A-Z]:字母
[xxx] 匹配列表中的任何的一个字符
[!xxx]  or  [^xxx]匹配列表中的所有字符以外的字符
预定义的字符类:man 7 glob
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符

四、创建空文件 和 刷新时间

1,touch命令:touch [OPTION]... FILE...

  • -a 仅改变 atime和ctime
  • -m 仅改变 mtime和ctime
  • -t [[CC]YY]MMDDhhmm[.ss]
  • 指定atime和mtime的时间戳
  • -c 如果文件不存在,则不予创建
    注:当文件已经存在的情况下,再touch一遍只会刷新时间

2,>>命令,与touch命令作用相同,但是比touch要危险一些,在原文件已存在的情况下用>>再创建一边会损坏原先的文件

五、复制文件和目录cp

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

cp SRC DEST

  • SRC是文件:
    如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
    如果目标存在:
    如果DEST是文件:将SRC中的内容覆盖至DEST中,基于安,建议为cp命令使用-i选项
    如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
  • SRC是目录:此时使用选项:-r
    如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
    如果DEST存在:如果DEST是文件:报错;如果DEST是目录:则复制

cp SRC... DEST

SRC...:多个文件

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

-u:--update 只复制源比目标更新文件或目标不存在的文件

--backup=numbered 目标存在,覆盖前先备份加数字后缀

六、Inode索引节点

inode(index node)表中包含文件系统所有文件列表
一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包
括:

  • 文件类型,权限,UID,GID
  • 链接数(指向这个文件名路径名称个数)
  • 该文件的大小和不同的时间戳
  • 指向磁盘上文件的数据块指针
  • 有关文件的其他数据
  • 文件引用一个是 inode号
  • 人是通过文件名来引用一个文件,一个目录是目录下的文件名和文件inode号之间的映射
[root@centos7 ~]# df  //查看磁盘存储空间
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       48803552 3407640  45395912   7% /
devtmpfs          747420       0    747420   0% /dev
tmpfs             762136       0    762136   0% /dev/shm
tmpfs             762136    9236    752900   2% /run
tmpfs             762136       0    762136   0% /sys/fs/cgroup
/dev/sda3       19520512   32944  19487568   1% /data
/dev/sda1         508580  154420    354160  31% /boot
tmpfs             152428      24    152404   1% /run/user/0
/dev/sr0         8490330 8490330         0 100% /run/media/root/CentOS 7 x86_64
[root@centos7 ~]# df -i  //查看磁盘节点数量
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/sda2      24413696 120727 24292969    1% /
devtmpfs         186855    402   186453    1% /dev
tmpfs            190534      1   190533    1% /dev/shm
tmpfs            190534    585   189949    1% /run
tmpfs            190534     16   190518    1% /sys/fs/cgroup
/dev/sda3       9765376     14  9765362    1% /data
/dev/sda1        256000    327   255673    1% /boot
tmpfs            190534     17   190517    1% /run/user/0
/dev/sr0              0      0        0     - /run/media/root/CentOS 7 x86_64
[root@centos7 ~]# 

1、cp和inode

在 CP的 命令:
分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件

2、rm和inode

rm 命令:
链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。

3、mv和inode

  • 如果mv命令的目标和源在相同的文件系统,作为mv 命令
    用新的文件名创建对应新的目录项
    删除旧目录条目对应的旧的文件名
    不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
  • 如果目标和源在一个不同的文件系统, mv相当于cp和rm
  • 如果mv命令的目标和源在相同的文件系统,作为mv 命令
    用新的文件名创建对应新的目录项
    删除旧目录条目对应的旧的文件名
    不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
    如果目标和源在一个不同的文件系统, mv相当于cp和rm

七、硬链接和软连接

1,硬链接

创建硬链接会增加额外的记录项以引用文件

对应于同一文件系统上一个物理文件

每个目录引用相同的inode号

创建时链接数递增

删除文件时:rm 命令递减计数的链接,文件要存在,至少有一个链接数,当链接数为零时,该文件被删除,不能跨越驱动器或分区.

语法: ln filename [linkname ]

2,符号(或软)链接

一个符号链接指向另一个文件

ls - l的 显示链接的名称和引用的文件

一个符号链接的内容是它引用文件的名称

可以对目录进行

可以跨分区

指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减
少目标文件inode的引用计数;

语法:ln -s filename ​ ​ [linkname]

3,区别:

   (1)跨分区
   (2)inode number
   (3)链接数
   (4)目录
    (5)删除
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,207评论 9 467
  • 前言: linux文件系统是一个倒置树结构,从"/"开始,文件命名区分大小写,遵循FHS(Filesystem H...
    哈喽别样阅读 211评论 0 0
  • 一个基本的计算机系统由“硬件”和“软件”组成,一台Linux设备,主要的组成如下图所示: 一般情况下,我们所说的L...
    时待吾阅读 1,636评论 0 16
  • 从母亲的子宫里哭着爬出来看到的笑脸都是空洞的启蒙四周都是绝壁没有一个支点架设一座桥梁到不了另外一座孤岛寻找或者自成...
    静听旁白阅读 229评论 0 3
  • 我和这个世界不熟。这并非是我安静的原因。我依旧有很多问题,问南方问故里,问希望,问距离。 我和这个世界不熟。这并非...
    Alice王志荣阅读 236评论 0 0