实验目的

学习使用xshell工具连接Linux服务器

在连上的服务器中进入用户目录

熟悉简单的文件操作命令

实验原理

  熟悉shell命令是熟悉使用linux环境进行开发的第一步,我们在linux的交互式命令行输入的每一个命令都是一个shell指令,Shell本质是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
  我们学习shell编程的第一步就是熟悉常见的shell命令,常见的shell命令包括文件管理、文档编辑、文件传输、磁盘管理、网络通讯、系统管理等多种,今天的实验让大家学会使用最基本的几个命令,能够在linux环境完成一些简单的工作。

1.常见的基本命令
  1)文件目录的表达方法:
  /根目录
  .当前目录
  .. 上一级目录
  ~用户主目录
  文件和文件夹(蓝色代表目录, 白色代表文件,黄色代表设备文件,红色代表压缩文件,绿色代表可执行文件,浅蓝色代表链接文件)linux是以属性来控制文件是否能执行

  2)改变目录cd命令:
  cd / 进入到系统根目录
  cd . 进入当前目录
  cd .. 进入当前目录的父目录,返回上层目录
  cd /tmp 进入指定目录/tmp
  cd ~ 进入当前用户的家目录
  cd 进入当前用户的家目录
  cd - 回到刚才所在的目录

  3) pwd命令:
  显示当前所在目录 pwd

  4)显示文件或目录的属性 ls (dir)
  dir 显示当前目录的内容(无颜色)
  ls 显示当前目录的内容(有颜色)
  ls /tmp 显示指定目录/tmp的内容
  ls -l 列出文件和文件夹的基本属性和详细信息
  ll 列出文件和文件夹的基本属性和详细信息
  ls -a 列出当前目录的全部内容,包括隐藏文件(在文件和文件夹前面加“.”隐藏)
  ls -l -a 列出当前目录的全部文件和文件夹的基本属性和详细信息
  ls -la 列出当前目录的全部文件和文件夹的基本属性和详细信息
  ll -a 列出当前目录的全部文件和文件夹的基本属性和详细信息
  ls -A 列出当前目录的全部内容,包括隐藏文件,不显示“.”和“..”
  ls --help 列出ls 命令的帮助内容
  ls a2* 列出以a2 开头的文件和文件夹
  ls -l a2* 列出以a2 开头的文件和文件夹的基本属性和详细信息

  5)创建目录mkdir
  mkdir dir1 在当前目录下创建dir 子目录
  mkdir /tmp/dir2 在指定目录/tmp下创建 dir2子目录
  mkdir -p dir3/dir4 在当前目录下创建2 级目录dir3和其子目录 dir4
  mkdir -p /dir5/dir6 在根目录下创建2 级目录dir5和其子目录 dir6
  mkdir dir7 dir8 dir9 在当前目录下创建3 个目录dir7 dir8 dir9,以空格隔开

  6)创建空文本文件 touch
  touch file1 在当前目录下创建file1 文件
  touch /tmp/file2 在指定目录/tmp下创建 file2文件

  7)复制文件命令 cp
  cp file2 /tmp 复制file2 文件到/tmp目录下
  cp /tmp/file2 /home 复制/tmp/file2文件到/home 目录下
  cp /home/file2 /tmp/file3 复制/home/file2到/tmp 目录下并改名为file3
  cp -p /tmp/file3 /home 复制/tmp/file3到/home 目录下并复制文件属性
  cp -r /dir5 /tmp 复制/dir5目录到/tmp 下

  8)移动文件或目录命令 mv
  mv file4 /tmp 移动file4 文件到/tmp目录下
  mv /home/file3 /tmp 移动/home/file3文件到/tmp目录下
  mv /home/file3 /tmp/file5 移动/home/file3文件到/tmp目录下并改名为file5
  mv file3 file4 将file3改名为file4
  mv dir10 /tmp 移动目录到/tmp下
  mv dir10 dir11 将dir10目录改名为dir11

  9)删除文件命令 rm
  rm file1 删除文件file1
  rm -f file1 不用确认直接删除file1
  rm -f file1 file2 file3 不用确认同时删除多个文件
  rm /tmp/file1 删除指定目录/tmp下的文件 file1
  rm fi* 删除以fi 开头的文件
  rmdir 删除空目录
  rm -r dir 递归的方式删除非空目录dir
  rm -rf dir 不用确认直接删除非空目录dir

  10)查看文件内容命令 cat
  cat /etc/passwd 查看/etc/passwd文件
  cat /etc/passwd |more 分屏查看文件内容
  cat /etc/passwd |less 分屏查看文件内容,可以上下翻页,输入“q”退出

  11)查找文件命令 find
  find pass* 在当前目录下查找以pass 开头的文件
  find /etc/pass* 在/etc目录中查找以 pass开头的文件
  find /etc/pass* -print 在/etc目录中查找以 pass开头的文件,并显示出来

