Linux文件系统

Linux文件系统

.

表示当前目录

..

表示当前上一级目录

. 开头的文件是隐藏文件

/

根目录

/etc

配置文件存放位置

/boot

系统启动相关文件如内核,initrd,grub[bootloader]

/dev

设备文件[块设备随机访问),字符设备线性访问顺序访问)]

/home

用户的家目录

/root

root的家目录

/lib、

/lib64

库文件的存放位置内核模块文件存放位置/lib/modules/

/media

挂载点目录移动设备

/mnt

挂载额外的临时额外系统

/opt

早期用于安装第三方程序

/proc

伪文件系统,由内核参数映射而来;内核有很多特性可通过内核参数进行配置,内核也有很多信息如统计数据等可通过内核参数进行输出

net.ipv4.ip_forward  = /proc/sys/  net/ipv4/ip_forward

/sys

伪文件系统,由内核中硬件相关的信息映射而来;

/tmp

临时文件存放位置

/var

经常会发生变化的文件的存放位置例如(cache,lock,log,run[服务程序的PID])

/bin、

/sbin

可执行文件如命令),系统自身启动和运行时可能会用到的核心二进制程序

/misc

备用目录

/usr

universal, shared, read-only的简写

/usr/bin, /usr/sbin  : 系统运行过程中,用户为完成某些操作可能用到的程序

/usr/lib, /usr/lib64 : 用户为完成某些操作可能用到的程序所要用的库

/usr/src : sources的简写,程序的源代码的存放的位置

/usr/share:用户的帮助文件

/usr/local:

bin, sbin: 现在第三方程序安装位置;

lib, lib64:第三方程序所要用的库

/selinux

Security  Enhanced Linux的简写仅在RedHat上常见的安全系统

/srv

serivces简写,服务类程序用到的中间数据

 

 

ls: list,显示指定目录下的文件及子目录列表;

ls [OPTION]... [FILE]...

Ls ls --color的别名

llls -l --color的别名

常用选项:

-l: 长格式显示文件的详细属性信息;

drwxr-xr-x.  2 root root  4096 Mar 25 03:43 account

左起第一位: 文件类型

文件类型:

-:普通文件

d: directory, 目录文件

l: link, 符号链接文件

b: block, 块设备文件,随机访问设备

c: character, 字符设备文件,线性设备

p: pipe,管道

s: socket, 套接字文件

后面的9位:文件访问权限

r: 读

w: 写

x: 执行

数字:当前文件被硬链接的次数;

属主:当前文件的所有者

属组:当前文件所属的用户组

数字:文件大小,单位为字节

日期时间:当前文件最近一次被修改的时间

 

-a: 显示所有文件,包括隐藏文件;

-r: 逆序显示;

-R:递归显示;

-d:用于显示目录自身属性 


 

文件内容的类型查看:

file /PATH/TO/FILE


 

创建:mkdir

make directory

 

mkdir [OPTION]... DIRECTORY...

-v: verbose 显示创建过程

-p: parent,递归创建目录

 

 

注意:Linux不通过文件名后缀判断文件关联的应用程序;

 

删除:rmdir

remove directory

仅能删除空目录

 

-v: verbose

-p: parent,删除指定的目录后,其所在的目录如果为空,则删除之;依次类推;

 

查看目录树:tree

mkdir -p  /test3/{boot/grub,bin,sbin,etc/{rc.d/init.d,syscomfig/network-scripts},lib/modules,lib64,usr/local/{bin,sbin},proc,sys,dev,var/{log,run,lock},tmp}

{}表示命令行展开/a/{b,c}=/a/b/a/c

 

tree /test3

 test3

    ├── bin

    ├── boot

       └── grub

    ├── dev

    ├── etc

       ├── rc.d

         └── init.d

       └── syscomfig

           └── network-scripts

    ├── lib

       └── modules

    ├── lib64

    ├── proc

    ├── sbin

    ├── sys

    ├── tmp

    ├── usr

       └── local

           ├── bin

           └── sbin

    └── var

       ├── lock

       ├── log

       └── run

文件管理之文本文件查看命令

 

cat:

cat [OPTION]... [FILE]…

不加选项与参数就将直接输入显示到输出上

-n:显示行号

-E:显示行结束符,非打印字符[linux是以$为文本文件的结束符]

       [windows是以$回车为结束符]

 

