Linux 基础入门(新版)(实验一至四)

1.实验一  Lniux简介

操作系统:系统调用+内核

Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 Linux 开发者和自由软件社区提供支持

2.实验二:

1、实验楼环境介绍

2、常用 Shell 命令及快捷键

3、Linux 使用小技巧

UNIX/Linux 本身是没有图形界面的,我们通常在 Unix/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件。

Linux 上你可以自己选择安装不同的桌面环境,甚至可以定制自己的专属桌面

Linux的终端:

1.使用Linux时并不是直接与系统打交道,而是通过称为shell的中间程序完成的。

2.Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)——实现在一个窗口中完成接受用户输入和显示输出

*终端(Terminal)和控制台(Console)是有区别的

终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的

Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。

shell:“提供给使用者使用界面”的软件(命令解析器)

初体验:

实用的小技巧:

1.Tab:

 

使用Tab键来进行命令补全。

可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成!

当然不止补全命令,补全目录,补全命令参数都没问题。

2.[Ctrl+c]

实用状况:终端中出现无法预料的情况时,想要立即停止并恢复可控的状态。

使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)

 

其他的一些快捷键!

按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂定当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home
Ctrl+e 将光标移至输入行末,相当于End
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动

3.学会利用历史输入命令:使用方向

4.学会使用通配符:通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)

当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

终端里面输入的通配符是由 Shell 处理的。

shell处理通配符的过程:

当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。(实现的路径扩展功能)

5.创建多个文件love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt

利用:touch love_{1..10}_linux.txt

Shell 常用通配符:

字符 含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[!list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
{c2..c2} 匹配 c1-c2 中全部字符 如{1..10}


6.在命令行中获取帮助

在 Linux 环境中,如果你遇到困难,可以使man 命令(Manual page)
Manual pages 是在 UNIX 或类 UNIX 操作系统在线软件文档的一种普遍的形式。 内容包括计算机程序(包括库和系统调用),正式的标准和惯例,甚至是抽象的概念。用户可以通过执行 man 命令调用手册页。

(1)获得某个命令的说明和使用方式的详细介绍:man <command_name>

(2)查看 man 命令本身的使用方式:manman

man手册的八个区段:

区段 说明
1 一般命令
2 系统调用
3 库函数,涵盖了C标准函数库
4 特殊文件(通常是/dev中的设备)和驱动程序
5 文件格式和约定
6 游戏和屏保
7 杂项
8 系统管理命令和守护进程

查看相应区段的内容,就在 man 后面加上相应区段的数字即可:man 3 printf

所有的手册页遵循一个常见的布局,其为通过简单的 ASCII 文本展示而优化,而这种情况下可能没有任何形式的高亮或字体控制。一般包括以下部分内容:

NAME(名称)

该命令或函数的名称,接着是一行简介。

SYNOPSIS(概要)

对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。

DESCRIPTION(说明)

命令或函数功能的文本描述。

EXAMPLES(示例)

常用的一些示例。

SEE ALSO(参见)

相关命令或函数的列表。

在man中使用搜索:/<你要搜索的关键字>

查找到后你可以使用

n键切换到下一个关键字所在处,

shift+n为上一个关键字所在处。

Space(空格键)翻页,

Enter(回车键)向下滚动一行,

j,k(vim编辑器的移动键)进行向前向后滚动一行。

h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),

q键退出。

*更详细的帮助:使用info

快速查看一些它的某个具体参数的作用,那么你可以使用--help参数

*作业

$ sudo apt-get update;sudo apt-get install sysvbanner

banner shiyanlou

 

调整字体:

printerbanner -w 50 A(‘-w‘参数指定打印宽度,因为我们的环境在屏幕中显示比较小,必须要加上宽度限制。)

关于实验二最后的作业:

查找到Linux下有趣的Banner生成工具

Linux下有三个有趣的小工具:

1)banner:使用#生成banner

2)figlet:使用一些普通字符生成banner