2.熟悉vi/vim文本编辑器命令
  1)vi/vim是linux平台强大的文本编辑工具,vi有三种模式:

命令模式:vi的默认进入状态(不可以输入字符,但可以对字符进行操作复制,移动、删除等操作)

插入模式:可以使用键盘输入和使用del和退格backspace键删除文字

编辑模式:可以输入查找替换等命令,也可以保存退出

  如果文件存在就编辑,不存在就创建文件,然后编辑。vi下有三种模式,输入vi命令进去后,不能编辑,只能使用复制、删除、粘贴等命令,称为命令模式;命令模式下按一下键盘上的字母i,就进入插入模式,可以使用键盘进行编辑,编辑完成后,按Esc进入命令模式,再按shift+:进入编辑模式,输入wq,按enter键保存退出。输入q,按enter键直接退出。

 2)默认进入命令模式
  命令模式下输入i、o等字符可以进入插入模式,插入模式下按Esc进入命令模式,命令模式下按shift+:进入编辑模式

  3)命令模式下

q:退出

wq:修改后保存退出

q!:强制退出,不保存修改的内容

3. 其他常用命令
  1)wc命令:用于计算字数。
  利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

wc -c filename 只显示fileneme文件的Bytes数。

wc -l filename 只显示filename文件的列数。

wc -w filename 只显示filename文件的字数。

  2)cut命令:用于显示每行从开头算起 num1 到 num2 的文字。

-b :以字节为单位进行分割。

-c :以字符为单位进行分割。

-d :自定义分隔符,默认为制表符。

-f :与-d一起使用,指定显示哪个区域。

  3)awk命令:一种处理文本文件的语言,是一个强大的文本分析工具。
  每行按空格或TAB分割,输出log.txt文本中的1、4项。

$ awk '\{print $1,$4\}' log\.txt

实验环境

1.操作系统
操作机1:Linux_Centos
操作机2:Windows_7
操作机1默认用户名:root,密码:123456
操作机2默认用户名:hongya,密码:123456

步骤1:使用xshell建立连接

  1.1首先输入相应的用户名和密码进入实验机,然后进入操作机2(Windows_7),点击运行桌面上的“xshell”,连接操作机1,如图:

命令(IP以实验为准):ssh 90.10.10.27

图1

  1.2输入正确的用户名和密码,进行远程连接。见下图,连接成功:

用户名:root

密码:123456

图2

步骤2:基本的命令

  2.1whoami,显示当前用户名

命令:whoami

图3

  2.2pwd,显示当前所在文件目录

命令:pwd

图4

  2.3ls,列出当前文件夹,加上“-l”参数列表。

命令:ls

命令:ls -l

图5

  2.4mkdir,创建目录,父目录必须存在,如果父目录不存在,加上“-p”参数递归创建父目录。

建立目录hongya:mkdir hongya

建立目录hongya2以及其自目录hongya(会发现出现警告,无法创建):mkdir hongya2/hongya

使用命令“-p”递归创建父目录:mkdir -p hongya2/hongya

显示当前目录下内容:ls

显示目录hognya下内容:ls hongya

显示目录hongya2下的内容:ls hongya2

图6

  2.5cd,进入目录,输入的参数中,“.”代表当前目录,“..”代表上级目录。

进入目录:cd hongya2/hongya

返回上一层:cd ..

图7

  2.6rm,删除文件,加上“-rf”会递归删除目录及文件。

查看当前目录内容:ls

删除非空目录(可以发现,并不能直接删除hongya2,因为其目录下还有文件):rm hongya2

直接删除非空目录:rm -rf hongya2

再次查看当前目录内容,可以看到hongya2已经删除:ls

图8

  2.7touch,创建文件。

命令:touch hongya3

图9

步骤3:vi/vim命令

  3.1使用vim+文件名,创建文件。

命令:vi hongyaa

图10

  3.2进入到命令模式,见下图,可以看到信息为新文件hongyaa。

