本周在实验楼完成了《linux基础入门》的21个实验,虽然之前已经学习过linux的相关课程,对linux下的命令也有一些了解和实践,但完成这21个实验以及35个练习题仍然遇到了许多的问题,主要有以下4个方面:

  • useradd和adduser的区别
  • crontab命令的使用
  • vim编辑器的使用
  • chmod命令的执行

    实际应用中的问题主要是从实验测试中所发现,在做以下2个测试中遇到了一些问题:
  • 挑战:历史命令
  • 挑战:数据提取

    下面来详细谈谈以上几个问题

useradd和adduser的区别

在进行实验楼“实验3 用户及文件权限管理”实验时,在一个创建用户的实验步骤中,我将“adduser”指令误打为“useradd”,但是终端并没有报错,但在后面su指令切换此账号时终端要求输入密码,此时我就无法在进行下去了。经过查阅资料以及后面的实验步骤了解到,useradd指令仅仅只创建账户,还需要用passwd命令来设置密码,而adduser 会创建用户,创建目录,创建密码,提示你做这一系列操作。

crontab命令的使用&vim编辑器的使用

在学习到“实验9 Linux任务计划crontab”实验时,对于周期性执行的任务计划指令crontab有了些许疑问。经过梳理,创建一个任务计划首先使用:

crontab -e

之后会选择进入vim编辑器。进入vim编辑器后也遇到了一些问题,后经查阅vim编辑器用法,在vim中添加命令语句要首先按i键进入插入编辑模式,在完成编辑后键入:wq保存退出vim。在vim中编写任务计划的过程中,遇到的最大问题就是不熟悉crontab的格式,不熟悉那几个奇怪的“*”的各自含义。阅读实验步骤,了解到crontab的格式如下:

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

crontab命令是linux的常用指令,其执行格式需要牢记。

chmod命令的执行

在学习到chmod命令执行的时候,chmod命令的使用有两种使用方法:一是二进制数表示法,二是加减赋值法。后者较为好理解,主要是二进制数表示法遇到了些问题,不知道chmod指令后面的几个数字代表的含义,经过阅读实验步骤和查阅资料了解到,首先,我们规定数字 4(2^2) 、2(2^1) 和1(2^0)表示读、写、执行权限,即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5依此类推。chmod的语法格式为:

chmod (abc) file

其中,a,b,c各为一个数字,分别代表User、Group、及Other的权限,且此abc顺序不可改变,严格abc。以下是两个例子:

  • 设置所有人可以读写及执行
chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx file)
  • 设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于  chmod u=rw,g=---,o=--- file)

挑战:历史命令

在linux中,对于文本的处理和分析是极为重要的,现在有一个文件叫做data1,同学们可以在这里下载,

wget http://labfile.oss.aliyuncs.com/courses/1/data1

里面记录是一些命令的记录,现在需要你从里面找出出现频率次数前3的命令并保存在/home/shiyanlou/result。

目标

处理文本data

将结果写入result

结果包含次数和命令,如“100 ls”

测试此命令:



通过。

其中head的指令的用法格式是:

head -num       截取前num行

需要注意的问题是,要先sort再uniq,因为uniq去重时是检测相邻有没有重复,如果不排序将会出现很多重复计数的情况。

挑战:数据提取

小明在做数据分析的时候需要提取文件中关于数字的部分,同时还要提取用户的邮箱部分,但是有的行不是数组也不是邮箱,现在需要你在data2这个文件中帮助他用正则表达式匹配出数字部分和邮箱部分。在这里下载

wget http://labfile.oss.aliyuncs.com/courses/1/data2

将下载的data2保存在/home/shiyanlou/data2

目标

在文件data中匹配数字开头的行,结果写入/home/shiyanlou/num文件

在文件data中匹配出正确格式的邮箱,结果写入一个名为/home/shiyanlou/mail的文件

此挑战卡了好久,原因是邮箱格式中的.忘记加\转义。。。贴个编译通过的答案:

