快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

linux控制台命令函数 Linux系统操作命令

Linux 常用命令(要求全而精)

1、linux分区

目前成都创新互联公司已为千余家的企业提供了网站建设、域名、网络空间、网站托管、企业网站设计、钟山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

--在linux里面所有的设备、任何东西,在linux看来都是文件。

--文件在它看来,有两种形式:

第一种是字符型(键盘输入、打印机);

第二种是二进制型(硬盘、光驱、U盘)

--linux中所有硬件

--手动分区

--A、至少有两个分区

/ 根分区

SWAP 交换分区(物理内存大小的两倍)

--B、个人桌面分区

/

/boot 128MB is enough

/usr

SWAP

/tmp(用于光盘刻录)

2、linux目录说明

--/dev/xxyN

--xx (分区所在设备类型:hd--IDE硬盘 sd--SCSI硬盘)

--y (标明分区所在设备

例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘)

--N (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始!

例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区

/dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)

3、linux目录结构

/ 根目录,最高级别

/bin 系统基本命令存放目录(/usr/bin)

/boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)

一般情况下,GRUB或LILO系统引导管理也位于这个目录

/dev 设备文件存储目录,如声卡、光驱...

/ect 存放系统设置文件(如用户账号密码、服务器配置文件等)

/home 普通用户家目录,默认存放目录

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。

当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。

有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。

/media 即插即用型存储设备的挂载点自动在这个目录下创建。

如USB盘系统自动挂在后,会在这个目录下产生一个目录;

类似cdrom的目录

/mnt 存放挂载存储设备的挂载目录,如cdrom等目录

/opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包,

比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。

/proc 操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。

/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统

/root linux超级权限用户root的家目录

/sbin 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令

与 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目录相似

(sbin,只有root权限才能执行)

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。

/var/tmp目录和此目录相似

/usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。

大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。

/usr/share/fonts 字体目录

/usr/share/man 或 /usr/share/doc 帮助目录

/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用户可执行文件目录

/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录

/usr/include 程序头文件存放目录

/var (vary)此目录经常变动

/var/log 用来存放系统日志

/var/www 用来定义Apache服务器站点存放

/var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。

4、基本命令

--查看帮助 *** --help *** --?

--查看详细帮助 man ***

--登录 login

--退出窗口 exit

--关机 shutdown

--重启 reboot

--初始化 init (run level -/etc/inittab),0-6看第六部分的g

--进入根目录 cd /

--回上层目录 cd ..

--相对路径 cd dev

--绝对路径 cd /dev

--查用户名 whoami

--查当前目录 pwd

--列出当前目录内容 ls

-l(树详细显示目录内容)

-m(横列显示目录内容,是屏幕长度显示)

-a(列出全部文件,包括隐藏文件)

-S(以文档大小排序)

--创建目录 mkdir dname

--删除目录 rmdir dname

rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件)

rm -rf ***-(强制删除该目录下所有内容,不询问)

--创建空白文件 touch ***

(ps:从技术的角度来讲,linux的文件后缀名没有任何意义)

--复制 cp

cp -r **1 **2 (复制1到2中)

--移动 mv

mv -t **1 **2 (把2移动到1中)

--编辑文本 vi [文件名]

--查看文本 cat 由第一行开始显示文本内容

tac 从最后一行显示,可以看出 tac 是 cat 的倒着写

more 一页一页的显示文档内容

less 与 more 类似,可以往前翻页

head 只看头几行

-N(数字,可根据行数显示)

tail 只看后几行

-N(数字,可根据行数显示)

nl 显示的时候,顺序输出行号

od 以二进制位的方式读取档案内容

--查找文本 find [路径][查找类型][搜索文件名]

如查找rc.local find /etc -name *.local

--查找命令信息及其位置 whereis 命令

如 whereis ls

--查看环境变量 echo $SHELL

如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;)

--链接 ln

如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在)

a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样

joe.txt改变,a也跟着变

如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在)

--wc 统计指定文本文件的行数、字数、字符数

--grep(很常用) 在指定的文本文件中查找指定的字符串

grep 字符串 文件名

--col 见管道..

--------------------

----信息显示命令----

--------------------

--date 显示和设置日期

--stat 显示指定文件的相关信息

--who、w 显示在线登录用户

--whoami 显示用户自己的身份

--id 显示当前用户的id信息

--hostname 显示主机名称

--uname 显示操作系统信息

--dmesg 显示系统启动信息

