首页 技术 正文
技术 2022年11月23日
0 收藏 333 点赞 3,457 浏览 7547 个字

1.实验一  Lniux简介 操作系统:系统调用+内核Linux 基础入门(新版)(实验一至实验四)Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 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:“提供给使用者使用界面”的软件(命令解析器)  初体验: Linux 基础入门(新版)(实验一至实验四)  实用的小技巧: 1.Tab: 使用Tab键来进行命令补全。可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成!Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四)  当然不止补全命令,补全目录,补全命令参数都没问题。 Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四)   2.[Ctrl+c] 实用状况:终端中出现无法预料的情况时,想要立即停止并恢复可控的状态。使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出) Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四)   其他的一些快捷键!

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

 3.学会利用历史输入命令:使用方向键 4.学会使用通配符:通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。终端里面输入的通配符是由 Shell 处理的。Linux 基础入门(新版)(实验一至实验四)shell处理通配符的过程:当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。(实现的路径扩展功能)   5.创建多个文件love_1_linux.txt,love_2_linux.txt,… love_10_linux.txt利用:touch love_{1..10}_linux.txtLinux 基础入门(新版)(实验一至实验四)  

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 sysvbannerbanner shiyanlou 调整字体:printerbanner -w 50 A(’-w’参数指定打印宽度,因为我们的环境在屏幕中显示比较小,必须要加上宽度限制。)Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四) 关于实验二最后的作业:查找到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’ >> ~/.bashrcLinux 基础入门(新版)(实验一至实验四)    3.实验三  用户及文件权限管理1.在Linux中创建,删除用户,及用户组操作。2.Linux中的文件权限设置   一、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 lileiLinux 基础入门(新版)(实验一至实验四)  该命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录: ls  /home 此时用户已经创建好,使用 su -l lilei 来切换登录用户退出时可以使用exit  or  Ctrl+d Linux 基础入门(新版)(实验一至实验四)    3.用户组 在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源。 如何知道自己属于哪一个用户组?(1)使用groups命令例:groups shiyanlou其中冒号之前表示用户,后面表示该用户所属的用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。Linux 基础入门(新版)(实验一至实验四)  (2)查看/etc/group文件 cat /etc/group | sort 可以使用命令过滤掉一些你不想看到的结果:cat /etc/group | grep -E “shiyanlou|sudo”   Linux 基础入门(新版)(实验一至实验四)  

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

新用户获取root权限:$ su -l lilei$ sudo ls  Linux 基础入门(新版)(实验一至实验四)  使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令$ su shiyanlou$ groups lilei$ sudo usermod -G sudo lilei$ groups lileiLinux 基础入门(新版)(实验一至实验四)  4.删除用户 sudo deluser lilei –remove-homeLinux 基础入门(新版)(实验一至实验四)  

二、Linux 文件权限

1.查看文件权限ls 命令我们用它来列出并显示当前目录下的文件) ls -lLinux 基础入门(新版)(实验一至实验四)  Linux 基础入门(新版)(实验一至实验四) Linux 基础入门(新版)(实验一至实验四)1.文件类型Linux 里面一切皆文件链接文件是分为两种的,软链接文件,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了) 2.文件权限读权限,表示你可以使用 cat <file name> 之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件; 执行权限,通常指可以运行的二进制程序文件或者脚本文件。一个目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息  3.链接数:链接到该文件所在的 inode 结点的文件名数目 4.文件大小:以 inode 结点大小为单位来表示的文件大小,你可以给 ls 加上 -lh 参数来更直观的查看文件的大小。 (1)显示除了 ‘.'(当前目录),’..’ 上一级目录之外的所有包含隐藏文件(Linux 下以 ‘.’ 开头的文件为隐藏文件)      ls -ALinux 基础入门(新版)(实验一至实验四)      同时使用Al :ls -AlLinux 基础入门(新版)(实验一至实验四)  (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/shiyanlouLinux 基础入门(新版)(实验一至实验四)  

