linux学习之文件与目录管理

第二章:文件与目录管理
2.1 目录管理
2.1.1目录结构
Linux的目录为树形结构,也叫目录树,所有的目录都是从根目录(/)衍生而来,然后再一级一级分叉。FHS作为linux的目录配置标准用于规定不同的目录下都应该放什么样的数据。

/:根目录,所有目录的源头
这里写图片描述

/bin:系统的常规命令,可以被普通用户执行,如下图中的cat/cd等常见的命令都是可以被普通用户执行的
这里写图片描述
这里写图片描述
/dev :存放设备文件,常见的/dev/hd(IDE接口硬盘)、/dev/sd(SATA接口硬盘、U盘)
这里写图片描述

/home:系统用户的家目录,每新建一个用户都会在该目录下生成一个以该用户名为名称的目录。注意:root用户的家目录为/root。
这里写图片描述

/lib、/lib64:用户存放系统的函数库,lib64用于存放64位的函数库。很多命令(如/bin目录下)的执行都依赖函数库,因为函数库真正的告诉系统该如何去做。
这里写图片描述

/etc:存放配置文件,系统主要的配置文件都放在这里,像用户的密码信息、一些服务的启动配置等信息
这里写图片描述

/sbin:存放系统级的管理命令,root用户可以使用这些命令进行环境配置,但普通用户最多只能用以查询配置信息。以常用的shutdown命令为例,普通用户无法执行该命令。
这里写图片描述
这里写图片描述
/mnt:用于暂时挂载设备
/boot:用于存放开机时会用到的文件
/usr:用于存放系统软件资源,一般自行安装的软件会在这个目录下

2.1.3 目录操作
绝对路径和相对路径
绝对路径:是由根目录开始,如/home/tiger,无论在任何目录下使用绝对路径都可以准确的切换到这个唯一的目录;
相对路径:不是由根目录开始,是相对于当前目录而言,在不同的目录下执行的结果会不一样。例如,当前目录为/home那么切换到tiger目录的结果为/home/tiger;若当前目录为/root那么切换到tiger目录的结果为/root/tiger。
pwd:查看当前所在目录
这里写图片描述
cd:切换目录
这里写图片描述
cd . 切换到当前目录
cd ~+ 切换到当前目录
这里写图片描述
这里写图片描述
cd .. 切换到当前目录的上一层目录
这里写图片描述

cd ~ 切换到当前账户的主目录
cd ~username (username前无空格)切换到账户username的主目录
这里写图片描述
cd - 切换到当前用户当前目录之前的目录,如下图在执行cd -之前root用户当前目录为/home/tiger,是由/root切换来的,那么此时执行cd -就会回到/root
这里写图片描述
注意:如下图切换到普通用户tiger后执行cd -出错,是因为tiger用户刚登陆只有当前的目录没有上一次的目录。
这里写图片描述

ls:查看目录
ls 列出当前目录下的文件和目录,不包含隐藏目录
ls -a 列出当前目录下的文件和目录,包含隐藏目录
ls -A 列出当前目录下的文件和目录,包含隐藏目录,不包含.和..
ls -d 列出目录本身而不是目录下的数据
这里写图片描述

mkdir:新建目录
mkdir dirname:在当前目录下新建名为dir的目录
mkdir -p dir/dir1/dir2:递归建立目录
这里写图片描述

2.2 文件管理

file:查看文件类型
file filename用于查看文件类型
这里写图片描述
wc:统计文件内容信息
wc -l filename:统计文件filename的行数
这里写图片描述
wc -c filename:统计文件filename的字节数,这里需要注意的是每行后面其实还有一个换行符/n,占用一个字节
这里写图片描述
这里写图片描述
wc -w filename:统计文件filename的字数,这里需要注意的是字是以空格符为区分的
这里写图片描述

wc -m filename:统计filename的字符数
这里写图片描述
touch:新建文件
touch命令用于修改访问时间,常用于新建文件。
这里写图片描述
文件内容查看:cat、tac、nl、more、less、head、tail
cat filename:输出文件filename内容到屏幕
cat -n filename:输出文件filename的内容到屏幕,并添加行号
tac filename:反序输出文件filename的内容到屏幕
这里写图片描述

nl filename:输出文件filename内容到屏幕,并添加行号,与cat -n filename类似
这里写图片描述

more filename:输出文件filename内容到屏幕,只显示当前页。按空格键翻动一页,按Enter键滚动一行,按q退出。
less filename:输出文件filename内容到屏幕,只显示当前页。与more不同的是less可以向上翻页(按PageUp),还新增一些查询功能。
这里写图片描述

less:
这里写图片描述
head -n number filename:只显示前number行的数据。
head -n -number filename:显示除了后面number行以外的所有数据。
tail -n number filename:输出文件filename内容到屏幕,只显示后面number行数据。
tail -n +number filename:显示number行以后的数据
这里写图片描述

cp:复制文件/目录
cp source_file destination_file:复制source_file文件内容到destination_file。
cp -r source_directory destination_directory:用于复制目录,表示复制source_directory目录内容到destination_directory。
这里写图片描述
这里写图片描述
mv:移动文件/目录
mv source destination:移动source到destination,可以是文件也可以是目录。
这里写图片描述
这里写图片描述
rm:删除文件/目录
rm filename:删除文件filename
rm -r directory:递归删除目录。
rm -f:强制删除
这里写图片描述
2.3 正则表达式
符号 含义
[[:alpha:]] 表示英文字符,包含大小写
[[:lower:]] 表示小写字符
[[:upper:]] 表示大写字符
[[:digit:]] 表示数字
[[:alnum:]] 表示字母或数字
[[:punct:]] 表示标点符号
[[:space:]] 表示空格
* 表示任意字符
? 表示单个字符
{} 表示存在的或不存在的
{0..9} 表示0到9
{1,3,5} 表示1/3/5共3个数字
{a..d} 表示a到d共4个字符
{a,d,k} 表示a/d/k共3个字符
{a,d,k}{1,3,5} 表示a1/a3/a5/d1/d3/d5/k1/k3/k5共9种
[] 表示存在的
[a-B] 表示aA/bB
[a-b] 表示a/b
[1-3] 表示1/2/3
[123] 表示1/2/3
[^abc]或[!abc] 表示不是a并且不是b且也不是c

新建含有1a/1b/2a/2b的4个文件
这里写图片描述
删除含有数字的文件
这里写图片描述
删除数字后面是a的文件
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值