3)toilet:使用一些复杂的彩色特殊字符生成banner

使用apt-get安装的时候需要输入以下命令:

$ sudo apt-get update

$ sudo apt-get install sysvbanner toilet figlet

使用方法:

1)banner

view plaincopy to clipboardprint?

$ banner EastCoke

2)figlet

view plaincopy to clipboardprint?

$ figlet EastCoke

使用参数-f可以指定字体,如 figlet -f slant EastCoke

使用参数-ctf可以使banner居中并且与终端等宽

输出到文件可以使用figlet -p < /path/to/file

3)toilet

view plaincopy to clipboardprint?

$ toilet -f bigmono9 -F gay EastCoke

$ toilet -f mono12 -F metal EastCoke

如果希望在每次打开终端的时候都会显示出banner,可以使用下面的命令:

echo ‘toilet -f bigmono9 -F gay EastCoke‘ >> ~/.bashrc

3.实验三  用户及文件权限管理

1.在Linux中创建,删除用户,及用户组操作。

2.Linux中的文件权限设置

一、Linux的用户管理

不同用户不可以相互查看修改彼此的文件——Linux的用户管理和权限机制。

输入的第一列表示打开当前伪终端的用户的用户名

第二列的pts/0 中 pts 表示伪终端, pts/0 后面那个数字就表示打开的伪终端序号,

第三列则表示当前伪终端的启动时间。

who 命令其它常用参数

参数 说明
-a 打印能打印的全部
-d 打印死掉的进程
-m am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级

2.创建用户

root命令的两大前提:

1.是你要知道当前登录用户的密码

2.是当前用户必须在 sudo 用户组。

root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户

创建叫lilei的新用户:sudo adduser lilei

该命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录: ls  /home

此时用户已经创建好,使用 su -l lilei 来切换登录用户

退出时可以使用exit  or  Ctrl+d

3.用户组

在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源。

如何知道自己属于哪一个用户组?

(1)使用groups命令

例:groups shiyanlou

其中冒号之前表示用户,后面表示该用户所属的用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。

(2)查看/etc/group文件

cat /etc/group | sort

可以使用命令过滤掉一些你不想看到的结果:

cat /etc/group | grep -E "shiyanlou|sudo"

etc/group 文件格式说明
/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下: group_name:password:GID:user_list

新用户获取root权限:

$ su -l lilei

$ sudo ls

使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令

$ su shiyanlou

$ groups lilei

$ sudo usermod -G sudo lilei

$ groups lilei

4.删除用户

sudo deluser lilei --remove-home

二、Linux 文件权限

1.查看文件权限

ls 命令我们用它来列出并显示当前目录下的文件)

ls -l

1.文件类型

Linux 里面一切皆文件

链接文件是分为两种的,软链接文件,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了)

 

2.文件权限

读权限,表示你可以使用 cat <file name> 之类的命令来读取某个文件的内容;

写权限,表示你可以编辑和修改某个文件; 

执行权限,通常指可以运行的二进制程序文件或者脚本文件。

一个目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息

3.链接数:链接到该文件所在的 inode 结点的文件名数目

4.文件大小:以 inode 结点大小为单位来表示的文件大小,你可以给 ls 加上 -lh 参数来更直观的查看文件的大小。

(1)显示除了 ‘.‘(当前目录),‘..‘ 上一级目录之外的所有包含隐藏文件(Linux 下以 ‘.‘ 开头的文件为隐藏文件)

ls -A

同时使用Al :ls -Al

(2)查看某一个目录的完整属性,而不是显示目录里面的文件属性

$ ls -dl <目录名>

(3)显示所有文件大小,并以普通人类能看懂的方式呈现:

$ ls -AsSh

*其中小 s 为显示文件大小,大 S 为按文件大小排序

2.变更文件所有者

(1)lilei登录 创建 iPhone6

$ touch iphone6

(2)更改文件所有者:

$ cd /home/lilei

$ ls iphone6

