1、总结文本编辑工具vim的使用方法;
VIM是一种LINUX和UNIX下的文本编辑器,可以对文件进行编辑,在实际的工作中,是不可缺少的工具。
其具体的用法简单些讲,就是类似于WIN上的WORD,不过它没有图形界面,只有命令行,比如复制一行的快捷键是yy,复制N行,用nyy; 在文件里显示行号,用:set nu; 删除一行,用dd; 粘贴用p;反悔刚才的动作用u;用:wq,即为保存退出。以下的VIM用法,来自于网络,借鉴,记录一下:
:%s/old/new/g
全文中的字符串old全部替换成new,注意格式,只需改old,new,其他一样
:n1,n2s/old/new/g
将n1行到n2行中所有的old都替换成new
:n1,n2d
删除指定范围的行,将n1行到n2行删除
2、总结文件查找命令find的使用方法;
find 是LINUX下的文件查找工具,可以指定不同的条件对系统中的文件进行查找。用法如下:
find [-path……] -options [-print -exec -ok]
path 是搜寻文件的路径 options是具体的条件
options常用的有下选项:
-name:按照名字查找
-perm:安装权限查找
-prune:不再当前指定的目录下查找
-user:文件属主来查找
-group:文件所属组来查找
-nogroup:查找无有效所属组的文件
-nouser:查找无有效属主的文件
-type:按照文件类型查找
print:表示将结果输出到标准输出。
exec:对匹配的文件执行该参数所给出的shell命令。
形式为command {} \;,注意{}与\;之间有空格
ok:与exec作用相同,
区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
命令举例如下:
在当前目录及子目录中,查找大写字母开头的txt文件
$ find . -name ‘[A-Z]*.txt‘ -print
在当前目录除aa之外的子目录内搜索 txt文件
$ find . -path "./aa" -prune -o -name "*.txt" -print
在当前目录及子目录中,查找属主具有读写执行,其他具有读执行权限的文件
$ find . -perm 755 -print
在当前目录及子目录下,查找符号链接文件
$ find . -type l -print
查找2天内被更改过的文件
$ find . -mtime -2 -type f -print
3、总结bash环境变量的相关内容;
(1) LINUX是个多用户系统,每个用户都有自己的运行环境,这些运行环境默认是相同的,是通过不同的环境变量来设置的。用户对自己的运行环境进行定制,可以通过修改这些环境变量进行定制。
(2) /etc/profile是全局的环境变量配置,在这个里面修改后,修改的结果会影响到所有的用户
(3) 变量的定义,是这种形式"name=fengfeng",在profile里,定义后,如果要生效的话,需要重启或者注销
(4) 使用env显示所有的环境变量, 使用set显示所有自定义的环境变量
(5)常见的环境变量 PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数。
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
PS1:是基本提示符,对于root用户是#,对于普通用户是$。
PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。
4、总结Linux文件系统上的特殊权限(SUID、SGID、Sticky)的知识点;
SUID: 执行者执行具有SUID权限的应用程序时,将具有应用程序拥有者的权限,比如passwd。
SGID:执行者将具有应用程序属于组的权限
STICKY: 该权限仅对目录有效,在拥有此种权限下的目录中,生成的文件,只有用户本身和ROOT有删除权限
5、总结Linux磁盘管理、文件系统相关知识点及其相关命令的使用方法;
常用命令fdisk df du 等等.
6、复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符;
%s/^[[:space:]]\+//g
7、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首加一个#; 原有空白字符保留;
%s/^[[:space:]]/#&/g
8、替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;
%[email protected]/etc/sysconfig/[email protected]/var/[email protected]
9、删除/tmp/functions文件中所以#开头,且#后面至少跟了一个空白字符的行的行首#;
%s/^#\([[:space:]]\+\)/\1/g
10、查找/var目录属主为root,且属组为mail的所有文件;
find /var -user root -group mail -ls
11、查找/usr目录下不属于root、bin或hadoop的所有文件;
find /usr ! \( -user root -o -user bin -o -user hadoop \) -ls
12、查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件;
find /etc -mtime -7 -a ! \( -user root -o -user hadoop \) -ls
13、查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;
find / \( -nouser -o -nogroup \) -atime -7 -ls
14、查找/etc目录下大于20k且类型为普通文件的所有文件;
find /etc -size +20k -type f -ls
15、查找/etc目录下所有用户都没有写权限的文件;
find /etc ! -perm +222 -ls
16、查找/etc目录下至少有一类用户没有执行权限的文件;
find
/etc
! -perm -111 -
ls
17、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件;
find /etc/init.d -perm -113 -ls
18、让普通用户能使用/tmp/cat去查看/etc/shadow文件;
1 |
chmod u+s /tmp/cat
|
19、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;
1 |
chmod o+t test /
|