【小贪】程序员必备:Shell、Git、Vim常用命令

近期致力于总结科研或者工作中用到的主要技术栈,从技术原理到常用语法,这次查缺补漏当作我的小百科。主要技术包括:

  • ✅数据库常用:MySQL, Hive SQL, Spark SQL
  • ✅大数据处理常用:Pyspark, Pandas
  • ⚪ 图像处理常用:OpenCV, matplotlib
  • ⚪ 机器学习常用:SciPy, Sklearn
  • ⚪ 深度学习常用:Pytorch, numpy
  • ⚪ 常用数据结构语法糖:itertools, collections
  • ✅ 常用命令: Shell, Git, Vim

以下整理错误或者缺少的部分欢迎指正!!!

Linux

Linux 的目录中有且只有一个根目录 / 。Linux 是以文件的形式管理我们的设备,因此 linux 系统一切皆为文件。Linux命令严格区分大小写。

ifconfig  # 查询当前网卡信息
ifconfig eth0  # 配置网卡 
df    # 查看系统分区
ls /bin/   # 里面存放的为Linux命令文件  

文件处理命令

  • 显示目录文件 ls 选项[-ald] [文件或目录]
    -a 显示所有文件,包括隐藏文件
    -l 详细信息显示(可简略为ll
    -d 查看目录属性
    -h 人性化显示
  • 创建新目录 mkdir -p [目录名]
    -p 递归创建
  • 切换目录 cd [目录]
    cd .. 返回上一级目录
  • 显示当前目录 pwd
  • 删除空目录 rmdir [目录名]
  • 复制 cp -rp [原文件或目录] [目标目录]
    -r 复制目录
    -p 保留文件属性
  • 删除文件 rm -rf [文件或目录]
    -f 强制执行
  • 创建空文件 touch [文件名]
  • 显示文件内容 cat [文件名]
    -n 显示行号
  • 分页显示文件内容 more [文件名]
    (空格)或f 翻页
    (Enter) 换行
    q或Q 退出
    / 搜索
  • 分页显示文件内容(可向上翻页)less [文件名]
  • 显示文件前面几行 head -n [文件名]
  • 显示文件后面几行 tail -n [文件名]
    -f 动态显示文件末尾内容
  • 生成链接文件 ln -s [原文件] [目标文件]
    -s 创建软连接

软链接的作用和Windows中的快捷方式差不多,是指向源文件安装路径的符号链接,大小很小,真正拥有的权限是源文件所决定的权限 。
硬链接就是把源文件拷贝到目标位置,与 cp -p 最大区别是可以同步更新,源文件有变化硬链接文件会同时变化,如果源文件丢失或被删除,硬链接并不会消失。可以通过i节点来区分,源文件和硬链接文件的i节点是一样的,所以他们会同步更新,但是不能跨分区放置硬链接,且不能对目录使用。

权限管理命令

用户有三类:u所有者(只有一个)、g所属组、o其他人、a所有人
权限有三类:r、w、x

代表字符 对文件的含义 对目录的含义
r:read 可以查看文件内容 可以cat/more/head/tail/less 可以列出目录中的内容 可以ls
w:write 可以修改文件内容 可以vim 可以在目录中创建、删除文件 可以touch/mkdir/rmdir/rm
x:execute 可以执行文件 可以script(脚本) command(命令) 可以进入目录 可以cd
  • 改变文件或目录权限 chmod [{ugoa}{+-=}{rwx}] [文件或目录]
    -R 递归修改,即修改包括文件下目录的权限
  • 改变文件或目录的所有者 chown [用户] [文件或目录]
  • 改变文件或目录的所属组 chgrp [用户组] [文件或目录]
  • 显示、设置文件的缺省权限 umask [-S]
    -S 以rwx形式显示新建文件缺省权限
    新建文件默认没有 x 权限

umask 指令直接输入之后会显示 0022,其中 0 代表特殊权限,022代表 777 与 022 之间异或逻辑关系

文件搜索命令

  • 文件搜索 find [搜索范围] [匹配条件]
    -name 文件名匹配,*匹配任意字符, 匹配任意一个字符
    -iname 不区分大小写文件名匹配
    -size 指定文件大小,size后接的数据只能为数据块
    +n 大于, -n 小于,n 等于 1个数据块=512字节=0.5K
    -user 根据所有者查找
    -group 根据所属组查找
    -type 根据文件类型查找,f文件,d目录,l软链接
    -a 同时满足, -o 满足任意一个
  • 在文件资料库中查找文件 locate [文件名]
    updatedb 更新资料库
  • 搜索命令所在目录及别名信息 which [命令名]
  • 搜索命令所在目录及帮助文档路径 whereis [命令名]
  • 在文件中搜寻字串匹配的行并输出 grep -iv [指定字串] [文件]
    -i 不区分大小写
    -v 排除指定字串

你可能感兴趣的:(小小宝典,git,vim,编辑器,shell,ssh,linux)