匹配数字开头的行
grep '^[[:digit:]].' data2>num
  
匹配正确格式的邮箱
grep '^[[:alnum:]]*@[[:alnum:]]*\.[[:alnum:]]*' data2>mail

总结

21个实验,遇到了很多问题和难点,总归还是命令及其用法不熟悉,通过这些实验,学习到了很多,希望今后能够熟练运用。

在学习linux基础入门时的一些问题总结(1)的更多相关文章

  1. 安装虚拟机以及学习Linux基础入门

    安装虚拟机 参考基于VirtualBox虚拟机安装Ubuntu图文教程完成了虚拟机的安装,主要遇到了以下2个问题 在新建虚拟电脑的时候,如果类型选择了Linux,则版本就只能选择Ubuntu(32 位 ...

  2. 柴柴随笔第三篇:安装虚拟机以及Linux基础入门

    虚拟机的安装 老师提供的作业指南给了我莫大的帮助,一步一步按着其中操作提示和网址链接,我首先下好了VM,也创建好了自己的第一台虚拟机. 接着按照步骤安装了Ubuntu到我的虚拟机. 到此,一切都顺风顺 ...

  3. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  4. Linux基础入门---学习心得

    之前一直以为Linux和Windows差不多,但是学习了Linux基础入门之后才发现两种操作系统之间差距非常大. Linux只是在硬件之上的内核和系统调用,就连我们在Windows里习以为常的图形界面 ...

  5. VBox&vmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

  6. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  7. Linux 基础入门 第二周9.21~9.27

    一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...

  8. Linux基础入门教程

    Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...

  9. Linux基础入门 - 3

    第四节 Linux 目录结构及文件基本操作 4-1.Linux目录结构 Linux 的目录与 Windows 的目录的实现机制是完全不同的.一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关 ...

随机推荐

  1. zabbix3.4.7监控linux进程

    利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用 ...

  2. Java Web(三) Servlet会话管理

    会话跟踪 什么是会话? 可简单理解为,用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭服务器,整个过程称为一个会话.从特定客户端到服务器的一系列请求称为会话.记录会话信息的技术称 ...

  3. mybatis输出sql语句

    方法一: 这种方法是mybatis官网上介绍的,比较好用: log4j.properties: log4j.rootLogger=ERROR,consolelog4j.appender.console ...

  4. Oracle数据库备份策略:全备与增量备份

    一.RMAN全备份 在数据量比较小.或者数据库服务器性能很强大的情况下,可以每天进行一次全备份. 全被策略如下 1.crontab定时任务,避开业务繁忙时段 ##################### ...

  5. Java中的运算符及表达式

    常用的运算符:赋值运算符(=).加法运算符(+).乘法运算符(*).除法运算符(/).括号运算符(( )).余数运算符(%).布尔运算符. 注释符(//).注释的内容为双反斜杠后的内容至换行结束. j ...

  6. 进程创建过程详解 CreateProcess

    转载请您注明出处:http://www.cnblogs.com/lsh123/p/7405796.html 0x01 CreateProcessW CreateProcess的使用有ANSI版本的Cr ...

  7. django的FBV和CBV的装饰器例子

    备忘 def auth(func): def inner(request,*args,**kwargs): u = request.COOKIES.get('username111') if not ...

  8. 源码安装nginx 出现fatal error: pcre.h: 没有此文件或者目录

    原因是用了pcre2 重新下载pcre再编译即可.

  9. python 一次创建多级目录

    python 一次创建多级目录沙漠骆驼:qq音乐import osos.mkdirs('/home/user/app')

  10. 《统计学习方法》笔记(3):k近邻

    k近邻(KNN)是相对基本的机器学习方法,特点是不需要建立模型,而是直接根据训练样本的数据对测试样本进行分类. 1.k近邻的算法? 算法对测试样本进行分类的一般过程如下: 1)根据给定的k值,搜索与测 ...