各个 shell 的功能都差不多, Linux 默认使用 bash ,所以我们主要学习bash的使用。

1bash命令格式

命令 [-options] [参数],如:tar  zxvf  demo.tar.gz

查看帮助:命令 --help

2bash常见命令

pwd (Print Working Directory) 查看当前目录

cd (Change Directory) 切换目录,如 cd /etc

ls (List) 查看当前目录下内容,如 ls -al

mkdir (Make Directory) 创建目录,如 mkdir blog

touch 创建文件,如 touch index.html

wc (Word Count) 字数信息统计,如 wc index.html

cat 查看文件全部内容,如 cat index.html

more less 查看文件,如more /etc/passwd、less /etc/passwd

rm (remove) 删除文件,如 rm index.html、rm -rf  blog

rmdir (Remove Directory) 删除文件夹,只能删除空文件夹,不常用

mv (move) 移动文件或重命名,如 mv index.html ./demo/index.html

cp (copy) 复制文件,cp index.html ./demo/index.html

head 查看文件前几行,如 head -5 index.html

tail 查看文件后几行 –n –f,如 tail index.html、tail -5 index.html

tab 自动补全,连按两次会将所有匹配内容显示出来

history 查看操作历史

ssh 远程登录,如ssh root@gitlab.study.com

> 和 >>重定向,如echo hello world! > README.md,>覆盖 >>追加

wget 下载,如wget https://nodejs.org/dist/v4.4.0/node-v4.4.0.tar.gz

tar 解压缩,如tar zxvf node-v4.4.0.tar.gz

curl 网络请求,如curl http://www.baidu.com

who am i 查看当前用户

| 管道符

grep 匹配内容,一般结合管道符使用

vi编辑器

如同Windows下的记事本,vi编辑器是Linux下的标配,通过它我们可以创建、编辑文件。它是一个随系统一起安装的文本编辑软件。

1、三种模式

vi编辑器提供了3种模式,分别是命令模式、插入模式、底行模式,每种模式下用户所能进行的操作是不一样的。

3种模式的切换如下图所示:

通过上图我们发现,输入模式是不能直接切换到末行模式的,必须要先切回到命令模式(按ESC键)

2、使用vi编辑器

a) 打开/创建文件, vi 文件路径

b) 底行模式 :w保存,:w filenme另存为

c) 底行模式 :q退出

d) 底行模式 :wq保存并退出

e) 底行模式 :e! 撤销更改,返回到上一次保存的状态

f) 底行模式 :q! 不保存强制退出

g) 底行模式 :set nu 设置行号

h) 命令模式 ZZ(大写)保存并退出

i) 命令模式 u辙销操作,可多次使用

j) 命令模式 dd删除当前行

k) 命令模式 yy复制当前行

l) 命令模式 p 粘贴内容

m) 命令模式 ctrl+f向前翻页

n) 命令模式 ctrl+b向后翻页

o) 命令模式 i进入编辑模式,当前光标处插入

p) 命令模式 a进入编辑模式,当前光标后插入

q) 命令模式 A进入编辑模式,光标移动到行尾

r) 命令模式 o进入编辑模式,当前行下面插入新行

s) 命令模式 O进入编辑模式,当前行上面插入新行

当我们处在编辑模式的情况下,和我们在Windows编辑器的使用相似。

SSH

SSH是一种网络协议,用于计算机之间的加密登录。

SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

如果要在Windows系统中使用SSH,会用到另一种软件PuTTY,我们后面用到的Git客户内置集成了SSH

ssh user@host

非对称加密技术

公钥、私钥 免密码登录

认识bash和shell的更多相关文章

  1. 单行bash、shell、perl命令

    主题:单行经典bash.shell.perl命令 作者:luomg 摘要: 会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作, 且尽量自少提供基本shell.perl的实现方式 ...

  2. 什么是shell? bash和shell有什么关系?

    什么是shell? bash和shell有什么关系? 博客分类: Linux   什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序 ...

  3. bash和shell的关系

    bash是borne again shell的缩写,它是shell的一种,Linux上默认采用的是bash. shell脚本中的方法带不带function的区别,例如: function foo () ...

  4. bash反弹shell检测

    1.进程 file descriptor 异常检测 检测 file descriptor 是否指向一个socket 以重定向+/dev/tcp Bash反弹Shell攻击方式为例,这类反弹shell的 ...

  5. shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)

    如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...

  6. 用bash反弹shell

    用bash反弹shell 受害主机:linux系统 攻击机:需要安装netcat(nc) 受害主机执行:ifconfig  ## 查看受害主机ip 攻击机执行:nc -lvp 19999 ## 在攻击 ...

  7. 修改shell 将当前shell(默认是bash B SHELL )改为csh C SHELL

     在修改当前shell时,用命令: usermod -s  /bin/csh   home     home 为 你所想要改变的用户地址     此处home 为家目录,一般自己创建的用户都会在家目录 ...

  8. 认识bash这个shell

    我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作bash是我们Linux默认的shell 用户界面(Shell,application)--------核心(Kern ...

  9. Linux 学习记录 四(Bash 和 Shell scirpt)

    一.什么是 Shell? 狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,因为图形接口其实也可以操作各种驱动程序来呼叫核心进行工 ...

  10. bash编程-Shell变量

    bash中,所有变量的值默认均为字符串. 1. 变量操作 调用变量 $变量 查看变量(所有类型) set 删除变量 unset 变量 2. 变量分类 2.1 自定义变量 自定义变量仅对当前Shell有 ...

随机推荐

  1. Json2:使用gson解析为List和Map

    import java.lang.reflect.Type; import java.util.List; import com.google.gson.Gson; import com.google ...

  2. MySQL 中的三中循环 while loop repeat 的基本用法

    -- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...

  3. python学习过程中的踩坑记录<若干,随时更新>

    问题1:python中print的连串输出与java不一样? 输入print(code +"+++"); --在代码中写入,界面未报错,但是告诉你不行 会报错,如图: 解决办法: ...

  4. 小数据池 id

    1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # id()函数可以帮我们查看一个变量的内存地址 # ...

  5. python-路径处理path

    #-*- coding:utf-8 -*- # file: class_01_path.py #本次学习:OS模块--处理路径 #F:\pythonzhm\study_181112 import os ...

  6. WPF去除窗体边框及白色边框

    <Window x:Class="WpfAppFirst.Evaluation" xmlns="http://schemas.microsoft.com/winfx ...

  7. vue2.0 父子组件数据传递prop

    vue的一个核心概念就是组件,而组件实例的作用域是孤立的,所以组件之间是不能直接引用其他组件的数据的.极端点举例来说,就是可以在同一个项目中,每一个组件内都可以定义相同名称的数据. data () { ...

  8. Freemarker入门

    Freemarker入门 工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId& ...

  9. 2.3在LeetCode中使用我们自定义的类

    在上一节中我们使用的是java提供了的类,这一小节中我们就来学习一下如何在LeetCode中使用我们自定义的类. 其实很简单,我们只需把我们编写的自定义类,拷贝到LeetCode提供的类中,形成类中类 ...

  10. gzip1

    经过GZIP压缩后页面大小可以变为原来的30%甚至更小.要实现GZIP压缩页面需要浏览器和服务器共同支持, 实际上就是服务器压缩,传到浏览器后浏览器解压并解析.浏览器那边不需要我们担心,因为现在绝大多 ...