资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

序列提取linux命令 linux提取文件命令

linux的常用命令有那些

linux常用命令(基础)

10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有通山免费网站建设让你可以放心的选择与我们合作。

1. man 对你熟悉或不熟悉的命令提供帮助解释

eg:man ls 就可以查看ls相关的用法

注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。

2. ls 查看目录或者文件的属*,列举出任一目录下面的文件

eg: ls /usr/man

ls -l

a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link)

b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。

3. cp 拷贝文件

eg: cp filename1 filename2 //把filename1拷贝成filename2

cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c

4. rm 删除文件和目录

eg: rm 1.c //将1.c这个文件删除

5. mv 移走目录或者改文件名

eg: mv filename1 filename2 //将filename1 改名为filename2

mv qib.tgz ../qib.tgz //移到上一级目录

6. cd 改变当前目录 pwd 查看当前所在目录完整路径

eg: pwd //查看当前所在目录路径

cd netseek //进入netseek这个目录

cd //退出当前目录

7. cat,more命令

将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示

eg; cat1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。

cat 1.c 或more 1.c //都可以查看里面的内容。

gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。

8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。

eg: chmod u+x filenmame //只想给自己运行,别人只能读

//u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行

chmod g+x filename //同组的人来执行

9. clear,date命令

clear:清屏,相当与DOS下的cls;date:显示当前时间。

10. mount 加载一个硬件设备

用法:mount [参数] 要加载的设备 载入点

eg: mount /dev/cdrom

cd /mnt/cdrom //进入光盘目录

11. su 在不退出登陆的情况下,切换到另外一个人的身份

用法: su -l 用户名(如果用户名缺省,则切换到root状态)

eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

12.whoami,whereis,which,id

//whoami:确认自己身份

//whereis:查询命令所在目录以及帮助文档所在目录

//which:查询该命令所在目录(类似whereis)

//id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)

eg: whoami //显示你自已登陆的用户名

whereis bin 显示bin所在的目录,将显示为:/usr/local/bin

which bin

13. grep,find

grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索

eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件

14. kill 可以杀死某个正在进行或者已经是dest状态的进程

eg; ps ax

15. passwd 可以设置口令

16. history 用户用过的命令

eg: history //可以显示用户过去使用的命令

17. !! 执行最近一次的命令

18. mkdir命令

eg: mkdir netseek //创建netseek这个目录

19. tar 解压命令

eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里

20. finger 可以让使用者查询一些其他使用者的资料

eg: finger //查看所用用户的使用资料

finger root //查看root的资料

linux有什么命令可以提取指定的字符串

1. 例子

提取字符串以下字符串 error: 与 : 之间的子字符串。并消除空格。

"src/network/misc/nv_net_udp.c:17: fatal error: nv_net_tools.h: No such file or directory"1

2. 命令

echo "src/network/misc/nv_net_udp.c:17: fatal error: nv_net_tools.h: No such file or directory" | sed -r 's/.*error\:(.*)\:.*/\1/' | sed s/[[:space:]]//g1

该命令涉及 sed 命令的’反向引用’章节, \1 代表 (.*)

3. 结果

nv_net_tools.h1

4. 拓展 : 解决编译错误

leon$  make clean  make all arm-hisiv100nptl-linux-gcc -c -fPIC -Wall -g -ggdb -O0 -DHI3518_CHIP -DLINUX -I./src/include -I./src/include/common -I./src/include/camera -I./src/include/conf -I./src/include/log -I./src/include/network -I./src/include/upnp -I/home/leon/nvc/arm-hisiv100nptl-linux/include src/common/nv_conf.c -o build/objs/hi3518/src/common/nv_conf.o/*省略中间部分*/arm-hisiv100nptl-linux-gcc -c -fPIC -Wall -g -ggdb -O0 -DHI3518_CHIP -DLINUX -I./src/include -I./src/include/common -I./src/include/camera -I./src/include/conf -I./src/include/log -I./src/include/network -I./src/include/upnp -I/home/leon/nvc/arm-hisiv100nptl-linux/include src/network/misc/nv_net_udp.c -o build/objs/hi3518/src/network/misc/nv_net_udp.o

src/network/misc/nv_net_udp.c:17: fatal error: nv_net_tools.h: No such file or directory

compilation terminated.make: *** [build/objs/hi3518/src/network/misc/nv_net_udp.o] Error 112345678

note: 在以上编译过程中我们发现,编译器提示说找不到nv_net_tools.h文件,而现实中我们也不需要这个文件的包含了,需要删除包含nv_net_tools.h 文件中的该行代码。

5.字符串提取 (命令行)

目标字符串

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 12

需要提取 from , to, url , md5, level 等5个关键字后面的内容。

//提取 from  内容echo

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 |  sed "s/.*from:\(.*\)/\1/" |  cut -d ',' -f1

//提取 to 内容echo

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 |  sed "s/.*to:\(.*\)/\1/" |  cut -d ',' -f1

//提取 url  内容echo

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 |  sed "s/.*url:\(.*\)/\1/" |  cut -d ',' -f1

//提取 md5 内容echo

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 |  sed "s/.*md5:\(.*\)/\1/" |  cut -d ',' -f1

//提取 level 内容echo

"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0 |  sed "s/.*level:\(.*\)/\1/" |  cut -d ',' -f112345678910111213141516

6.字符串提取 (脚本文件)

ret_val="\"from\":\"0804020982\",\"to\":\"0804020998\",\"url\":\"\",\"md5\":\"408d261924e6c271200fdf14d3a230cc\",\"level\":0"

echo ret_val is : [ $ret_val ]from="$(echo $ret_val | sed 's/.*from\"\:\(.*\)/\1/' |  cut -d ',' -f1 |  sed 's/"//g')"

