Linux系统

sed

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

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

 umask

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

计算方法如下:

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

useradd

格式:useradd [选项] 用户名

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

mount && umount

  1. mount [选项] <-t 类型> [-o 挂载选项] <设备> <挂载点>
  2. umount <挂载点|设备>

find

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

grep

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

  1. eg: grep -i ab /etc/inittab

tar

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

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

  1. 压缩时常用
  2. -c 打包(create) -v显示详细信息(view) -f指定文件名(filename) -z 打包同时压缩
  3. eg: tar -zvf word.tar word
  4. 解压缩时常用
  5. -x 解包 -v显示详细信息(view) -f指定解压文件名(filename) -z 解压缩
  6. eg: tar -zxf word.tar