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