--du 显示指定的文件(目录)已使用的磁盘空间

--df 显示文件系统磁盘空间的使用情况

--free 显示当前内存和交换空间的使用情况

--fdisk -l 显示磁盘信息

--locale 显示当前语言环境

5、挂载点(mount 设备目录 挂载目录)

--访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定)

--例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接访问光驱内容

--卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误.

6、startup-shutdown(linux启动流程)

--A、boot sequence(important) linux启动过程

a. load bios(hardware information)

b. read MBR's config to find out the OS

(MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)

c. load the kernel of the OS

(加载为kernel核心的OS)

d. init process starts...

(启动linux第一个进程init)

e. execute /etc/rc.d/sysinit

(执行系统最重要的配置文件,后台启用进程)

(rc.d--run command)

f. start other modules(stc/modules.conf)

(开启各种模块,如内存管理模块、硬盘管理模块)

g. execute the run level scripts

(系统启动是分层次的,根据情况执行,每个层次之间没关系)

0 - 系统停机状态

1 - 单用户工作状态 root

2 - 多用户状态(没有NFS)

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

4 - 系统未使用,留给用户

5 - 图形界面

6 - 系统正常关闭并重新启动

如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件

h. execute /etc/rc.d/rc.local (重要)

(保存其它进程脚本,如tomcat自动启动,要修改此配置文件)

i. execute /bin/login

(登录界面)

j. shell started...

7、vi 文本编辑器

--两种模式:命令模式 编辑模式

--vi [文件名]

(切换到编辑模式)

a append-光标后添加

i insert-光标前插入

o open-另起一行编辑

esc (切换回命令模式)

:w 存盘

:wq 存盘退出

:q 退出

:q! 不存盘退出

dd 删除其中一行

dw 删除一个单词

(sudo gedit 文本 常用linux下的文本编辑器,比vi好用)

8、用户设置

--切换用户(switch user) su username

小技巧:直接exit切换

--添加用户 useradd username [-g] [组名](分配到某个用户组)

(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)

--设置密码 passwd username

--cd /etc

--查看用户信息 more password

如新增的用户信息:username:x:500:500::/home/username:/bin/bash

第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;

第二个数字:用户ID号;

用户的目录是/home/username;

用户的SHELL是/bin/bash

(命令---SHELL[解释命令]---kenrel内核)

SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)

--添加用户组 groupadd groupname

--查看用户组信息 more group

--删除用户组 groupdel groupname

--修改用户 usermod [-g] [组名] [用户名]

--删除用户 userdel username

然后把/home的文件夹删除了 rm -rf 文件夹

9、权限file privilege

--linux把文件的权限分成四种:r:read w:write x:execute -:none

如:-rw-r--r--

lrwxrwxrwx

drwxr-xr-x

drwxr-xr-x

第一个数字'-'代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx-

第一位表示文件所有者

第二位表示和所有者在同一用户组的用户

第三位表示不在同一用户组的用户权限

--设置权限 (随意应用,灵活组合!)

1、普通用法

--添加权限 [chmod +x 文件]

如:-rw-r--r-- --- -rwxr-xr-x

--删除权限 [chmod -x 文件]

如:-rwxr-xr-x --- -rw-r--r--

--给自己添加权限 [chmod ?+x 文件]

如此类推,组--g,其他人--o

如:chmod u+x -rw-r--r-- --- -rwxr--r--

chmod g+x -rw-r--r-- --- -rw-r-xr--

chmod o+x -rw-r--r-- --- -rw-r--r-x

2、专业用法 chmod 755/777

--原理,八进制转二进制

如755,111 101 101, rwx r-x r-x

777,111 111 111, rwx rwx rwx

--修改所有者权限 chown (change owner)

如:chown 原来文件 file1 的所有者是 root,改成joe的

chown joe file1

10、管道(把上一个命令执行的结果交给下一个命令)

--使用方法:

命令1|命令2|命令3......|命令n

--使用举例

--$ls -Rl /etc | more

(如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more)

--$cat /etc/passwd | wc

(显示文件结果,再数数有多少行)

--$cat /etc/passwd | grep lrj

(显示文件结果,再查找包含lrj的行)

--#dmesg | grep eth0

(显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常)

--$man bash | col -b bash.txt

语法:col [-bfx][-l缓冲区列数]

补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符""和"",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。

参数:

-b 过滤掉所有的控制字符,包括RLF和HRLF。

