一.Linux 1.计算机 Linux只是操作系统的内核名字,没有别的含义。内核非常重要,有了它操作系统才能运行起来,但是他不能构成一个完备的操作系统。与GNU开源软件相结合才组成了操作系统。 2.Linux中一切皆文件。(重要思想) Linux中文件存储结构为倒树型结构 其中根目录为一级目录 底下是二级目录 如图:

此处我们列举一下root里所含文件及目录: /bin 二进制可执行文件,系统常规命令(重要) /boot 启动目录,存放系统自动启动文件,内核,还有初始化程序(重要) /dev 系统设备管理文件 /etc 大多数系统配置文件,服务存放路径(重要)(若删除很多服务无法支持) /home 普通用户家目录(重要)与超级用户家目录不同,普通包含在超级里面 /lib 函数库 /lib64 64位函数库 /media 临时挂载点 /mnt 临时挂载点 /opt 第三方软件安装目录 /proc 系统硬件信息和系统进程信息 /root 超级用户家目录,超级用户登陆系统后默认在的地方。超级用户拥有最高权限,可以管理其他的 /run 自动临时的设备挂载点 /sbin 系统管理命令,通常只有root可以执行(重要) /srv 系统数据目录 /var 系统数据目录 /sys 内核相关数据 /tmp 临时文件产生目录 /usr 用户相关信息数据

二.虚拟机相关知识 1.什么是虚拟机 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。(简单来说,就是和物理机[真机]一模一样,你可以干任何你想干的事情,玩坏了都不怕,嘿嘿) 2.基本使用手册 先在桌面点击右键打开一个新的terminal, 输入 rht-vmctl start desktop,打开一个虚拟机 输入 rht-vmctl view desktop,查看一个虚拟机 输入 rht-vmctl start server,打开一个虚拟机 输入 rht-vmctl view server,查看一个虚拟机 输入 rht-vmctl poweroff desktop,关闭虚拟机 输入 rht-vmctl reset desktop,重置虚拟机(玩坏了用的) 注意:可能出现的报错形式: (1)在输入 rht-vmctl start desktop打开一个虚拟机后,再次输入输入 rht-vmctl start desktop,此时出现报错如图: (2)在未打开虚拟机desktop的时候,输入 rht-vmctl view desktop想要查看一个虚拟机,此时出现报错如图: 其中root(超级用户)登录方式 Not listed? ---- root ---- 超级用户登录密码

三.Linux中基本操作 (1)在linux中如何运行命令 例如:(具体命令的用法意义在后面提,这里我们先看一看它的效果) ls用来查看目录里面有什么 命令 参数 目标 ls -l test
ls --size test 命令 参数 目标(中间空格隔开)
参数用来限定命令的执行方式 注意: 1.参数用来指定命令的某些功能,可以加也可以不加 2.命令和参数还有目标之间要用空格分开 3.在执行命令时通常遵循这些规则,特殊情况除外 4.命令必须在命令提示符后输入,没有提示符的输入是无效的 (2)命令提示符中字段含义 例如:[kiosk@foundation0 Desktop]$ (切开来一块一块看) 1=kiosk,2=@,3=foundation0,4=Desktop,5=$ 1:当前用户,运行shell的是谁 2:分割符号 3:主机名短名称(可以输入fundation查询主机名全称) 4:所在当前主机位置 5:身份提示符 $:代表普通用户;#:代表超级用户

四.Linux中的文件和目录(也就是平时所说的文件夹) 1.文件建立 touch filename
2.目录建立(文件夹) mkdir directory mkdir -p dir1/dir2/dir3 (-p建立递归目录,当上层目录不存在时自动建立多层) 3.文件删除 rm file 此时删除会有提示,输入y,点回车 rm -f file -f=--force 表示强制删除不提示 4.目录删除 rm -r directory -r表示递归删除,也就是删除目录本身和里面的所有内容 rm -r -f dir 删除目录不提示 rm -fr dir
rm -rf dir 5.编辑文件 (1)gedit gedit filename
直接输入gedit,但此时terminal不能用,被gedit占用了。用这个的前提是必须要有图形界面,而且gedit如果当你的电脑意外短路将不会保存里面的内容。这一点可是非常致命的啊!!! (2)vim vim file ---- 按i进入insert模式 ---- 书写内容 ---- 按esc退出插入模式 ---- :wq保存退出 vim的文件,就算突然退出或者异常,不会删除原来已有的内容。删除.swp文件后,再次打开,vim恢复正常。(目前还没有进行过这样的操作) 6.文件复制 cp 源文件 目的地文件 cp -r 源目录 目的地目录 cp 源文件1 源文件2 目的地文件 7.文件移动 mv 源文件 目的地文件 (相当于给文件重命名) mv 源目录/源文件 目的地目录 8.文件内容查看 cat filename 查看文件的全部内容 cat -b filename 显示行号 less filename 分页浏览 less filename分页浏览的用法如下: 上/下键 逐行上下移动 /keyword 高亮显示关键字,n向下匹配,N向上匹配 q 退出 head file 查看文件前10行 head -n 5 fie 查看文件前5行 tail file 查看文件后10行 tail -n 5 file 查看文件后5行 tail -f file 监控文件内容变化 9.文件大小统计
wc -l filename 行数 wc -w filename 单词数 wc -c filename 字节数

