常见执行 Linux 命令的格式是这样的:
命令名称 [命令参数] [命令对象]
注意,命令名称、命令参数、命令对象之间请用空格键分隔。
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用 -- 与 - 作为前缀。
echo:用于在 shell 编程中打印 shell 变量的值,或者直接输出指定的字符串。date:显示或设置系统时间与日期。reboot:重新启动正在运行的 Linux 操作系统。poweroff:关闭计算机操作系统并且切断系统电源。wget:用来从指定的 URL下载文件。wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget 会不断的尝试,直到整个文件下载完毕。ps:将某个时间点的进程运作情况撷取下来,可以搭配 kill 指令随时中断、删除不必要的程序。ps 命令可以查看进程运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等情况。使用 ps -l 则仅列出与你的操作环境 ( bash) 有关的进程而已;使用 ps aux 观察系统所有进程。top:动态观察进程的变化。pstree:pstree -A 列出目前系统上面所有的进程树的相关性。pidof:查找指定名称的进程的进程号 id 号。kill:删除执行中的程序或工作,后面必须要加上 PID (或者是 job number),用法:killall -signal 指令名称/PID。kill 可将指定的信息送至程序,预设的信息为 SIGTERM(15),可将指定程序终止,若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 job 指令查看。ifconfig:于配置和显示 Linux 内核中网络接口的网络参数。uname:打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等),-a 或 --all:显示全部的信息。uptime:打印系统总共运行了多长时间和系统的平均负载。uptime 命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。free:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区,-m:以MB为单位显示内存使用情况。who:显示目前登录系统的用户信息。执行 who 命令可得知目前有那些用户登入系统,单独执行 who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个 X 显示器。last:显示用户最近登录信息。单独执行 last 命令,它会读取 /var/log/wtmp 的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。history:显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。sosreport 命令:收集并打包诊断和支持数据pwd 命令:以绝对路径的方式显示用户当前工作目录。cd 命令:切换工作目录至 dirname。 其中 dirName 表示法可为绝对路径或相对路径。~ 也表示为 home directory 的意思,.则是表示目前所在的目录,.. 则表示目前目录位置的上一层目录。cp, rm, mv:复制、删除与移动文件或目录 。ls:显示文件的文件/目录的名字与相关属性。-l 参数:长数据串行出,包含文件的属性与权限等等数据 (常用)。touch:有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。file:用来探测给定文件的类型。file 命令对文件的检查分为文件系统、魔法幻数检查和语言检查 3 个过程文件内容查阅命令如下:
cat:由第一行开始显示文件内容tac:从最后一行开始显示,可以看出 tac 是 cat 的倒着写!nl:显示的时候,顺道输出行号!more:一页一页的显示文件内容less:与 more 类似,但是比 more 更好的是,他可以往前翻页!head:只看头几行tail:只看尾巴几行od:以二进制的方式读取文件内容!文件内容查阅命令总结:
cat/tac/nl 这几个命令;more/less 命令;head) 或取出后面几行 (tail)文字的功能使用 head 和 tail 命令,注意 head 与 tail 都是以『行』为单位来进行数据撷取的;文本内容编辑命令如下:
tr:可以用来删除一段讯息当中的文字,或者是进行文字讯息的替换。wc:可以帮我们计算输出的讯息的整体数据。stat:用于显示文件的状态信息。stat 命令的输出信息比 ls 命令的输出信息要更详细cut:可以将一段讯息的某一段给他『切』出来,处理的讯息是以『行』为单位。diff:在最简单的情况下,比较给定的两个文件的不同。如果使用 “-” 代替“文件”参数,则要比较的内容将来自标准输入。diff 命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。tar:利用 tar 命令可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。注意打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar 命令),然后再用压缩程序进行压缩(gzip bzip2 命令)。grep:(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)一种强大的文本搜索工具,能够使用正则表达式搜索文本,并把匹配的行打印出来。grep 它是分析一行信息, 若当中有我们所需要的信息,就将该行拿出来。用法:grep [-acinv] [--color=auto] '搜寻字符串' filename。which:查找命令的完整文件名。用法:which [-a] command,a : 将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称。find 命令是根据『PATH』这个环境变量所规范的路径,去搜寻命令的完整文件名。find:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。用法举例:在 /home 目录及其子目录下查找以 .txt 结尾的文件名 find /home -name "*.txt"。whereis/locate:whereis 只找系统中某些特定目录底下的文件而已, locate则是利用数据库来搜寻文件名,两者速度更快, 但没有实际搜寻硬盘内的文件系统状态。这个思维导图记录了常见命令,有利于索引,来源Linux基础命令(01)【Linux基础命令、ip查看、目录结构、网络映射配置】

我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/
如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最
在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa