实验三、Linux系统用户管理及VIM配置教程
实验三 Linux系统用户管理及VIM配置
项目内容这个作业属于哪个课程班级课程主页这个作业的要求在哪里作业要求学号-姓名17043123-夏财文作业学习目标1.学习Linux系统用户管理 2.学习vim使用及配置1. #### Linux用户管理
问:Linux系统为什么应避免使用root用户登录?
答:root在系统中权限是最高的,避免使用root账户登录,是怕root误操作导致巨大的灾难,然后是怕万一有恶意软件、或者软件本身有缺陷,那么就会造成很大的损失。
1)如何在与用户有关的三个文件中查看当前用户的信息?
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">cat /etc/passwd | grep xia #查看用户xia的信息
请简要描述这三个文件?
1./etc/passwd文件 :用户的配置文件。
2./etc/group文件 :用户组配置文件,即用户组的所有信息都存放在此文件中。
3./etc/shadow文件:密码配置文件,用于存储 Linux 系统中用户的密码信息。
2)用id命令查看当前用户相关信息
请简要描述输出结果?
答:uid指用户的用户id,gid指组id。
xia的uid号码=1000,gid号码=1000。
用户组:amd的gid号码=4,cdrom的GID号码= 24,sudo的GID号码= 27,dip的GID号码= 30,plugdev的GID号码= 46,Ipadmin的GID号码= 108,sambashare的GID号码= 124。
root用户的UID,GID=0
3)创建两个账号,一个账号为test,另外一个账号以大写E开头加上你自己学号尾数4位,两个账号分别设置密码及管理员权限,账号设置完成后,切换账号简单查看信息后,删除test账号,保留另一账号,以备后续操作。
a)创建账号
b) 设置密码
c)设置权限
d)切换账号
e)删除账号test
2.VIM简单配置
a)切换到保留的新创建账号
b)在用户主目录创建一个VIM配置文件.vimrc
c)打开并向文件中添加以下内容
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">set number "显示行号 <br></br><br></br>syntax on "语法高亮<br></br><br></br>set cursorline <br></br><br></br>set ruler " 显示标尺 <br></br><br></br>set showcmd " 输入的命令显示出来,看的清楚些 <br></br><br></br>set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 <br></br><br></br>set novisualbell " 不要闪烁(不明白) <br></br><br></br>set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容 <br></br><br></br>set nocompatible "去除VIM一致性,必须"<br></br><br></br>set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936<br></br><br></br>set termencoding=utf-8<br></br><br></br>set encoding=utf-8<br></br><br></br>set fileencoding=utf-8<br></br><br></br><br></br>"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""<br></br><br></br>"""""新文件标题<br></br><br></br>""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""<br></br><br></br>"新建.c,.h,.sh,.java文件,自动插入文件头 <br></br><br></br>autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" <br></br><br></br>""定义函数SetTitle,自动插入文件头 <br></br><br></br>func SetTitle() <br></br><br></br> "如果文件类型为.sh文件 <br></br><br></br> if &filetype == 'sh' <br></br><br></br> call setline(1,"\#########################################################################") <br></br><br></br> call append(line("."), "\# File Name: ".expand("%")) <br></br><br></br> call append(line(".")+1, "\# Author: liq") <br></br><br></br> call append(line(".")+2, "\# mail: [email protected] ") <br></br><br></br> call append(line(".")+3, "\# Created Time: ".strftime("%c")) <br></br><br></br> call append(line(".")+4, "\#########################################################################") <br></br><br></br> call append(line(".")+5, "\#!/bin/bash") <br></br><br></br> call append(line(".")+6, "") <br></br><br></br> else <br></br><br></br> call setline(1, "/*************************************************************************") <br></br><br></br> call append(line("."), " > File Name: ".expand("%")) <br></br><br></br> call append(line(".")+1, " > Author: xia") <br></br><br></br> call append(line(".")+2, " > Mail: [email protected]") <br></br><br></br> call append(line(".")+3, " > Created Time: ".strftime("%c")) <br></br><br></br> call append(line(".")+4, " ************************************************************************/") <br></br><br></br> call append(line(".")+5, "")<br></br><br></br> endif<br></br><br></br> if &filetype == 'cpp'<br></br><br></br> call append(line(".")+6, "#include<iostream>")<br></br><br></br> call append(line(".")+7, "using namespace std;")<br></br><br></br> call append(line(".")+8, "")<br></br><br></br> endif<br></br><br></br> if &filetype == 'c'<br></br><br></br> call append(line(".")+6, "#include<stdio.h>")<br></br><br></br> call append(line(".")+7, "")<br></br><br></br> endif<br></br><br></br> "新建文件后,自动定位到文件末尾<br></br><br></br> autocmd BufNewFile * normal G<br></br><br></br>endfunc <br></br><br></br>""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""<br></br>set autoindent " 自动缩进<br></br><br></br>set cindent<br></br><br></br>set tabstop=4 " Tab键的宽度<br></br><br></br>set softtabstop=4 " 统一缩进为4<br></br><br></br>set shiftwidth=4<br></br><br></br>set noexpandtab " 不要用空格代替制表符<br></br><br></br>set smarttab " 在行和段开始处使用制表符<br></br><br></br>set showmatch<br></br><br></br>set history=1000 " 历史记录数<br></br><br></br>set nobackup "禁止生成临时文件<br></br><br></br>set noswapfile<br></br><br></br>set ignorecase "搜索忽略大小写<br></br><br></br>set hlsearch "搜索逐字符高亮<br></br><br></br>set incsearch<br></br><br></br>set gdefault "行内替换<br></br><br></br>set langmenu=zh_CN.UTF-8 "语言设置<br></br><br></br>set helplang=cn<br></br><br></br>set laststatus=2 " 总是显示状态行<br></br><br></br>filetype on " 侦测文件类型<br></br><br></br>filetype plugin on " 载入文件类型插件<br></br><br></br>filetype indent on " 为特定文件类型载入相关缩进文件<br></br><br></br>set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割<br></br><br></br>set linespace=0 " 字符间插入的像素行数目<br></br><br></br>set wildmenu " 增强模式中的命令行自动完成操作<br></br><br></br>set backspace=2 " 使回格键(backspace)正常处理indent, eol, start等<br></br><br></br>set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界<br></br><br></br>set mouse=a " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)<br></br><br></br>set selection=exclusive<br></br><br></br>set selectmode=mouse,key<br></br><br></br>"自动补全<br></br><br></br>:inoremap ( ()<ESC>i<br></br>:inoremap ) <c-r>=ClosePair(')')<CR><br></br>:inoremap { {<CR>}<ESC>O<br></br>:inoremap } <c-r>=ClosePair('}')<CR><br></br>:inoremap [ []<ESC>i<br></br>:inoremap ] <c-r>=ClosePair(']')<CR><br></br>:inoremap " ""<ESC>i<br></br>:inoremap ' ''<ESC>i<br></br><br></br>function! ClosePair(char)<br></br> if getline('.')[col('.') - 1] == a:char<br></br> return "\<Right>"<br></br> else<br></br> return a:char<br></br> endif<br></br>endfunction<br></br><br></br>set completeopt=longest,menu "打开文件类型检测, 加了这句才可以用智能补全<br></br>d)创建并打开一个以.c结尾的文件