shell常用命令笔记

从去年大数据云计算课开始按着帮助文档粘指令,在啥也不懂啥也不会的情况下弄出了Hadoop集群也跑了MapReduce实例,弄了zookeeper也跑了kafka,耍了hbase也弄了hdfs和hive。结果最后考完试自己才去学的shell都是个啥。。。

其实真正发现自己shell命令知识匮乏还是刚开始实习的时候。。。。

要说shell命令,首先得从Linux开始
在这里插入图片描述 在这里插入图片描述

大概Linux上的文件都显示这几种颜色,基本白色的都可以用vi打开。
以下是Linux系统根目录的文件解释
在这里插入图片描述
在这里插入图片描述
接下来就是怎么vi的指令,注意还有个很好用的gedit指令,是以写字板【文本编辑器】的方式打开文本内容,比vi更傻瓜,但还是得学好vi,毕竟没有图形界面的时候咋办呢
在这里插入图片描述
复制:Ctrl+shift+C
粘贴:Ctrl+shift+V

vim下的查找命令: 首先输入斜杠 / 然后输入要查找的内容,回车查找,n查找下一个,N查找上一个

vim 显示行数命令: set nu
在这里插入图片描述
在这里插入图片描述

当然在编辑完了文件就得再文件间来回移动遍历
在这里插入图片描述
注意 cd ./ 是当前目录,cd . . 是上级目录 ,以及,cd . ./. . 是往上两级目录

在这里插入图片描述

接下来是剪切【重命名、移动】
在这里插入图片描述
复制【拷贝】命令
在这里插入图片描述
删除【直接删除,不是回收站】想起最著名的 删除指令 : rm -rf /*,此处rm即删除指令,r即以递归方式,可以删除文件夹,f即强制性
在这里插入图片描述


文件查看命令可以查看文件相关信息
在这里插入图片描述
文件读写执行权限如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


然后是shell命令下的查找指令:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

除此之外还有文件内容查看指令:

在这里插入图片描述
在这里插入图片描述
此处是创建文件的命令

在这里插入图片描述


以下介绍Linux解压缩命令,tar,zip,rar
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


然后是软硬链接的使用与原理
在这里插入图片描述
在这里插入图片描述

最近还会用到,从GitHub上直接下载代码的指令:git clone 【下载链接,一般在GitHub上会有相应复制的文本框】

下载某个链接文件的指令:wget 【下载链接】

检查连接指令,发送数据检查两机之间是否联机畅通 :ping 【目的主机域名或IP地址,一般测试联网会ping baidu.com】

当然上面的指令在某些情况下可能测不出来是否链接外网,就使用:curl 【目的主机域名或ip地址,类似http的方式发送请求,返回的也是html】


ssh 【目的主机IP或hostname】 用于远程控制目的主机。需要密钥,或登录密码

ssh还可以对对方的端口“打洞”,当对方主机不接受外网请求时,通过远程连接可以利用ssh来在某个端口进行通信。
ssh -N -L 本机端口【如8080】:目的主机端口【如localhost:8888】 【目的主机IP或hostname】


还有一些好玩的命令,比如tree,当然需要安装,可以用树形图的形式查看文件结构

一些安装指令 yum install 【要安装的应用程序名,一般要带su】
apt install 【要安装的应用程序名,一般要带sudo】
是apt-get -f install=apt-get install -f ,是修复依赖关系(depends)的命令,就是假如你的系统上有某个package不满足依赖条件,这个命令就会自动修复,安装那个package依赖的package。

top、ps,jps显示当前运行进程

netstat -antp 显示当前端口占用

which 【应用程序名】 当前使用的应用程序所在位置,如which python

~/.bashrc表示当前bash下的配置,因为是脚本文件,是在每次登入bash或zsh时运行,那么每次修改这个脚本,要么exit退出,重新登入bash运行脚本,要么使用source ~/.bashrc立即使脚本生效

bash可以用来安装或运行.sh后缀结尾的文件

whoami 表示当前使用的有效用户名,【英文 who am i】

$PATH可以表示一段路径,在~/.bash中,有的程序执行路径有多个,系统会按其书写顺序一个个尝试,要想让其先执行想要执行的路径,要手动将其改到首位。防止出现错误,如python不同版本有不同模块,此时要选择自己常用的或想要使用的python路径

ll 查看目录是 ls 的扩展,同时 l 也是可用的,当加上 -a参数时,可以查看所有文件,包括隐藏的文件,你也许会发现一些带.前缀的文件,如/.bashrc之类的配置文件。甚至还包括 ./ 和 . ./ 这说明上级文件以及当前路径也被作为了一个文件链接到其他目录

ll | wc -l ll用于显示文件的详细信息,一行一个, | 表示管道, wc 用于统计文件字数等信息, -l 为 wc的参数,表示统计行数,因此该命令的 功能是 统计当前目录下有多少文件


scp指令:
当主机1可以ssh通主机2,而主机2不能ssh到主机1时,可以通过scp将主机1的文件传输到主机2中,而因为主机1可以ssh到主机2,这条通路可以利用,scp中两条路径说明了原路经和目标路径,但是并未规定原路经一定要在操作端上,因此我们可以在主机1上操作,原路经上写主机2的地址,目标路径写主机1的地址,将主机2的文件传输到主机1.

1.命令格式:
scp [参数] [原路径] [目标路径]
2.命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
3.命令参数:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

Ubuntu切换输入法快捷键:Ctrl+space

一些实用小程序:
tmux : 一个能够保持与ssh远端链接并随意切换的bash
z shell : 一个功能可配置的bash
tree : 文件树可视化
htop : 可视化任务管理器

echo $? :查看上一条命令执行的返回值,返回0为执行成功
echo用于查看一些变量的实际内容,如:echo PYTHONPATH可以查看当前python路径

wc:统计shell下输出的字数或行数,一般ll 目录 | wc -l 可以统计该目录下文件个数

tail 本来是显示文件前几行的还是后几行的命令,如果加个参数 -f
tail -f 可以表示实时更新的文件内容,可以用于日志文件的实时查看,就像是控制台输出一样的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值