五.关于路径的命令 1.显示当前路径/工作地址(就是我在哪儿这个问题) pwd 2.文件的寻址 我们将所谓的文件路径(path)分为绝对路径和相对路径。 绝对路径:由根目录(/)开始写起的文件名或目录名称。是文件在系统的真实位置,此路径在寻找时不会考虑现在所在的位置信息。 相对路径:相对于目前路径的文件名写法。(反正开头不是/就是相对路径的写法) 3.切换路径 cd 目录名称 进入到指定目录 cd - 当前目录和当前目录之前所在的目录之间进行切换 cd~ 进入当前用户家目录 cd .. 进入当前目录的上层目录 4.查看 ls
ls -l file 文件属性 ls dir 目录中所包含的内容 ls -d dir 显示目录本身 ls -a dir 显示所有文件(包含隐藏文件) ls -s dir 查看并且按照大小排序

六.系统中历史的调用 history 查看历史 history -c 清空当前环境中的历史 !数字 调用此行历史 !test 调用以test关键字开头的最近一条历史 Ctrl + r + 关键字 调用历史中最近一条含有此关键字的历史

七.在系统中获得帮助 1.查看命令用途 whatis 2.查看命令用法 命令 --help 查看命令的基本用法,适用于多数命令 显示内容中: [] 表示选项可以加也可以不加 ... 表示选项加入的个数任意 <> 表示选项是必须加入的 Usage 标出命令用法 Options 对参数作用作说明 3.man查看命令或文件的说明手册 Man 命令 Man 5 文件 4.man的用法:同less的用法

八.系统的通用配置符号 星号符 匹配0到任意字符 ? 匹配单个字符 [[:alpha:]] 单个字母 [[:lower:]] 单个小写字母 [[:upper:]] 单个大写字母 [[:digit:]] 单个数字 [[:punct:]] 单个符号 [[:alnum:]] 单个字母或数字 [1-9] 1位,是1-9的任意数字 [!3-5]或者[^3-5] 1位,不是3-5的数字 {1..3} 3个,1 2 3 {1,3,5} 3个,1,3,5这三个数*

九.系统中的输入输出管理(重定向) 注意:此节试验在普通用户下操作:通过su - student转成普通用户。 1.理解系统的输入输出 I/O是输入输出的缩写。这个功能可以把命令行的输入重定向为从文件中获取内容,也可以把命令行的输出结果重定向到文件中。如果我们将多个命令行关联起来,将形成非常强大的命令——管道。 2.管理输入输出的符号 输出重定向符号:>

   重定向正确输出

2> 重定向错误输出 &> 重定向所有输出 注意:重定向时,如果指向同一文件内,将会覆盖原文件内容。 find /etc/ -name passwd 此句可以理解为:根据name(名字)去寻找/etc里的passwd的文件。 find /etc/ -name passwd > file 重定向将正确内容输出到file(正确内容为可以查看的) find /etc/ -name passwd 2> file.err 重定向将错误内容输出到file.err(错误内容为不可以查看的) find /etc/ -name passwd &> file.all 重定向将所有内容输出到file.all 3.输出追加(与重定向不同,此命令默认追加到原文件的最后) find /etc/ -name passwd >> file 追加正确内容输出到file find /etc/ -name passwd 2>> file.err 追加错误内容输出到file.err find /etc/ -name passwd &>> file.all 追加所有内容输出到file.all 4.管道 (1)管道的作用 “|”管道的作用是把前一条命令的输出变成后一条命令的输入 注意:管道只允许正确输出通过 通过管道的输出将会变成输入 如果需要保存输出内容,那么需要复制一份输出,命令是”tee” (2)实验过程 find /etc/ -name passwd | wc - l 看到结果为2,因为错误输出不能通过管道 find /etc/ -name passwd 2>&1 | wc - l 看到结果为19,因为错误输出被转换为正确输出 find /etc/ -name passwd 2>&1 | tee file | wc - l 保存一份输出到file 5.输出重定向 cat > file << EOF hello World EOF

