linux基础1

基础命令

命令格式:主命令 选项 参数(操作对象)

列出目录下的内容的命令:ls(list)

Ls -l = ll :一场列表的的方式列出
Ls -r :逆序列出
Ls -ld :查看指定目录
Ls -lh :显示目录或文件的大小
Ls -a :列出隐藏文件,包括 . 和 …
Ls -A :列出隐藏文件,不包括 . 和 …
Ll -I :显示文件的索引节点号(inode)

文件长列表的的解析

drwxr-xr-x. 2 root root 6 Mar 13 10:14 Videos
Linux的文件类型
Linux的字符类型一般显示在文件的长列表的第一个字母

  • 普通文件,普通的1文本文件
    d 目录文件,相当于文件夹
    l 连接文件 软连接
    c 字符设备文件,串行端口设备,顺序读写,键盘
    b 块设备文件,可供存储的接口设备,随机读写,硬盘
    p 管道文件,用于进程间的通信
    s 套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
    权限标识
    第2-11位表示此文件的权限
    r :表示可读
    w :表示可操作
    x :表示该文件具有可以被系统执行的权限rwxr-xr-x
    . :表示扩展权限,没有扩展权限为“.”无扩展权限为“+”
    前三个rwx表示所属用户的权限
    中三个r-x表示所属组的权限
    后三个r-x表示其他用户的权限
    硬链接次数 :2
    所属用户:root
    所属组:root
    大小:6 此时大小只是文件的大小,不包括文件内的文件大小
    创建时间:Mar 13 10:14
    文件名称:Videos

目录文件

Unix/Linux系统中,目录(directory)也是一种文件,打开目录实际上就是打开目录文件
目录文件的结构非常简单,就是一系列目录项的列表,。每个目录项,由两部分组成:所包含的文件有,文件名,以及文件名对应的inode号码
目录文件的读写权限,就是对文件的内容如文件名inode号进行操作,而要获取文件的inode信息就必须就需要对文件具有执行权限(x)

创建链接

格式:in 参数 原文件 目标文件
In 原文件 目标文件 创建硬链接
In -s 原文件 目标文件 创建软连接

文件的存储方式

扇区(sector):硬盘的最小存储单元,每个扇区存储512个字节,相当于 0.5KB
块(block):文件存取的最小单位,块的大小一般为4KB,即连续的8个扇区组成一个块
元信息:也叫inode,索引节点,每个文件都有对应的indoe,里面包含了该文件的信息
文件存储在硬盘上,操作系统在读取硬盘时,不会一个一个的扇区的进行读取,而是一次性读取一个块,文件的内容存储于‘块’中,用于存储文件信息的被称为“元信息“,元信息的内容比如有 文件的创作者,文件的创作日期,文件的大小等等,

Inode的内容

Inode内包含了如下的信息
· 文件的字节数
· 文件的拥有者的User ID
· 文件的Group ID
· 文件的读,写,执行的权限
· 文件的时间戳,共有3个:ctime值inode上次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间
· 连接数:即有多少文件名指向这个inode
· 文件数据的black的位置
Inode的内容不包括文件名

Inode的大小

Inode也会消耗硬盘空间,所以硬盘格式化时,操作系统将自动将硬盘分为两个区域,一个是数据区,存放文件内容,另一个为inode区,存放了inode所包含的信息。
每个节点的大小一般为128个字节或256个字节,inode节点的总数,在格式化时就给定了,一般1KB或2KB就设置一个inode,由于每个文件都必须有一个inode,因此有可能inode已经用光了,但硬盘还未存满,这是就无法创建新文件了

Inode号码

每个inode都有一个号码,操作系统用inode号码来识别不同的文件,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件,对与系统来说,文件名只是inode号的别称或绰号
查找过程,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据

数据读取的过程

在文件系统通过文件名来读取文件时,需要找到一张文件名与inode相互对应的关系表,从中查取inode number,这张表为“inode-index”,通过inode nmber查看 inode-table中对于inode的详细信息,并且找到pointer读取到相应的Blocks
这里的Directory是一张列表不是目录

硬链接

一般情况下,文件名和inode是“一一”对应的关系,每个inode号码对应一个文件名,但是,unix/linux系统允许,多个文件名指向同一个inode号码。同一个inode号有多少个对应的文件就有多少个硬链接数,当硬链接数为0时,表明没有文件名指向这个inode,系统就会回收这个inode号,以及block区域
若对其中一个文件内容进行更改,会影响到所有文件。创建目录时,默认会生成两个目录项:".“和”…"。前者的inode号码就是当前目录的inode号码,等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录)。
对于目录文件,linux不支持手动产生硬链接,硬链接不支持跨区域,其主要目的是防止误删

软连接

软链接就相当于一种快捷方式,可以支持跨区域,在两个不同的文件夹,若A文件为源文件,B为目标文件,A B的inode号是不同的,但是改变原文件A,B文件也会改变,原文件不在了或源文件改变存储位置,B文件就会报错,
B文件就相当在其中存储有到达A文件的操作命令,但打开B文件时就直接跳到A文件,所以A B文件的 inode号不同

编辑文件命令

格式:nano 文件名

文件查找命令

格式:find 选项 参数(对象)
按名字查找:find -name 本组的文件名
按inode号查找:find -inum inode号
FHS(文件系统层级标准)
定义了Unix/linux系统中的目录结构和目录内容,方便用户对系统的管理和应用
FHS采用倒树状结构,从根目录下按需求分类并逐级分层,为用户提供更简洁的管理方式
文件系统:操作系统用于明确存储设备或分区上的文件的方法和数据结 xfs