-f 滤除RLF字符,但允许将HRLF字符呈现出来。

-x 以多个空格字符来表示跳格字符。

-l缓冲区列数 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。

--$ls -l | grep "^d"

(用正则表达式筛选出目录列表中 头字母为'd' 的内容--目录)(^是正则表达式开头部分)

--$ls -l * | grep "^-" | wc -l

(列出目录列表中 头字符为'-'的内容--文件,并统计显示的行数wc -l)

11、其他命令

--wall(warning all) 通知所有人

a.命令替换

如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)

b.重定向

重定向输出:

如 ls cmd.txt ,把文件写到cmd.txt,不输出在控制台

ls cmd.txt ,把文件追加写到cmd.txt

重定向输入:

如 wall cmd.txt,把文本内容发给所有人

12、修改系统的默认系统级别

常用3和5

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

5 - 图形界面

PS.设置用户权限: sudo chmod 777 目录

4表示读,2表示写,1表示执行.

第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.

755表示文件所有者可读写,执行.

第二位5表示与所有者在同一用户组的可读,可执行,不可写.

第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明

linux 最常用的命令和格式?

ls ;查看当前目录下的所有可见内容

1.ls -a ;查看当前目录下的所有内容包括隐藏内容

2.cd 目录名 ;进入这个目录,当然这个目录名应该是当前所在目录的内容,否则要把

目录名换成绝对路径

cd .. ;这个是cd,然后一个空格键,接着两个点,意思是返回上一层

3.pwd ;查看当前所在目录的绝对路径

4.mkdir 目录名 ;创建目录 例如:mkdir fei 意思是创建目录fei

5.rm -f 文件名 ;删除文件 例如:rm -f 1.c 意思是删除文件1.c

rm -r 目录名 ;删除目录

6.mv 文件名 所要改成的文件名 ;修改文件名,

例如:mv 1.c 2.c 意思是将1.c改成2.c

mv -f 文件名 目录名 ;将文件移到目录中

例如:mv -f 1.c fei 意思是将文件1.c移到目录fei中

注:当所要移动的是目录时,把 f 改成 r ,同时将文件名改成要移动的目录名即可

7.vim 文件名 ;创建文件 例如:vim fei.cpp 意思是创建文件fei.cpp

暂时先说这些,如再需要,Q:540499232

Linux命令大全

linux命令格式:

说明:command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个

一般是linux命令自带的帮助信息

如:

man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明

该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。

例:man ls ; man 2 printf

man中各个section意义如下:

man是按照手册的章节号的顺序进行搜索的。

man设置了如下的功能键:

在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令

当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如:ls test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

注意: 输出重定向会覆盖原来的内容,输出重定向则会追加到文件的尾部。

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

管道:一个命令的输出可以通过管道做为另一个命令的输入。

管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感

cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。

常用选项说明:

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件

常用选项:

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。

由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。

who命令用于查看当前所有登录系统的用户信息。

常用选项:

如果是图形界面,退出当前终端;

如果是使用ssh远程登录,退出登陆账户;

如果是切换后的登陆用户,退出则返回上一个登陆账号。

在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。

useradd命令的使用格式如下:

useradd [参数] 新建用户账号

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。

可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:

注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。

方法一:

方法二:

groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组

使用方法:usermod -g 用户组 用户名

新创建的用户,默认不能sudo,需要进行一下操作

-g用来制定这个用户默认的用户组

-G一般配合'-a'来完成向其它组添加

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

cal命令用于查看当前日历,-y显示整年日历

设置时间格式(需要管理员权限):

date [MMDDhhmm[[CC]YY][.ss]] +format

CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。

显示时间格式(date '+%y,%m,%d,%H,%M,%S'):

进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。

ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:

top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。

在top命令执行后,可以按下按键得到对显示的结果进行排序:

kill命令指定进程号的进程,需要配合 ps 使用。有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束.

使用格式:

kill [-signal] pid

df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。

du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。

du命令的使用格式如下: du [选项] 目录或文件名

PHP执行linux系统命令的常用函数使用说明

system函数

说明:执行外部程序并显示输出资料。

语法:string

system(string

command,

int

[return_var]);

返回值:

字符串

详细介绍:

本函数就像是

C

语中的函数

system(),用来执行指令,并输出结果。若是

return_var

参数存在,则执行

command

之后的状态会填入

return_var

中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用

EscapeShellCmd()。若

PHP

