Linux基础---第二篇

本文详细介绍了硬链接的特点、创建与删除规则,以及其在文件同步和保护中的作用。此外,还涵盖了wc命令、whoami、权限管理、find和grep的结合使用,以及Linux压缩工具和数据管理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬链接

 ln   文件名   硬链接名字

例如:ln    test.log   test.log.hard

1)硬链接不能建立在目录上

2)硬链接对绝对路径没有要求

3)硬链接不能跨文件系统

硬链接文件和源文件的 inode 是相同的,文件系统的 inode 要求唯一,跨文件系统可能会使 inode 不同,所以硬链接不能跨文件系统

硬链接的本质

1)硬链接的本质是不同的文件名所在的 inode 是相同的,相同的 inode节点指向了相同的数据块,所以他们的文件是一样的,文件内容会同步

2)ls -li 文件名  ----》 可以查看文件的 i 结点

3)stat  文件名 ----》可以查看 i 结点信息

4)file.hard 是 file的硬链接,这个两个文件指向了同一个 inode,同一个 inode指向了相同的数据块

当新创建了一个文件,硬链接计数为1

给文件创建了一个硬链接后,硬链接计数 +1

删除一个硬链接后,硬链接计数 -1

作用:

1)可以起到同步文件的作用

2)可以起到保护文件的作用

wc

显示文件行数,字节数,单词数

1)wc   -l   file 显示文件的总行数

2)wc   -c  file 显示文件的总字节数

3)wc   -w  file  显示文件的总单词数

4)wc  file 显示文件的总行数,单词书,总字节数

whoami

显示当前登录的用户名

用 echo $USER 也可以查看

用户权限,用户,用户组

修改文件权限 chmod

linux是通过权限对文件进行控制的,通过使用 chmod 命令可以修改文件相关的权限

文字设定法

操作对象【who】

u -- 用户(user)

g -- 同组用户(group)

o -- 其他用户(other)

a -- 所有用户(all)

操作符【+=】

+   ---  添加权限

-    ---  取消权限

=   ---  赋予给定权限并取消其他权限

权限【mode】

r   --  读

w  --  写

x   --  执行

例如给file.txt的所有者和所属组添加读写权限

chmod  ug  +  wr  file.txt

数字设定法

操作符

+   ---  添加权限

-    ---  取消权限

=    ---  赋予给定权限并取消其他权限

数字表示的含义

0   ---  没有权限(-)

1   ---  执行权限(x)

2   ---  写权限(w)

4   ---   读权限(r)

例如:给file.txt文件设置  rw-rw-r--

chmod  664  file.txt

注意:使用数字设定法,一定要使用3位的8进制数:如:066

修改文件所有者和所属组

1)修改文件所有者 chown

用法:chown   文件所有者    文件名

2)修改文件所有者和所属组 chown

用法:chown  文件所有者:文件所属组   文件名

注:普通用户需要使用管理员权限执行该命令

修改文件所属组

chgrp 命令

使用方法:chgrp   用户组  文件或目录名

注:普通用户需要使用管理员权限执行该命令

find 命令

按文件名查询:使用参数 -name

1)命令:find   路径    -name  "文件名"

例如:find/home -name "*.c"

2)按文件类型查询:使用参数 -type

命令:find  路径  -type   类型

类型:

f    ---》  普通文件类型

d   ---》  目录

l    ---》  符号链接

b   ---》  块设备文件

c   ---》  字符设备文件

s   ---》  socket文件

p   ---》  管道文件

3)按文件大小查询:使用参数   -size

命令:find   路径   -size    范围

范围:

大于:+表示  ---  +100k

小于:-表示   ---  -100k

等于:不需要添加符号  ---  100k

大小:

M 必须大写(100M)

k 必须小写(20k)

c 表示字节数

例如:

等于100k的文件:find + 路径  +  -size  100k

大于100k的文件:find + 路径  +  -size  +100k

小于100k的文件:find + 路径  +  -size  -100k

大于50k 小于 100k的文件:find + 路径 + -size  +50k  -size  -100k

4)按文件日期

创建日期:find + 路径 +  -ctime -n/+n

-n:n天以内

+n:n天以外

修改日期:find + 路径 +  -mtime  -n/+n

访问日期:find + 路径 +  -atime  -n/+n

5)按深度

-maxdepth  n(层数)

搜索n层以下的目录,搜索的层数不超过n层

-mindepth   n(层数)

搜索n层以上的目录,搜索的层数不能小于n层

6)高级查找

查找指定目录下所有目录,并列出目录中文件详细信息

find  + 路径  +  -type   d   -exec   shell命令  {}  \;

例:find  + 路径  +  -type   d   -exec   ls  -l  {}  \;

find  + 路径  +  -type   d   -ok   shell命令  {}  \;(存在提示)

例:find  + 路径  +  -type   d   -ok   ls  -l  {}  \;

find  + 路径 + -type  d  |  xargs  shell命令

例:find  + 路径 + -type  d  |  xargs  ls  -l

grep命令

1)grep -r(有目录)"查找的内容" 搜索的路径

-r 参数,若是目录,则可以递归搜索

-n 参数可以显示该查找内容所在的行号

-i 参数可以忽略大小写进行查找

-v 参数不显示含有某字符串

2)搜索当前目录下包含 hello  world 字符串的文件

grep  -r  -n "hello world" ./     ----- 显示行号

grep  -r  -i  -n  "HELLO world" ./    ------- 忽略大小写查找

find 和 grep命令结合使用

先使用find命令查找文件,然后使用grep命令查找哪些文件包含某个字符串

例:find . -name "*.c" | xargs grep -n "main"       

 

Linux中常用的压缩工具

1)gzip 和 bzip2

不能压缩目录,只能一个一个文件进行压缩,压缩之后原文件消失

gzip*   压缩当前目录下所有的文件,但是目录不能压缩

gunzip*  解压当前目录下所有的 .gz 文件

bzip2*   压缩当前目录下所有的文件,但是目录不能压缩

bunzip2*  解压当前目录下所有的 .bz2 文件

2)tar 工具

z:用gzip来压缩/解压缩文件

j:用bzip2来压缩/解压缩文件

c:create,创建新的压缩文件,与x互斥使用

x:从压缩文件中释放文件,与c互斥使用

v:详细报告tar处理的文件信息

f:指定压缩文件的名字

t:查看压缩包中哪些文件

3)压缩

(打包)tar  cvf    压缩包名字.tar   原材料【要打包压缩的文件或目录】

(对包压缩)tar  zcvf  压缩包名字.tar.gz   原材料【要打包压缩的文件或目录】

tar  jcvf   压缩包名字.tar.bz2  原材料【要打包压缩的文件或目录】

4)解压缩

(解包)tar   xvf     已有的压缩包(test.tar.gz)

(解压缩包)tar   zxvf    已有的压缩包(test.tar.gz)

tar   jxvf     已有的压缩包(test.tar.bz2)

解压到指定目录:添加参数  -C

tar  zxvf   test.tar.gz  -C 解压目录(./mytest)

5)查看压缩包中有哪些文件

tar   -tvf   test.tar

6)zip 工具

压缩:zip -r  压缩包名   要压缩的文件(含文件或目录)

压缩目录需要参数  -r

解压缩:unzip  压缩包名

解压缩到指定目录:添加参数 -d   + 解压目录(不存在会创建)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值