Linux的目录结构:

      /            根分区 linux文件系统的起点

/bin           普通用户的命令,普通用户能使用

/sbin         管理员使用的命令,只有管理员能使用

/home      普通用户的宿主目录

/root         管理员的宿主目录

/boot        linux启动所需的文件,内核,grub,内核引导文件

/dev          设备文件,硬盘,键盘鼠标,光驱等

/usr           应用程序 /usr/src  源码包的存放路径

/etc           配置文件

/opt           安装额外软件时的存放路径

/var         日志文件,邮件等

/proc         虚拟文件系统(计算机内核的信息,CPU...),数据都在内存中

/lib          库文件,驱动

/selinux    美国国家安全属研发的安全机制

/tmp         临时文件存放目录(公共文件夹)

/media     挂载点(redhat9.0里面使用的/mnt)

/sys     系统相关文件

/srv           启动的服务需要访问的数据目录

/mnt    临时文件系统挂载点

文件的两类数据:

元数据:文件的属性

数据:文件的内容

显示当前所在目录:

[root@bogon ~]# pwd
/root

切换目录:cd命令

  绝对路径:以根目录“/”作为起点,可以非常准确的表示一个目录或文件所在的位置,如果路径较长输入时会比较繁琐。

  相对路径:以当前工作目录作为起点,“.”表示当前工作目录,“..”表示上一级目录,“~”表示用户的宿主目录。

[root@bogon ~]# cd -    ##回到上一次的工作目录,实现两个工作目录间来回切换
/etc
[root@bogon etc]#cd -

文件通配符:

* 匹配零个或多个字符

?  匹配任何单个字符

~  当前用户家目录

~username  用户家目录

~+  当前工作目录

~-  前一个工作目录

[0-9] 匹配一个数字范围

[a-z]   大写和小写字母

[A-Z]   大写字母

[wxc] 匹配列表中的任何的一个字符

[^wxc]  匹配列表中的所有字符以外的字符

预定义的字符类: #man 7 glob

[:digit:]   任意数字,相当于0-9

[:lower:]   任意小写字母

[:upper:]   任意大写字母

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

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

[:space:]   空格

[:punct:]   标点符号

列出目录的内容或指定目录:

ls命令:ls [options] [files_or_dirs]

-a     包含隐藏文件

-l      以长格式显示,ll

-R    目录递归显示

-d    目录和符合链接信息

-1      文件分行显示

-S     从大到小排序

     -i  显示文件索引节点

显示当前工作目录下的所以隐藏文件和目录:

[root@bogon ~]# ls -d .*
. .. .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc .viminfo

显示当前工作目录下的所以目录:

[root@bogon var]# ls -d */
adm/ crash/ empty/ gopher/ lib/ lock/ mail/ opt/ run/ tmp/
cache/ db/ games/ kerberos/ local/ log/ nis/ preserve/ spool/ yp/

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

[root@bogon log]# ll /etc/[mnrp]*.conf
-rw-r--r--. root root Jun /etc/man_db.conf
-rw-r--r--. root root Mar /etc/mke2fs.conf
-rw-r--r--. root root May : /etc/nsswitch.conf
-rw-r--r--. root root May : /etc/resolv.conf
-rw-r--r--. root root Nov /etc/rsyncd.conf
-rw-r--r--. root root Sep /etc/rsyslog.conf

linux文件的类型:

  -   普通文件

  d   目录文件

  b   块设备

  c   字符设备

  l   符号链接文件

  p   管道文件pipe

  s   套接字文件socket

查看文件状态:stat