十.详细学习vim 1.vim的三种模式 普通模式:浏览文件 插入模式:对文件内容进行编辑 命令模式:临时更改vim的工作方式,对字符进行批量处理,永久更改vim工作方式需要编辑配置文件:/etc/vimrc 2.调整vim的工作方式 set nu 显示行号 set nonu 不显示行号 set mouse=a 鼠标有用 注意:这些设置都是一次性的 再次进入就没了 3.字符搜索 /keyword 关键字高亮 4.字符管理 y yl 复制一个字母
y3l 复制三个字母 yw 复制一个单词 y3w 复制三个单词 yy 复制一行 y3y 复制三行 d
dl 删除一个字母 d3l 删除三个字母 dw 删除一个单词 d3w 删除三个单词 dd 删除一行 注意:在剪切之后vim会进入插入模式,要粘贴需要按esc退出插入模式然后按p粘贴 p 粘贴 u 撤销 ctrl + r 回复撤销 5.vim可视化模式 v 字符可视化 V 行可视化 ctrl + v 块可视化 其中批量添加字符,应该ctrl + v选中要加入字符所在的列 ---- 按大写I键,进入插入模式 ---- 加入字符 ---- 按esc退出 6.字符的替换 :%s/要替换的字符/替换成的字符/g :%s/westos/redhat/g 替换所有位置 :1,5s/westos/redhat/g 替换1到5行 7.vim的分屏功能 ctrl + w s 上下分屏 ctrl + w v 左右分屏 ctrl + w c 关闭光标所在屏幕 ctrl + w 上下左右 光标移动到指定屏幕 :sp file2 同时编辑当前文件和file2 8.在命令模式下光标的移动 gg 光标移动到文件的第一行 G 光标移动到文件的最后 :数字 光标移动到指定行 ZZ 保存退出 9.插入模式下光标移动 i 光标所在位置插入
I 光标所在行行首插入 o 光标所在行下一行插入 O 光标所在行上一行插入 a 光标所在字符的下一个字符插入 A 光标所在行的行尾插入 s 光标所在字符删除并插入 S 光标所在行删除并插入 10.vim的退出 :q 退出,在文件内容没有改变时使用 :wq 退出保存 :q! 强制退出不保存,在改变文件后不想保存时使用 :wq! 强制退出保存,在对只读文件编写时使用。注意:所编辑的只读文件必须是当前用户的文件 11.vim监控
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home/’ 每隔1秒监控一次命令实施情况(类似于电脑后台一直在重复所监控的命令) 注意:watch用于监控的是命令,而tail -f filename监控的是文件。

十一.用户管理 1.用户存在的意义 2.组存在的意义 3.用户的查看 1)查看当前用户 whoami 2)系统中用户的查看 id 查看指定用户id信息 id -u 查看用户的uid -g 查看用户的gid -G 查看用户所在的所有组id -n 显示名字而不是id数字 4.切换用户 su - 用户名称 其中”-”表示用户身份切换时同时切换当前用户环境。 执行高级用户切换低级用户时不需要密码,低级用户切换高级用户需要密码,平级切换也需要密码。 注意:每次su切换到其他用户操作完成之后退出,在切换到另外用户操作 5.用户在系统中的存储方式 /etc/passwd 用户信息文件 用户名称:用户密码:uid:gid:说明文字:家目录:默认shell /etc/group 用户组信息文件 组名:组密码:组id:组成员 /etc/shadow 认证信息文件 /home/usename 用户家目录 6.用户管理命令 1)用户删除 userdel userdel westos 删除用户但不删除用户的配置文件 userdel -r westos 删除用户并删除用户的配置文件 2)用户建立 useradd -u 8888 westos 指定用户uid useradd -g 21 westos 指定用户初始组id,”21”用户组必须是存在的 useradd -G 21 westos 指定用户附加组id,”21”用户组必须是存在的 useradd -c “hello” westos 指定用户的说明 useradd -d /home/lee westos 指定用户的家目录 useradd -s /sbin/nologin westos 指定用户默认shell 3)用户组 groupadd 建立用户组
groupadd -g 8888 建立用户组并指定用户组id groupdel 删除用户组 4)更改用户信息 usermod usermod -l 新名称 westos 更改用户的名称 usermod -u 8888 westos 更改用户的uid usermod -g 21 westos 更改用户的初始组 usermod -G 21 westos 更改用户的附加组 usermod -G “” westos 删除用户所有附加组 usermod -c “haha” westos 更改用户说明文字 usermod -md /home/lee westos 更改用户家目录 usermod -s /sbin/nologin westos 更改用户的shell usermod -L westos 冻结用户 usermod -U westos 解冻用户 5)用户认证信息 /etc/shadow 记录用户认证信息 此文件一共有9列: 用户名称:用户密码:用户密码最后一次被更改时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列 6)用户密码 passwd westos 更改westos密码 passwd -l westos 对密码加锁 passwd -u westos 对密码解锁 passwd -d westos 清空westos密码 注意: 普通用户改密码时: 1.必须知道当前永久原始密码2.密码不能和账号名称相似3.密码不能是纯数字或字母4.密码不能是有序的字母和数字的组合 2.用户密码最后一次被更改的时间 passwd -e westos 改变用户最后一次更改密码的时间为0,用户在登录时会被强制 3.修改密码 1)用户密码最短有效期 passwd -n 1 westos westos用户在1天之内不能修改密码 2)用户到期日 chage -E 2018-09-23 westos westos用户在2018-09-23到期