tac:

逐文件逆序显示cat相反

 

翻屏:

Shift+PageUp/PageDown[在虚拟机终端中可使用]

 

分屏文本显示:more, less

 

more:分屏查看

more FILE

-d: 显示操作提示

 

less: 与man相同

 

首尾显示:head, tail

 

显示文件前n行:

head [OPTION]... [FILE]...

 

-n #: 显示指定前#行;

 

head -# [FILE]…


 

显示文件后n行:

tail [OPTION]... [FILE]...

-n #: 显示指定的后#行

-#:

-f: follow,

常用于监控日志

 

stat: 查看文件的状态数据信息

 

[root@localhost ~]# stat /etc/fstab

  File: `/etc/fstab'

  Size: 921               Blocks: 8          IO Block: 4096   regular file

Device: fd00h/64768d        Inode: 1179655     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2015-03-26 11:08:52.440287424 +0800

Modify: 2015-03-26 10:45:34.039999979 +0800

Change: 2015-03-26 11:08:08.156999044 +0800

 


 

时间戳

Access: 最近一次被访问的时间;

Modify: 最近一次被修改的时间,即文件内容被改变;

Change:最近一次被改变的时间,即文件属性发生了改变;[不会被人工修改]

 

touch:修改文件的时间戳/创建空文件

touch [OPTION]... FILE...

-a: 仅改变访问时间

-m: 仅改变修改时间

-t STAMP: 修改指定时间而非当前时间,[[CC]YY]MMDDhhmm[.ss]

-at   -mt:

-c: 不创建不存在的文件[用来改时间戳是不创建文件]


 

文件管理类命令:cp, mv, rm

 

cp: copy简写

cp 源文件 目标文件

如果目标文件不存在:则新建之,并将源文件的内容填充至新建文件中;

如果目标文件存在:

如果目标文件是个文件:则覆盖之;

如果目标文件是个目录:则保持原文件名复制到目标目录中;

 

cp 源文件... 目标文件

源文件是多个文件:目标只能有一个,且必须是目录,还得事先存在;

 

root登陆时cp是cp -i的别名 用\cp转义为cp而不是别名

 

 

如果源文件是目录:

-R, -r, --recursive:递归复制

 

其它常用选项

-P, --no-dereference: 不跟踪符号链接指向的原文件

--preserve={mode|ownership|timestamps|links|xattr|context|all}:保留原文件的指定的属性信息;

-a, --archive: 归档,常用于备份时保留原文件的所有属性;相当于-dR --preserve=all,[只有root有权限保存属主属组]

-i,  --interactive:覆盖目标文件之前提醒用户;

-f, --force:强制覆盖;

-l, --link: 为文件创建硬链接而不是复制文件;

-v: verbose

 

mv命令:move

mv 源文件 目标文件

mv 源文件... 目标文件

-i: 交互式;

-f: 强制覆盖;

-v: 显示过程;

重命名:mv a.txt abc.txt 把a.txt改为abc.txt

 

mv /tmp/fstab /tmp/hello

 

rm命令:remove

-r: 递归删除

-f:强制删除

 

rm -rf /

 

文本管理类命令:

 

nano: 全屏幕文本编辑器

 

wc: word count文本统计

[root@localhost tmp]# wc abc.txt 
 3  5 24 abc.txt

103有几行

201多少单词

1136多少字节

wc [OPTION]... [FILE]…

-l, --lines: 仅统计行数

-w, --words: 仅统计单词数

-c, --bytes:仅统计字节数

 

cut:

cut OPTION... [FILE]...

-d: 指明分隔符

-d' ': 表示以空格为分隔符;

-f#: 指明要保留的字段;

单个:#

离散的多个:#,#,#

连续的多个:#-#

 

sort: 排序

sort可以直接指定文件

sort [OPTION]... [FILE]...

-r: 逆序;

-f: 忽略字符的大小写;

-t: 指定字段分隔符

-k: 指明分隔以后的字段

-n: 按数值大小排序

sort -t: -f3 -n /etc/passwd

-u: 排序后去重

 

uniq:相邻重复行才为重复行

-i: 忽略大小写;

-d: 仅显示重复了的行;

-u: 仅显示不曾重复的行;

-c: 去重后显示每行出现了的次数;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章