[root@bogon ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: Blocks: IO Block: regular file
Device: fd00h/64768d Inode: Links:
Access: (/-rw-------) Uid: ( / root) Gid: ( / root)
Context: system_u:object_r:admin_home_t:s0
Access: -- ::12.625008626 +0800    ##访问时间,读取文件内容
Modify: -- ::12.630008626 +0800    ##修改时间,改变文件内容(数据)
Change: -- ::12.630008626 +0800    ## 改变时间,元数据发生改变
Birth: -

touch命令:创建文件和刷新时间

touch [OPTION]... FILE...

-a    改变atime

-m   改变mtime

-t     STAMP:[[CC]YY]MMDDhhmm[.ss]

-c     如果文件不存在,则不予创建

cp命令:复制   

-a    归档,等同于-dr

-b    若删除或者覆盖目标文件,将对目标文件进行备份,备份文件以备份的字符串结尾

-d    复制符号链接

-f     强制复制

-h    强制cp复制符号链接。缺省值是跟随符号链接,将文件复制到符号链接指向处。

-i      交互式模式。覆盖目标文件之前先要进行询问

-l      建立硬链接,而非复制

-p    源目录或者文件的属性保留

-r    处理指定目录以及子目录

复制/root目录下所以文件到/data目录,包括隐藏文件:

[root@bogon ~]# cp -r /root/. /data/
[root@bogon ~]# ls -a /data/
. anaconda-ks.cfg .bash_logout .bashrc .tcshrc
.. .bash_history .bash_profile .cshrc .viminfo

移动和重命名:mv [选项]

-i       交互式

-f       强制,如果目标文件已经存在,不会询问而直接覆盖

       -b     若需覆盖文件,则覆盖前先行备份

[root@bogon ~]# ls
anaconda-ks.cfg file1.txt
[root@bogon ~]# mv file1.txt /data/file2.txt
[root@bogon ~]# ls /data/
file2.txt      ##将file1移动到/data目录下重命名file2

删除文件: rm [选项]... file...

-i:  交互式

-f:  强制删除

-r:  递归删除目录树

[root@bogon ~]# ls /data/
file2.txt testdir
[root@bogon ~]# rm -rf /data/*
[root@bogon ~]# ll /data/
total 0      ##删除/data目录下所以文件

显示目录树: tree

-d:  只显示目录

-L level :指定显示的层级数目

-P pattern:  只显示由指定pattern 匹配到的

显示“/”目录树,只显示一层:

[root@bogon ~]# tree -L  /
/
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

创建目录:mkdir

-p:  递归创建,且可自动创建所需的各目录;

-v:  显示详细信息

-m MODE:  创建目录时直接指定权限;

[root@bogon ~]# mkdir -m  test
[root@bogon ~]# ll
total
-rw-------. root root May : anaconda-ks.cfg
drwx------. root root May : test

rmdir:删除空目录

-p:  递归删除父空目录

-v: 显示详细信息

链接文件:ln命令

  软连接与硬链接的区别:

    当删除源文件后,软连接将失效,但硬链接仍旧可用。

    软连接适用于文件或目录,但硬链接只可用于文件。

    软连接与原文件可以位于不同的文件系统中,但硬链接必须与原文件在同一个分区内。

  ln命令默认创建的是硬链接,创建软链接必须结合“-s”选项

[root@bogon ~]# ln -s /etc/httpd/conf/httpd.conf /etc
[root@bogon ~]# ll /etc/httpd.conf
lrwxrwxrwx. root root May : /etc/httpd.conf -> /etc/httpd/conf/httpd.conf
[root@bogon ~]# ln /var/log/messages /tmp/test
[root@bogon ~]# ll -h /tmp/test
-rw-------. root root 574K May : /tmp/test

file命令:用来识别文件类型,也可用来辨别一些文件的编码格式

file [options] <filename>...

  -b 列出文件辨识结果时,不显示文件名称。

  -c 详细显示指令执行过程,便于排错或分析程序执行形

  -f 列出文件中文件名的文件类型

  -F 使用指定分隔符号替换输出文件名后默认的”:” 分隔符

  -i 输出mime 类型的字符串

  -L 查看对应软链接对应文件的文件类型

  -z 尝试去解读压缩文件的内容

  --help显示命令在线帮助

查看软连接对应文件的类型:

[root@bogon ~]# file -L /etc/httpd.conf
/etc/httpd.conf: ASCII text

du命令:统计目录及文件的空间占用情况

  -a  统计磁盘空间占用的所以文件,而不仅仅只统计目录

  -h  以K,M单位显示

  -s  只统计某个参数所占用的空间,而不是统计每个子目录

[root@bogon ~]# du -sh /var/log/
3.3M /var/log/
[root@bogon ~]# du -ah /boot/
.0K /boot/grub/splash.xpm.gz
.0K /boot/grub
/boot/grub2/themes/system
/boot/grub2/themes
.0K /boot/grub2/device.map
12K /boot/grub2/i386-pc/acpi.mod

文件压缩及归档:

gzip命令:

  gzip[OPTION]... FILE ...

  -d  解压缩,相当于gunzip

  -c  将解压或压缩的结果输出至标准输出

  -r  递归处理,将指定目录下的所有文件及子目录一并处理

  -#  指定压缩比,#表示数字1-9

bzip2命令:

  bzip2 [OPTION]... FILE ...

  -k  压缩时保留源文件

  -d  解压缩

  -#  指定压缩比,#表示数字1-9,默认为6

  bzcat  不解压的的情况下查看文件内容

xz命令:

  xz[OPTION]... FILE ...

  -k  保留源文件

  -d  解压

  -#  指定压缩比,#表示数字1-9,默认为6

  bzcat  不解压的的情况下查看文件内容

打包压缩:

zip命令:跨平台压缩工具 

-r 处理指定目录和指定目录下的使用子目录
uzaip  解压缩

tar命令:

-c 创建.tar格式的文件
-x 解开.tar格式的文件
-f 使用归档文件
-v 显示详细信息
-t 查看包内文件
-j 使用baip2程序
-z 使用gzip程序
-p 打包时保留文件及目录的权限
-P 打包时保留文件及目录的绝对路径
-C 释放的目的地

打包:
对文件和目录打包和压缩(c)
tar -cf file.tar file
tar -czf file.tar.gz file
tar -cjf file.tar.bz2 file
查看包内容(t)
a.tar-------->tar -tf a.tar
a.tar.gz---->tar -tzf a.tar.gz
a.tar.bz2-->tar -tjf a.tar.bz2
对文件和目录解包(x)
tar -xf file.tar -C 路径
tar -xzf file.tar.gz -C 路径
tar -xjf file.tar.bz2 -C 路径

cpio命令:存取归档包中的文件

  -o    将文件拷贝打包成文件或者将文件输出到设备上
  -i   解包,将打包文件解压或将设备上的备份还原到系统
  -t   预览,查看文件内容或者输出到设备上的文件内容
  -v   显示打包过程中的文件名称。
  -d   解包生成目录,在cpio还原时,自动的建立目录
  -c   一种较新的存储方式

linux目录结构及文件管理的更多相关文章

  1. 3.Linux目录结构与文件管理

    1.Linux系统目录结构 Windows: 以多根的方式组织文件 C:\ D:\ E:\ F:\ Linux:以单根的方式组织文件 / 2.文件定义 比如: /etc/hostname,整个文件中包 ...

  2. Linux 目录结构及文件基本操作

    Linux 目录结构及文件基本操作 实验介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux ...

  3. 二、Linux目录结构&常用指令

    Linux目录结构: ps -ef:任务管理器 ifconfig: 查看ip ping :  测试与目标主机的连通性,ctrl+c停止 目录指令: ll:列出当前目录下的文件信息 ls -al : 列 ...

  4. 每天一个linux命令(23):Linux 目录结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...

  5. day 2 Linux目录结构

    Linux系统的目录结构的基本介绍: 1)在逻辑上的所有目录(包括目录下的子目录)都在最高级别的目录“/”下. 根(/)目录是Linux系统中所有目录的起始点(顶点),根下面的目录及子目录是一个有层次 ...

  6. 【Linux】Linux 目录结构

    博客已转移,请借一步说话 .http://www.weixuehao.com/archives/492 初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用 ...

  7. CentOS6.5菜鸟之旅:纯转载Linux目录结构

    来自:http://www.iteye.com/topic/1125162 使用linux也有一年多时间了  最近也是一直在维护网站系统主机  下面是linux目录结构说明 本人使用的是centos系 ...

  8. 每天一个linux命令(19):Linux 目录结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...

  9. Linux目录结构及常用命令(转载)

    一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下.为什么没在/bin中,或 ...