图11

  3.3在命令模式之中,只要按下“i”键就可以进入插入模式了。在插入模式当中,你可以发现在左下角状态栏中会出现“--INSERT--”的字样,那就是可以输入任意字符的提示。这个时候,键盘上除了“Esc“键都可以视作为一般的输入按钮了,可以进行任何的编辑。

图12

  3.4编辑完成之后,按“Esc”键进入命令模式,再按“shift+:”进入编辑模式,输入要编辑的内容,输入“wq”然后回车保存退出。

图13

  3.5使用命令直接查看文件内容。

命令:cat hongyaa

图14

注意事项:
  1、每个命令的执行失败,可能原因是当前用户权限不够,可以学习linux权限管理相关内容。
  2、第一次接触vi/vim的同学,可能一时不太理解vim操作,一定要搞清楚vim的几种模式,以及当前是出于哪一种模式

吴裕雄--天生自然HADOOP学习笔记:Shell工具使用的更多相关文章

  1. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  2. 吴裕雄--天生自然HADOOP学习笔记:基本环境配置

    实验目的 学习安装Java 学习配置环境变量 学习设置免密码登陆的方法 掌握Linux环境下时间同步的配置 实验原理 1.Java的安装 java是大数据的黄金语言,这和java跨平台的特性是密不可分 ...

  3. 吴裕雄--天生自然HADOOP学习笔记:使用yum安装更新软件

    实验目的 了解yum的原理及配置 学习软件的更新与安装 学习源代码编译安装 实验原理 1.编译安装 前面我们讲到了安装软件的方式,因为linux是开放源码的,我们可以直接获得源码,自己编译安装.例如: ...

  4. 吴裕雄--天生自然Hadoop学习笔记:Hadoop简介

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统(H ...

  5. 吴裕雄--天生自然ShellX学习笔记:Shell 文件包含

    和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空 ...

  6. 吴裕雄--天生自然ShellX学习笔记:Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  7. 吴裕雄--天生自然ShellX学习笔记:Shell 函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action; [return ...

  8. 吴裕雄--天生自然ShellX学习笔记:Shell 流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  9. 吴裕雄--天生自然ShellX学习笔记:Shell test 命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 实例演示: num1=100 num2=100 if test $[num1] -eq $[num2 ...

随机推荐

  1. 【C语言】(for循环嵌套)找出1000以内的水仙花数

    什么是水仙花数? 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153). 分析: 根据定义可知: a*a*a+b*b*b+c*c*c ...

  2. pc和手机点击复制到剪贴板

    https://www.cnblogs.com/kevinCoder/p/6144376.html

  3. numpy中的max()函数

    1.ndarray.max([int axis]) 函数功能:求ndarray中指定维度的最大值,默认求所有值的最大值. axis=0:求各column的最大值 axis=1:求各row的最大值

  4. ETCD的常用命令

    Note that any key that was created using the v2 API will not be able to be queried via the v3 API. A ...

  5. JavaScript位置:window&client&offset&scroll&MouseEvent&getBoundingClientRect&计算任意元素滚动条宽度

    Window: window.innerWidth:浏览器viewport视口宽,包括垂直滚动条 window.innerHeight:浏览器视口高,包括水平滚动条 window.outerWidth ...

  6. 【转】uWSGI+django+nginx的工作原理流程与部署历程

    一.前言献给和我一样懵懂中不断汲取知识,进步的人们. 霓虹闪烁,但人们真正需要的,只是一个可以照亮前路的烛光 二.必要的前提 2.1 准备知识 1.django 一个基于python的开源web框架, ...

  7. 【 hibernate 】基本配置

    hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibe ...

  8. [C++基本语法:从菜鸟变成大佬系列,就像1,2,3那么简单](七):C++的修饰符

    修饰符是什么? C++允许char,int和double数据类型在它们之前有修饰符.修饰符用于改变基本类型的含义,以便更精确地满足各种情况的需要. 这里列出了数据类型修饰符: signed unsig ...

  9. OS(操作系统)结构

    1.整体式: 模块设计(独立的) 调用自由 用全局变量来通信 缺点:信息不安全,维护更新比较难 2.层次结构(典型的如TCP/IP协议): 所有的模块排成若干层,相邻的互相依赖调用 按调用次序来安排 ...

  10. python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)

    问题描述 今天在写爬虫爬取影评时,本来的思路把影评的标题作为文件名,将每个影评的详情内容写入到"标题.txt"文件中,直到我遇到了这个问题: 这时我突然意识到,文件名中有些字符是不 ...