Linux 猩球
一个小程序猿, 在一场飞行意外中, 坠落到 Linux 猩球, 与家乡 Win 猩球 / Mac 猩球的绚丽多彩不同的是: Linux 猩球大部分时间都是处于黑暗之中 [命令行 / Shell 界面], 因此, 大多数时候他只能跟这个黑色的世界进行交互. 为了更好的生存下来, 他制作了这个基本生存指南.
指南适用范围:
这不是一个系统的 Linux 终端命令介绍, 只是我剪贴板上常用的几个命令而已, 适用于 Linux 轻度使用者. 我使用 Linux 的场景主要就是为了跑深度学习模型, 以及线上云主机的执行一些脚本, Hadoop/Spark 任务... 更详细的学习资料请参考最后的参考文献.
Linux 猩球最初是由芬兰人李纳斯 . 托瓦兹 (Linus Torvalds) 在赫尔辛基大学上学时偶然发现的... 此后, 大量程序猿的背井离乡来此开荒, 现在仍滞留大量的程序猿成为难民....
2. Shell 世界生存口诀
1. 操作文件夹
pwd // 显示当前所处路径
cd 文件夹名称 // 进入某个文件件, 假设存在文件 User
ls // 显示当前目录的内容
ls -a // 显示当前目录的内容, 包括隐藏文件 [即以 . 开头的文件]
ls -ahl // 显示当前目录的内容, 文件大小以可读方式显示
du -h // 显示当前文件夹的大小
ls -aul
文件夹权限
文件夹的权限是一个比较重要的概念, 关系到你是否有权利操作这个文件夹, 关于权限的修改可学习 chmod 等命令.
2. 创建, 复制, 移动, 重命名, 删除
mkdir newfile: 创建一个新的目录
cp 来源档 (source) 目标档 (destination)
cp aa.txt a.txt // 复制一个文件并重命名为 a.txt
cp -r model1 model-3800 //[文件夹要 + r 参数] 复制源文件夹 model1 到目标文件夹 model-3800
mv source destination
mv aa.txt a.txt // 相当于把 aa.txt 文档重新命名为 a.txt
rm 文件 // 删除文件
rm -r 文件夹 // 删除文件夹 [慎用... 配合方向键很酸爽!]
rm *.log // 批量删除
----- 为了解决手残执行 rm -r 等危险命令, 使用 history 预防 -------
history // 显示终端执行的命令历史记录
history |grep rm // 防止误删 [血的教训]
history -d 1066 // 手动删除该条 rm 历史记录, 防止后面手滑错误执行.... 虽然麻烦, 但是在生产主机上, 我还是每次都要执行一下, 不要问我问什么这么小心....
2. 查询, 检索, 统计
find . -name "*.py" | wc -l // 查看当前文件下 (包含子文件夹) 总共有多少个 py 文件
grep -o root a.txt | wc -l // 统计文件 a.txt 中 root 这个词出现的次数
grep root a.txt | wc -l // 统计有 root 出现行的总行数
**3. 操作 txt 等文档 [编辑脚本, 配置文件]**
vi a.txt // 新建 a.txt 文档
head -10 a.txt // 显示 a.txt 文件的前 10 行
tail -10 a.txt // 显示 a.txt 文件的后 10 行
wc -l a.txt // 显示文件有多少行
wc -w a.txt // 看文件里有多少个词
cat f a.txt | tail -n +3000 | head -n 1000 // 即显示文件的 3000~3999 行
4, 其它我常用的命令
sh test.sh // 执行 sh 脚本
python test.py // 执行 python 脚本
nohup sh test2118.sh> test.log & // 后台执行脚本 test.sh, 并将输出写入到 test.log 中
配合使用脚本:
tail -f test.log // 动态输出 test.log 的内容, 监控后台执行的脚本的执行过程
ps -ef | grep python // 查看系统运行 python 程序的 PID, 根据 PID 我们可以终止某个后天运行的脚本
kill -9 9208 // 杀掉 PID=9208 的进程
杀死本机的火狐浏览器
ps au // 显示所有正在运行的进程:
ps aux
top // 显示运行中系统的动态实时视图
top 命令
扩展工具 Htop
使用 pt-get 在 linux 安装 htop 的命令: apt-get install htop
htop 是一个类似 top 的交互式进程查看工具, 但是可以垂直和水平滚动来查看所有进程和他们的命令行. 进程的相关操作 (killing,renicing) 不需要输入 PID.
Htop
高级文本编辑工具
Awk/Vi/Vim 编辑器的使用, 需要慢慢熟悉那些快捷命令, 使用场景还是非常多的
Vi/Vim 的快捷键
如何让 vi/vim 打开文件时显示行号:[方便线上微调代码时]
1. 只改变当前用户的 vim
cd ~ // 进入在~ 目录下
vim .vimrc --> 添加一行 set number -->Esc-->wq, 保存退出, 即可 (普通用户权限即可)
2. 补充一些基础学习资料
菜鸟教程的 Linux 教程
绝对不要使用的 Linux 命令
Linux grep 命令使用
Linux awk 命令的使用 --JD 内推面试问题之一
Linux 常用 shell 的命令 1
Linux 常用的 shell 命令 2
Linux 常用的 shell 命令 3
全栈必备 Linux 基础
初学机器学习的你, 是否掌握了这样的 Linux 技巧
好好看下面这条, 以后误删公司数据不需要收拾行李跑路了...
我把 Linux 系统上面误删的数据找回来了!
3. 最后
最好, 大家有木有手残执行 rm -f 文件夹 的痛苦经历, 评论区抖搂出来大家嗨皮一下啊, 逃亡路上不孤单... 或者, 有什么比较好的, 常用的命令贴出来, 大家相互学习!
来源: http://www.jianshu.com/p/fae52827a581