linux最常用命令
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代码,而是能够打印出网站的文本版本,这个文本版和我们在浏览器中看到的页面一模一样,