linux学习第三天

今天对liunx如何对文件重定向和vim的使用进行了一定的学习了解

一、文件重定向

1、简单介绍

首先要知道liunx中文件有三种方式,标准输入,标准输出,标准错误,以及对应的文件描述符。(liunx中的重要思想:一切皆文件)

文件解释文件描述符
标准输入从键盘中获取数据0
标准输出在屏幕上打印正确的数据1
标准错误在屏幕上打印错误提示2

2、如何文件重定向

(1)使用>进行文件重定向(默认把标准输出重定向到其他文件)
标准输出例: cat b.c > a 就是指本来将b.c打印到屏幕上的内容写到a中(如果没有a先自动创建a,有a则清空a中的内容在写入)
标准错误例:asdhjas 2> a就是将本来打印到屏幕上的错误提示写到a中(如果没有a先自动创建a,有a则清空a中的内容在写入)
(2)使用>>进行文件重定向
标准输出例: cat b.c >> a 就是指本来将b.c打印到屏幕上的内容写到a中(如果没有a先自动创建a,有a则不清空a中的内容在后面添加)
标准错误例:asdhjas 2>> a就是将本来打印到屏幕上的错误提示写到a中(如果没有a先自动创建a,有a则不会清空a中的内容在后面添加)
(3)特殊文件夹 /dev/null
如果你将文件重定向到/dev/null中文件内容将全部被清空,一般格式为 命令 >/dev/null 2>&1

二、对于Vim的基本使用

1、vim的三种模式

(1)命令行模式:用Vim进入后就是命令行模式,用ESC键从其他模式中返回命令行模式
(2)插入模式:在命令行模式下按按键i,a,o,s,I,A,O,S皆可以进入插入模式
(3)底行模式:在命令行模式下按:键进入底行模式

2、如何退出文件

(1)在命令行模式下按按键ZZ即可保存退出
(2)在底行模式下按按键x(保存并退出),按按键q(不保存退出,内容没有进行改写),按按键q!(强制退出,不保存),按按键w(保存,不退出),按按键wq(保存并退出)

3、在命令行模式中的一些使用方法

(1)跳转的命令

按键用途
G跳转到最后一行
gg跳转到首行
nG跳转到n行(n为要跳转到的行数)
w跳一个单词
nw跳n个单词
n方向键向上下左右移动n格
0跳转到当前行的起始位置
$跳转到当前行的末尾

(2)删除命令

按键用途
dd删除当前行(默认一行)
ndd删除从光标位置往下n行
D删除当前行光标后面的内容
d0删除当前行光标前面的内容
dw删除某个单词
x删除某个字母

(3)恢复上一次操作
u键
(4)复制
yy结构与删除命令一致,用p粘贴(无W的用法,复制光标后面的内容使用y$实现)
(5)其他一些命令

按键用法
r替换某个单词
R替换光标后面全部内容
%寻找对应大括号
gg=G自动格式

4、在底行模式中的一些命令使用

(1)/想查找的内容(正向查找),?想查找的内容(反向查找),用n选择下一个
(2)替换

命令格式实现功能
s/想要替换掉的内容/想替换成的内容只替换光标对应行的第一个想替换的内容
s/想要替换掉的内容/想替换成的内容/g替换光标对应行的全部想替换的内容
n,ms/想要替换掉的内容/想替换成的内容/g替换从n行到m行全部想替换的内容
%s/想要替换掉的内容/想替换成的内容/g替换全文想替换的内容(无提示)
%s/想要替换掉的内容/想替换成的内容/gc替换全文想替换的内容(每一次替换多有提示提示)

(3)分屏
垂直分屏

对应的分屏方法
垂直分屏sp想打开的新的文件
水平分屏vsp想打开的新的文件
分屏之间的切换(要在命令行模式下)ctrl键+ww

三、用“*”打印出0-360度的sin函数

#include <stdio.h>
#include <math.h>

int main()
{
	double i;
    int x,m;
    /*
	for(i=1;i>=-1;i-=0.1)
    {
        m=acos(i)*10;
        for(x=1;x<m;x++)
        printf(" ");
        printf("*");
        for(;x<62-m;x++)
    	printf(" ");
    	printf("*\n");
	}
    */   
	for(i=1;i>=0;i-=0.1)
    {
        m=asin(i)*10;
        for(x=0;x<m;x++)
        printf(" ");
    	printf("*");
    	for(;x<30-m;x++)
    	printf(" ");
    	printf("*\n");
    }
    for(i=0.1;i>=-1;i-=0.1)
    {
    	m=asin(i)*10;
    	for(x=1;x<34-m;x++)
    	printf(" ");
    	printf("*");
    	for(;x<63+m;x++)
    	printf(" ");
    	printf("*\n");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值