Ⅰ linux shell里,怎样敲入 制表符
1、对齐
先输入选择题题干,然后只需对选择题选项所在段设置一个左对齐制表符,制表符所在位置可根据需要适当调整。设置完后输入选项A的内容,按键盘上的Tab键使插入点移至下一制表符所在位置后输入选项B的内容,按回车键。然后同理再输入选项C、D内容。下面其他段落无需重新设置,因为已将上段制表符沿用,如不再需要,只需将该制表符删除
2、在公式一般居中和但其标题需要靠右,通常是敲空格使他们到达位置,但是一旦公式长度发生变化,则需要重新调整。表格标题之间也存在这个问题。
解决方法:在两者之间按tab键敲入制表符,选定,然后点击页面左上角的制表位图标,切换到居有制表位,用鼠标在水平标尺上右边位置点一下,这样就放置了一个居右制表位在点击的地方,如果位置不合适还可以用鼠标拖动进行调节。
好处:在于自动靠右调节功能,不受文本和页面改变影响
制表位图标还有,悬挂,首行缩进,居中,居左等方式
Ⅱ Linux相关使用介绍
Linux命令分为内部命令(shell自带的命令)和外部命令(不是shell自带的命令,由用户安装),怎么鉴别是内部命令和外部命令呢?可以通过type命令来鉴别
什么是shell呢?shell是一个程序,常用的有bash shell,平时我们通过用户名和密码登录到linux,其实就是登录到bash shell程序,通过bash shell来操作linux内核
命令执行流程
那岂不是说使用外部命令效率会很慢吗?
其实一点都不慢,它会去PATH环境变量设置的一堆目录中查找
cd is a shell builtin 表示内部命令
ifconfig is hashed (/usr/sbin/ifconfig) 表示外部命令
cd命令切换文件夹
现在我们cd /usr/sbin
通过cat命令查看文件内容
通过cat ifconfig来查看ifconfig,发现是乱码文件
file命令查看文件类型
输入file ifconfig
从输出信息可以看出它是一个二进制可执行文件
whereis命令查看文件位置
find / -name jdk
echo命令用户打印信息,相当于java中的system.out.println
可以使用回车查看下一行、空格查看下一页、q退出
一般使用man查看外部命令,help查看内部命令
查看linux下的应用和应用的进程号
当我们在这个窗口中输入kill -9 1593的话,另外一个正在编辑文件的进程就会退出
在前面我们已经讲过,bash shell程序在执行命令的一个过程及原理,对于外部命令,它会去PATH这个环境变量中查找执行命令所在的路径,当然在去PATH中寻找之前会先去hash表中查找这个命令有没有执行过,执行过的话会记录在hash表中,则此次查找只需从hash表中就可以很方便的找到
查看分区信息 -h 表示文件大小后面会显示文件大小
查看文件的使用情况
使用man ls 查看ls命令的相关介绍
-a:可以查看隐藏文件
-l:以长列表的形式展示文件列表信息
第一位 -:表示文件,d表示文件夹,b表示块设备文件,c表示字符设备文件,p表示命令管道文件,s表示套接字文件, 从第二位开始往后数九位表示属主权限(每三位一组 rwx:读、写、执行),第11位表示的点表示分隔符,点后面的数字表示文件有几个硬连接,第一个root代表属主名,第二个root代表这个第一个root所在的组织,接下来的5表示文件大小,5后面的日期表示文件最后一次修改的时间, 1.txt代表的文件或文件夹的名称
小结:
切换文件目录
cd 文件路径
cd:切换到家目录
cd ~:回到家目录(也就是家目录)
cd ..:回到上一级目录
创建目录
mkdir 目录名
mkdir -p 目录名,级联创建目录
cp 被拷贝的文件(可以是路径加文件名) 拷贝到哪个位置
复制目录使用
cp -r 被拷贝的目录 目标位置
移动命令
mv 被移动的文件 目标位置+目标文件名
rm 文件名(此中方式的删除需要再输入 yes)
rm -f 文件名,无提示直接删除
rm -rf 文件夹
ln命令默认创建的是硬连接
ln profile a:将a硬连接到profile文件上,他们底层共用一个文件,删除他们之中任何一个
对另外一个没有影响,同时你也可以使用 ll -i命令查看文件编号
ln -s profile a:将a软连接到profile文件,当你访问a的时候会去访问profile,profile再访问底层文件,当将profile删除了之后a就无法访问了
一致时间、创建新文本
touch 已存在的文件:会将文件的访问时间、更新时间、改变时间(即上面stat中介绍的三个时间)变成一致
touch 不存在的文件:会创建一个新的文本
cat命令查看文件内容
cat 1.txt:查看单个文件内容
cat 1.txt 2.txt:查看多个文件
more 1.txt:以分页的形式查看文件内容,按空格:下一页,回车:下一行(注意它不能回看,回看的话只能用鼠标回轮)
less 1.txt:使用空格下一页, b看上一页, 回车看下一行
注意less的话会把整个文件内容加载到内存,如果文件比较大的话,建议使用more命令查看
head命令默认查看文件前10行内容, head 1.txt
head -5 1.txt:查看文件前5行的内容
tail命令默认查看文件后10行的内容 tail 1.txt
tail -5 1.txt:查看文件后5行内容
tail -f 1.txt:实时查看文件增量内容
cat b.txt | head -3:管道左边的命令会以输出流的形式交给管道右边的命令,管道右边以输入流的形式接收并且拼到命令的右边
注意:ls -l 不能接受前面的输出流,这个怎么办呢?可以通过xargs命令
vi文本编辑器末行模式的操作
set nu(number的缩写): 设置行号
set nonu(nonumber的缩写):取消行号
set readonly:设置为只读
n:往下查找
N:往上查找
n:往上查找
N:往下查找
一般我们会在/etc/profile文件中设置一些环境变量,但是在设置的时候可能没有记住目录,这时候我们可以使用如下方式
效果
格式 :s/str1/str2/gi
/ : 临近s命令的第一个字符边界字符,也可以是 @或#
g : 一行内全部替换
i : 忽略大小写
范围
n:行号
. :当前光标行
+n :偏移n行
-3
%:全文
全部删除 1,$d
删除前三行
删除倒数第2行
光标挪到最后一行 按下小写的p
效果图
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特殊字符、及这些特定字符的组合组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
\ :转义字符
. :匹配任意单个字符
[1249a] :匹配中括号中任意字符
[^12] :匹配中括号中任意非1和2的字符
[a-k] :匹配中括号中任意a~k中的一个字符
^ :行首
$ :行尾
<abc> :单词首尾边界(匹配单词abc)
| :连接操作符
(,) : 选择操作符
\n :反向引用
? :匹配0到1次
在Linux中通过grep命令使用正则表达式来匹配信息
f :选择显示的列
s :不显示没有分隔符的行
d :自定义分隔符
n :按数值排序
r :倒序
t :自定义分隔符
K :选择排序列
u :合并相同行
f :忽略大小写
sed:行编辑器,以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作
sed [options] 'Command' file ...
-n :静默模式,不再默认显示模式空间(内存)中的内容
-i :直接修改原文件
-e SCRIPT :可以同时执行多个脚本
-f /PATH/TO/SED_SCRIPT
-r :表示使用扩展正则表达式
d :删除符合条件的行
p :显示符号条件的行
a \string :在指定的行后面追加新行,内容为string
\n :可以用于换行
i \string :在指定的行前面添加新行,内容为string
c :取代,c的后面可以接字符串
s /pattern/string/修饰符:查找并替换。默认只替换每行中第一次被模式匹配到的字符串
g :行内全局替换
i :忽略字符大小写
s///:s###,s@@@
(),\1,\2
sed "2p" ctxt
但是在执行下面的操作的时候文本中的内容都显示出来了,它的原理是,打印匹配的行,以及文本中所有的内容
注意:它删的是内存中的数据,而不是目标文件
sed -i "3d" ctxt
它的原理是先把内存中的第3行数据删除,然后再把内存中的数据写回原文件,这时原文件中的第三行就没有了
使用变量的形式
awk是一个强大的文本分析工具。
相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk -F '{pattern + action}' {filenames}
支持自定义分隔符,默认是以空格分隔的
支持正则表达式匹配
支持自定义变量,数组 a[1] a[tom] map(key)
支持内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
支持函数
print、split、substr、sub、gsub
支持流程控制语句
if、while、do/while、for、break、continue
练习题
passwd文件内容解读:
passwd文件中每行由7个字段组成,字段与字段之间由:分隔,第一个字段代表用户名,第二个字段表示用户对应的加密后的密码,第三个字段表示userId,第四个字段表示groupId,第五个字段表示对用户的描述,第六个字段表示用户的家目录,第七个字段表示的是这个用户默认使用的shell
其中$0表示整行
统计报表:合计每人1月工资, 0:manager,1:worker
将awk后面的内容封装到一个文件中(封装的脚本要遵循一定的格式)
qqq文件的内容格式
Ⅲ Linux文本操作常用命令
在Linux系统里常用于文本查看、操作、统计的命令:
通过多敲键盘,形成手感 肌肉记忆 ,熟练掌握这些命令,在以后生信分析中游刃有余。以下是每个命令的详细的介绍(主要是跟着 生信技能树小郭老师 学习做的笔记)
接下来通过示例把10个命令的常用参数和用法展示出来:
参数的用法介绍:
注意事项:
用 cat 命令可以 查看文本 ,也可以 编辑文本 ,编辑文本要加 > 符号,退出时,另起一行,按 control C 退出
zcat可以查看压缩的文本文件,tac逆向查看
结合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默认 10 行 (在R语言里head和tail默认是前6行)。
less命令用得最多 ,more命令用得比较少
3.1 less命令
less [参数] 文件名
less命令重要的补充用法1 :
需要注意 退出 :只要使用less命令, 按q键
less命令重要的补充用法2 :
参数用法:
less命令 不加参数 查看文件:
less命令加 -N参数 查看文件:显示行号
less命令加 -S参数 查看文件:单行显示,非常规整
对比:less和cat命令显示文本行号的用法:less -N,cat -n
3.2 more命令
**more ** 逐页查看,按空格翻页,按回车换行 ,more命令一般很少用,熟练掌握less命令就好
查看压缩文件
wc 统计字符是也把换行符统计进去,但是别的命令不一定会把换行符算进去,。
常见参数:
切记:用less命令,按q退出
cut命令是按关键词来切的
常见参数:
排列前:
排列后:
解释:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一个表格结构时,因为制表符对齐的原因,出现一个错位的现象。还有 字典排序 可能和我们平时的认知不一样,所以 加上-n参数 , 让数值有数学意义上的大小来排序 。
uniq命令去重,只有两行出现重复,而且是相邻的两行,如果不相邻,即使出现两行一模一样,不会去重。
uniq命令通常和sort命令搭配使用
换其它文件试试
总之,uniq命令使用时经常和sort一起
常见参数:
常见用法1:
paste file1 file2
-s :按行合并 演示
常见用法2 : paste - -
常见参数:
要养成一个好习惯,原始数据不要轻易修改,修改的东西另外保存,文本保存用> (重定向)或是 >>(追加)
1. 用 less 查看 example.gtf ,然后管道符传递给 wc
2. 截取 example.gtf 第 9 列的内容
3. 在第2步的基础上截取分号分割的第1列
4. 在第3步的基础上排序、去重复并统计
5. 在第4步的基础上,将空格替换成制表符
补充小知识 :
清屏 :control L
查看历史(输入过的)命令 :history
Ⅳ linux ifs是什么
Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符(internal field separator)。IFS环境变量定义了bash shell用户字段分隔符的一系列字符。默认情况下,bash shell会将下面的字符当做字段分隔符:空格、制表符、换行符。可查看《Linux就该这么学》了解更多Linux介绍。
Ⅳ linux-字符处理
linux基础-字符处理
linux管道命令(pipe)
菜鸟教程
管道是一种通信机制,通常用于进程间的通信,它表现出来的形式将前面每一个进程的输出直接作为下一个进程的输入。
管道命令使用 | 作为界定符号。
默认情况下,sort命令以第一列进行排序
反向排序
按指定列进行排序,默认是空白符,也可以用 -t 指定分隔符
第二列排序的时候可以加 -n 进行数值排序
进行排序后,排序结果会显示在终端,但是原文件不会改变,可以用-o重定向或者另存。用 > 覆盖某个文件会失败,数据被清空,但是用 >> 追加可以
为初学者提供的uniq命令教程及示例
uniq 命令用于检查及删除文本文件中重复出现的行列。uniq命令只有在相邻的情况下才会删除重复的行,因此一般与 sort 命令结合使用,此外,该命令也可以检查文本文件中重复出现的行列,默认区分大小写。
准备一个文件
准备一个文件
以分割符指定分割某些特定的列
Linux tr 命令用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
语法:tr [OPTION]…SET1[SET2]
小写转换为大写
删除字符
Linux paste 命令用于合并文件的列。
paste 指令会把每个文件以列对列的方式,一列列地加以合并。
不加参数会默认以制表符为分界列对列合并
-d可以设置以何种字符合并
使用s参数时。单个文件会将该文件的多行数据合并成一行显示,多个文件会将各个文件单独合并成一行之后再行对行合并
Linux split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
将根目录文件信息写入文件
对上面的文件9行为一个文件进行分割
以1k字节分割文件
不加参数会同时显示行数,字数,Bytes数,加上上述参数会单独显示其中一项
Ⅵ Linux里面awk -F作用是什么
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
-F
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
Ⅶ linux下怎样改Tab键的缩进个数
:set ts=4 sw=4x0dx0ax0dx0a或者在 .vimrc 里加上x0dx0aset ts=4 sw=4x0dx0ax0dx0atab就变成4个空格的距离了。x0dx0ax0dx0a如果想tab的时候不是输入真正的制表符,而是n个空格,则加上x0dx0a:set etx0dx0ax0dx0a文件在 /etc/vimrc
Ⅷ linux哪个功能使用的t
Linux系统下\t参数是水平制表(制表符) ,就是键盘上的tab键的功能,代码案例分析:
echo -e "a\tb" #输出的就是a b,a与b中间的空位就是水平制表(制表符)。
在linux下想从键盘输入制表符,需要同时按下Ctrl+v+tab 即可(或者用命令/t参数代替tab键的功能)。
Ⅸ linux文件内容显示/t,没显示制表符
1、file + 文件名称 查看文件类型
file test.txt
file dictor
file /bin/ls 二进制可执行程序
file my_script
这个命令可以显示文件的文本信息,还可以显示文本文件的字符编码ASCII,还可以显示文件链接
2、查看文件内容
——>cat 信使文件所有数据,加-n可以显示行号,-b只显示有文本的行号,-T不显示制表符,用^I字符组合替换文中的所有制表符
如:cat -n test.txt cat -b test.txt cat -T test.txt
3、 more命令查看文本,每次显示一屏内容
4、less 是more命令的升级版,一次显示一屏内容
5、tail默认显示文件的最后10行,加-n 2 可显示文件的最后2行
如:tail test.txt 显示test.txt的最后10行
tail -n 2 test.txt 显示test.txt文件的最后2行
tail -n 3 test.txt 显示test.txt文件的最后3行
数字是几就显示文件最后几行
-f参数,允许在其他进程使用该文件时查看文件的内容,tail命令会保持活动状态,并不断显示添加到文件中的内容,这是实时监测系统日志的绝妙方式。
6、head 默认显示文件前10行,加-5 显示文件前5行 -后边写你想要显示的行数
如:head test.txt 显示文件前10行
head -3 test.txt 显示文件前3行
head -5 test.txt 显示文件前5行
head -8 test.txt 显示文件前8行,n数值可以自己定义