Linux初识
时间:2019-12-07
本文章向大家介绍Linux初识,主要包括Linux初识使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Linux可能对于在校的非计算机相关专业的同学会比较陌生,比如狗头,之前的感觉一直是“可以,但是没必要”,一直依赖于图形界面。但是工作之后,尤其是要在服务器上做操作时,Linux可太重要了,因为所有的任务基本都是要在Linux环境下进行的,最近狗头就凭借之前的一点点印象,一边工作一边积累Linux 的一些用法,然后也在这边做一些分享。(重点就是一定要实操,多用!)
先说明一下,因为狗头平时用的机子是macbook pro,然后macOS自带的的terminal和Linux语法基本一样,狗头之后的内容都是基于本机上的,如果有特殊的情况(比如区分大小写的情况)会给大家注明,有疑问的地方也欢迎评论交流。另外,本文是持续补充更新的,内容都是学习工作中遇到好多次的知识点,所以一些生僻或者狗头还没接触的到就暂时不做分享啦!
基本操作
mkdir dir1/file # 创建一个目录
cd dir1/file # 进入一个目录
cd .. # 返回上一级目录
pwd # 显示当前路径
ls # 显示当前目录下的文件
ls -a # 显示当前目录下的全部文件(包括隐藏文件)
ll # 显示目录下文件的详细信息
rm file # 删除文件
rm -rf file # 强制删除文件
mv dir1/file dir2/ # 移动文件
cat file # 显示文件内容(少)
more file # 分页显示文件内容(多)
head -n file # 显示文件前n行
tail -n file # 显示文件后n行
clear # 清屏 等同于 control + L
which name # 查找进程路径
grep # 搜索相关匹配
ps -aux # 查看进程
fuser -v /dev/invidia* # 查看当前进程
kill -9 PID # 杀进程
举个栗子:
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(支持正则匹配)
高级操作实例
# 修改每一列的数据格式
cat data.csv | awk '{printf("%.4f\t%.4f\t%.4f\t%.4f\t%d\n", $1, $2, $3, $4, int($5))}' > data2.csv
原文地址:https://www.cnblogs.com/mrdoghead/p/12003116.html
- Cannot find module 'socket.io'
- 【学术】独热编码如何在Python中排列数据?
- 比特币的私钥【区块链生存训练】
- Unity3D学习笔记第一课
- Extjs4处理后台json数据中日期和时间的方法
- 机器学习:Python测试线性可分性的方法
- Java 机器学习库Smile实战(一)SVM
- 交易Transaction【区块链生存训练】
- 马尔可夫链文本生成的简单应用:不足20行的Python代码生成鸡汤文
- 最长递增子序列
- dedecms批量删除文档关键词可以吗
- 【学术】在C ++中使用TensorFlow训练深度神经网络
- 一个canonical标签解决site不在首页的问题
- 由一道面试题来了解进程间的通信
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Spartacus 自定义指令的实现以及通过@HostBinding实现属性绑定
- Python气象绘图教程—(十九)剖面图
- Angular DefaultDomRenderer2.setProperty
- 在pandas中利用hdf5高效存储数据
- AMS机器学习课程:Keras深度学习 - 卷积神经网络
- python教程 | 最标准的地图调用方式(国家测绘局提供数据)
- 「万物生长」一个APK从诞生到活跃在Android手机上
- webpack实战——生产环境配置【下】
- R语言作图——Violin plot with dot
- AkShare-中国宏观-全社会用电分类情况表
- Angular应用从Component到Html的数据绑定是如何实现的
- 3分钟短文:Laravel Form,让你不再写 HTML 的好“库”
- Angular应用input和div标签页的动态创建场景
- 在Angular的index.html里插入script,拦截所有动态创建标签页的场景
- Angular应用里input字段后面的_ngcontent-hqi是什么含义