重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在 Linux 系统中,可以使用 ls 命令列出当前目录下的文件和目录。如果您希望在 ls 命令的输出中添加行号,可以使用 nl 命令配合 ls 命令使用。例如,您可以这样使用这两个命令:
成都创新互联主要从事网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务武胜,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
ls | nl
这条命令会列出当前目录下的文件和目录,并在每一行的开头添加一个行号。如果您只想显示文件,可以使用 -l 参数来更改 ls 命令的输出,例如:
ls -l | nl
这条命令只会列出当前目录下的文件,并且会显示每个文件的详细信息,包括权限、大小、时间等。
需要注意的是,nl 命令的行号是从 1 开始的,如果您希望从其他数字开始编号,可以使用 -n 参数来指定行号的开始值。例如,如果您希望从 5 开始编号,可以这样使用 nl 命令:
ls | nl -n 5
这条命令会从 5 开始编号,每一行的行号都比上一行多 1。您还可以使用其他参数,来控制行号的格式和显示方式。具体的用法可以参考 nl 命令的帮助文档,或者搜索相关资料。
linux系统下用ls命令列出当前目录下的文件。
ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。
ls运行时可指定下列参数,
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
缺省情况下,ls 命令按照文件名的字母顺序显示所有信息。整理顺序由环境变量 LANG 或 LC_COLLATE 环境变量确定。在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 "National Language Support Overview for Programming" 包含更多细节。当 ls 命令显示目录内容时,它不显示名称以 .(点)开头的文件项,除非使用了 -a 或者 -A 标志。如果命令由 root 用户执行,它缺省使用 -A 标志。格式化输出有三种主要方式:* 每行列出一项。* 通过指定 -C 或 -x 标志以多列列出各项。当向 tty 输出时,-C 标志是缺省格式。如果文件或目录名太长,ls 命令显示单列输出。* 通过指定 -m 标志可以以逗号分隔系列列出项。要确定输出行中字符位置的数目,ls 命令使用环境变量 COLUMNS。如果没有设置此变量,命令获取显示的当前列值。如果使用这些方法,ls 命令还不能确定字符位置的数量,它就使用缺省值 80。使用 -e 和 -l 标志所显示的方式解释如下:如果第一个字符是:d 此项为目录。b 此项为块特殊文件。c 此项为字符特殊文件。l 此项为符号链接,或者指定 -N 标志,或者符号链接不指向现有文件。p 此项为一个先进先出(FIFO)特殊文件。s 此项为本地套接字。- 此项为普通文件。接下来的 9 个字符被分成 3 个集合,每个集合 3 个字符。第一组 3 字符集合显示所有者许可权。下一组 3 字符集合显示了组中其它用户的许可权。最后 3 字符集合显示了访问此文件的其它任何人的许可权。每个集合中的三个字符各自表示了文件的读、写和执行权限。目录的执行权限让您可以搜索目录中的指定文件。
printf 是linux 下的格式化输出命令。
有点儿类似于python 和c 语言的printf 命令,但是应该没有c语言的那么强大.。printf 命令常用于linux 下的awk 编程, 平时使用输出时用 echo 即可。pintf 命令不能接受管道符参数,也不能之直接跟文件名, 但是可以跟系统命令执行的结果,如`df` 或者 $(cat /etc/passwd)。
一、命令格式: printf '输出类型转义符' 输出内容。
二、常用输出格式:
1、%ns : 输出字符串; 输出n位的字符串;
2、 %ni: 输出整数: 输出n位的整数;
3、%m.nf: 输出浮点数: m位整数 和 n位小数;
三、常用转义符:
1、\t 水平tab 键;
2、\v 垂直tab 键;
3、\n 换行;
4、\r 回车, Enter键;
5、\f 清除屏幕;
6、\b 输出退格键;
7、\a 输出警告声音。
注意:
1. printf 命令默认输出结果没有换行符,需要手工添加\n。
2. printf 命令后面不能接受管道符参数, 如: df | print '%s' 是错误的。
3. print 命令后面也不能直接跟文件名, 如: print '%5s' /etc/passwd 是错误的。
4. print 命令后可以跟系统命令执行的结果, 如: print '%s' $(cat /etc/password)'。
PHP在linux上执行命令
目录:
一、PHP中调用外部命令介绍
二、关于安全问题
三、关于超时问题
四、关于PHP运行linux环境中命令出现的问题
一、PHP中调用外部命令介绍
在PHP中调用外部命令,可以用,1调用专门函数、2反引号、3popen()函数打开进程,三种方法来实现:
方法一:用PHP提供的专门函数(四个):
PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()
1)exec()
原型: string exec ( string $command [, array $output [, int $return_var ] )
说明: exec执行系统外部命令时不会输出结果,而是返回结果的最后一行。如果想得到结果,可以使用第二个参数,让其输出到指定的数组。此数组一个记录代表输出的一行。即如果输出结果有20行,则这个数组就有20条记录,所以如果需要反复输出调用不同系统外部命令的结果,最好在输出每一条系统外部命令结果时清空这个数组unset($output),以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。
?php
exec("dir",$output);
print_r($output);
?
2)system()
原型: string system ( string $command [, int $return_var ] )
说明: system和exec的区别在于,system在执行系统外部命令时,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
?php
system("pwd",$result);
print $result;//输出命令的结果状态码
?
关于第二个参数结果状态码的简单介绍:
如果返回0是运行成功,
在Bash中,当错误发生在致命信号时,bash会返回128+signal number做为返回值。
如果找不到命令,将会返回127。
如果命令找到了,但该命令是不可执行的,将返回126。
除此以外,Bash本身会返回最後一个指令的返回值。
若是执行中发生错误,将会返回一个非零的值。
Fatal Signal : 128 + signo
Can't not find command : 127
Can't not execute : 126
Shell script successfully executed : return the last command exit status
Fatal during execution : return non-zero
3)passthru()
原型: void passthru ( string $command [, int $return_var ] )
说明: passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。第二个参数可选,是状态码。
?php
header("Content-type:image/gif");
passthru("/usr/bin/ppm2tiff /usr/share/tk8.4/demos/images/teapot.ppm");
?
4)shell_exec()
原型: string shell_exec ( string $cmd )
说明: 直接执行命令$cmd
?php
$output = shell_exec('ls -lart');
echo "pre$output/pre";
?
方法二:反撇号
原型: 反撇号`(和~在同一个键)执行系统外部命令
说明: 在使用这种方法执行系统外部命令时,要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。
?php
echo `dir`;
?
方法三:用popen()函数打开进程
原型: resource popen ( string $command , string $mode )
说明: 能够和命令进行交互。之前介绍的方法只能简单地执行命令,却不能与命令交互。有时须向命令输入一些东西,如在增加系统用户时,要调用su来把当前用户换到root用户,而su命令必须要在命令行上输入root的密码。这种情况下,用之前提到的方法显然是不行的。
popen( )函数打开一个进程管道来执行给定的命令,返回一个文件句柄,可以对它读和写。返回值和fopen()函数一样,返回一个文件指针。除非使用的是单一的模式打开(读or写),否则必须使用pclose()函数关闭。该指针可以被fgets(),fgetss(),fwrite()调用。出错时,返回FALSE。
?php
error_reporting(E_ALL);
/* Add redirection so we can get stderr. */
$handle = popen('/path/to/executable 21', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,可以自动或者通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.。比较准确的说,top命令提供了实时的对系统处理器的状态监控,显示系统中CPU最“敏感”的任务列表。top命令可以按CPU使用、内存使用和执行时间对任务进行排序。而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.。
下面详细介绍它的使用方法。
对于一个新手来说,如果从来没有使用过top命令,在命令行模式下直接输入top,可以查看到当前所有进程的信息。
输出结果中,有很多指标。下面介绍各个指标都代表什么含义。
top命令输出结果中,统计信息区前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
最后两行为内存信息。内容如下:
进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。
参考列表: