正文共:1888 字 16图 预估阅读时间:3 分钟
1、创建、查看、编辑文件
输入:对一个文件输入,除了键盘输入外,还可以通过一个文件输入。
输出:执行一个命令,会有相应的输出到屏幕上。输出有标准的正确输出和错误输出。
重定向:把一个输出结果,再输出到另一个文件或一个终端。
1.1、重定向
Linux中有三种标准输入输出:
STDIN(Standard Input):标准输入,默认从键盘读取信息。
STDOUT(Standard Output):标准输出,默认将输出结构输出至终端。
STDERR(Standard Error):标准的错误信息,默认也会显示在终端上。
由于STDOUT与STDERR都是默认显示在终端上,为了区分:
0:表示STDIN,标准输入。
1:表示STDOUT,标注输出,默认为1。
2:表示STEDERR,标准错误。
&:表示所有的正确和错误输出。
例:将ls显示内容写入到f1文件。
“>”:不在屏幕上打印内容,将内容写到文件中,这种方式称为重定向。如果命令错误,则不会向文件中写入。
禁止覆盖重定向现有文件,如果还是要强制覆盖,使用“>|”。
set -C
允许覆盖重定向:
set +C
1.2、输出重定向
1.2.1、标准正确输出重定向
“1>“:覆盖式重定向。不带前面的1,默认为正确输出。
“1>>”:以追加的方式重定向。
1.2.2、标准错误输出重定向
“2>“:覆盖。
“2>>“:追加。
1.2.3、怎么同时把标准正确和错误的输出重定向到同一个文件?
例:”echo hello > /mnt/f1 2>&1”这个命令等价于”echo hello &> /mnt/f1”,最常见的是前面一种,因为第二种“&>“只能在bash中识别。
1.3、输入重定向
从一个文件的标准输出,再把这个输出作为输入到另一个文件。
1.3.1、cat
cat 默认将键盘的输入,输出到屏幕上。
通过键盘输入,重定向到f1这个文件,以ctrl+d结束。
cat > /tmp/f1
把/etc/passwd这个文件内容作为输出给cat,然后重定向到f1这个文件。
cat > /tmp/f1 < /etc/passwd
1.3.2、tr
tr用来从标准输入中通过替换或删除操作进行字符转换,默认为替换,-d表示删除指定字符,-s表示删除所有重复出现的字符序列,只保留第一个。
将文件中小写字母换成大写,这个操作不会更改文件内容。
tr ‘a-z’ ‘A-Z’ < /mnt/f1
替换字符,将a替换1,b替换2,c替换3。
tr abc 123 < /tmp/f1
1.4、管道
1.4.1、|
把管道符前面的命令的标准输出,当作后面命令的输入。在操作之前,建议将系统文件先复制一份,以免影响系统的运行。
然后执行(在这里grep作用是搜索文件匹配指定模式的行,然后输出到屏幕):
cat /mnt/passwd | grep root
例:将f1文件中的数据变为大写重定向到f2,在这里不能重定向到原文件,只能重定向到新文件。
cat /mnt/f1 | tr ‘a-z’ ‘A-Z’ > /mnt/f2
1.4.2、tee
tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中,需要注意的是:在使用管道时,前一个命令的标准错误输出不会被tee取代。
tee,默认覆盖保存。-a,追加保存。
echo hello | tee /mnt/f1
1.5、read命令
接受标准输入(键盘)的输入,得到输入后,read命令将数据放入到一个标准变量中。
将键盘的输入,存放到name这个变量中:read name。
取变量的值:echo $name。
-p,打印一句话,然后等用户输入:read -p “Input your name:“ name。
1.6、vi和vim
vi和vim都是文本编辑器,vim是vi的升级版。vim会高亮显示,vi不会。
1.6.1、命令行模式
首先使用”vi /mnt/passwd”,进入passwd文件,默认进入的就是命令行模式。
1.6.2、编辑模式
从命令行进入编辑模式的方式:
回到命令行模式,按esc键,切换到其他模式必须先回到命令行模式,再切换。图形化下用鼠标复制粘贴内容,要先进入编辑模式,否则会掉东西。
1.6.3、末行模式
进入vim内置的命令行接口(在命令行模式下:)
例:全局替换,将所有root替换为ROOT。
:1,$s/root/ROOT/g
1.6.4、visual可视模式
最主要的功能:可以分区块的选中文件内容。
v:选中连续字符,然后可以用x删除,d剪切,y复制。
V:选中整行。
Ctrl+v:选中区块,注意:XShell不支持。
在连续的多行前面添加一个#号:1、必须使用vim,进入文件后,ctrl+v。按下大写l,然后使用#,最后esc退出。
注意:一个文件,不能同时被多个人编辑,会造成文件损坏。正在编辑的文件,会在文件当前目录产生一个.swap缓存文件,,如果当另一个程序打开此文件时,发现了这个.swap文件,表示此文件已经在被编辑,不允许同时编辑如果这时。如果意外退出vim,可通过这个缓存文件找到之前编辑的内容。比如,正在用vim编辑的文件,ctrl+z,将该操作放到后台;jobs,查看后台运行程序,找到刚才的命令编号;kill -9 %1,杀掉该命令,模拟意外中断。这时,再用vim打开该文件,会有提醒:有多人打开这个文件;2、这个文件上次编辑时,意外中断。可以按提示,R恢复文件,D删除缓存文件等。
1.6.5、同时编辑多个文件
vim f1 f2
:file:列出打开的所有文件。
:n:切换到下一个文件。
:N:切换到上一个文件。
:wall:保存所有。
:qall:退出所有。
-o:多个文件同时打开,水平分割显示。
-O:多个文件同时打开,垂直分割线显示。
1.6.6、定制vim
配置文件:/etc/vimrc
~/.vimrc
注意,用户家目录下的.vimrc,默认没有需要自己创建。
vim ~/.vimrc
默认开启行标:
set nu
开启括号匹配,高亮显示。
set showmatch
忽略大小写:set ic
一个tab宽度为4的空格宽度:
set ts=4
用space代替tab:
set expandtab
开启自动缩进:
set ai
缩进时,默认8个空格,使用4个空格:
set sw=4
长按二维码
关注我们吧