十二.文件权限 1.文件权限的查看 ls -l file ls -ld dir ll file ll -d dir 2.文件权限的读取 例如:

  • | rw- | rw- | r-- | 1 | kiosk | kiosk | 0 | Sep 23 14:52 | file [1] [2] [3] [4] [5] [6] [7] [8] [1]文件类型
  • 空文件,或者文本 d 目录 l 软链接 s socket套接字 b block块设备 c字符设备 [2]权限 rw- | rw- | r-- 1 2 3 1.[u]文件所有者对文件能做什么操作 2.[g]文件所有组能对文件做什么操作 3.[o]其他人能对文件做什么操作 [3] 对文件:文件硬链接个数(文件内容被记录的次数) 对目录:目录中子目录的个数(不是文件) [4]文件所有人 [5]文件所有组 [6]对文件:文件大小 对目录:目录中子文件元数据大小 [7]文件内容被修改的时间 [8]文件名称 3.如何修改文件的所有人和所有组 chown / chgrp chown username file/dir chown user.group file/dir chown -R user.group dir (同时更改了所有人和所有组) chgrp group file/dir chgrp -R group dir (只更改了所有组) 不加R只改变文件夹的所有人或所有组 加R改变文件夹里所有文件的所有人或所有组(递归) 4.如何修改文件的权限 1)对权限的理解 r对文件:是否可以查看文件中的内容 ----> cat file 对目录:是否可以查看目录中有什么子文件或子目录 ----> less dir w对文件:是否可以改变文件里面记录的字符 对目录:是否可以对目录中子目录或子文件元数据进行更改 x对文件:是否可以通过文件名称调用文件内记录的程序 对目录: 是否可以进入目录 2)更改方式 第一种方式: chmod <u|g|o><+|-|=><r|w|x> file|dir chmod u+x /mnt/file1 chmod g-r /mnt/fil2 chmod ug+r /mnt/file3 chmod u+r,g+x /mnt/file4 chmod +x /mnt/file5 chmod o=r-x /mnt/file6 第二种方式: rwx(顺序不能改变) 分别记为:210 我们令r=4,w=2,x=1 可得r-x|r--|--x 5 4 1 从而得到: 7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x 0=---

十三.其他 1.自动补齐 我们为了避免命令输入错误或者只记得命令的前半部分而遗忘后部分时,可以用tab补齐目录、路径或命令。 但有的时候一次tab并不能补齐,则代表以此关键字开头的内容不唯一。 此时tab两次,列出所有以此关键字开头的内容 2.加入中文输入法
左上角Application ---- System Tools ---- Settings ---- Rejion&language ---- Input source ---- add ----Chinese ---- Intelligent Pinyin 3.截屏方法 左上角点击utility,然后screen shot 或者用命令gnome-screenshot-a截取任意区域

例题 1.新建用户组,shengchan,caiwu,jishu 2.新建用户要求如下: tom是shengchan组的附加用户 harry是caiwu组的附加用户 leo是jishu组的附加用户 新建admin用户,此用户不属于以上提到的三个部门 3.新建目录要求如下: /pub目录为公共存储目录,对所有用户可以读、写、执行 /sc目录为生产部存储目录,只能对生产部人员可以写入 /cw目录为财务部存储目录,只能对财务人员可以写入

题1答案 题2答案 题3答案

仍然存在的一些问题: 1.本机再尝试whatis命令时,试图通过该命令得到关于某些命令的用法,然而所得如图。 具体原因目前还不清楚。 2.本机在截图时,总是出现截图失败的提示,具体原因不明。 3.对于已整理的部分,有一些地方不太清楚具体原因以及意义。比如重定向;系统的输入输出管理;EOF的意思;用户和组存在的意义;在实验过程中发现部分文件可以man 5 filename ,但是有一部分不能这样。

本文参考书目为:《Linux命令行大全》 by William E.Shotts,Jr.