3.修改文件权限

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

每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 “rwx”$ chmod 700 iphone6Linux 基础入门(新版)(实验一至实验四)  (2)方式二:加减赋值操作 $ chmod go-rw iphoneLinux 基础入门(新版)(实验一至实验四) ‘g”o’还有’u’,分别表示group,others,user,’+’,’-‘ 就分别表示增加和去掉相应的权限。   作业: 

Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四)    4.实验四Linux 目录结构及文件基本操作1、Linux 的文件组织目录结构。2、相对路径和绝对路径。3、对文件的移动、复制、重命名、编辑等操作。  

一、Linux 目录结构

linux与Windows有本质上的不同。一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系:Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘…)及分区的来实现文件管理,然后之下才是目录。 Linux 是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。*虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。 1.FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准) 标准FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。Linux 基础入门(新版)(实验一至实验四)Linux 基础入门(新版)(实验一至实验四) Linux 基础入门(新版)(实验一至实验四)  FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态Linux 基础入门(新版)(实验一至实验四)  2.目录路径 以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件- 表示上一次所在目录,~ 通常表示当前用户的”home”目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。进入上一级目录:$ cd .. 进入你的“home”目录: $ cd ~                                             # 或者 cd /home/<你的用户名>使用 pwd 获取当前路径: $ pwdLinux 基础入门(新版)(实验一至实验四)  相对路径:也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点 绝对路径进入bin:Linux 基础入门(新版)(实验一至实验四)相对路径进入bin:Linux 基础入门(新版)(实验一至实验四) *提示:在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果 

二、Linux 文件的基本操作

1.新建

 新建文件使用 touch 命令创建空白文件 新建目录1.使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性2.使用 -p 参数,同时创建父目录(如果不存在该父目录)*创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用)Linux 基础入门(新版)(实验一至实验四) 2.复制使用cp(copy)命令复制一个文件或目录到指定目录 复制文件 cp test father/son/grandson 复制目录要成功复制目录需要加上-r或者-R参数,表示递归复制Linux 基础入门(新版)(实验一至实验四) 3.删除 删除文件使用rm(remove files or directories)命令,删除一个文件或目录:到想要删除一些为只读权限的文件,直接使用rm删除会显示提示,你如果想忽略这提示,直接删除文件,可以使用-f参数强制删除例:$ rm -f test Linux 基础入门(新版)(实验一至实验四) 

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

 4.移动文件与文件重命名移动文件1.使用mv(move or rename files)命令,移动文件(剪切)。 2.重命名:将文件”file1″重命名为”myfile” mv 旧的文件名 新的文件名Linux 基础入门(新版)(实验一至实验四) 批量重命名我们可以使用一个看起来更专业的命令rename来实现# 使用通配符批量创建 5 个文件$ touch file{1..5}.txt# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件$ rename ‘s/\.txt/\.c/’ *.txt# 批量将这 5 个文件,文件名改为大写$ rename ‘y/a-z/A-Z/’ *.cLinux 基础入门(新版)(实验一至实验四) 

5.查看文件

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

cat,tac用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示 标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr)  比如我们要查看之前从”/etc”目录下拷贝来的passwd文件(可以加上-n参数显示行号)$ cat -n passwdLinux 基础入门(新版)(实验一至实验四)  *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 来显示内容Linux 基础入门(新版)(实验一至实验四)可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。  使用head和tail命令查看文件如当我们想要查看最近新增加的用户,那么我们可以查看/etc/passwd文件Linux 基础入门(新版)(实验一至实验四) tail命令参数-f,这个参数可以实现不停地读取某个文件的内容并显示。 

6.查看文件类型

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

$ file /bin/ls

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

作业:

小眼睛:$ nohup xeyes &Linux 基础入门(新版)(实验一至实验四) 

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,022
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,359
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,142
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,773
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,851