echo from: $from

to="$(echo $ret_val | sed 's/.*to\"\:\(.*\)/\1/' |  cut -d ',' -f1 |  sed 's/"//g')"

echo to: $to

url="$(echo $ret_val | sed 's/.*url\"\:\(.*\)/\1/' |  cut -d ',' -f1 |  sed 's/"//g')"

echo url: $url

md5="$(echo $ret_val | sed 's/.*md5\"\:\(.*\)/\1/' |  cut -d ',' -f1 | sed 's/"//g')"

echo md5: $md5

level="$(echo $ret_val | sed 's/.*level\"\:\(.*\)/\1/' |  cut -d ',' -f1 | sed 's/"//g')"

echo level: $level12345678910111213141516171819

执行结果:

ret_val is : [ "from":"0804020982","to":"0804020998","url":"","md5":"408d261924e6c271200fdf14d3a230cc","level":0 ]

from: 0804020982

to: 0804020998

url: : 408d261924e6c271200fdf14d3a230cc

level: 0

I.总结

要注意命令行执行,与脚本文件执行之间的差异性。

linux下怎么用c获取硬盘物理序列号

1、在Linux系统中通过C语言获取硬盘序列号,可以借助于ioctl()函数,该函数原型如下:

int ioctl(int fd, unsigned long request, ...);

ioctl的第一个参数是文件标识符,用open()函数打开设备时获取。

ioctl第二个参数为用于获得指定文件描述符的标志号,获取硬盘序列号,一般指明为HDIO_GET_IDENTITY。

ioctl的第三个参数为一些辅助参数,要获取硬盘序列号,需要借助于struct hd_driveid结构体来保存硬盘信息 ,该结构体在Linux/hdreg.h中,struct hd_driveid的声明如下

struct hd_driveid {

unsigned short    config;        / lots of obsolete bit flags */

unsigned short    cyls;        /* Obsolete, "physical" cyls */

unsigned short    reserved2;    /* reserved (word 2) */

unsigned short    heads;        /* Obsolete, "physical" heads */

unsigned short    track_bytes;    /* unformatted bytes per track */

unsigned short    sector_bytes;    /* unformatted bytes per sector */

unsigned short    sectors;    /* Obsolete, "physical" sectors per track */

unsigned short    vendor0;    /* vendor unique */

unsigned short    vendor1;    /* vendor unique */

unsigned short    vendor2;    /* Retired vendor unique */

unsigned char    serial_no[20];    /* 0 = not_specified */

unsigned short    buf_type;    /* Retired */

unsigned short    buf_size;    /* Retired, 512 byte increments

* 0 = not_specified

*/

……

};

2、源代码如下

#include stdio.h

//ioctl()的声明头文件

#include sys/ioctl.h

//硬盘参数头文件, hd_driveid结构声明头文件

#include linux/hdreg.h

//文件控制头文件

#include sys/fcntl.h

int main()

{

//用于保存系统返回的硬盘数据信息

struct hd_driveid id;

//这里以第一块硬盘为例,用户可自行修改

//用open函数打开获取文件标识符,类似于windows下的句柄

int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);

//失败返回 

if (fd  0) {

perror("/dev/sda");

return 1; }

//调用ioctl()

if(!ioctl(fd, HDIO_GET_IDENTITY, id))

{

printf("Serial Number=%s\n",id.serial_no);

}

return 0;

}

编译完成后,执行效果如下:

samtools建立fasta索引

本文摘抄自:

侵删!

fasta是常用的序列存储格式,很多软件(如GATK、IGV等)在导入序列以及进行快速查找时通常需要建立索引文件。下面就来介绍如何使用 samtools 便捷的建立fasta文件的索引以及快速进行序列提取。

1 建立索引

建立索引只需在Linux下输入命令:samtools faidx input.fa

这里序列文件为 input.fa,生成的索引文件以 .fai 结尾。需要注意的是,输入的fasta文件的每条序列除最后一行外,其余行的长度必须相同,否则会报错哦!最后生成的.fai文件如下, 共5列,以制表符分隔;

第一列 NAME : 序列的名称,只保留“”后,第一个空白之前的内容;

第二列 LENGTH : 序列的长度,单位为bp;

第三列 OFFSET : 第一个碱基的偏移量,从0开始计数,换行符也统计进行;

第四列 LINEBASES : 除了最后一行外, 其他代表序列的行的碱基数, 单位为bp;

第五列 LINEWIDTH : 行宽, 除了最后一行外, 其他代表序列的行的长度,包括换行符,在windows系统中换行符为\r\n,要在序列长度的基础上加2。

2 提取序列

除建立索引外,还可以利用samtools方便的提取序列,例如:

samtools faidx input.fa chr2 chr2.fa,会得到含chr2这条序列的fasta格式的文件,如果是多条序列,只需在文件后罗列需提取的序列ID即可,使用空格分隔,如 samtools faidx input.fa chr1 chr2 chr3 chr.fa。

再如:samtools faidx input.fa chr2:1-1000 chr2.fa,能得到chr2序列的第1到第1000个碱基的fasta格式的文件,同样可以提取多条序列。

samtools 安装

如何读取Linux内核磁盘序列号

linux下可以使用hdparm命令查看硬盘的信息。 你可以在C语言里面,调用hdparm,并获取其输出信息即可。 也可以查找hdparm程序的源代码,把查找序列号的代码加进来。

怎么把核苷酸序列保存到linux

1、首先连接相linux主机,进入到linux命令行状态下,等待输入shell指令。

2、然后用vi打开编辑的核苷酸序列,按ESC键盘输入w。

3、最后按下回车键执行保存命令即可。


分享标题:序列提取linux命令 linux提取文件命令
分享URL:http://cdkjz.cn/article/doosese.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220