四.文件系统命令
1.FHS
(1)FHS:Linux文件系统层次化标准
(2)拓扑:倒置树形,一切数据从 / 目录开始
(3)常见一级目录作用
A root:管理员的家目录
B etc :配置文件目录
C dev: 设备文件目录
D mnt: 挂载设备的默认目录
E media:挂载光盘镜像的默认目录
F bin: 常用命令的程序存储目录
G tmp: 临时目录或共享目录
H var :日志文件存储默认目录
I boot:系统启动文件目录
(4)注意
A .FHS不具有强制性约束,但应遵循行业规则,否则存储混乱
B.所有目录区分大小写(默认小写)
2.增、删、改命令
(1)touch命令
A.作用:新建文件
B格式: touch - 参数 文件名
C例如:touch t1.txt 或 touch k1.txt k2.txt k3.cfg
D注意:vim 文件名 ,此文件若不存在,则会新建
(2)mkdir命令
A作用:新建目录
B 格式: mkdir -参数 目录名称
C参数:
(a)-p :创建递归目录(多级目录)(mkdir -p n1/n2/n3)
(b)-m :为新建目录增加权限
(3)利用touch命令创建c源文件编译并执行(步骤)
touch test.c
vim test.c
点击i键输入代码
点击ESC键
点击shift+: 后输入wq保存并退出
gcc test.c (编译)
./a.out (看结果)
(4)rm命令
A格式: rm -参数 文件名
B 作用:删除文件或目录
C参数
(a)-r :删除目录
(b)-f :删除不确认,即强制删除
(5)cp命令
A作用:拷贝文件或目录
B格式:cp -参数 源文件 目标文件
C参数
(a)-p :保留源文件的原始属性
(b)-r :递归拷贝
(c)-i :目标文件已存在,提示是否覆盖
(6)mv命令
A作用:移动文件或改名
B格式: mv -参数 源文件或目录 目标文件胡目录
C结论
(a)若源类型与目标类型都是文件或目录,则为重命名
(b)若源类型为文件,目标类型为目录,则为剪切移动
D 例如:创建一个mydocument目录和document文件,将document文件移动到mydocument目录下,改名为test.
(7)dd命令
A格式: dd if=/dev/zero of= 新文件 bs=块大小 count=
块个数
B作用:制作生成指定容量,内容为全数字0的大文件
C /dev/zero :是一个特殊的设备文件,可以输出无穷个数字0,其本身又不占空间,用于制作大文件来覆盖旧文件,防止恶意恢复,也可以制作大文件来作为分区使用。
D例如:
dd if=/dev/zero of=kong.txt bs=10MB count=5(制作50MB的文件)
3.文件属性查看命令
(1)file命令
① 格式: file -参数 文件名
② 作用:查看文件类型
③ 类型
Empty: 空文件
ASCLL text:ASCLL码文件(文本)
directory:目录文件
block special :块设备文件(高速设备)
character special :字符设备文件(低速设备)
Symbolic link: 链接文件(快捷方式)
Socket:接口文件
(2)cat命令
① 格式:cat -参数 文件名
② 作用:输出文件内容到设备上(默认为显示器)
③ 参数:
-b:文件中所有非空行增加行号,从1开始编号
-n:文件中所有行增加行号
④ 特殊功能
文件内容合并
touch k1.txt k2.txt k3.txt
echo “hello” > k1.txt
echo “world” > k2.txt
cat k1.txt k2.txt > k3.txt
(查看2个文件内容输出到新文件中)
倒序查看内容:tac 文件名
注意:由于无翻页功能,适用于内容较少的文本文件查看
(3)more 命令
① 格式: more 文件名
② 作用:可翻页查看文件内容
③ 方法:
空格:翻页查看
回车:每行查看
q:退出
(4)less 命令
① 同more
② 点击j键下一行
③ 点击k键上一行
(5)head命令
① 格式: head -参数 文件名
② 作用:查看文件的前几行内容
③ 参数: -n 行数
④ 例如 head -n 5 /etc/passwd (前5行)
(6)tail命令
① 格式:tail -参数 文件名
② 作用:查看文件后几行或持续刷新内容
③ 例如:tail -n 5 /etc/passwd (后5行)
tail -f /etc/passwd (动态刷新内容)
(7)wc 命令
① 格式: wc -参数 文件名
② 作用:统计文件的单词、行数、容量
(8)stat命令
① 格式: stat -参数 文件名
② 作用:查看文件属性
③ 属性:
Access :最近访问时间
Modify:最近更改时间
Change:最近改动时间
4.文件查询命令
(1)find命令
① 作用:按照文件名、类型、属性等参数检索文件
② 格式: find 查找路径 查找条件 操作
③ 查找路径:一般为绝对路径
④ 查找条件:
-name 文件名:按照文件名检索
-user 账户名:按照拥有者检索
-group 工作组:按照工作组归属检索
–type b/d/c/l :按照文件类型检索
–size +50k (-50k):按照大于(小于)50k容量检索
-newer f1 ! f2 :匹配比文件f1新比文件f2旧的文件
通配符
* : 任意内容、任意个数
?: 任意内容、1个字符
例如:find / -name host
find / -name a*.(a开头文件)
find / -name ?b.(第二个字母为b的文件)
find / -name .cfg(检索所有的日志文件)
find / -user mfl (检索普通账户mfl的所有文件)
find /dev -type b (检索块设备文件)
find ~ -size -10k (检索小于10K的文件)
find / -type b | wc (统计块设备文件个数)
find / -name .c > f.txt
(检索c类型文件并备份到f文件中)
补充:-a (并且) -o(或) -not(非)
例如:
(1)子根目录下查找root用户的所有脚本文件(并且)
find / -name “.sh” -a -user root
(2)在/etc中查找以a开头或以b开头的头文件
find /etc -name “a.h” -o -name “b.h”
(3)在/home中查找不是root账户对的文件
find /home -not -user root
(4)在/tmp中查找5天以内修改过的文件
find /mp -mtime -5
(5)在/etc中查找7天以内没有修改过的文件
find /etc -not -atime +7
(6)在/中查找3天以内修改过的目录文件
find / -atime +3 -a -type b
(7)grep命令
格式:grep -参数 查找条件 文件名
作用:在文件中按照条件检索内容
参数:
-n :显示符合要求的行的行号
-v :显示不符合要求的行
-i :忽略字母的大小写
-c:显示符合要求的行数
-A数字:如-A2表示显示符合要求的行及下面2行
-B数字:如-B5表示显示符合要求的行及上面5行
-C数字:如-C3表示显示符合要求的行的上下各3行
例:
grep -n “root” /etc/passwd 检索包含root
grep -n “/sbin/nologin” /etc/passwd 检索不允许登录的账户信息
grep -nv “/sbin/nologin” /etc/passwd 检索允许登录的账户信息
grep -nv “root” /etc/passwd 检索不包含root
grep -nA3 “ftp” /etc/passwd 检索包含ftp行数及下3行
Grep -c “halt” /etc/passwd 检索包含halt行的个数
grep -nA3 “ftp” /etc/passwd > grep1.txt 检索结果保存
正则表达式:
作用:用于按照指定条件过滤大量文本,是一种表示条件的规则 和方法
正则与通配符的区别:
通配符:按照文件名进行检索文件,一般多数命令都支持
正则:在文本中过滤字符串,一般多数语言、脚本等程序都支持
按照[]字符集进行过滤:
[ab]:表示检索包含a或者包含b的信息,括号中多个内容只表示一个信息
grep -n [dD] /etc/passwd 过滤包含d或D
grep -n [oo] /etc/passwd 过滤包含o
[^]:表示反色显示不包含条件的内容
grep -n [^r] /etc/passwd 反色显示 不包含r
grep -n [^r]oo /etc/passwd 过滤不以r开头且包含oo的行
[0-9]:表示过滤包含数字的内容
grep -n [0-9] /etc/passwd 过滤包含数字的内容
grep -n [^7-9] /etc/passwd 反色显示不包含7-9的内容
[a-z] [A-Z] [a-zA-Z] :表示过滤小写字母、大写字母、字母
grep -n [A-Z] /etc/passwd 过滤包含大写字母的内容
注意:[] [^] [-] 区别:或者 、反色、区间
过滤行首或行尾
^ :过滤行首以谁开头的内容
grep -n ^n /etc/passwd 过滤行首以n开头的内容
grep -n 1 /etc/passwd 过滤行首以大写字母开头的内容
$:过滤行尾以谁结尾的内容
grep -n $n /etc/passwd 过滤行尾以n结尾的内容
grep -n $”]” /etc/sos.conf 过滤行尾以 ] 结尾的内容
grep -n $”[0-9]” /etc/sos.conf 过滤行尾以数字结尾的内容
检索空白行
grep -n ^$ /etc/sos.conf
正则表达式的通配符
一个任意字符: .
重复前面0个或多个任意字符: *
例:
grep -n r…t /etc/passwd 检索以r开头,以t结尾,中间包含任意两个字符的内容
grep -n o* /etc/passwd 检索不包含o或包含o的内容
grep -n oo* /etc/passwd 检索至少包含o的内容
grep -n ooo* /etc/passwd 检索至少包含oo的内容
注意:grep -n .* /etc/passwd 表示检索所有内容
转义字符及区间字符
\ :转义字符,即去掉其后字符附加功能,恢复到本身功能
grep -n KaTeX parse error: Can't use function '\.' in math mode at position 2: ”\̲.̲” /etc/passwd … /etc/passwd 检索以 ] 结尾的内容
区间字符:{n1,n2},表示重复n1-n2次前面字符
N1<n2,n2可以省略,{n1}表示大于等于n1次(注意:{} 必须使用 \ 进行转义)
grep -n o”{2}” /etc/passwd 检索至少包含两个o的内容
(8)tr命令
作用:替换文本文件中的字符
格式:tr 原始字符 结果字符
例:
cat /etc/passwd | tr [a-z] [A-Z] (显示passwd内容并将其小写字母改为大写)
cat /etc/passwd | tr # % (# % 需要转义)
注意:
tr命令一般不直接使用,即不推荐直接更该文件内容,应显示文件内容并更改
5.打包压缩命令
(1)作用:打包、压缩、解压缩文件
(2)常用格式:
.tar :由tar打包程序打包的文件(无压缩功能)
.tar.gz :先由tar打包,再由gzip压缩
(3)格式: tar -参数 压缩文件名 被压缩的文件
(1)参数
打包压缩 :
-c :压缩
-z :使用gzip进行压缩
-v :显示过程
-f :目标文件名
常用:-czvf
解压缩:
-x :解压缩
常用: -xzvf
(2)例:打包压缩/root目录后解压缩(备份)
cd ~
tar -czvf t1.tar.gz /root
cd /
mkdir t2
cd t2
tar -xzvf /root/t1.tar.gz
Ls
(3)注意
压缩文件使用“红色”表示
-c 与-x不能同时使用
6.管道符与重定向命令
(1)输入输出重定向
作用:将默认的输入输出端进行改变
符号:
> :输出重定向,将输出内容重定向到文件(覆盖内容)
>> :输出重定向,追加输出
重定向保存错误提示
格式:命令 2 > 文件名
例:ls -l temp 2 > err.txt
(2)管道符
格式:命令1 | 命令2 |命令3|…
作用:将前一个命令的结果作为后一个命令的数据源
例:统计包含root的行数
grep root /etc/passwd | wc
7.常见的环境变量
(1)环境变量
作用:表示bash命令解释器的命令程序存储路径
显示:echo KaTeX parse error: Unexpected character: '' at position 6: PATH ̲命令程序:/usr/bin *…运算符显示变量的值
8.常见的Linux文件类型
(1)普通文件:
文本文件:存储ASCLL码
二进制文件
注意:代号为-,白色
(2)目录:
作用:相当于Windows中的文件夹
注意:代号为d,蓝色
(3)连接文件:
相当于Windows的快捷方式,是一种指向式文件
注意:代号为l,绿色
(4)设备文件
作用:linux中一切数据皆文件,设备也是一种文件,可编辑
注意:代号为(b c等),黄色
A-Z ↩︎