Linux Intro - Remove 302 字符】的更多相关文章

I have a file originally provided from a SQL database on a Windows platform. I transfer the file via ftp in binary format, remove the ^M's from the end of all lines. I have attempted to use tr ( cat infile | tr -d '\240' ) and sed (cat infile | sed '…
关键字:字符驱动.动态生成设备节点.helloworld linux驱动编程,个人觉得第一件事就是配置好平台文件,这里以字符设备,也就是传说中的helloworld为例~ 此驱动程序基于linux3.0的内核,exynos4412开发板. 首先,打开平台文件,此开发板的平台文件是arch\arm\mach-exynos\mach-itop4412.c,不同平台位置是不一样的. 申明一下设备信息,这里以编译进kernel为例 #ifdef CONFIG_HELLO_CHAR_CTL struct…
Linux 下查看文件字符编码和转换编码 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 一,查看文件编码: 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果你只是想查看其它编码格式的文件…
深入浅出:Linux设备驱动之字符设备驱动 一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流的设备,常见的字符设备有鼠标.键盘.串口.控制台和LED设备等. 块设备:是指可以从设备的任意位置读取一定长度数据的设备.块设备包括硬盘.磁盘.U盘和SD卡等. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.linux用户程序通过设备文件(或称…
块设备:系统能够随机无序访问固定大小的数据片的设备,这些数据片称为块.块设备是以固定大小长度来传送资料的,它使用缓冲区暂存数据,时机成熟后从缓存中一次性写入到设备或者从设备中一次性放到缓存区.常见的块设备有硬盘.CD-ROM驱动器.Flash闪存等等,它们也是通过文件形式存在于Linux中的.Linux以"b"表示块设备. 字符设备:按照字符流方式被有序访问,以不定长度的字元传送资料,不存在缓冲区,所以对这种设备的读写都是实时的,比如键盘.串口.印表机等等.Linux以"c&…
linux中c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限.linux文件属性解读:文件类型:-:普通文件 (f)d:目录文件b:块设备文件 (block)c:字符设备文件 (character)l:符号链接文件(symbolic link file)p:命令管道文件(pipe)s:套接字文件(socket)文件权限: 9位,每3位一组,每一组:rwx(读,写,执行),当改组不具有某一权限用-代替.第一组为: 文件拥有者的权限, 该文件的拥有者可以读写,…
转自:http://www.2cto.com/os/201109/104833.html 今天配置linux的dns服务器,在配置的时候,在linux下修改配置文件感觉很麻烦,于是想到把配置文件拿到windows上修改后在应用到linux上.当我把linux上的配置文件通过文本文档修改好后,传到linux上用cat命令查看的时候发现每一行最后多了一个^M的字符,只好再用vi打开,一行一行的删除.       后来查了一下资料才知道,原来是dos与linux的断行字符的不同导致的,从而也就有了更好…
在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參考. 本文中被操作的文件为TestFile.txt,当中的内容例如以下: 可见.仅仅有第三行和第五行的第一个"123"变成了"321".第一行的"123"没有被替换.由于命令是从第二行開始运行的.         2) :n,$s/str1/str2…
1.申请设备号 #include <linux/fs.h> int register_chrdev_region(dev_t first, unsigned int count, char *name); 静态分配字符设备号,从fist开始的count个,name为设备名称(name会出现在/proc/devices和sysfs中),成功返回0,失败返回一个负的错误码 int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, un…
本文转载自:http://blog.csdn.net/coding__madman/article/details/51346532 下面先通过一个编写好的内核驱动模块来体验以下字符设备驱动 可以暂时先忽略下面的代码实现! memdev.c #include <linux/module.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/cdev.h> #include <a…
一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流的设备,常见的字符设备有鼠标.键盘.串口.控制台和LED设备等. 块设备:是指可以从设备的任意位置读取一定长度数据的设备.块设备包括硬盘.磁盘.U盘和SD卡等. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.linux用户程序通过设备文件(或称设备节点)来使用驱动程序操作字符设备和块设备…
转载:http://blog.csdn.net/adaptiver/article/details/7225980 1.   引子 编译2.6.35.7 kernel版本的时候发现,“2.6.35.7“的内核版本编译成功后生成的版本号变成了“2.6.35.7+”,为什么后面会多一个加号呢?问题出现在linux的版本控制这一块: 打开Makefile我们可以在文件的最上面可以发现 VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 35 EXTRAVERSION = .7…
函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include<ctype.h> 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试. 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(0…
/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************…
1. 启动时进入字符界面,后来想切换到图形界面:使用startx 或 init 5 (注:startx只是在原有运行级别3上加了图形界面,运行级别没变,而init 5 则是切换到运行级别5,所以要重新登录.可用runlevel 命令查看当前运行级别和上一次运行级别) 2. 启动时进入图形界面,后来想切换到字符界面: 使用Ctrl+Alt+F1~Ctrl+Alt+F6,可切换到不同的字符控制台(只是六个字符控制台,此外没有区别),再使用Ctrl+Alt+F7可切换回图形界面: 如果是在虚拟机vmw…
Symptom Dos和Linux下面的断行字符是不一样的,至于哪里不一样的呢,先举个例子看一看 Cause 我们也可以使用cat -A filename分别查看Dos和Linux下创建的文件,会发现Dos下面以^M$作为断行符,称为CR与LF两个字符(\r\n),Linux下面仅以$(LF)作为断行符(\n).这个断行符对Linux影响是很大的,如果这一点不清楚在编写shell的时候很容易踩进坑,却不知道问题在哪,说多了都是泪. Linux下命令在开始执行的时候它的判断依据是Enter,lin…
在上一篇中我们已经了解了字符设备驱动的原理,也了解了应用层调用内核函数的机制,但是我们每次操作设备,都必须首先通过mknod命令创建一个设备文件名,比如说我们要打开u盘,硬盘等这些设备,难道我们还要自己创建,就如同刘老师常说的一句话,这也太山寨了吧,所以我们今天我们来点比较专业的,让函数帮我们自动创建: 在Linux 下,设备和驱动通常都需要挂接在一种总线上,总线有PCI.USB.I2C.SPI 等等,总线是处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连,一总线来管理设备和驱动函…
一:字符设备驱动 在linux下面,应用层看到的一切皆为文件(名字)所有的设备都是文件,都可以调用open,read,write来操作,而在内核中每个中每个设备有唯一的对应一个设备号: APP   (名字)             OS      (设备号) HW 下面我们写一个简单的字符设备驱动,再应用层我们打开一个设备,看看它是怎么来调用内核中的函数的: 首先我们使用命令mknod 创建一个名为wangcai的设备名,在应用曾打开它: mknod /dev/设备文件名  c   主设备号  …
参考转载博客:http://blog.chinaunix.net/uid-26833883-id-4369060.html https://www.cnblogs.com/xiaojiang1025/p/6181833.html http://blog.csdn.net/yueqian_scut/article/details/45938557 http://www.cnblogs.com/geneil/archive/2011/12/03/2272869.html http://blog.cs…
一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流的设备,常见的字符设备有鼠标.键盘.串口.控制台和LED设备等. 块设备:是指可以从设备的任意位置读取一定长度数据的设备.块设备包括硬盘.磁盘.U盘和SD卡等. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.linux用户程序通过设备文件(或称设备节点)来使用驱动程序操作字符设备和块设备…
  使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容. 这时,使用查找功能尤为重要. 方法如下: 1.命令模式下输入“/字符串”,例如“/Section 3”. 2.如果查找下一个,按“n”即可. 要自当前光标位置向上搜索,请使用以下命令: /pattern Enter 其中,pattern表示要搜索的特定字符序列. 要自当前光标位置向下搜索,请使用以下命令: ?pattern Enter 按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的…
本文转载自:https://blog.csdn.net/kangear/article/details/17020835 原文地址:http://blog.csdn.net/adaptiver/article/details/7225980 转载说明:你可能想不到,是git管理的“问题”,看下面的解析,对于u-boot也是有同样的效果. 问题解决方案:         1.删除.git目录          2.去掉CONFIG_LOCALVERSION_AUTO且将LOCALVERSION变量…
当我们把文件从Windows传到Linux环境时候,常常在每一行的末尾,会出现一些 ^M的字符.而这些字符会影响文件的正常读写和执行; 要去掉这些'^M'字符,有很多种办法,比如直接dox2unix,也可以使用一些命令去处理.比如: 删除Windows文件“造成”的'^M'字符: # cat file | tr -d "\r" > new_file 或者# cat file | tr -s "\r" "\n" > new_file  …
Windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,我们看看文件格式有什么不同.*注:“^M”,需要使用Ctrl + V + Ctrl + M键入,而不是数字6上面的^+字母M. 在Linux下查看文件格式: # file filename # 20140304110001.csv: ISO-8859 text //不带有^M # 20140304110002.csv: ISO-8859 text, wit…
linux卸载或删除软件时,若不小心删除到关联的软件,如果想撤销删除操作需要在/var/log/apt/history.log中依次安装删除的软件,具体操作如下: $echo '#!/bin/bash' > restore $echo sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e…
很多时候windows环境中编辑过的文件,在Linux下经常会出现^M字符,可以通过以下方式处理该字符. vim命令打开文件,然后在vim命令模式下输入以下内容: :%s/^M//g特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m 或: 打开一个terminal命令窗口,输入以下命令: sed -i 's/^M/g'  filename特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m…
兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用File对象在操作windows的路径时,非常的不好操作,因为不知道要用多少个斜杠“\”来表示. 斜杠“\”为转义字符(参考:http://www.cnblogs.com/EasonJim/p/6561576.html). 而java的File对象上无论是windows还是linux,输入的路径不管标…
一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用驱动程序: 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据.字符设备是面向流的设备,常见的字符设备有鼠标.键盘.串口.控制台和LED设备等. 块设备:是指可以从设备的任意位置读取一定长度数据的设备.块设备包括硬盘.磁盘.U盘和SD卡等. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.linux用户程序通过设备文件(或称设备节点)来使用驱动程序操作字符设备和块设备…
在Linux中,cat -A file可以把文件中的所有可见的和不可见的字符都显示出来,在Vim中,如何将不可见字符也显示出来呢?当然,如果只是想在Vim中查看的话,可以这样:%!cat -A在Vim中调用cat转换显示.这样的做法不便于编辑,其实Vim本身是可以设置显示不可见字符的. 只需要:set invlist即可以将不可见的字符显示出来,例如,会以^I表示一个tab符,$表示一个回车符等. 最后,:set nolist可以回到正常的模式.…
内核内部使用struct cdev结构来标识字符设备,在内核调用设备的操作之前,必须分配并注册一个或者多个上述结构,为此,我们的代码需要包含<linux/cdev.h>,其中定义了这个结构以及相关的辅助函数: 分配和初始化 分配和初始化上述结构的方式分为两种: 1. 如果打算在运行的时候获取一个独立的cdev,需要使用下面代码: struct cdev *my_cdev = cdev_alloc(); my_cdev->ops = &my_ops; 2. 如果将cdev结构嵌入到…