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> > 文件 将错误输出重定向到一个文件中(追加到原有文件内容的后面)

Linux (一)的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  3. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

  9. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  10. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

随机推荐

  1. LVS集群的负载调度

    LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 转自LVS官方资料 2002 年 5 月 本文主要讲述了LVS集群的IP负载均衡软件IPVS在内核中实现的各种连接调度算法. ...

  2. [CPP - STL] functor刨根问底儿

    作为STL六大组件之一,在STL源代码及其应用中,很多地方使用了仿函数(functor),尤其在关联型容器(如set.map)以及algorithm(如find_if.count_if等)中.虽然已经 ...

  3. [NOIP2011提高组day1]-3-mayan游戏

    3.Mayan 游戏 (mayan.cpp/c/pas) [问题描述] Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个 7行 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...

  4. POJ 2309 BST(二叉搜索树)

    BST Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8657   Accepted: 5277 Description C ...

  5. php filter 安全过滤函数

    转自:http://www.blags.org/archives/741.html php 利用filter 扩展编写的参数处理静态类,欢迎使用.希望大家看得开心,用得放心. <?php /** ...

  6. 并不对劲的bzoj3677:p3647:[APIO2014]连珠线

    题目大意 有一种生成\(n\)个点的树的方法为: 一开始有一个点,\(n-1\)次操作,每次可以有两种操作:1.选一个点,用一条红边将它与新点连接:2.将新点放在一条红边上,新点与这条红边两端点直接的 ...

  7. su 和sudo 命令

    一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...

  8. 洛谷P1119灾后重建——Floyd

    题目:https://www.luogu.org/problemnew/show/P1119 N很小,考虑用Floyd: 因为t已经排好序,所以逐个加点,Floyd更新即可: 这也给我们一个启发,如果 ...

  9. mysql函数之九:MySql取得日期(前一天、某一天)

    取得当天: SELECT curdate(); mysql> SELECT curdate();+------------+| curdate()  |+------------+| 2013- ...

  10. nohup不输出日志信息的方法及linux重定向

    最近使用nohup创建了一个后台进程,默认日志输出到了nohup.out文件中,程序跑起来也就没再管,过了大约一周,发现硬盘空间不够了,于是查找原因,发现这个nohup.out文件已经到了70G了,导 ...