1基础命令:
cd -, cd … , history, !5 , /home/ , /tmp/ , >,&,jobs,nohup 1,2,0
1 cd(change directory)
cd …返回上一级目录
cd …/…返回上两级目录
cd 进入家目录
cd ~进入家目录(目前用户身份所在的主文件夹)等同于cd
cd ~account 进到account这个用户的主文件夹(/home/account)
cd -返回上次目录
2 history
history 显示历史目录
2文件和目录操作:
ls,cd,pwd,mkdir,rm,mv,cp
1 ls() 最常用ls -al
ls有很多参数,常用的有以下
-a 显示全部文件,包括隐藏文件(开头为.)一起显示
-d 仅列出目录本身,而不是列出目录内的文件数据
-f 直接列出结果,不进行排序(ls默认以文件名排序)
-l 列出长数据串,包含文件的属性与权限
-r 排序结果反向输出
-S 以文件容量大小排序(而不是以文件名排序)
-t 以时间排序,而不是文件名排序
–full-time 以完整时间模式输出,可以呈现文件的修改时间
color=auto 系统自行根据设置判断是否给予颜色
2 pwd(print working directory)
显示当前目录
3 mkdir(make directory)
创建新目录
mkdir -p 递归创建,自行创建多层目录
mkdir -p test1/test2/test3如果没有test1,那么就会自行创建
4 rm和rmdir(remove directory)
删除目录
rmdir -p 连同上层的空目录一起删除(rmdir仅能删除空的目录)
若要删除所有目录下的所有东西用rm命令
rm - r
5 复制、移动、删除:cp,rm,mv
1 复制cp(copy)
cp 源文件 目标文件
常用的参数有
-a 复制的文件属性完全一样
-i 若目标文件已经存在,会询问是否覆盖
-r 递归持续复制,用于目录的复制行为
2 删除rm(remove)
rm [-fir]
-f force的意思,强制删除
-i 询问是否删除
-r 递归删除
3 移动或改名mv(move)
mv [-fiu] 源文件 目标文件
-f 强制覆盖,若目标文件已经有,不会询问
-i 若目标文件存在,会询问
-u 若目标文件存在,且源文件比较新,才会更新update
3文件内容查阅touch,head,tail,less,more,cat
cat 第一行开始显示文件内容
tac 最好一行开始显示,是cat的倒写
more 一页一页显示文件内容
less和more类似,但它可以往前翻页
head 只看头几行
tail只看后几行
1 touch 创建或修改文件
touch 文件
2 cat(concatenate):一口气输出到屏幕
cat -n 最常用 打印出行号,空白行也有行号
cat -b 列出行号,但仅针对非空白行,空白行不标,注意与-n的区别
这个命令单独用比较少,当文件行数超过40,来不及在屏幕看到结果,所以更常用的是more和less
3 more一页一页翻
more hg38.tss
1 | NR_046018 chr1 9874 13874 0 |
重点在最好一行,光标在这里等待命令,可以执行以下
空格键:向下翻一页
enter:向下滚动一行
/字符串:在显示的内容中,向下查询‘字符串’这个关键字
q:离开more,不再显示该文件内容
4 less一页一页翻
less比more更好,可以前后翻,也可以前后查询
空格键:向下翻一页
pagedown:向下翻一页
pageup:向上翻一页
/字符串:向下查询‘字符串’
?字符串:向上查询‘字符串’
q:离开less
各个参数如下
-N显示每行行号
-s显示连续空行为一行
-S行过长将超出部分舍弃
-f强迫打开特殊文件
5 head和tail
以行为单位进行数据选取
head [-n number] 文件 默认10行
注意,number可以是负数,比如
head -n -100 文件
假若文件有141行,那么上面这个就是显示前面41行,后面100行不显示
取11到20行呢
先取前20行,再取后10行
head -n 20 文件|tail -n 10,
3系统管理:
df,du,top,free,ps,ipconfig,netstat,ssh,scp,
1 df
列出文件系统的整体磁盘使用量
df [-ahikHTm] 目录或文件名,默认以KB列出
-h 较易阅读的GB,MB,KB格式显示
-i 不用硬盘容量,而已inode的数量显示
2 du
du [-ahskm]文件名或目录名
-s 列出总量,不列出每个各别的目录占用容量
-h 以人们容易读的容量格式显示(G)
du -sh常用
top
4用户权限:
chown,chgrp,groups,ls
5文本操作:
awk,grep,sed,paste,cat,diff,wc,vi
5.1 wc
wc命令计算文件的行数,字数和字节数
用法
1 | wc [-clw] 文件 |
-c 只显示bytes数
-l 只显示行数
-w 只显示字数
1 | $ wc testfile # testfile文件的统计信息 |
5.2 diff
diff命令用了比较两个文件的差异
1 | diff me.txt me_copy.txt -y |
diff的参数很多,具体参考Linux diff命令,常用-y
结果解释
"|"表示前后2个文件内容有不同
"<"表示后面文件比前面文件少了1行内容
">"表示后面文件比前面文件多了1行内容
5.3 paste命令
paste命令用于合并文件的列,把文件内容列列合并。简单就是列追加,类似R中的cbind
命令
1 | paste [-s] [-d<间隔字符>][文件1][文件2][文件...] |
1 | $ cat p1 |
1 | $ cat p2 |
1 | $ cat p3 |
1 | $ paste p1 p2 p3 |
1 | $ paste -d '%^&' p1 p2 p3 |
看下-s参数
1 | $ paste -s p1 p2 p3 |
相当于excel里的“转置粘贴”
5.4 sort命令
sort是用来对数据进行排序的命令,用法为
1 | sort [-bcfMnrtk][源文件][-o 输出文件] |
注意,sort可以对文本文件以行为单位进行排序。
sort的参数比较多,但常用的为一下几个
-n
-k
-t
-r
举例如下
5.4.1-n的用法
1 | $ sort t1 |
1 | $ sort -n t1 |
-n
的作用很清楚了,可以使得number不是以字符排序,而是以数字排序。
1 |
|
-r(reverse)反向排序
5.4.2-kt的用法
对按字段分隔的数据非常有用
-t指定字段分隔符(sep)
-k指定排序的字段(key)
1 | $ cat t2 |
1 | $ sort -t ':' -k 2 t2 |
上例中,以’:'进行分隔,按第2个字段进行排序。