文本文件编辑
cat
cat命令用于查看纯文本文件(内容较少的),语法格式为“cat [参数] 文件名称”
如:
# cat -n /etc/passwd
more
more命令用于查看纯文本文件(内容较多的),语法格式为“more [参数] 文件名称”
如:
# more /var/log/messages
head
head命令用于查看纯文本文件的前N行,语法格式为“head [参数] 文件名称”
如:
# head -n 15 /etc/passwd
tail
tail命令用于查看纯文本文件的后N行或持续刷新文件的最新内容,语法格式为“tail [参数] 文件名称”; -f 参数为实时查看
如:
# tial -n 15 /var/log/messages
# tail -f /var/log/messages
tr
tr命令用于替换文本内容中的字符,语法格式为“tr [原始字符] [目标字符]”
如:查看某个文档全部替换大写
# cat /etc/passwd | tr [a-z] [A-Z]
wc
wc命令用于统计指定文本文件的行数、字数或字节数,语法格式为“wc [参数] 文件名称”,参数 -l 统计行数,-w 统计单词,-c统计字节数
如:
# wc -l /etc/passwd
stat
stat命令用于查看文件的具体存储细节和时间等信息,语法格式为“stat文件名称”
Linux中的文件包含3种时间状态,Access Time(内容最后一次被访问的时间,简称为Atime),Modify Time(内容最后一次被修改的时间,简称为Mtime)及Change Time(文件属性最后一次被修改的时间,简称为Ctime)
在实际中,会发现修改内容后Mtime和Ctime同时改变,实际是 因为内容发生改变了,属性值大小当然也改变啊
如:
# stat /etc/passwd
grep
grep命令用于按行提取文本内容,语法格式为“grep [参数] 文件名称”
参数:日常用的多的就是-n 和 -v
如:
# grep /sbin/nologin /etc/passwd
cut
cut命令用于按列提取文本内容,语法格式为“cut [参数] 文件名称”
参数比较常用的-d 分割符,-f 查看的列数
如:提取所有用户名
# cut -d : -f 1 /etc/passwd
diff
diff命令用于比较多个文件之间内容的差异,语法格式为“diff [参数] 文件名称A 文件名称B”。参数–brief来确认两个文件是否相同,-c 来详细比较出多个文件的差异之处
# diff --brief a.txt b.txt
# diff -c a.txt b.txt
uniq
uniq命令用于去除文本中连续的重复行,语法格式为“uniq [参数] 文件名称”
只能去除相邻的重复行,中间不能夹杂其他文本行(非相邻的默认不会去重)
如:
# uniq test.txt
sort
sort命令用于对文本内容进行再排序,语法格式为“sort [参数] 文件名称”
参数:
如:上面的不相邻的去重
# sort -u test.txt
如:想查看下/etc/passwd用户根据UID排序
# sort -t : -k 3 -n /etc/passwd
文件目录管理
touch
touch命令用于创建空白文件或设置文件的时间,语法格式为“touch [参数] 文件名称”
参数:-a 修改 atime , -m 修改mtime,-d 同时修改atime和mtime
如:
# touch hello.txt
# touch -d "2020-04-09 12:30:45" hello.txt
mkidr
mkdir命令用于创建空白的目录,语法格式为“mkdir [参数] 目录名称”
递归用参数 -p
如:
# mkdir test
# mkdir -p m/n/o
cp
cp命令用于复制文件或目录,语法格式为“cp [参数] 源文件名称 目标文件名称”
参数:复制目录稍微注意下用参数 -r
如:
# cp a.txt b.txt
mv
mv命令用于剪切或重命名文件,语法格式为“mv [参数] 源文件名称 目标文件名称”
如:
# mv a.log c.log
rm
rm命令用于删除文件或目录,语法格式为“rm [参数] 文件 名称”
参数:
如:
# rm a.log
# rm -f a.log
dd
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,语法格式为“dd if=参数值of=参数值count=参数值bs=参数值”
参数:
如:新的服务器简单测试下硬盘的速度
# dd if=/dev/zero of=test bs=2G count=1
file
file命令用于查看文件的类型,语法格式为“file文件名称”
linux中一切皆文件。我们日常新建一些文件会像Windows一样添加上扩展名,只是为了很好的识别。没有扩展名就通过 file 来查看类型。
如:
# file /dev/sda
# file /etc/passwd
tar
tar命令用于对文件进行打包压缩或解压,语法格式为“tar参数 文件名称”
参数:
如:对/etc压缩,然后解压到指定的目录
# tar cvzf etc.tar.gz /etc
# tar xvzf etc.tar.gz -C /test/etc
输入输出重定向
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
输入重定向中用到的符号及其作用
输出重定向中用到的符号及其作用
如下:标准的输出,屏幕上有输出信息,但是不想输出到屏幕
如下:标准的输错误出,屏幕上有错误输出信息,但是不想错误信息输出到屏幕
如,不区分标准输出和错误输出,只要命令有输出信息则全部追加写入到文件中
还有输入重定向,看下区别:
一个有文件名,一个没有。
标准的是“命令+参数+对象”
第二个中的t.txt 实际已经不是对象了,是信息流数据了。
是将t.txt文件中的内容通过操作符导入到命令中了。