日常使用快捷键Linux、Vim

  日常使用时,总有些命令总觉得已经形成肌肉记忆,盲打就行,但总会被打脸,于是便有了此文。

1、Linux命令行快捷键

(1)移动光标

Ctrl – a :移到行首
Ctrl – e :移到行尾
Ctrl – xx :在命令行尾和光标之间移动

Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
ctrl+左右键:在单词之间跳转

(2)编辑命令

Ctrl – h :删除光标左方位置的字符
Ctrl – d:删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)

Ctrl – k :由光标所在位置开始,删除右方所有的字符,直到该行结束。
Ctrl – u:由光标所在位置开始,删除左方所有的字符,直到该行开始。
Ctrl – y :粘贴之前删除的内容到光标后。

Ctrl – _ :回复之前的状态。撤销操作。

(3)查找历史命令

Ctrl – r :搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键 执行匹配命令;ESC键 在命令行显示而不执行匹配命令。
Ctrl – g :从历史搜索模式(Ctrl – r)退出。

(4)控制命令

Ctrl – l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl – c :终止命令

2、Vim常用设置及快捷键

后续待补充

3、Find命令

查看大于1G的文件或目录
  find ./ -size +1G| xargs -I {} ls -lh {}
  find ./ -size +1G |xargs -i du --max-depth=2 -h {}
  find ./ -size +1G |xargs -i du --max-depth=1 -h {}

删除所有的sam文件
   find ./ -name "*.sam"| xargs -i rm {}

4、广播信息

1、查看一下哪些人登录:
who 
w

2.给在线的某人(JiuyueXXXX)发消息:
write migao pts/17
Hello ,  world!
#Ctrl C结束

3、wall(write all)命令是广播,所有的人都可以收到。
echo "hello,This is a message" | wall

5、SGE集群调用

1.查看队列节点
	qselect -q 队列名字
	
2.队列使用情况
	qstat -g c
3.已经在跑的任务可以先挂起
	qhold -u XXX
4.qstat -f 后台查看节点的状态
5.其他常用
	qmod  -c节点名称,清除错误模式
	lsb_release -a 查看系统情况
	qhost -j 列出所有用户在每个节点上的任务
	qhost -q 每个节点上每个队列的任务数
	qhost -u username 某个用户在每个节点上的任务
	qstat -u username 查看某用户的任务
	qstat -u  \*  查看所有用户qsub任务

5、免密传输

(1) 跨节点免密

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

(2)跨集群免密码

1.把A的公钥拷贝到B
cat /A/root/.ssh/id_rsa.pub  >>/B/root/.ssh/id_rsa.pub
2.登陆B服务器,把A的公钥追加到B的authorized_keys
cd /B/root/
cat id_rsa.pub >> .ssh/authorized_keys
3.此时在A中用SSH登录B或向B拷贝文件,将不需要密码

6、测试集群网络畅通

  通过连接百度官网,判断是否有packets返回来判断。

   ping www.baidu.com

7、ID

id dx_cancer 查看账号信息

8、lfs、df

  具体要依据集群的文件管理系统定,lfs、quota、df这三个命令都会涉及,需要视情况而定;

lfs quota -hu  /clinical/  # 目录配额
lfs quota -gh b2c1 /clinical/ # b2c1属主的配额
df -h /clinical/  # 目录存储大小

9、ps

ps可查看当前节点的后台任务。

ps -xf  # 安装进程关系,排列个人的所有后台任务 
ps -aux # 查看当前节点的所有后台任务
ps -aux |grep user # 查看user的后台任务


# 集群卡顿、操作失误,导致终端卡死
ps -xf # 以终端机名称把后台任务分类
tty # 查询目前使用的终端机的文件名称
kill -9 XX # 删除除自己目前使用终端外的其他终端

10、tar

zip xxx.zip file         压缩⾄zip包
zip -r xxx.zip file1 file2 dir1   将多个⽂件+⽬录压成zip包
unzip xxx.zip            解压zip包
tar -cvf xxx.tar file    创建⾮压缩tar包
tar -cvf xxx.tar file1 file2 dir1 将多个⽂件+⽬录打tar包
tar -tf xxx.tar          查看tar包的内容
tar -xvf xxx.tar         解压tar包
tar -xvf xxx.tar -C /dir 将tar包解压⾄指定⽬录
tar -cvfj xxx.tar.bz2 dir 创建bz2压缩包
tar -jxvf xxx.tar.bz2    解压bz2压缩包
tar -cvfz xxx.tar.gz dir 创建gzip压缩包
tar -zxvf xxx.tar.gz     解压gzip压缩包
bunzip2 xxx.bz2          解压bz2压缩包
bzip2 filename           压缩⽂件
gunzip xxx.gz            解压gzip压缩包
gzip filename            压缩⽂件
gzip -9 filename         最⼤程度压缩

11、paste

paste file1 file2    合并两个⽂件或两栏的内容
paste -d '+' file1 file2  合并两个⽂件或两栏的内容,中间⽤"+"区分

12、sed

sed 's/s1/s2/g' hello.txt   将hello.txt⽂件中的s1替换成s2
sed '/^$/d' hello.txt       从hello.txt⽂件中删除所有空⽩⾏
sed '/ *#/d; /^$/d' hello.txt  从hello.txt⽂件中删除所有注释和空⽩⾏
sed -e '1d' hello.txt        从⽂件hello.txt 中排除第⼀⾏
sed -n '/s1/p' hello.txt     查看只包含关键词"s1"的⾏
sed -e 's/ *$//' hello.txt   删除每⼀⾏最后的空⽩字符
sed -e 's/s1//g' hello.txt   从⽂档中只删除词汇s1并保留剩余全部
sed -n '1,5p;5q' hello.txt   查看从第⼀⾏到第5⾏内容
sed -n '5p;8p' hello.txt     查看第5、8⾏
sed -n '5p;5q' hello.txt     查看第5⾏

13、grep

grep codesheep hello.txt   在⽂件hello.txt中查找关键词codesheep
grep ^sheep hello.txt     在⽂件hello.txt中查找以sheep开头的内容
grep [0-9] hello.txt       选择hello.txt⽂件中所有包含数字的⾏
grep -A1 codesheep hello.txt  匹配关键词行下面的1行
grep -B1 codesheep hello.txt  匹配关键词行上面的1行
grep -v codesheep hello.txt  匹配不含关键词的行
grep -f a.txt hello.txt  匹配跟a.txt一致的行

 

参考资料

1、Linux及Shell思维导图汇总
  以下内容均来自数林觅风整理的内容,对此感兴趣的请前往其公众号、博客知乎专栏去获取,本文仅为方便自己阅读使用。

思维导图1
思维导图2

思维导图3
思维导图4
思维导图5
思维导图6
2、 The Linux Command Line的中文版

3、Linux速查备忘手册

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值