FHS文件系统结构

/ Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录
/bin Binary的缩写,存放普通用户可执行的程序或命令
/boot 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动
/dev dev 是设备(device)的英文缩写。包含所有的设备文件
/etc 存放了系统管理时要用到的各种配置文件和子目录
/home 存放一般用户的个人目录
/lib 是库(library)英文缩写,存放系统的各种库文件
/lib64 存放系统本身需要用到64位程序的共享函数库(library)
/mnt/media 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
/opt 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统
/proc 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的
/root 超级用户的个人目录,普通用户没有权限访问
/run 保存自系统启动以来描述系统信息的文件
/sbin 和/bin类似,这些文件往往用来进行系统管理,只有root可使用
/srv srv 是服务(server)的简写,服务启动之后需要访问的数据目录
/sys 本目录是将内核的一些信息映射文件,以供应用程序所用
/tmp 用来存放不同程序执行时产生的临时文件。
/home 存放一般用户的个人目录
/usr 一般用户程序安装所在的目录,用于安装各种应用程序
/var 通常各种系统日志文件放在这里
库文件:将一些比较常用的程序存储在一个公共位置上,方便使用
映射文件:通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。

Tree 显示当前文件夹的树形结构

控制时间的命令

Date命令

Date命令用于更改和输出系统时间,只能在root用户下进行更改
更改格式 :date -s 2015-10-25 时间改为 2015-10-25 00:00:00
Date -s 15:00:00 之调节时间
Date -s “2015-10-25 15:00:00
Date 显示系统时间
查看硬件的时间的命令:“clock” “hwclock”
加 -w 将硬件的时间调为系统时间
加 -s 将系统时间调为硬件时间

Cal 用于查看日历

查看年:cal 年份
查看月份:cal 月份 年
查看该月:cal -1
查看 上月,本月,下月:cal -3

帮助命令

Help命令

查找内部命令:help 所要查的命令
所要查找的命令—help/-h
查找外部命令:所要查找的命令 –help
内部命令
实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。
外部命令
外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,因此系统加载时并不随系统一起被加载到内存中。只有在需要时才被系统调用到内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin……等等。可通过“echo $PATH”命令查看外部命令的存储路径,比如:ls、vi等。

Man 手册

格式:man 所要查找的命令
在man手册的最底下有用数字表示的错误状态,0表示成共
可以使用“echo $?”打印上一条命令的状态码

管理文件的命令

Touch 创建普通文本文件

创建格式
Touch 文件名1 文件名2 文件名3
Touch {文件名1,文件名2,文件名3}
Touch {1,2}{a,b} 交叉式创建
Touch{1…100}循环创建
文件的的命名格式

  1. 不能用/来当文件名,/是用来做根或路径分隔符的
  2. 文件名不能超过255个字符
  3. 区分大小写
  4. 目录也是文件,在同一个路径下,两个文件不能同名

Stat查看文件信息

格式:stat 文件路径
内容
Atime access time 最近一次看的时间
Mtime modify time 最近一次修改文件内容的时间
Ctime change time 最近一次元数据改变的时间

Mkdir 创建目录名

-p parents 再创目录时如果父目录不存在,就会报错,加上-p就不会
-v verbose 在创建时会显示创建的信息

Rm 删除文件

-f :表示强制删除 不提醒
-r :递归删除,用来删除目录

  • 表示匹配所有所有
    Rm -fr /* :不到万不得已不要用

Cp 复制文件:

Cp支持多源复制
• -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
• -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
• -f:覆盖已经存在的目标文件而不给出提示。
• -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
• -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
• -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
• -l:不复制文件,只是生成链接文件。

Mv移动文件;

-f 强制覆盖
-I 有提示

查看普通文本文件的命令

Cat 连接并显示文件到标准输出

-n 对输出内容中的所有行标注行号
-b 对输出的内容中的非空行标注行号

Tac 按逆顺序显示文件

More 支持向后翻

在没有翻到最后一屏时支持向前翻,翻页按键:空格/K/回车

Less 前后翻

用法同man一样,man手册就是用less命令打开的

Head 查看前几行

Head 命令默认查看前十行
-n 可以指定行数

Tail 查看文件后n行

默认后十行
-n 指定多少行
-f follow,查看文件后并不退出,滚动显示追加内容

Cut 文本切割显示

-f 一般要配合着-d使用
-f 1,3 指定显示第一列和第三列
-f 1-3 指定显示1到3列
-c 1-4 指定第一个字符到第四个字符
-d 指定分割符 空格要用“ ”格起来

echo 回声 打印

echo $变量 打出变量的值
echo $(命令) 将命令的值打印出来
echo
`` 反引号,命令替换
“” 双引号,可以实现变量替换
‘’ 强引用,不完成变量替换

管道命令 |

| 管道命令就是将前面的命令的输出作为管道后面的命令的输入
|tee T型管道可以将前面命令的标准输出重定向到指定文本文件并将结果输出到终端

重定向

: 格式 命令 > 文件 将命令的结果输入到文件中,并覆盖原文件,若指定文件不存在,则自动创建该文件

: 命令 > 文件 将命令的结果输入到文件中,不覆盖原文件,将结果加到下一行若指定文件不存在,则自动创建该文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值