随机推荐

  1. Linux之vim基本命令操作

    安装vim(yum -y install vim) 三种工作模式(命令模式.输入模式.编辑模式) 打开文件( vi ) 查找文本( / ) 替换文本 删除文本( dd 删除光标所在行 ) 复制文本 去 ...

  2. 基于ZFAKA二次开发,添加PayJS支付渠道

    项目地址:https://github.com/hiyouli/payjs-for-zfaka 关于ZFAKA,请移步:ZFAKA 免费.安全.稳定.高效的发卡系统,值得拥有! 演示地址:http:/ ...

  3. springboot打成jar后获取classpath下文件失败

    原文链接:https://blog.csdn.net/qq_18748427/article/details/78606432 springboot打成jar后获取classpath下文件失败 使用如 ...

  4. loadrunner教程系列

    loadrunner教程系列,包括windows 环境和linux 环境. 第一讲:环境准备 链接:https://pan.baidu.com/s/1EnLP3ijZ1j1I_ysE1z4CJg  密 ...

  5. 怎么解决java.lang.NoClassDefFoundError错误

    http://blog.csdn.net/jamesjxin/article/details/46606307

  6. ==和equals方法

    Java程序中测试两个变量时否相等有两种方法: == 和 equals. ==判断 当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数字类型(不一定要求数据类型严格相同),则只要 ...

  7. Java 基础类库

    与用户互动 1. 运行java程序的参数 public static void main(Stirng[] args) 这个方法是有JVM调用,因此用public static修饰,并且没有返回值,同 ...

  8. C# Func与Action总结

    Action:无参数无返回值委托. Action<T>:泛型委托,无返回值,根据输入参数的个数不同有十六个重载. Func< out T>:无输入参数,有返回值. Func&l ...

  9. 如果查询的结果少,可以把查询结果当子集,再查另一张表,比join的速度快得多得多

    ) as qty from riv_print_history_l phl JOIN tab_user_profile up on up.UP_USER_ID = phl.PHL_PRINT_USER ...

  10. jsp中c标签的使用

    jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...