标签:
一、 学习目标
1. 能够独立安装Linux操作系统
2. 能够熟练使用Linux系统的基本命令
3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等
4. 熟练应用“搜索”进行举一反三的学习
二、 学习资源
1. 课程资料:https://www.shiyanlou.com/courses/413 实验一,课程邀请码:W7FQKW4Y
2. Linux 基础入门:https://www.shiyanlou.com/courses/1(重点,第一次课考核内容全部从这里面出)
三、 学习方法
1. 进度很重要:必须跟上每周的进度,阅读,练习,问答,项目。我会认真对待每一位同学,请你不要因为困难半途而废。
2. 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到博客园讨论小组:http://group.cnblogs.com/103791/
3. 实践很重要:解决书中习题,实践书中实例,完成每周项目,才算真的消化了这本好书。通过实验楼环境或自己安装的虚拟机在实践中进行学习
4. 实验报告很重要:详细记录你完成项目任务的思路,获得老师点评和帮助自己复习。学习完成后在博客园中(http://www.cnblogs.com/)把学习过程通过博客发表,博客标题“信息安全系统设计基础第一周学习总结”
四、 学习任务
1. 重点学习 cheat/find/locate/grep/man/whereis/which/apt-get
查找帮助文档、各种示例多多练习,这几个命令会贯穿我们整个学习的学习,掌握这几个命令就可以很好学习其他命令了。
2. 这学期需要掌握的命令有ac,apt-get,bzip2,cat,chgrp,chmod,chown,clear,compress,cp,dd,df,diff,du,dump,evn,find,finger,free,grep,gzip,head,kill,less,ln,locate,l,gout,ls,man,mkdir,more,mount,mt,mv,netstat,nslookup,od,passwd,patch,ps,pstop,pwd,rm,shell,sort,ssh,stty,tail,tar,telnet,touch,tree,uname,unzip,vi,vim,whereis,which,who,write等
五、 学习过程
1. 了解Linux与windows的基本区别与学习Linux的目的
(1)Linux的开发更加自由
(2)使用Linux可以只用键盘操作,新手需要学习
(3)Linux可以进行更好的关于网络与服务器方面的开发
2. Linux的基本概念和操作
(1)实验环境的熟悉(实验楼中的系统用户名和密码均为shiyanlou)
(2)终端(Terminal),Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。
中间程序(Shell),提供给使用者使用界面的软件(命令解析器)。
(3)命令行操作
1) 重要快捷键:
使用Tab键来进行命令补全,补全目录,补全命令参数都是没问题的;
用Ctrl+c键来强行终止当前程序(它并不会使终端退出);
你可以使用键盘上的方向上键,恢复你之前输入过的命令。
图1:输入tial
图2:输入find /
按键 |
作用 |
Ctrl+d |
键盘输入结束或退出终端 |
Ctrl+s |
暂定当前程序,暂停后按下任意键恢复运行 |
Ctrl+z |
将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a |
将光标移至输入行头,相当于Home键 |
Ctrl+e |
将光标移至输入行末,相当于End键 |
Ctrl+k |
删除从光标所在位置到行末 |
Alt+Backspace |
向前删除一个单词 |
Shift+PgUp |
将终端显示向上滚动 |
Shift+PgDn |
将终端显示向下滚动 |
图3:常用指令
2) 通配符:主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。
图4:创建text文件与查找
图5:创建多个txt文件与查找
字符 |
含义 |
* |
匹配 0 或多个字符 |
? |
匹配任意一个字符 |
[list] |
匹配 list 中的任意单一字符 |
[!list] |
匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] |
匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} |
匹配 sring1 或 string2 (或更多)其一字符串 |
{c2..c2} |
匹配 c1-c2 中全部字符 如{1..10} |
图6:Shell 常用通配符
3) 帮助指令
可以使用man 命令,它是Manual page的缩写。
图7:查看man指令
图8:查看相应区段的指令介绍
图9:指令“ls --help”
3. 用户及文件的操作权限
(1)查看用户指令:who am i (who mom likes);
图10:查看用户
指令:whoami(去掉空格),只打印用户名
图11:只显示用户名
参数 |
说明 |
-a |
打印能打印的全部 |
-d |
打印死掉的进程 |
-m |
同am i,mom likes |
-q |
打印当前登录用户数及用户名 |
-u |
打印当前登录用户登录信息 |
-r |
打印运行等级 |
图12:who 命令其它常用参数
(2)创建用户:这里用到 sudo 这个命令,使用这个命令有两个大前提,一是知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
“$ sudo adduser lilei”指令创建新账户,输入密码界面上看不见,其他信息敲下回车键就表示默认。
图13:创建新账户并查看
(3)在 Linux 里面如何知道自己属于哪些用户组
1) 使用groups命令:其中冒号之前表示用户,后面表示该用户所属的用户组。
2) 查看/etc/group文件,cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出,你可以在最下面看到 shiyanlou 的用户组信息。/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到上面的 password 字段为一个 ‘x‘ 并不是说密码就是它,只是表示密码不可见而已。
图14:groups指令
图15:查看/etc/group/文件
(4)将用户加入群组,使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。
图16:显示用户不在群组中
图17:root用户lilei
(5)删除用户:指令“$ sudo deluser lilei --remove-home”
图18:删除用户
(6)查看文件权限:(Linux 里面一切皆文件),一个 目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息所有者权限。
图19:同时使用 ‘-A‘ 和 ‘-l‘ 参数
图20:显示文件大小
(7)变更文件所有权
图21:变更文件夹的位置
(8)修改文件权限
1)二进制表示
2)加减赋值操,指令“$ chmod go-rw iphone”,‘g‘‘o‘还有‘u‘,分别表示group,others,user,‘+‘,‘-‘ 就分别表示增加和去掉相应的权限。
4. Linux目录结构及文件基本操作
1) FHS标准,这种文件组织形式定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。指令“tree /”:
2) 目录路径,使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd命令可以获取当前所在路径(绝对路径)。
3) 绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如:usr/local/bin 。
4) Linux文件的基本操作
1) 新建空白文件,使用 touch 命令创建空白文件,主要是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名文件),当然你也可以同时指定该文件的时间戳。
2) 新建目录,使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性,使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录。
5) 复制文件,使用cp(copy)命令复制一个文件或目录到指定目录。
复制目录,成功复制目录需要加上-r或者-R参数,表示递归复制。
6) 删除文件,使用rm(remove files or directories)命令;删除目录,跟复制目录一样,要删除一个目录,也需要加上-r或-R参数。
7) 移动文件,使用mv(move or rename files)命令,移动文件(剪切)。
8) 重命名,“mv 旧的文件名 新的文件名”
多个重命名:
# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件
$ rename ‘s/\.txt/\.c/‘ *.txt
# 批量将这 5 个文件,文件名改为大写
$ rename ‘y/a-z/A-Z/‘ *.c
9) 查看文件,cat,tac这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示;
使用more和less命令分页查看文件;
使用head和tail命令查看文件;
(只看一行, 加上-n参数,后面紧跟行数)
10) 查看文件类型,file命令查看文件类型
11) 编辑文件,直接使用 Linux 内部的 vim 学习教程,输入如下命令即可开始。
5. 环境变量与文件查找
(1)变量,使用declare命令创建一个变量名;
使用=号赋值运算符为变量 tmp 赋值为 shiyanlou;
读取变量的值,使用echo命令和$符号($符号可以表示引用一个变量的值)
(2)三种环境变量:
当前 Shell 进程私有用户自定义变量,如上面我们创建的 temp 变量,只在当前 Shell 中有效;
Shell 本身内建的变量;
从自定义变量导出的环境变量。
命令 |
说明 |
set |
显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量 |
env |
显示与当前用户相关的环境变量,还可以让命令在指定环境中运行 |
export |
显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量 |
(3)命令的查找路径与顺序
查看PATH环境变量的内容,使用指令“$ echo $PATH”
六、 课后作业
2.
作业图1
作业图2
作业图3:下载toilet资料包之后
3.
创建用户:指令(sudo adduser),敲下回车使用默认值
Root用户:
4.
5.
七、 心得体会
了解了Linux与windows的区别,认识了Linux的优缺点,了解了基本操作,为以后更方便的使用Linux打下基础。
标签:
原文地址:http://www.cnblogs.com/shadow135211/p/4824555.html