linux

来源:互联网 发布:淘宝云客服论坛 编辑:程序博客网 时间:2024/06/06 00:05

1.文件系统

/dev/null "黑洞" 只写,调试时会打日志,运行时不需要这些日志可以打印到此

/dev/shm 默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果

               tmpfs有以下优势: 
                1.1 动态文件系统,在linux下,默认最大为内存的一半大小,使用df -h命令可以看到

                1.2 闪电般的速度,典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间

                1.3 tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

2.shell

   2.1 > 写入文件并覆盖旧文件

         >> 加到文件的尾部,保留旧文件内容

   2.2 读取文件

  while read line  do       echo $line  done < file(待读取的文件)

  2.3 基本符号

  ➜  ~  name=ma   ➜  ~  echo "$name"         ma    ➜  ~  echo '$name'         $name      ➜  ~  echo $name           ma   #默认为双引号  ➜  ~  echo ${name}        ma     #防止字符串拼接时出错,eg $nameaa  ➜  ~  echo $(name)        sh: command not found: name         #$(0 与 $``作用相同 执行命令  ➜  ~  declare dat=$(date +%Y_%m_%d)  ➜  ~  echo $dat  2015_03_17


2.4

➜  ~  wc -l passwd | cut -f1 -36 passwd➜  ~  wc -l passwd | cut -d' ' -f1        #cut获取以-d指定的分隔符,-f表示分割的第几列36


2.5 管道|

有些指令不能制定标准输入 比如ls,

可以使用xargs配合

➜  ~  aDS | xargs ls    zsh: command not found: aDSqss test1    


2.6 grep

grep 'regex' file_nameegrep 'regex' file_name     (扩展正则)frep ‘   ’   file_name     (fgrep 命令检索固定字符串,它不识别正则表达式,是快速搜索命令)


2.7 sed

sed格式与grep格式相同

➜  ~  sed -n '1p' passwd   (-n 不打印远行 ,输出第一行)root:x:0:0:root:/root:/bin/bash➜  ~  sed -n '1,3p' passwd  (输出1到3行)root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologin➜  ~  sed -n '1p;3p' passwd    (输出1和3行)root:x:0:0:root:/root:/bin/bashbin:x:2:2:bin:/bin:/usr/sbin/nologin➜  ~  sed -n 's/root/Root/pg' passwd  (s正则匹配 Root替换root g:global全部 p:print)Root:x:0:0:Root:/Root:/bin/bash➜  ~  sed -n '/yu/p' passwdyuchenyu:x:1000:1000:yuchen.yu,,,:/home/yuchenyu:/bin/zsh➜  ~  sed -n 's/yu//pg' passwd (删除yu 对比上面)chen:x:1000:1000:chen.,,,:/home/chen:/bin/zsh➜  ~  sed '2d' passwd1    (删除第二行)

2.8 sort

sort -n -r   (n以数字进行排序,默认string r表示降序)


2.9 uniq

uniq -c    (c表示重复次数)


2.10 awk

➜  ~  awk -F: '{print $1}' passwd      (F指出分隔符:)➜  ~  awk -F: '{print $1 NR "  "NF}' passwd     (NR :行数    NF:当前行的列数)➜  ~  awk -F: '/root/{print $1 NR NF}' passwd   (正则,匹配root)➜  ~  awk -F: '$1~/root/{print $1 NR NF}' passwd   (制定第一列满足正则)➜  ~  awk -F: '$1!~/root/{print $1 NR NF}' passwd    (制定除第一列满足正则)

所有UNIX命令,要取结果或输出,都要用$( )或反引号``
0 0