0.

  ls 列出显示目录下的所有文件和目录

  ls -S         按文件大小排序列出文件

  ls -t           按时间顺序列出文件

  ls -a          列出所有文件,包括“.”开头的隐藏文件

 

  cat       查看文件内容

  cat -n           显示文件内容,并对所有输出的行数编号

  cat -b          和-n类似,但是对空白行不编号

  cat -s     连续多个空行时替代为一行空白行

 

  more filename         分页显示指定文件内容,(一次加载全部,按空格显示下一页,按b显示上一页,按q退出)

  more -num       指定每页显示的内容

  more -s            连续多个空行时替代为一行空白行

 

  less filename          分页显示指定文件内容,(按需加载,按空格显示下一页,按b显示上一页,按q退出)              

  less -s                连续多个空行时替代为一行空行

  

  head -10 查看文件前10行

  head -c 10 查看文件前10个字节

  tail  -10 查看文件后10行

  tail -c 10 查看文件后10个字节

  

  mkdir  新建目录

  rmdir  删除空目录

  touch 新建文件

  rm    删除文件

  rm  -rf  删除非空文件夹

 

  pwd  显示当前目录

  cp 复制目录或文件。-p:连同文件的属性一起复制过去,-r:递归复制,用于目录的复制行为。

  mv 移动或重命名指定的文件或文件夹

  

  find . -name "*.conf"    从当前目录开始查找以.conf结尾的文件和文件夹

  find . -size 10k            从当前目录开始查找大小为10k的文件和文件夹

  find . -empty               从当前目录开始查找空文件。

 

  chmod 775 server.xml     修改文件与目录权限

  chmod -r 775 hadoop      递归修改目录下的所有文件和目录的权限

  chown   tomcat:tomcat server.xml      修改文件的用户和用户组         用户名:组名

 

  cut   文件内容提取工具

  cut -d: -f1 /etc/passwd     -d指定分割符        -f指定提取特定列的内容        -c指定提取内容的字符串个数

  paste 文件内容合并工具

  paste -d: 1.txt 2.txt >3.txt   以:为分隔符,把文件1和文件2的同行合并,并重输出到文件3

  ls | paste -d: - - - >4.txt       以:为分隔符,每个-代表一个输入,这个表示三个输入写一行。整条命令的作用就是把每个输入用:分割开并写到文件4中,每三个输    入占一行

   wc  文件状态处理工具      

  wc -l统计行数        -m统计字符串             -w统计字的数量    
  sort 用于进行文字排序

  sort -k1,2 text.txt     按text.txt第一列进行排序,再根据第二类进行排序。               -r反向排序          -n按数字方式进行排序          -k指定按第几列进行排序 

    k1.2第一列属性的第二个字符;k1,2先按第一列排序,再按第二列培排序

  tr文本处理工具       -c 所有不属于第一字符集的字符都用第二字符集来代替        -d删除所有属于第一字符集的字符           -s   属于第一字符集的字符,如果连续出现了,只取第一个

  

1.linux查看端口占用情况

  netstat -apn

  如果要继续查看具体是哪一个进程占用了具体端口:ps -aux | grep pid

2.查看文本文件的第一行

  head -1 filename

3.查看文本文件的最后一行

  tail -1 filename

4.查看文本文件的第10行

  head -10 filename | tail -1          //先取出前10行,再选择10行中的最后一行

5.在脚本中获取脚本名称

  $0

6.获取一个文件中的每一行的第三个元素(以空格为分隔符)

  awk '{print $3}'

7.如果文本文件中的每一行的第一个元素是'hello',则输出第三个元素

  awk '{if($1=="hello") print $3}'

8.如何连接两个字符串

  s1="hello"

  s2="world"

  s3=${s1}${s2}  

  echo $s3

9.如何相加两个整数

  v1=1

  v2=2

  v3=$((v1+v2))

  echo $s3

10.&、&&、|、||的区别

  &:如果要让一个任务在后台执行,则用&;  例如:echo "helloworld" &

  &&:前一条命令执行成功的情况下,才会执行后面的命令。       例如:echo "hello" && echo "world"   输出:helloworld

  ||   :前一条命令执行失败的情况下,才会执行后面的命令。       例如:echo "hello"  ||  echo "world"    输出:hello:

  |    :管道,把前一条命令的输出后面一条命令的输入

11.name=Jone && echo "my name is $name"输出内容是?

  my name is Jone

12. ' 和 ''的区别

  '  不会把变量转换为值

  ''  会把变量转换为变量的值

13.把标准输出和标准错误输出重定向输出到log.txt文件

  echo "helloworld" >log.txt 2>&1

14.用echo命令获取字符串的一部分是

  s1=zhangchaowu

  echo ${s1:0:5}

15.四种匹配替换

  这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}     和${var#pattern}是最短匹 配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最 长最短匹配之分。

       结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符。
  例子:

  如果给定字符串 variable="User:123:321:/home/dir",如何只用 echo 命令获取 home_dir ?

  echo ${variable#*:*:*:}  echo ${variable##*:}

  如何从上面的字符串中获取 “User” ?

  echo ${variable%:*:*:*} echo ${variable%%:*}

16.wc
  wc -l统计行数
  wc -c统计字节数
  wc -w 统计字符串个数

17.统计同一个字符串在一个文件中出现的次数
  grep -o "str" filename | wc -l
  
18.去除一个字符串中的所有空格
  echo $str|tr -d " "

19.输出0到100中所有3的倍数:
  for i in {1..100..3};
  do
    echo i;
  done
20.打印传给脚本的所有参数
  echo $*

21.[[ $string == abc* ]] 和 [[ $string == "abc*" ]] 有什么区别
  [[ $string == abc* ]] - 检查字符串是否以字母 abc 开头
  [[ $string == "abc" ]] - 检查字符串是否完全等于 abc

22.在bash中定义数组
  arrays=("hello" "world" "zhangchaowu")

23.打印数组的第一个元素
  echo $(arrays[0])

24.打印数组的所有元素  
  echo $(arrays[@])
25.有一个文件ip.txt,每行一条ip记录,共若干行,用命令统计出出现次数最多的前三个ip及其次数。
  sort ip.txt | uniq -c | sort -rn | head -3
 

  

  

 

  

  

 

  

  

  

  

  

  

 

  

posted on 2017-09-12 20:00  张超五  阅读(160)  评论(0编辑  收藏  举报