Linux文件结构及管理命令

1.文件目录结构

    在windows系统中,可能会有C盘、D盘、E盘。但是linux系统中只有一个根目录/。linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层根目录是“/”,然后在此目录下在创建其他的目录。在linux世界里,一切皆目录。

  • /bin:
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib:
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found:
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt:
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

  • /root:
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux:
    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv:
    该目录存放一些服务启动之后需要提取的数据。

  • /sys:
    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp:
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr:
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:
    系统用户使用的应用程序。

  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:
    内核源代码默认的放置目录。

  • /var:
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

2.文件管理命令

1-7指令详解及其他基本指令

  1. pwd
    查看当前工作目录的完整路径

  2. ls
    用来打印当前目录的清单,可以指定其他目录

  3. cd
    切换文件目录至dirName

  4. mkdir
    用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录

  5. rm
    删除一个目录中的一个或多个文件或目录,它可以将某个目录及其下所有文件及子目录删除。对于链接文件,只是删除了链接,原有文件均保持不变

  6. mv
    可以用来移动文件或者将文件改名,常用来备份文件或目录

  7. cp
    复制文件或目录

  8. touch,创建一个新文件
    touch a.txt:创建了一个 a.txt 文件

  9. cat
    主要有三个功能:
    1、一次性显示整个文件
    2、从键盘创建一个文件
    3、将几个文件合并为一个文件
    顺便提一句,tac这个命令和cat一样,无非是将文件内容从最后一行到第一行显示而已。

    -E:在每行结束显示"$"
    -n:对输出的所有行进行从1开始的编号
    -s:对连续两行的空白行代替为一行
    -T:将跳格字符(tab)显示为"^I"

    例如:
    cat -n log1.log log2.log:将log1.log加上行号后输入到log2.log文件中,log2.log在目录中必须存在
    cat -n log1.log > log.log:将log1.log加上行号后输入到log.log文件中,log.log在目录中不存在

  10. more
    类似cat,不过more不是将整个文件内容从上到下显示在屏幕上的,而是以一页一页的显示方便使用者逐页阅读。more最基本的指令就是space即往下翻一页,b即往回翻一页显示,而且还有搜索字符串的功能

    +n:从第n行开始显示
    -n:定义屏幕大小为n行
    +/pattern:在每个档案显示前搜索该字符串patern,然后从该字符串前两行之后显示
    -p:通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
    -s:把连续的多个空行显示为一行
    -u:把文件内容中的下划线去掉
    常用操作命令:
    Enter:向下n行,需要定义,默认为1行
    空格键:向下滚动一屏
    b:向上滚动一屏
    =:输出当前行号
    V:调用vi编辑器
    q:退出more

    例如:
    more +3 log1.log:从第3行起显示log1.log里面的内容
    more +/day3 log1.log:从文件中查找第一个出现’day3’的字符串的行,并从该行前两行开始显示输出
    more -5 log1.log:设定每屏显示行数
    ls -l | more -5:more常与别的命令连用,一般是因为某些命令输出的内容太多,所以使用more来分页显示

  11. diff

    比较单个文件或目录内容,如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定的是目录,diff命令会比较两个目录下名字相同的文本文件,列出不同的二进制文件、公共子目录和只在一个目录下出现的文件。

    -b:不检查空格字符的不同
    -B:不检查空白行
    -i:不检查大小写的不同
    -q:只显示有无差别,不现实详细信息
    -y:以并排方式显式文件的异同处
    -w:在使用参数-y时,指定栏宽

    例如:
    diff log1.log log2.log:比较两个文件,输出结果比如"3c3"和"8c8"表示两个文件在第三行和第8行有所不同,"11,12d10"表示第一个文件比第二个文件多了第11行、第12行。diff命令的normal格式模式显示三种提示,即a-add、c-change、d-delete
    diff test3 test4:比较test3和test4两个文件夹的不同
    diff log1.log log2.log -y -w 50:并排输出,并制定栏宽为50

  12. 追加和重定向
    > 输出重定向、>> 追加
    ls -l > a.txt :列表的内容写入文件(覆盖写)
    ls -al >> a.txt:列表的内容写入文件(追加写)

  13. echo
    输出内容到控制台

  14. head
    显示文件开头内容
    -n:显示多少行
    –version:显示head的版本信息

    head 文件名:查看文件前10行内容
    head -n 5 文件名 :查看文件对的前 5 行

  15. tail
    用于显示指定文件末尾内容,不指定文件时,作为信息输入进行处理。常用查看日志文件

    -f:不断读取,循环刷新,这样可以看到最新的文件内容
    -q:不显示处理信息
    -v:显示详细的处理信息
    -c<数目>:显示的字节数
    -n<行数>:显示的行数

    例如:
    tail -n 5 log1.log:显示log1.log最后5行的内容
    tail -f log1.log:循环查看log1.log的内容
    ln,创建一个软连接:快捷方式
    ln -s 【原文件或目录】【软连接名】

  16. history,查看历史指令
    查看所有历史指令:history
    查看最近执行的10个指令:history 10
    执行历史指令为5号的指令: !5

  17. which
    在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。即,which命令可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值