以模块式的执行,本函数会在每一行输出后自动更新

Web

服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用

PassThru()。

实例代码:

复制代码

代码如下:

?php

$last_line

=

system('ls',

$retval);

echo

'Last

line

of

the

output:

'

.

$last_line;

echo

'hr

/Return

value:

'

.

$retval;

?

exec函数

说明:执行外部程序。

语法:string

exec(string

command,

string

[array],

int

[return_var]);

返回值:

字符串

详细介绍:

本函数执行输入

command

的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用

PassThru()

这个函数。

要是参数

array

存在,command

会将

array

加到参数中执行,若不欲

array

被处理,可以在执行

exec()

之前呼叫

unset()。若是

return_var

array

二个参数都存在,则执行

command

之后的状态会填入

return_var

中。

值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用

EscapeShellCmd()。

实例代码:

复制代码

代码如下:

?php

echo

exec('whoami');

?

popen函数

说明:打开文件。

语法:int

popen(string

command,

string

mode);

返回值:

整数

详细介绍:

本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的

(只能读或只能写),而且一定要用

pclose()

关闭。在文件操作上可使用

fgets()、fgetss()

fputs()。若是开档发生错误,返回

false

值。

实例代码:

复制代码

代码如下:

?

$fp

=

popen("/bin/ls","r"

);

?

PHP监控linux服务器负载

在实际项目的应用中,我们由于各种条件的现实,利用PHP来实现服务器负载监控将是一种更为灵活的方式。

由于Web

Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。

c程序

首先写个c文件,比如/usr/local/ismole/w.c

复制代码

代码如下:

#includestdio.h

#includestdlib.h

#includesystypes.h

#includeunistd.h

int

main()

{

uid_t

uid

,euid;

//note

获得当前的uid

uid

=

getuid();

//note

获得当前euid

euid

=

geteuid();

//note

交换这两个id

if(setreuid(euid,

uid))

perror("setreuid");

//note

执行将要执行linux系统命令

system("/usr/bin/w");

return0;

}

编译该文件gcc

-o

w

-Wall

w.c,这时会在当前目录下生成程序w。改变此程序的属主chmod

u+s

./w。

PHP执行

文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。

复制代码

代码如下:

?php

/*

More

Original

PHP

Framwork

Copyright

(c)

2007

-

2008

IsMole

Inc.

$Id:

serverMonitor.php

408

2008-12-02

08:07:40Z

kimi

$

*/

//note

key的验证过程

if($key

!=

$authkey)

{

//

exit('key

error);

}

$last_line

=

exec('/usr/local/ismole/w',

$retval);

$returnArray

=

explode("load

average:

",

$retval[0]);

$returnString

=

$returnArray[1];

echo

$returnString; 

 按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。

linux 如何自定义命令函数?

你是想问在shell(比如说bash)下如何定义一个函数cuts吗?

如果是bash,那么就直接在shell 下输入以下内容

function cuts () {

echo "Hello world"

}

然后就可以在当前终端下调用cuts了,比如

$ cuts

Hello world

如果你是想在某个脚本中调用函数cuts,那么只要把上面那段代码加入脚本中,也就可以用了,比如

#!/bin/bash

function cuts ()

{

echo "Hello world"

}

....

cuts

....

linux中ctrl+z和ctrl+c的区别

在Linux系统中,Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.

Ctrl+c是强制中断程序的执行,,进程已经终止

Ctrl+z是将任务中止(暂停的意思)。

在这一点上,任务还没有结束,它仍然在进行中,它只是挂着。用户可以使用fg/bg操作继续前台或后台任务,fg命令重启前台中断的任务,bg命令重启后台中断的任务。

Ctrl+d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。

扩展资料:

linux命令是对Linux系统进行管理的命令。

对于Linux系统,无论是CPU、内存、磁盘驱动器、键盘、鼠标还是用户都是文件,Linux系统管理命令是其正常操作的核心,类似于以前的DOS命令。

系统上有两种类型的Linux命令:内置的Shell命令和Linux命令。

控制台命令,是指通过输入字符接口的操作系统命令,如DOS命令就是控制台命令。

需要注意的是,与DOS命令不同,Linux命令(包括文件名等)是大小写敏感的,这意味着如果您在错误的情况下键入命令,系统将不会像您预期的那样响应。


当前名称:linux控制台命令函数 Linux系统操作命令
标题来源:http://6mz.cn/article/docepcp.html

其他资讯