interview

Linux系统

sed

sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。

sed命令行格式为:
         sed [-nefri] ‘command’ 输入文本    

常用选项:
        -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
        -e∶直接在指令列模式上进行 sed 的动作编辑;
        -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
        -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
        -i∶直接修改读取的档案内容,而不是由萤幕输出。       
常用命令:
        a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
        c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
        d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
        i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
        p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
        s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g!
         g 是行内进行全局替换

## umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码

计算方法如下:


例如,对于umask值0 0 2,相应的文件和目录缺省创建权限是什么呢? // 664 775
第一步,我们首先写下目录具有全部权限的模式,即777 (所有用户都具有读、写和执行权限),文件默认是666。
第二步,在下面一行按照umask值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
第四步,对于文件来说,在创建时不能具有执行权限,只要拿掉相应的执行权限比特即可。

useradd

格式:useradd [选项] 用户名

-p 设定帐号的密码
-d 指定用户的主目录
-m 自动建立用户的主目录
-M 不要自动建立用户的主目录

mount && umount


mount [选项] <-t 类型> [-o 挂载选项] <设备> <挂载点>

umount <挂载点|设备>

##find


find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

##grep

在文件中搜索指定字符所在行
格式: grep [选项] 指定字符 文件
-i 忽略大小写 -r 递归 -v 排除指定字符串 -n 显示列数


eg: grep -i ab /etc/inittab 

##tar

常用的打包压缩和解压命令之一
格式: tar 选项 [压缩后文件名] [目录]

注意:打包和压缩是两个不同概念,打包只是把所有文件放在一具类似包中,并不改变其大小,而压缩才会改变其大小


压缩时常用    
-c 打包(create)  -v显示详细信息(view) -f指定文件名(filename)  -z 打包同时压缩    
eg: tar -zvf word.tar word    

解压缩时常用    
-x 解包  -v显示详细信息(view) -f指定解压文件名(filename)  -z 解压缩    
eg: tar -zxf word.tar