Linux基础认识(持续更新)

Linux可能对于在校的非计算机相关专业的同学会比较陌生,比如狗头,之前的感觉一直是“可以,但是没必要”,一直依赖于图形界面。但是工作之后,尤其是要在服务器上做操作时,Linux可太重要了,因为所有的任务基本都是要在Linux环境下进行的,最近狗头就凭借之前的一点点印象,一边工作一边积累Linux 的一些用法,然后也在这边做一些分享。(重点就是一定要实操,多用!)

先说明一下,因为狗头平时用的机子是macbook pro,然后macOS自带的的terminal和Linux语法基本一样,狗头之后的内容都是基于本机上的,如果有特殊的情况(比如区分大小写的情况)会给大家注明,有疑问的地方也欢迎评论交流。另外,本文是持续补充更新的,内容都是学习工作中遇到好多次的知识点,所以一些生僻或者狗头还没接触的到就暂时不做分享啦!

基本操作

mkdir dir1/file # 创建一个目录

cd dir1/file # 进入一个目录

cd .. # 返回上一级目录

pwd # 显示当前路径

ls # 显示当前目录下的文件

ls -a # 显示当前目录下的全部文件(包括隐藏文件)

ll # 显示目录下文件的详细信息

du -h # 查看文件大小

rm file # 删除文件

rm -rf file # 强制删除文件

mv dir1/file dir2/ # 移动文件

cat file # 显示文件内容(少)

more file # 分页显示文件内容(多)

head -n file # 显示文件前n行

tail -n file # 显示文件后n行

sed -n '9p' part-09999 # 显示第9行

sed -n '9,15p' part-09999 # 显示9-15行

sed -n '9p;15p' part-09999 # 显示9,15两行

uniq file # 去掉重复行

cut -f2 # 剪切出第二列

sort data # 排序

clear # 清屏 等同于 control + L

which name # 查找进程路径

grep # 搜索相关匹配

ps -aux # 查看进程

fuser -v /dev/invidia* # 查看当前进程

kill -9 PID # 杀进程

举个栗子:
fuser/kill

vim # 使用VIM文本编辑器

gpustat # 查看gpu状态(需要安装)

export CUDA_VISIBLE_DEVICES = n # 使用n号gpu

export -p # 查看所有export信息

VIM相关操作

正常模式与输入模式的切换:

i # 在当前光标所在字符的前面,转为输入模式

I # 在当前光标所在行的行首,转换为输入模式

a # 在当前光标所在字符的后面,转为输入模式

A # 在当前光标所在行的行尾,转换为输入模式

o # 在当前光标所在行的下方,新建一行,并转为输入模式

O # 在当前光标所在行的上方,新建一行,并转为输入模式


ESC # 按下esc键回到正常模式

在输入模式下:

:q  # 退出
:wq # 保存并退出
:q! # 不保存并退出
:w # 保存
:w! # 强行保存

在正常模式下:

^ # 定位到行首
$ # 定位到行尾
0 # 跳到当前行的开头

h, j, k, l # 可以控制左,下,上,右

yy # 复制行
dd # 删除、剪切行
p # 粘贴到下一行

:n # 跳到第n行

/xxxx # 匹配XXXX(支持正则匹配)

如果你们中文文档用vim打开是乱码,可以如下设置一下

vi ~/.vimrc 加入
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

高级操作实例

# 修改每一列的数据格式
cat data.csv | awk '{printf("%.4f\t%.4f\t%.4f\t%.4f\t%d\n", $1, $2, $3, $4, int($5))}' > data2.csv

# 统计第三列每个数字个数占比
$ cat my_data | cut -f3 | awk '{hash[$0]+=1;a+=1}END{for(x in hash){print x"\t"hash[x]"\t"hash[x]/a}}'
posted @ 2019-12-07 19:46  MrDoghead  阅读(151)  评论(0编辑  收藏  举报