$ sudo chown shiyanlou iphone6

$ cp iphone6 /home/shiyanlou

3.修改文件权限

(1)方式一:二进制数字表示

每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 "rwx"

$ chmod 700 iphone6

(2)方式二:加减赋值操作

 

$ chmod go-rw iphone

‘g‘‘o‘还有‘u‘,分别表示group,others,user,‘+‘,‘-‘ 就分别表示增加和去掉相应的权限。

作业:

4.实验四Linux 目录结构及文件基本操作

1、Linux 的文件组织目录结构。

2、相对路径和绝对路径。

3、对文件的移动、复制、重命名、编辑等操作。

一、Linux 目录结构

linux与Windows有本质上的不同。

一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系:

Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘...)及分区的来实现文件管理,然后之下才是目录。

Linux 是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。

*虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。

1.FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准) 标准

FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。

FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态

2.目录路径

 

以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件

- 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

进入上一级目录:$ cd ..

进入你的“home”目录: $ cd ~

# 或者 cd /home/<你的用户名>

使用 pwd 获取当前路径: $ pwd

相对路径:也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点

绝对路径进入bin:

相对路径进入bin:

*提示:在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果

二、Linux 文件的基本操作

1.新建

新建文件

使用 touch 命令创建空白文件

新建目录

1.使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性

2.使用 -p 参数,同时创建父目录(如果不存在该父目录)

*创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用)

2.复制

使用cp(copy)命令复制一个文件或目录到指定目录

复制文件

cp test father/son/grandson

复制目录

要成功复制目录需要加上-r或者-R参数,表示递归复制

3.删除

删除文件

使用rm(remove files or directories)命令,删除一个文件或目录:

到想要删除一些为只读权限的文件,直接使用rm删除会显示提示,你如果想忽略这提示,直接删除文件,可以使用-f参数强制删除

例:$ rm -f test

删除目录:跟复制目录一样,要删除一个目录,也需要加上-r或-R参数

4.移动文件与文件重命名

移动文件

1.使用mv(move or rename files)命令,移动文件(剪切)。

2.重命名:将文件"file1"重命名为"myfile" mv 旧的文件名 新的文件名

批量重命名

我们可以使用一个看起来更专业的命令rename来实现

# 使用通配符批量创建 5 个文件

$ touch file{1..5}.txt

# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件

$ rename ‘s/\.txt/\.c/‘ *.txt

# 批量将这 5 个文件,文件名改为大写

$ rename ‘y/a-z/A-Z/‘ *.c

5.查看文件

使用cat,tac和nl命令查看文件

cat,tac用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示

标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,

即标准输入文件(stdin),默认对应终端的键盘;

标准输出文件(stdout)和标准错误输出文件(stderr)

比如我们要查看之前从"/etc"目录下拷贝来的passwd文件(可以加上-n参数显示行号)

$ cat -n passwd

*nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。

-b : 指定添加行号的方式,主要有两种:

-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)

-b t:只列出非空行的编号并列出(默认为这种方式)

-n : 设置行号的样式,主要有三种:

-n ln:在行号字段最左端显示

-n rn:在行号字段最右边显示,且不加 0

-n rz:在行号字段最右边显示,且加 0

-w : 行号字段占用的位数(默认为 6 位)

使用more和less命令分页查看文件

"man"手册内部就是使用的 less 来显示内容

可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。

使用head和tail命令查看文件

如当我们想要查看最近新增加的用户,那么我们可以查看/etc/passwd文件

tail命令参数-f,这个参数可以实现不停地读取某个文件的内容并显示。

6.查看文件类型

通常使用file命令可以查看文件的类型

$ file /bin/ls

作业:

小眼睛:$ nohup xeyes &

时间: 2024-10-01 02:38:29

Linux 基础入门(新版)(实验一至四)的相关文章

Linux 基础入门第一次实验笔记

