linux最常用命令

时间:2021-12-06 01:25:12

  1,cd命令

     作用:切换当前目录,它的参数切换的路劲,可以是相对路劲,也可以是绝对路劲.  

    用法:   

1  cd /root/Docements    #切换当/root/Docements,绝对路劲
2  cd ./path             #切换到当前目录的path目录,相对路劲,“.”表示当前目录.
3  cd ../path            #切换到上层目录的path,“..”表示上层目录

 

  2,ls命令

    作用:查看文件与目录,list之意。它的参数如下  

-l :列出长数据串,包含文件的属性与权限数据等  
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)  
-d :仅列出目录本身,而不是列出目录的文件数据  
-h :将文件容量以较易读的方式(GB,kB等)列出来  
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 

 

  

  3,grep命令

    作用:分析一行的信息,若有需要的信息,就将该行显示出来,常常与管道一起使用,用于对一些输出命令进行筛选

      用法: 

grep [-acinv] [--color=auto] “查找字符串” filename

    它的常用参数如下: 

-a :将binary文件以text文件的方式查找数据
-c :  计算找到"查找字符串”的次数
-i :忽略大小写
-v :反向选择,显示不含有"查找字符串"内容的行
======================
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色 
  grep --color=auto "MANPATH"  /etc/man.config

# 把ls -l的输出中包含字母file(不区分大小写)的内容输出  
    ls -l | grep -i file

   4,cut命令

  作用:cut是将文本按列进行切分的小工具

  用法:cut -f 2,3 filename  

  实例:

    

cut -f FIELD_LIST filename    提取第一个列
cut -f 2,3 filenme  显示第2列第3列
cut -f3 --complement student_data.txt 打印除第3列以外的所有列

-b 表示字节
-c表示字符
-f表示定义字段
cut -c1-5 range_filed.txt  打印第1个到第5个字符

  5,sed命令入门

  替换给定的文本的字符串:sed "s/pattern/replace_string/" file 或者 cat file | sed 's/pattern/replace_string'

  使用-i可以替换结果应用于源文件:sed -i "s/pattern/replace_string/" file  

  

  sed '/pattern/d'会移除匹配样式的行   移除空白行:sed '/^$/d' file  

  

  用&表示匹配到的字符串

  echo 'this is an example' | sed 's/\w\+/(&)/g' 

  -->(this) (is) (an) (example)

  

  子串匹配标记\([0-9]\)

  echo "this is digit 7 in a number" | sed 's/digest \([0-9]\)/\1/'

  this is 7 in a number

  

  组合多个表达式:sed "expression;expression"

 

  

  6,awk命令入门

  awk基本脚本如下:

    awk 'BEGIN{print "start"} pattern{commands} END{print "end"} file

    工作方式如下:

    1,执行BEGIN中的语句。

    2,从文件或stdin中读取一行,然后执行pattern{commands}.重复这个过程知道文件全部读取完毕

    3,当读至输入流末尾时,执行END{commands}语句块

    echo -e "line1\nline2" |awk 'BEGIN{print "Start"} {print} END {print "End"}'

    输出:

      Start

      line1

      line2

      End

  awk的特殊变量

    NR:表示记录数量,在执行过程中对应于当前行号

    NF:表示字段数量,在执行过程中对应于当前执行行的字段数

    $0,这个变量包含执行过程中当前的文本内容

    $1,这个变量包含第一个字段的文本内容

    $2,这个变量包含第二个字段的文本内容

  再看一下awk的一些基本用法:

    打印每一行的第2和第3个字段:

    awk '{print $3,$2}' file

    统计文件中的行数:

    awk 'END{print NR}' file

       累加:

    seq 5 |awk 'BEGIN{sum=0;print "Summation:"} {print $1"+";sum+=$1} END{print "="sum}'  

    Summation:

    1+

    2+

    3+

    4+

    5+

    =15

  借助选项-v,将外部变量值传递给awk:VAR=1000;echo |awk -v VARIABLE=$VAR'{print VARIABLE}'

  打印不同行或样式之间的文本

    要打印从M行到N行范围的所有文本

      awk 'NR==M,NR==N' filename

    要打印处于start_pattern与end_pattern之间的文本

      awk '/start_pattern/,/end_pattern/' filename

  

  7,paste按列合并文件

  语法如下:

    paste file1 file2 file3 ...

    

  8,rev命令接受一个文件或stdin作为输入,并逆序打印每一行的内容

    (判断字符串是否为回文)

    string="malayalam"

    if[["$string" == "$(echo $string | rev)"]];

    then

    echo "Palindrome"

    else

    echo "Not palidrome"

     fi

  

  9,grep是在文件中搜索文本的最佳工具.grep会打印出匹配给定样式的文本或者文本行

    打印匹配字符串的文本行以及之后的3行,使用下面的命令:

    grep -A 3 "pattern_string" filename

    打印匹配字符串的文本行以及之前的3行,使用下面的命令:

    grep -B 3 "pattern_string" filename

    打印匹配字符串的文本行以及之后的3行和之后的3行,使用下面的命令:

    grep -C 3 "pattern_string" filename

  

  10,网站下载(wegt,curl)

   1,wegt 

    wget是一个用于文件下载的命令行工具,选项多且用法活

    用wget可以下载网页或者远程文件

    语法:wget URL

    下载多个URL,语法:wegt URL1 URL2 URL3

    wegt在放弃下载之前还会继续进行5次尝试 wegt -t 5 URL

    下载限速:wegt --limit-rate 大小 URL (在命令中用k(千字节)和兆(兆字节)指定速度限制)

    断点续传:wegt -c URL

   2,curl入门

    curl支持包括HTTP,HTTPS,FTP在内的众多协议.它还支持POST,cookie,认证,从指定偏移处下载部分文件,参照页,用户代理字符串,扩展头部,限速,文件大小限制,进度条等特性

    断点续传:curl url/file -C offset

    用curl设置参照页字符串:curl  --referer Referer_URL target_URL

    用curl设置cookie:curl http://example.com --cookie "user=a;pass=b"

    用curl设置用户代理字符串:curl URL --user-agent "Mozilla/5.0"   可以用-H传递多个头部信息:curl -H "Host:www.slynux.org" -H"Accept-;anguage:en" URL

    限定curl可占用带宽:curl url --limit-rate 20k

    指定最大下载量:curl URL --max-filesize bytes

    通过-I或-head只打印头部信息:curl -I http://slynux.org

  

  11,Lynx是一个基于命令行的网页浏览器。它并不会为我们显示一堆原始的HTML代码,而是能够打印出网站的文本版本,这个文本版和我们在浏览器中看到的页面一模一样,

 

 

 

 

linux最常用命令