zoukankan      html  css  js  c++  java
  • Linux (一)

    Linux目录结构

    / :根目录。位于分层文件系统的最顶层,可以说它包含了所有的目录和文件

    /bin :系统可执行目录

    /sbin :系统管理员的可执行文件

    /boot :存放用于启动linux系统的所有文件

    /dev :设备目录。linux会将所有的设备当做文件处理,只提供一个接口,就是文件读写接口

    把硬件也抽象成文件。。linux一切皆文件。

    null 丢弃一切写入其中的数据

    zero 会产生一个无限的0这样的字节流

    random 产生真随机

    /etc :系统中的各种配置文件

    /home :存放所有普通用户的默认工作目录,用户的家目录,除了root用户外,都会在home中有一个家目录。。在终端中 cd 什么参数都不敲,就会到家目录。。

    /root :超级管理员的家。就是root用户的家。

    su 进入超级管理员账户

    exit 退出超级管理员账户

    /lib :存放重要的库文件,其他的库文件则大部分存储在/usr/lib下

    /proc :存放进程和系统运行状态信息的目录。

    /usr :系统安装的软件 相当于window中的program files

    /opt :第三方开发的程序

    /run :系统运行中的文件

    /tmp :临时文件,给每个用户自己存放的。

    /var :用来存放易变的数据,这些数据系统的运行过程中会不断的改变。存放日志等

    打包压缩

    打包:就是把若干文件或文件夹放到一个tar文件中,就是变成了一个总的文件。不会压缩文件大小。

    打包的目的便于保存和传输。多个图片或者视频数据压缩的时候没有明显效果的,因此,只能做打包,进行保存。

    压缩:就是在打包的基础上压缩文件的大小。压缩的原理是将文件中相同的信息用一个字符代替。导致文件体积变小来达到压缩的目的。压缩对于文本类数据文件有明显作用。

    *.zip zip程序压缩的文件

    *.gz gzip程序压缩的文件。使用最广泛,而且gzip压缩的文件,在windows系统中,可以被WinRAR,7zip这个软件解压缩

    *.bz2 bzip2程序压缩的文件。压缩比gzip要好。耗时久。

    *.xz xz程序压缩的文件,压缩质量更高的软件,xz最大的问题,就是时间更久。

    *.tar tar程序打包的数据,并没有压缩过

    *.tar.gz tar程序打包,并且经过gzip压缩

    *.tar.bz2 ...

    *.tar.xz ....

    tar:用于对文件进行打包或者压缩或者解压

    -c :创建压缩文件

    -x :解开压缩文件

    -t :查看压缩包内有哪些文件

    -z :用gzip压缩或者解压

    -j :用bzip2压缩或者解压

    -v :显示压缩或者解压的过程

    -f :目标文件名

    -C :指定解压到的目录

    -J :通过xz压缩,解压。。大写的 J

    查看文件

    1、cat 用于查看完整的文件内容

    -n :显示每一行的行号,包括空行

    -b :显示每一行的行号,不包括空行

    2、more :当查看文件的内容多于一页时,使用more或less来分页显示文件。

    按空格显示文件下一页,按enter显示下一行。左下角有显示内容的百分比

    +num 从第num行开始显示内容

    -num 指定每屏幕要显示num行

    -s 把重复的空格压缩成一个空行

    3、less :和more类似。只是可以显示行数

    -N :显示行号

    4、head :用于查看文件头部内容

    -num 显示开始的num行,如果不指定,默认显示10行

    5、tail :用于查看文件尾部的内容

    -num 显示最后的num行,如果不指定,默认显示10行

    6、tr :用于替换文本文件中的字符。格式:tr [原始字符] 【目标字符】

    硬链接

    ln 连接(软连接,硬链接)

    文件存储结构分三块:文件名字,文件节点,文件内容

    默认的是硬链接:

    在文件节点上添加了一个文件名字

    当文件删除的时候,文件先去删除文件名字,再继续去删除文件节点(会检测节点是否还有其他文件名字,如果有,就删除结束。。如果没有,会继续删除)

    软连接

    ln -s

    软连接是一个完整的文件,软连接的内容指向了另外一个文件名字。

    删除原文件,软连接没有任何变化,只是连接变成了无效连接(空连接)

    当重新创建了软连接对应的数据时,它会自动关联(关联的时候还是路径名字)删软连接是没有影响的

    使用最多的地方就是创建快捷方式。

    查找命令

    1、which:寻找命令(可执行文件)所在的位置。显示给定命令的绝对路径。也就是说,使用which命令,就可以知道某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    2、type:寻找命令所在的位置,包括命令别名。

    alias 用于起别名

    unalias 取消别名

    例如系统默认的ls命令,实际上并不是真的ls命令,而是一个别名 ,是ls --color=auto的一个别名

    这个别名是系统默认给我们设置的

    -a :可以找到所有,包括别名

    type 跟which不同之处在于,type是列出所有命令,而which只是列出所有的真实命令。

    ls命令只有一个真实的,就是/bin/ls

    3、whereis:用于程序名的搜素,只搜索二进制文件(参数-b),man说明文件(参数-m)。

    如果参数省略,则返回所有信息。

    whereis 主要是针对于/bin和/sbin下面的执行文件,以及/usr/share/man 底下的文件。所以速度会很快。

    4、locate:使用简单,直接在后面输入文件名称,就可以得到结果

    -i :忽略大小写

    -c :不输出寻找结果,仅计算找到的文件数量

    -l :仅输出指定的几行,eg : -l 8,输出8行

    -r :后面可以接正则

    locate 寻找的数据是由已经建立的数据库/var/lib/locatedb里面的数据所查找到的。不用直接去硬盘中查数据,所以会很快。locate的限制在于,查询结果是由数据库来搜寻的,而数据库默认每天执行一次,所以当你新建的文件,在数据库更新之前去搜寻该文件,那么你就找不到。这时,需要更新数据库

    sudo updatedb

    5、find: 用于按照指定条件来查找文件。格式:find 【查找路径】 【查找方式】 【查找条件】

    -name 匹配名称,默认是精确匹配

    -size 匹配文件大小

    -atime -n +n :匹配访问内容的时间(-n指n天以内,+n指n天以前)

    -mtime

    -ctime

    -empty

    6、grep :用于在文本中执行关键词搜索。并显示匹配的结果。格式:grep 【选项】【文件】

    -c :仅显示找到的行数

    -i :忽略大小写

    -n :显示行号

    -v :反向选择。。。---列出没有,关键词的行

    管道

    竖线的指令:将一个命令的输出,转换成另一个命令的输入。

    echo :用于在终端输出字符串或变量的值

    wc :用于统计指定文本的行数,字数,字节数。。。格式:wc 【参数】 文本

    -l :只显示行数

    -w :显示单词数

    -c :显示字节数

    重定向

    标准输入重定向:默认从键盘输入,也可以从其他文件或命令中输入。

    标准输出重定向:默认输出到屏幕。

    错误输出重定向:默认输出到屏幕。

    输入重定向:

    命令 < 文件 将文件作为命令的标准输入

    输出重定向:

    命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)

    命令 > > 文件 将标准输出重定向到一个文件中(追加到原有文件内容的后面)

    命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)

    命令 2> > 文件 将错误输出重定向到一个文件中(追加到原有文件内容的后面)

     

  • 相关阅读:
    【NOIP2000】【vijos1347】乘积最大
    【JSOI2014】【BZOJ5039】序列维护(线段树模板)
    【NOIP2013】【Luogu1966】火柴排队(逆序对)
    【基础】排序算法学习笔记
    【Luogu1908】逆序对(树状数组求逆序对)
    【POJ2299】Ultra-QuickSort(逆序对,归并排序)
    【POJ1723】SOLDIERS(中位数,货仓选址)
    【HAOI2008】【BZOJ1045】糖果传递(环形纸牌均分)
    【codevs1004】四子连棋
    Jzoj4900 平方数
  • 原文地址:https://www.cnblogs.com/gugubeng/p/9714045.html
Copyright © 2011-2022 走看看