Linux-文件编辑

Linux-文件编辑

chgrp

作用

修改文件属组(change group)

使用说明

1
2
3
4
5
6
7
8
9
10
# 格式:chgrp [参数] [目录]
# 常用参数
# 和-v类似,但是-c是只显示发生修改的部分
-c, --changes like verbose but report only when a change is made
# 不显示报错
-f, --silent, --quiet suppress most error messages
# 输出对每个文件的处理过程
-v, --verbose output a diagnostic for every file processed
# 递归处理子目录
-R, --recursive operate on files and directories recursively

chown

作用

修改文件属组和属主(change owner)

使用说明

1
2
3
4
5
6
7
8
9
10
# 格式:chown [参数] 属主:属组 目标文件
# 常用参数
# 和-v类似,但是-c是只显示发生修改的部分
-c, --changes like verbose but report only when a change is made
# 不显示报错
-f, --silent, --quiet suppress most error messages
# 输出对每个文件的处理过程
-v, --verbose output a diagnostic for every file processed
# 递归处理子目录
-R, --recursive operate on files and directories recursively

chomd

作用

修改文件的权限(change mode)

使用说明

1
2
3
4
5
6
7
8
9
10
# 格式:chomd 参数 目标文件
# 常用参数
# 和-v类似,但是-c是只显示发生修改的部分
-c, --changes like verbose but report only when a change is made
# 不显示报错
-f, --silent, --quiet suppress most error messages
# 输出对每个文件的处理过程
-v, --verbose output a diagnostic for every file processed
# 递归处理子目录
-R, --recursive operate on files and directories recursively

权限说明

Linux中权限可以以两种方式说明,一种是符号,一种是数字

两者存在的对应关系如下

1
r:4   w:2   x:1

使用chmod修改文件权限

1
2
3
4
5
6
7
chmod rwxrw---x filename
# 两者作用一致
chmod 761 filename
# 说明:
# 7 -> r + w + x => 4 + 2 + 1 = 7
# 6 -> r + w + - => 4 + 2 + 0 = 6
# 1 -> - + - + x => 0 + 0 + 1 = 1

cat

作用

查看文件内容

使用说明

1
2
3
4
5
6
7
8
9
10
# cat [参数] 目标文件
# 常用参数
# 显示行号(空行也编号)
-n, --number number all output lines
# 显示行号(多个连续空行算一行)
-s, --squeeze-blank suppress repeated empty output lines
# 显示行号(空行不编号)
-b, --number-nonblank number nonempty output lines, overrides -n
# 在每一行结尾处加上一个$
-E, --show-ends display $ at end of each line

参考案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 将file1.txt文件中的内容输出到copy.txt
[root@zhima home]# cat file1.txt > copy.txt
[root@zhima home]# ls
copy.txt file1.txt university zhima
[root@zhima home]# cat copy.txt
abcdefg
[root@zhima home]# cat file1.txt
abcdefg

# 持续写入输入的内容到文件input.txt
# 直到输入了END,退出并保存
[root@zhima home]# cat > input.txt << END
> Hello
> world
> end
> END
[root@zhima home]# cat input.txt
Hello
world
end
# 再次执行就会覆盖原先文件
[root@zhima home]# cat > input.txt << e
> overide
> e
[root@zhima home]# cat input.txt
overide

more

作用

分页显示文件(只能向后浏览,不能向前)

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
# 格式:more [参数] 目标文件
# 常用参数
# 每页显示几行
-NUM specify the number of lines per screenful
# 不滚动,先清除屏幕再展示文本
-p do not scroll, clean screen and display text
# 不滚动,先展示文本再取出旧内容
-c do not scroll, display text and clean line ends
# 压缩多行连续空白到一行
-s squeeze multiple blank lines into one
# 从第几行开始显示
+NUM display file beginning from line number NUM

less

作用

分页显示文件内容(既可以向前浏览又可以向后浏览)

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
# 格式:less [参数] 目标文件
# 常用参数
-b 设置缓冲区的大小
-e 当文件显示结束后自动退出
-f 强制打开文件
-i 忽略搜索时的大小写
-m 显示阅读进度百分比
-N 显示每行的行号
-o 将输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 在单行显示较长的内容,而不换行显示
-x 将TAB字符显示为指定个数的空格字符

作用

显示文件开头内容(默认前10行)

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 格式:head [参数] 目标文件
# 常用参数
# 只显示开头前k个字符
# 加了-就是除了倒数k个字符不显示,其他都显示
-n, --lines=[-]K print the first K lines instead of the first 10;
with the leading '-', print all but the last
K lines of each file
# 只显示开头前k行
# 加了-就是除了倒数k行不显示,其他都显示
-c, --bytes=[-]K print the first K bytes of each file;
with the leading '-', print all but the last
K bytes of each file
# 显示文件名的头信息
-v, --verbose always print headers giving file names

tail

作用

查看文件尾部内容(默认倒数10行)

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
# 格式:tail [参数] 目标文件
# 常用参数
# 显示最后k个字符
-c, --bytes=K output the last K bytes; or use -c +K to output
bytes starting with the Kth of each file
# 持续显示文件最新追加的内容
-f, --follow[={name|descriptor}]
output appended data as the file grows;
an absent option argument means 'descriptor'
# 显示最后k行
-n, --lines=K output the last K lines, instead of the last 10;
or use -n +K to output starting with the Kth

rm

作用

删除文件

使用说明

1
2
3
4
5
6
7
8
9
10
# 格式:rm [参数] 目标文件
# 常用参数
# 强制删除
-f, --force ignore nonexistent files and arguments, never prompt
# 删除前询问
-i prompt before every removal
# 递归删除子文件夹
-r, -R, --recursive remove directories and their contents recursively
# 显示详细的命令执行过程
-v, --verbose explain what is being done

echo

作用

输出字符串或提取后的变量值

使用说明

1
# 格式:echo [参数] 字符串/$变量名

参考案例

1
2
3
4
5
6
7
8
9
10
11
12
# 显示study
[root@zhima home]# echo study
study

# 显示系统变量PATH的值
[root@zhima home]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# 将内容重定向到path.txt文件中
[root@zhima home]# echo $PATH > path.txt
[root@zhima home]# cat path.txt
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

grep

作用

文本搜索工具

与之容易混淆的是egrep命令和fgrep命令

egrep等价于grep -E,支持扩展的正则表达式。

fgrep等价于grep -F,不支持正则表达式,直接按照字符串内容进行匹配。

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 格式:grep [参数] 待搜索文本 目标文件1 目标文件2 ...
# 常用参数
# 忽略大小写
-i, --ignore-case ignore case distinctions
# 只显示匹配的行数
-c, --count print only a count of matching lines per FILE
# 不提示文件名
-h, --no-filename suppress the file name prefix on output
# 输出关键词位置的行号及内容
-n, --line-number print line number with output lines
# 显示不匹配的行
-v, --invert-match select non-matching lines
# 递归搜索
-r, --recursive like --directories=recurs
# 只列出匹配的文件名
-l, --files-with-matches print only names of FILEs containing matches
给作者买杯咖啡吧~~~