第一节.实验介绍 本节主要介绍 Linux 的历史,Linux 与 Windows 的区别等入门知识.如果你已经有过充分的了解,可以跳过本节,直接进入下一个实验. 一.Linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍下操作系统在整个计算机系统中的角色. 我们的 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用

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

实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& 2.基本概念及操作 认真看过这篇linux系统简介文章,对于这样一个免费.高效的操作系统有了一个初步的认识.希望能在本学期对于linux操作系统有很好的认识和操作,使用. 同时,对于新认识的一些历史中开发和修复各个操作系统的前辈表示深深地敬佩. 2. 基本概念及操作 主要过程: (1)实验楼环境介绍 (2

《信息安全系统设计基础》第一次实验报告--Linux 基础入门

<信息安全系统设计基础>第一次实验报告--Linux 基础入门 北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:孙小博  学号:20135217 成绩:            指导教师:娄嘉鹏      实验日期:2015.9.20 实验密级: 无     预习程度:           实验时间:12小时 仪器组次:17     必修/选修:必修   实验序号:01 实验目的与要求: 1. 学会安装使用Linux操作系统

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

学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 4. 熟练应用“搜索”进行举一反三的学习 二.学习资源 1. 课程资料:https://www.shiyanlou.com/courses/413   实验一,课程邀请码:W7FQKW4Y 2. Li

Linux 基础入门 第二周9.21~9.27

一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴切老师上课所讲述的内容,可以说是对上课内容的一次再现,也是对课上知识点的补充. 在进行完上述学习之后进而学习了<Vim编辑器>这一章节的内容,在学习内容上没有太大的困难,主要都是相应的指令的练习,按部就班的完成就行.但在个人来看学习内容中有过多细碎的指令,在实际运用当中会有一定困难,但感觉主要联系

Centos Linux基础入门知识类

Centos Linux基础入门知识类 1.1Linux终端介绍 1.2基本命令的使用:ls.pwd.cd. 1.3 查看系统和BIOS硬件时间. 1.4 Linux如何获得帮助,Linux关机命令:shutdow.init等. 1.5 YUM本地源配置与开机自动挂载光盘 前言: 很多学习Linux的同学或多或少都知道,Linux是一个命令行下的操作系统,因为线上环境基本上不会使用图形化安装,所以该系统基本都是通过命令来完成对系统的操作,本人将为大家介绍一些简单的基础命令. 单词整理: term

腾讯云-Linux 基础入门

Linux 基础入门 目录操作 任务时间:5min ~ 10min 创建目录 使用 mkdir 命令创建目录 mkdir $HOME/testFolder # $HOME 当前用户的家目录  root -/root 切换目录 使用 cd 命令切换目录 cd $HOME/testFolder 使用 cd ../ 命令切换到上一级目录 cd ../ 移动目录 使用 mv 命令移动目录 mv $HOME/testFolder /var/tmp # mv -t sos/ xxx yyy zzz iii 

Linux 基础入门----推荐课程

Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https://www.shiyanlou.com/courses/1/labs/1/document 第2节 基本概念及操作 https://www.shiyanlou.com/courses/1/labs/2/document 第3节 用户及文件权限管理 https://www.shiyanlou.com/

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

接近一周的Linux基础入门学习,使我对Linux有了较为全面和整体的认识,通过本周的学习我把Linux与Windows进行比较发现相对于Windows,Linux有许多特别的区别去Windows的地方,并且对Linux中的指令操作也有了一定的了解,学会了一些基本的指令操作. Linux的一大特点是多用户,在Linux中可以创建多个用户每一个用户的权限是不同的,所有用户的存储都一起储存在同一个物理硬盘中但是用户与用户之间的存储信息又被虚拟隔离了,即每个用户对自己的资源(例如:文件.设备)有特定的

Linux基础入门之网络属性配置

Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,如果在同一网络内,那么可以通过ARP广播机制得到对方mac地址后就可以进行通信的,如果不是本地网络内就必须将数据报文封装后一层一层的经由网关路由进行转发.无论目标是哪的一