linux学习笔记-文件与目录

文件种类

任何设备在linux下面都是文件,除了文件(-)和目录(d)之外还有

  • 正规文件:由ls -al所显示出来的文件属性第一个字符为(-)的文件。按照文件的内容正规文件又可以分为
    • 纯文本文件(ASCII):由数字和字母组成,可以直接读取的文件
    • 二进制挡(Binary):可执行文件(script,文字体批处理文件不算),cat就算一个二进制文件
    • 数据格式文件(data):具有特定格式的文件,例如Linux将用户使用者登录的数据记录在/var/log/wrmp文件中,这个文件就是一个data格式的文件,使用last命令读取,使用cat读时,乱码
  • 目录(directory)
  • 链接文件(link):例如window下面的桌面图片?本质上是一个link
  • 设备与设备文件(device):与周围系统存储的一些文件,通常都集中在/dev这个目录下,设备文件又分为
    • 区块(block)设备文件:例如硬盘与软盘等存储文件
    • 字符(character)设备文件:例如键盘、鼠标等等
  • 数据接口文件(sockets):数据接口文件 ,用户端可以通过sockets来进行数据沟通。第一个属性为[s],通常出现在/run或者/tmp这些目录中
  • 数据传送档(FIFO,pipe):主要目的在于解决多个程序同时存取一个文件所造成的错误问题。[p]

linux文件名与目录长度限制

linux文件名的限制为:单一文件或者目录限制为255个英文字符,或者128个中文字符

常用目录,文件的含义

文件名作用
/etc/系统配置文件,例如passwd, shadow
/boot开机配置文件,也即是默认摆放核心vmlinuz的地方
/usr/sbin,/bin一般可执行文件摆放的地方
/user/sbin,/sbin系统管理员常用指令集
/dev摆放所有系统设备文件的目录
/var/log摆放系统登录文件的地方
/runCenOS7 以后才有,将经常变动的项目移动到内存暂存,所以/run不占用实际磁盘容量

目录结构[^1]

根目录
bin
一般用户开机时用到的指令
boot
dev
etc
home
lib
media
mmt
opt
proc
root
sbin
srv
sys
tmp
run
usr
var
核心档案vmlinuz
grub2
开机设定文档
类似/dev/null与/dev/sda等装置有关
各种软件与系统的设定
systemd
各种软件的脚本script
各使用者家目录 每个用户有一个家目录
各种目录函数库
modules
各不同版本核心的模组
如cdrom和floppy等存储媒体
第三方协力软件
内存资料/如核心和程序

[^1] 画导图特别卡,有空补充

文件分类

根据文件系统的频繁与否与是否允许使用者随意更动,FHS将文件可分为以下三种:

可分享的不可分享的可变的不变的
/usr(软件放置处)/etc(配置文件)/opt(第三方协力软件)/var/spool/news(新闻群组)
/boot(开机与核心档)/var/run(程序相关)
/var/mail(使用者邮件信箱)
/var/lock(程序相关)
  • 可分享的(shareable):可以分享给其他系统挂载使用的目录,可以分享给网络上其它主机挂载用的目录
  • 不可分享的(unshareable):自己机器是上面运行的设备文件或者是与程序有关的socket文件等,自己的东西不可分享
  • 不变的(staic):不会随着distribution变动而变动,例如函数库、文件说明文档、系统管理员所管理的主机服务配置文件等。
  • 可变动的(variable):经常癌变的数据,例如登录文件、一般用户可自行接受的新闻群组
    除此之外FHS定义的三层主目录为:/, /var, /usr三层

目录相关操作

切换目录

当使用cd命令进行目录切换时,所使用的特殊字符

. 代表此层目录
. 代表返回上一层目录
- 代表前一个工作目录
~ 代表"目前使用者”所在的主文件夹
~account 代表account这个使用者的主文件夹

创建目录

mkdir test 创建一个test目录
mkdir -p lxq/test/test2 同时创建不存在的空目录lxq、test、test2
mkdir -m 711 test2 在创建空目录test2的同时,给它赋予权限

显示当前所在目录

pwd : print working directory

复制

cp rm mv(还可以用作重命名)
[cp] [源文件] [目标文件]
cp -a filename a表示将文件的权限也复制过来,注意当前用户无法进行的操作,即使加上-a也无法达成完整复制权限!

删除

rm -[rif]
-r :表示是否递归删除
-i :表示是否互动,删除时询问
-f:表示force表示强制删除

移动

mv [-fiu] souce destination
-f:表示force,强制,如果已存在目标文件,不询问强制覆盖
-i:询问,若文件已存在,则询问是否覆盖
-u:表示update, 若文件存在,且source比较新,才会更新

取得路径的文件名称与目录名称

basename /etc/test1/test 得到test,表示取得文件名
dirname /etc/test1/test 得到/etc/test1/, 表示取得目录名

文件内容查看

  • cat由第一行开始查看(concatenate),加入-n可以显示行号
  • tac从最后一行开始显示,可以看出tac是cat的倒写
  • nl显示的时候,顺道输出行号!
  • more一页一页的显示文件内容
  • less 与more类似,但是比more更好的是,它可以往前翻页

space:向下翻动一页
pagedowm:向下翻动一页
pagedown:向下翻动一页
/字串:向下搜寻“字串”的功能
?字串:向上搜寻
n:重复前一个搜寻
N:反向的重复前一个搜寻
g:前进到这个数据的第一行去
G:前进到这个数据的最后一行去
q:离开less这个程序

  • head 只看头几行
  • tail只看尾巴几行
  • od以二进制的方式读取文件内容
  • head:取出前面几行
  • tail:取出后面几行,-n指定行数,默认10行

非文本内容查看

当我们需要查看二进制文件、可以使用od命令,并且还可以指定输出形式

  • od [-t TYPE] 文件,type根据以下形式替换

a 利用默认的字符来输出
c 使用ASCII字符输出
d 采用十进制输出数据,每个整数占用size Bytes

给某个命令配置环境变量

PATH = “${PATH}:/root” 将root目录加入可执行文件中搜索路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值