生信入门系列之Linux入门(二):基础命令(中)

上一期中我们介绍了几个简单的Linux基础命令,这一期继续介绍常用的文件处理命令。

· 正· 文· 来· 啦·

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

语法

less[参数]文件

参数说明

-b 设置缓冲区的大小

-e 当文件显示结束后,自动离开

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g 只标志最后搜索的关键词

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-N 显示每行的行号

-o 将less 输出的内容在指定文件中保存起来

-Q 不使用警告音

-s 显示连续空行为一行

-S 行过长时间将超出部分舍弃

-x 将"tab"键显示为规定的数字空格

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一页

回车键 滚动一行

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

实例:

less log2013.log log2014.log

输入 “:n” : 切换到 log2014.log

输入 ":p" : 切换到log2013.log

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

ls -l 可以显示档案的时间记录。

语法

touch[-acfm][-d][-r][-t][--help][--version][文件或目录…]

参数说明

a 改变档案的读取时间记录。

m 改变档案的修改时间记录。

c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

f 不使用,是为了与其他 unix 系统的相容性而保留。

r 使用参考档的时间记录,与 --file 的效果一样。

d 设定时间与日期,可以使用各种不同的格式。

t 设定档案的时间记录,格式与 date 指令相同。

--no-create 不会建立新档案。

--help 列出指令格式。

--version 列出版本讯息。

实例

使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:

$ touch testfile#修改文件的时间属性

paste命令用于合并文件的列。

paste指令会把每个文件以列对列的方式,一列列地加以合并。

语法

paste[-s][-d][--help][--version][文件...]

参数

-d或--delimiters=  用指定的间隔字符取代跳格字符。

-s或--serial  串列进行而非平行处理。

--help  在线帮助。

--version  显示帮助信息。

[文件…] 指定操作的文件路径

实例

使用paste指令将文件"file"、"testfile"、"testfile1"进行合并,输入如下命令:

paste file testfile testfile1#合并指定文件的内容

但是,在执行以上命令之前,首先使用"cat"指令对3个文件内容进行查看(用法见上一期推送)

read命令用于从标准输入读取数值。

read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

语法

read[-ers][-a aname][-d delim][-i text][-n nchars][-N nchars][-p prompt][-t timeout][-u fd][name...]

参数说明:

-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。

-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。

-p 后面跟提示信息,即在输入前打印提示信息。

-e 在输入的时候可以时候命令补全功能。

-n 后跟一个数字,定义输入文本的长度,很实用。

-r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。

-s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。

-t 后面跟秒数,定义输入字符的等待时间。

-u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

实例

1、简单读取

#!/bin/bash#这里默认会换行

echo"输入网站名: "

#读取从键盘的输入

read website echo"你输入的网站名是 $website"

exit#退出

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。chmode命令用于改变文件的使用权限

使用权限: 所有使用者

语法

chmod[-cfvR][--help][--version]mode file...

参数说明

mode : 权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作

-f : 若该文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

实例

将文件 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt

将文件 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt

也可以用数字表示文件权限属性:

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

下面两条的效果是相同的:

chmod a=rwx file

chmod777file #三位数字从左到右分别表示User、Group、及Other的权限

cut命令用于显示每行从开头算起 num1 到 num2 的文字。

语法

cut[-bn][file]cut[-c][file]cut[-df][file]

使用说明:

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

参数:

-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的

范围之内,该字符将被写出;否则,该字符将被排除

实例

当你执行who命令时,会输出类似如下的内容:

$ whorocrocket:2009-01-0811:07rocrocket pts/2009-01-0811:23(:0.0)rocrocket pts/12009-01-0814:15(:0.0)

如果我们想提取每一行的第3个字节,就这样:

$ who|cut-b3cc

(待续)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604G06QZD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券