linux命令及 参数 详解

1、新手必须掌握的linux 指令:
帮助命令: man –h(man --help)
1.常用系统工作命令:

  1. echo命令:

    echo (选项) (参数)
    选项: -e 激活转义字符
    使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;
    参数:变量(指定要打印的变量)
    实例:
    打印带有色彩的文字
    echo -e “\e[1;31mThis is red text\e[0m”
    This is red text
    \e[1;31m 将颜色设置为红色
    \e[0m 将颜色重新置回
    颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
    背景色:
    echo -e “\e[1;42mGreed Background\e[0m”
    Greed Background
    颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
    文字闪动:
    echo -e “\033[37;31;5mMySQL Server Stop…\033[39;49;0m”
    红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐

  2. data命令:

    显示或设置系统时间与日期
    语法:
    date (选项) (参数)
    选项:
    -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
    -u:显示GMT;
    –help:在线帮助;
    –version:显示版本信息。

    参数:
    <+时间日期格式>:指定显示时使用的日期时间格式。
    日期格式字符串列表:
    %H 小时,24小时制(00~23)
    %I 小时,12小时制(01~12)
    %k 小时,24小时制(0~23)
    %l 小时,12小时制(1~12)
    %M 分钟(00~59)
    %p 显示出AM或PM
    %r 显示时间,12小时制(hh:mm:ss %p)
    %s 从1970年1月1日00:00:00到目前经历的秒数
    %S 显示秒(00~59)
    %T 显示时间,24小时制(hh:mm:ss)
    %X 显示时间的格式(%H:%M:%S)
    %Z 显示时区,日期域(CST)
    %a 星期的简称(Sun~Sat)
    %A 星期的全称(Sunday~Saturday)
    %h,%b 月的简称(Jan~Dec)
    %B 月的全称(January~December)
    %c 日期和时间(Tue Nov 20 14:12:58 2012)
    %d 一个月的第几天(01~31)
    %x,%D 日期(mm/dd/yy)
    %j 一年的第几天(001~366)
    %m 月份(01~12)
    %w 一个星期的第几天(0代表星期天)
    %W 一年的第几个星期(00~53,星期一为第一天)
    %y 年的最后两个数字(1999则是99)

实例:
格式化输出:
date +"%Y-%m-%d"
2009-12-07
输出昨天日期:
date -d “1 day ago” +"%Y-%m-%d"
2012-11-19
2秒后输出:
date -d “2 second” +"%Y-%m-%d %H:%M.%S"
2012-11-20 14:21.31
传说中的 1234567890 秒:
date -d “1970-01-01 1234567890 seconds” +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30
普通转格式:
date -d “2009-12-12” +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00
apache格式转换:
date -d “Dec 5, 2009 12:00:37 AM” +"%Y-%m-%d %H:%M.%S"
2009-12-05 00:00.37
格式转换后时间游走:
date -d “Dec 5, 2009 12:00:37 AM 2 year ago” +"%Y-%m-%d %H:%M.%S"
2007-12-05 00:00.37
加减操作:
date +%Y%m%d //显示前天年月日
date -d “+1 day” +%Y%m%d //显示前一天的日期
date -d “-1 day” +%Y%m%d //显示后一天的日期
date -d “-1 month” +%Y%m%d //显示上一月的日期
date -d “+1 month” +%Y%m%d //显示下一月的日期
date -d “-1 year” +%Y%m%d //显示前一年的日期
date -d “+1 year” +%Y%m%d //显示下一年的日期

设定时间:
date -s //设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2012-05-23” //这样可以设置全部时间
date -s “01:01:01 20120523” //这样可以设置全部时间
date -s “2012-05-23 01:01:01” //这样可以设置全部时间
date -s “20120523 01:01:01” //这样可以设置全部时间

有时需要检查一组命令花费的时间,举例:
#!/bin/bash
start=KaTeX parse error: Expected 'EOF', got '&' at position 33: …an.linuxde.net &̲> /dev/null end…(date +%s)
difference=$(( end - start ))
echo $difference seconds.

  1. reboot命令:
    用来重新启动正在运行的Linux操作系统。
    语法
    reboot (选项)
    选项
    -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
    -f:强制重新开机,不调用shutdown指令的功能;
    -i:在重开机之前,先关闭所有网络界面;
    -n:重开机之前不检查是否有未结束的程序;
    -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
    实例
    reboot //重开机。
    reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)

  2. poweroff命令
    用来关闭计算机操作系统并且切断系统电源。
    语法
    poweroff (选项)
    选项
    -n:关闭操作系统时不执行sync操作;
    -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
    -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
    -f:强制关闭操作系统;
    -i:关闭操作系统之前关闭所有的网络接口;
    -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
    实例
    如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
    使用poweroff立即关闭系统:poweroff

  3. wget命令:
    用来从指定的URL下载文件。
    wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,
    如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。
    如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
    这对从那些限定了链接时间的服务器上下载大文件非常有用。

    语法:
    wget (选项) (参数)
    选项:
    -a<日志文件>:在指定的日志文件中记录资料的执行过程;
    -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
    -b:进行后台的方式运行wget;
    -B<连接地址>:设置参考的连接地址的基地地址;
    -c:继续执行上次终端的任务;
    -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
    -d:调试模式运行指令;
    -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
    -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
    -h:显示指令帮助信息;
    -i<文件>:从指定文件获取要下载的URL地址;
    -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
    -L:仅顺着关联的连接;
    -r:递归下载方式;
    -nc:文件存在时,下载文件不覆盖原有文件;
    -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
    -q:不显示指令执行过程;
    -nh:不查询主机名称;
    -v:显示详细执行过程;
    -V:显示版本信息;
    –passive-ftp:使用被动模式PASV连接FTP服务器;
    –follow-ftp:从HTML文件中下载FTP连接文件。
    参数:
    URL:下载指定的URL地址。

实例:

使用wget下载单个文件
wget http://www.linuxde.net/testfile.zip
以下的例子是从网络下载一个文件并保存在当前目录,
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

下载并以不同的文件名保存
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
wget默认会以最后一个符合/的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

wget 限速下载
wget --limit-rate=300k http://www.linuxde.net/testfile.zip
当你执行wget的时候,它默认会占用全部可能的宽带下载。
但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

使用wget断点续传
wget -c http://www.linuxde.net/testfile.zip
使用wget -c重新启动下载中断的文件,
对于我们下载大文件时突然由于网络等原因中断非常有帮助,
我们可以继续接着下载而不是重新下载一个文件。
需要继续中断的下载时可以使用-c参数。

使用wget后台下载
wget -b http://www.linuxde.net/testfile.zip
Continuing in background, pid 1840.
Output will be written to `wget-log’.
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载,你可以使用以下命令来察看下载进度:

tail -f wget-log
伪装代理名称下载

wget --user-agent=“Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16” http://www.linuxde.net/testfile.zip
有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。
不过你可以通过–user-agent参数伪装。

测试下载链接
当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。
我们可以增加–spider参数进行检查。

wget --spider URL
如果下载链接正确,将会显示:
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled – not retrieving.
这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误:
wget --spider url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 404 Not Found
Remote file does not exist – broken link!!!
你可以在以下几种情况下使用–spider参数:

wget --tries=40 URL
如果网络有问题或下载一个大文件也有可能失败。
wget默认重试20次连接下载文件。
如果需要,你可以使用–tries增加重试次数。

下载多个文件
wget -i filelist.txt
首先,保存一份下载链接文件:
cat > filelist.txt
url1
url2
url3
url4
接着使用这个文件和参数-i下载。

镜像网站
wget --mirror -p --convert-links -P ./LOCAL URL
下载整个网站到本地。

–miror开户镜像下载。
-p下载所有为了html页面显示正常的文件。
–convert-links下载后,转换成本地的链接。
-P ./LOCAL保存所有文件和目录到本地指定目录。
过滤指定格式下载

wget --reject=gif ur
下载一个网站,但你不希望下载图片,可以使用这条命令。

把下载信息存入日志文件
wget -o download.log URL
不希望下载信息直接显示在终端而是在一个日志文件,可以使用。

限制总下载文件大小
wget -Q5m -i filelist.txt
当你想要下载的文件超过5M而退出下载,你可以使用。
注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。

下载指定格式文件
wget -r -A.pdf url
可以在以下情况使用该功能:
下载一个网站的所有图片。
下载一个网站的所有视频。
下载一个网站的所有PDF文件。
FTP下载:
wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url
可以使用wget来完成ftp链接的下载。

使用wget匿名ftp下载:
wget ftp-url
使用wget用户名和密码认证的ftp下载:
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

  1. ps命令
    ps命令用于报告当前系统的进程状态。
    可以搭配kill指令随时中断、删除不必要的程序。
    ps命令是最基本同时也是非常强大的进程查看命令,
    使用该命令可以确定有哪些进程正在运行和运行的状态、
    进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,
    总之大部分信息都是可以通过执行该命令得到的。

    语法
    ps (选项)
    选项:
    -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
    a:显示现行终端机下的所有程序,包括其他用户的程序。
    -A:显示所有程序。
    -c:显示CLS和PRI栏位。
    c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
    -C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
    -d:显示所有程序,但不包括阶段作业领导者的程序。
    -e:此选项的效果和指定"A"选项相同。
    e:列出程序时,显示每个程序所使用的环境变量。
    -f:显示UID,PPIP,C与STIME栏位。
    f:用ASCII字符显示树状结构,表达程序间的相互关系。
    -g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
    g:显示现行终端机下的所有程序,包括群组领导者的程序。
    -G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
    h:不显示标题列。
    -H:显示树状结构,表示程序间的相互关系。
    -j或j:采用工作控制的格式显示程序状况。
    -l或l:采用详细的格式来显示程序状况。
    L:列出栏位的相关信息。
    -m或m:显示所有的执行绪。
    n:以数字来表示USER和WCHAN栏位。
    -N:显示所有的程序,除了执行ps指令终端机下的程序之外。
    -p<程序识别码>:指定程序识别码,并列出该程序的状况。
    p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
    r:只列出现行终端机正在执行中的程序。
    -s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
    s:采用程序信号的格式显示程序状况。
    S:列出程序时,包括已中断的子程序资料。
    -t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
    t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
    -T:显示现行终端机下的所有程序。
    -u<用户识别码>:此选项的效果和指定"-U"选项相同。
    u:以用户为主的格式来显示程序状况。
    -U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
    U<用户名称>:列出属于该用户的程序的状况。
    v:采用虚拟内存的格式显示程序状况。
    -V或V:显示版本信息。
    -w或w:采用宽阔的格式来显示程序状况。 
    x:显示所有程序,不以终端机来区分。
    X:采用旧式的Linux i386登陆格式显示程序状况。
    -y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
    -<程序识别码>:此选项的效果和指定"p"选项相同。
    –cols<每列字符数>:设置每列的最大字符数。
    –columns<每列字符数>:此选项的效果和指定"–cols"选项相同。
    –cumulative:此选项的效果和指定"S"选项相同。
    –deselect:此选项的效果和指定"-N"选项相同。
    –forest:此选项的效果和指定"f"选项相同。
    –headers:重复显示标题列。
    –help:在线帮助。
    –info:显示排错信息。
    –lines<显示列数>:设置显示画面的列数。
    –no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
    –group<群组名称>:此选项的效果和指定"-G"选项相同。
    –Group<群组识别码>:此选项的效果和指定"-G"选项相同。
    –pid<程序识别码>:此选项的效果和指定"-p"选项相同。
    –rows<显示列数>:此选项的效果和指定"–lines"选项相同。
    –sid<阶段作业>:此选项的效果和指定"-s"选项相同。
    –tty<终端机编号>:此选项的效果和指定"-t"选项相同。
    –user<用户名称>:此选项的效果和指定"-U"选项相同。
    –User<用户识别码>:此选项的效果和指定"-U"选项相同。
    –version:此选项的效果和指定"-V"选项相同。
    –widty<每列字符数>:此选项的效果和指定"-cols"选项相同。

  2. top命令
    实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
    通过top命令所提供的互动式界面,用热键可以管理。

    语法:
    top (选项)
    选项
    -b:以批处理模式操作;
    -c:显示完整的治命令;
    -d:屏幕刷新间隔时间;
    -I:忽略失效过程;
    -s:保密模式;
    -S:累积模式;
    -i<时间>:设置间隔时间;
    -u<用户名>:指定用户名;
    -p<进程号>:指定进程;
    -n<次数>:循环显示的次数。

    top交互命令:
    在top命令执行过程中可以使用的一些交互命令。
    这些命令都是单字母的,如果在命令行中使用了-s选项,其中一些命令可能会被屏蔽。

    h:显示帮助画面,给出一些简短的命令总结说明;
    k:终止一个进程;
    i:忽略闲置和僵死进程,这是一个开关式命令;
    q:退出程序;
    r:重新安排一个进程的优先级别;
    S:切换到累计模式;
    s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
    f或者F:从当前显示中添加或者删除项目;
    o或者O:改变显示项目的顺序;
    l:切换显示平均负载和启动时间信息;
    m:切换显示内存信息;
    t:切换显示进程和CPU状态信息;
    c:切换显示命令名称和完整命令行;
    M:根据驻留内存大小进行排序;
    P:根据CPU使用百分比大小进行排序;
    T:根据时间/累计时间进行排序;
    w:将当前设置写入~/.toprc文件中。

实例:

# top 
top- 09:44:56 up 16 days, 21:23,  1 user,  load average: 9.59, 4.75, 1.92
Tasks: 145 total,   2 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s): 99.8%us,  0.1%sy,  0.0%ni,  0.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4147888k total,  2493092k used,  1654796k free,   158188k buffers
Swap:  5144568k total,       56k used,  5144512k free,  2013180k cached
解释:
top - 09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap:  5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],
  1. pidof命令:
    用于查找指定名称的进程的进程号id号。
    语法:
    pidof (选项) (参数)
    选项:
    -s:仅返回一个进程号;
    -c:仅显示具有相同“root”目录的进程;
    -x:显示由脚本开启的进程;
    -o:指定不显示的进程ID。
    参数
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值