当前位置:文档之家› Linux管道文件

Linux管道文件

Linux管道文件
Linux管道文件

Linux 管道文件

Linux 2010-06-29 16:05:59 阅读267 评论0 字号:大中小订阅

管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。

有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。

Linux管道的实现机制

从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为:

·限制管道的大小。实际上,管道是一个固定大小的缓冲区。在Linux 中,该缓冲区的大小为1页,即4K字节,使得它的大小不象文件那样不加检验地增长。使用单个固定缓冲区也会带来问题,比如在写管道时可能变满,当这种情况发生时,随后对管道的write()调用将默认地被阻塞,等待某些数据被读取,以便腾出足够的空间供write()调用写。

·读取进程也可能工作得比写进程快。当所有当前进程数据已被读取时,管道变空。当这种情况发生时,一个随后的read()调用将默认地被阻塞,等待某些数据被写入,这解决了read()调用返回文件结束的问题。注意:从管道读数据是一次性操作,数据一旦被读,它就从管道中被抛

弃,释放空间以便写更多的数据。

1. 管道的结构

在Linux 中,管道的实现并没有使用专门的数据结构,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个file 结构指向同一个临时的VFS 索引节点,而这个VFS 索引节点又指向一个物理页面而实现的。

2.管道的读写

管道实现的源代码在fs/pipe.c中,在pipe.c中有很多函数,其中有两个函数比较重要,即管道读函数pipe_read()和管道写函数pipe_wrtie()。管道写函数通过将字节复制到VFS 索引节点指向的物理内存而写入数据,而管道读函数则通过复制物理内存中的字节而读出数据。当然,内核必须利用一定的机制同步对管道的访问,为此,内核使用了锁、等待队列和信号。

当写进程向管道中写入时,它利用标准的库函数write(),系统根据库函数传递的文件描述符,可找到该文件的file 结构。file 结构中指定了用来进行写操作的函数(即写入函数)地址,于是,内核调用该函数完成写操作。写入函数在向内存中写入数据之前,必须首先检查VFS 索引节点中的信息,同时满足如下条件时,才能进行实际的内存复制工作:

·内存中有足够的空间可容纳所有要写入的数据;

·内存没有被读程序锁定。

如果同时满足上述条件,写入函数首先锁定内存,然后从写进程的地址空间中复制数据到内存。否则,写入进程就休眠在VFS 索引节点的等待队列中,接下来,内核将调用调度程序,而调度程序会选择其他进程运行。写入进程实际处于可中断的等待状态,当内存中有足够的空间可以容纳写入数据,或内存被解锁时,读取进程会唤醒写入进程,这时,写入进程将接收到信号。当数据写入内存之后,内存被解锁,而所有休眠在索引节点的读取进程会被唤醒。

管道的读取过程和写入过程类似。但是,进程可以在没有数据或内存被锁定时立即返回错误信息,而不是阻塞该进程,这依赖于文件或管道的打开模式。反之,进程可以休眠在索引节点的等待队列中等待写入进程写入数据。当所有的进程完成了管道操作之后,管道的索引节点被丢弃,而共享数据页也被释放。

因为管道的实现涉及很多文件的操作,因此,当读者学完有关文件系统的内容后来读pipe.c中的代码,你会觉得并不难理解。

Linux 管道的创建和使用都要简单一些,唯一的原因是它需要更少的参数。实现与Windows 相同的管道创建目标,Linux 和UNIX 使用下面的代码片段:

pipe函数来创建Linux 命名管道

int fd1[2];

if(pipe(fd1))

{ printf("pipe() FAILED: errno=%d",errno);

return 1;

}

Linux 管道对阻塞之前一次写操作的大小有限制。专门为每个管道所使用的内核级缓冲区确切为4096 字节。除非阅读器清空管道,否则一次超过4K 的写操作将被阻塞。实际上这算不上什么限制,因为读和写操作是在不同的线程中实现的。

Linux 还支持命名管道。对这些数字的早期评论员建议我,为公平起见,应该比较Linux 的命名管道和Windows 的命名管道。我写了另一个在Linux 上使用命名管道的程序。我发现对于Linux 上命名的和未命名的管道,结果是没有区别。

Linux 管道比Windows 2000 命名管道快很多,而Windows 2000 命名管道比Windows XP 命名管道快得多。

例子:

#include

#include

int main()

{

int n,fd[2]; // 这里的fd是文件描述符的数组,用于创建管道做准备的pid_t pid;

char line[100];

if(pipe(fd)<0) // 创建管道

printf("pipe create error\n");

if((pid=fork())<0) //利用fork()创建新进程

printf("fork error\n");

else if(pid>0){ //这里是父进程,先关闭管道的读出端,然后在管道的写端写入“hello world"

close(fd[0]);

write(fd[1],"hello word\n",11);

}

else{

close(fd[1]); //这里是子进程,先关闭管道的写入端,然后在管道的读出端读出数据

n= read(fd[0],line,100);

write(STDOUT_FILENO,line,n); }

exit(0);

}

linux命令大全--分类汇总版

LINUX命令大全 一、通用命令 1、date :打印或者设置系统的日期和时间 2、stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、Ctrl-Z等) 3、passwd:用passwd -h查看 4、logout,login:登录shell的登录和注销命令 5、more,less,head tail:显示或部分显示文件内容 6、lp/lpstat/cancel,lpr/lpq/lprm:打印文件 7、chmod u+x:更改文件权限 8、rm -fr dir:删除非空目录 9、cp -R dir:拷贝目录 10、fg jobid :可以将一个后台进程放到前台 11、kill 的作用:send a signal to a process、eg:kill -9 发送的是SIG_KILL信号,具体发送什么信号可以通过man kill 查看、 12、ps 的用法,ps -e 或ps -o pid,ppid,session,tpgid,comm (其中session显示的sessionid,tpgid显示前台进程组id,comm显示命令名称) 二、常用命令 1、dpkg:package manager for Debian * 安装:dpkg -i package

* 卸载:dpkg -r package * 卸载并删除配置文件:dpkg -P |--purge package * 如果安装一个包时、说依赖某些库、可以先apt-get install somelib * 查看软件包安装内容:dpkg -L package * 查看文件由哪个软件包提供:dpkg -S filename * 另外dpkg还有dselect和aptitude 两个frontend 2、apt * 安装:apt-get install packs * 更新源:apt-get update * 升级系统:apt-get upgrade * 智能升级、安装新软件包,删除废弃的软件包:apt-get dist-upgrade * f --fix broken 修复依赖:apt-get -f install * 自动删除无用的软件:apt-get autoremove * 删除软件:apt-get remove packages * 删除包并清除配置文件:apt-get remove package --purge * 清除所以删除包的残余配置文件:dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P * 安装软件时候包的临时存放目录:/var/cache/apt/archives * 清除该目录:apt-get clean * 清除该目录的旧版本的软件缓存:apt-get autoclean

linux常用命令

新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容易掌握。 由于操作和使用环境的陌生,如果要完全熟悉Linux的应用我们首先要解决的问题就是对Linux常用命令的熟练掌握。本章我们就来介绍Linux的常用基本命令。 Linux常用命令 1.Linux命令基础 Linux区分大小写。在命令行(shell)中,可以使用TAB键来自动补全命令。即可以输入命令的前几个字母,然后按TAB键,系统自动补全命令,若不止一个,则显示出所有和输入字母相匹配的命令。 按TAB键时,如果系统只找到一个和输入相匹配的目录或文件,则自动补全;若没有匹配的内容或有多个相匹配的名字,系统将发出警鸣声,再按一下TAB键将列出所有相匹配的内容(如果有的话)以供用户选择。 首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中―系统管理员‖拥有最高权限。 在启动Linux后屏幕出现如下界面显示:Red Hat Linux release 9 (Shrike) Kernel 2.4.20.8 on an i686

login: 输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个―#‖提示符时,表明你登录成功! 屏幕显示Linux提示符:[root@localhost root]#_ 这里需要说明的是―Red Hat Linux release 9 (Shrike)‖表示当前使用的操作系统的名称及版本。―2.4.20.8‖表示Linux操作系统的核心版本编号。―i686‖表示该台电脑使用的CPU的等级。 下面我们来介绍常用基本命令 一,注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout

Linux命令大全

Linux命令大全 1.主题 Linux命令大全。 2.摘要 本文分三篇介绍常用Linux命令,分别是入门篇、进阶篇和高级篇。 3.关键字 Linux。 4.作者 陈明辉。 5.简介 无。 6.背景 无。 7.具体内容 (一)入门篇 对于一个新手来说,如果计划从Windows换到Linux系统平台上来,或刚刚换到Linux上来,使用Linux命令来帮助执行所有任务是一个基础的途径。毫无疑问,在线文档,技术社区能提供很多相关的内容帮助,但是一篇文章收集到如何简单学习和理解Linux命令,这将会激发很多菜鸟掌握Linux和使用的积极性。 1)ls 首先ls命令,指列出目录内容(List Directory Contents)的意思。运行它可以列出文件夹里的内容。

“ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。 “ls -a”命令会列出文件夹里的所有内容,包括以“.”开头的隐藏文件。 注意:在Linux中,文件以“.”开头的就是隐藏文件,并且每个文件、文件夹,设备或者命令都是以文件对待。ls -l命令输出: 1.d (代表了是目录). 2.rwxr-xr-x是文件或者目录所属用户、用户组。 3.上面例子中第一个ravisaive代表了文件文件属于用户ravisaive 4.上面例子中的第二个ravisaive代表了文件文件属于用户组ravisaive 5.4096代表了文件大小为4096字节. 6.May 8 01:06代表了文件最后一次修改的日期和时间. 7.最后代表就是文件/文件夹的名字 2)lsblk “lsblk”就是列出块设备。除了RAM外,以标准的树状输出格式整齐地显示块设备。

Linux命令大全完整版

Linux命令大全完整版 目录 目录..................................................................... I 1. linux系统管理命令.. (1) adduser (1) chfn(change finger information) (1) chsh(change shell) (1) date (2) exit (3) finger (4) free (5) fwhois (5) gitps(gnu interactive tools process status) (5) groupdel(group delete) (6) groupmod(group modify) (6) halt (7) id (7) kill (8) last (8) lastb (8) login (9) logname (9) logout (9) logrotate (9) newgrp (10) nice (10) procinfo(process information) (11) ps(process status) (11) pstree(process status tree) (14) reboot (15)

rlogin(remote login) (16) rsh(remote shell) (16) rwho (16) screen (17) shutdown (17) sliplogin (18) su(super user) (18) sudo (19) suspend (19) swatch(simple watcher) (20) tload (20) top (21) uname (21) useradd (22) userconf (22) userdel (23) usermod (23) vlock(virtual console lock) (24) w (24) who (25) whoami (25) whois (25) 2. linux系统设置命令 (27) alias (27) apmd(advanced power management BIOS daemon) (27) aumix(audio mixer) (27) bind (29) chkconfig(check config) (29) chroot(change root) (30)

Linux常用命令详解(配合示例说明,清晰易懂)

Linux常用命令详解 (常用、详细) BISTU 自动化学院 刷碗小工(frisen.imtm) 2010年11月 开源社区,造福大家,版权所有,翻录不究(初次接触Linux命令可能对以下说明有不少疑问,可待看完一遍后再回头细看) (配合Ctrl + F可快速查找你想了解的命令)

索引:(待完善) 文件说明:Linux命令很多,但最常用的80个左右 文档内容充实,用示例说明命令如何使用笔者力求语言简洁,清晰易懂 由于忙于其他事情,改进排版的工作只能搁置了 最后,望此文档能为大家Linux学习之路献微薄之力 一、路径: 执行命令前必须要考虑的一步是命令的路径,若是路径错误或是没有正确的指定,可能导致错误的执行或是找不到该命令。要知道设置的路径,可执行以下命令: 一般而言,本书的命令位于/bin、usr/bin、/sbin、/usr/sbin之中。若读者执行了命令却出现“command not find”或是“命令不存在”的字样,就必须要确定该命令的位置是否在命令的路径中,或是系统上根本没有安装该套件。 二、命令顺序: 若在shell内置的命令/bin以及/usr/bin之下都出现了命令pwd,那当我们执行该命令时,会执行哪一个?答案是第一优先执行shell内置的命令,再执行路径中的设置;因此若有相同名称的命令时,必须要注意顺序设置,或是直接输入完整路径。 三、参数(或称选项)顺序: 一般除了特殊情况,参数是没有顺序的。举例而言,输入“–a –v”与输入“–v –a”以及“–av”的执行效果是相同的。但若该参数后指定了要接的文件或特殊对象,如“–a cmd1 –v cmd2”,则不能任意改变选项顺序。 四、常用参数: 下面所列的是常见的参数(选项)意义: --help,-h 显示帮助信息 --version,-V 显示版本信息 -v 繁琐模式(显示命令完整的执行过程) -i 交谈模式(指定界面) -l 长列表输出格式 -q,-s 安静模式(不显示任何输出或错误信息) -R 递归模式(连同目录下所有文件和子目录一起处理) -z 压缩 五、命令的结合与定向: 命令中除了一般命令外,还有管道(或称途径)(|)与定向(>或>>)。 管道(途径)的用法: “命令一[选项]”| “命令二[选项]”,也就是将“命令一[选项]”的输出结果传到“命令二[选项]”,通过命令二的处理之后才输出到标准输出(屏幕)上。比如“ls /etc”会列出etc下的所有文件,若加上“| less”,也就是“ls /etc | less”,则会将“ls /etc”的结果通过less分页输出。 定向的用法: 将结果定向到命令的输出设备,一般不加文件名意为将结果输出到屏幕,若是在定向后加上文件名,则会将命令的执行结果输出到定向的文件,例如“ls > temp.txt”,就会将ls 的结果输出到文件temp.txt中。“>”与“>>”的差异在于前者是覆盖,而后者是附加。 六、命令中的命令: 许多命令在执行后,会进入该命令的操作模式,如fdisk、pine、top等,进入后我们必须要使用该命令中的命令,才能正确执行;而一般要退出该命令,可以输入exit、q、quit或是按【Ctrl+C】组合

Linux系统命令及其使用详解

Linux 系统命令及其使用详解(大全) cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加> fileName 到另一个档案) 参数: -n 或--number 由 1 开始对所有输出的行数编号 -b 或--number-nonblank 和-n 相似,只不过对于空白行不编号 -s 或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或--show-nonprinting 范例: cat -n textfile1 > textfile2 把textfile1 的档案内容加上行号后输入textfile2 这个档案里cat -b textfile1 textfile2 >> textfile3 把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3 名称:cd 使用权限:所有使用者 使用方式:cd [dirName] 说明:变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录).另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。 范例:跳到/usr/bin/: cd /usr/bin 跳到自己的home directory: cd ~ 跳到目前目录的上上两层: cd ../.. 指令名称:chmod 使用权限:所有使用者 使用方式:chmod [-cfvR] [--help] [--version] mode file... 说明:Linux/Unix 的档案存取权限分为三级:档案拥有者,群组,其他。利用chmod 可以藉以控制档案如何被他人所存取。 把计: mode:权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者

Linux命令大全(磁盘维护)

磁盘维护 磁盘管理-quotaon 功能说明:开启磁盘空间限制。 语法:quotaon [-aguv][文件系统...] 补充说明:执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有https://www.doczj.com/doc/3b6400865.html,er和quota.group配置文件。 参数: -a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。 -g 开启群组的磁盘空间限制。 -u 开启用户的磁盘空间限制。 -v 显示指令指令执行过程。 磁盘维护-badblocks 功能说明:检查磁盘装置中损坏的区块。 语法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块] 补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。 参数: -b<区块大小> 指定磁盘的区块大小,单位为字节。 -o<输出文件> 将检查的结果写入指定的输出文件。 -s 在检查时显示进度。 -v 执行时显示详细的信息。 -w 在检查时,执行写入测试。 [磁盘装置] 指定要检查的磁盘装置。 [磁盘区块数] 指定磁盘装置的区块总数。 [启始区块] 指定要从哪个区块开始检查。 磁盘维护-cfdisk 功能说明:磁盘分区。

语法:cfdisk [-avz][-c <柱面数目>-h <磁头数目>-s <盘区数目>][-P ][外围设备代号] 补充说明:cfdisk是用来磁盘分区的程序,它十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面,您可以轻易地利用方向键来操控分区操作。 参数: -a 在程序里不用反白代表选取,而以箭头表示。 -c<柱面数目> 忽略BIOS的数值,直接指定磁盘的柱面数目。 -h<磁头数目> 忽略BIOS的数值,直接指定磁盘的磁头数目。 -P 显示分区表的内容,附加参数"r"会显示整个分区表的详细资料,附加参数"s"会依照磁区的顺序显示相关信息,附加参数"t"则会以磁头,磁区,柱面的方式来显示资料。 -s<磁区数目> 忽略BIOS的数值,直接指定磁盘的磁区数目。 -v 显示版本信息。 -z 不读取现有的分区,直接当作没有分区的新磁盘使用。 磁盘维护-dd 名称: dd 使用权限: 所有使用者dd 这个指令在manual 里的定义是convert and copy a file 使用方式: dd [option] 如果你想要在线看manual, 可以试试: dd --help 或是 info dd 如果你想要看看这个版本如何: dd --version 输入或输出 dd if=[STDIN] of=[STDOUT] 强迫输入或输出的Size为多少Bytes

入门学习Linux常用必会60个命令实例详解

入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 ◆安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup; ◆系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h 主机名称] 3.主要参数

Linux常用命令大全

Linux常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件- (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列PCI 设备 lsusb -tv 显示USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 0412********.00 设置日期和时间- 月日时分年.秒clock -w 将时间修改保存到BIOS 关机(系统的关机、重启以及登出) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销 文件和目录 cd /home 进入'/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径 ls 查看目录中的文件 ls -F 查看目录中的文件

详细解析linux最常用的10个命令

详细解析linux最常用的10个命令 一下是个人工作中整理出的最常用的10个命令,解释很详细,如果大家喜欢,请给个好评,谢谢! ●cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。 2.格式 cat [options] 文件1 文件2…… 3.[options]主要参数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似,只不过对于空白行不编号。 -s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令: $ cat README (2)有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat 命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数:$ cat -b /etc/named.conf ●grep 1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。

linux常用命令集(PDF版)

常用命令集 LINUX常用命令集

cal (10) 使用权限 (10) 使用方式 (10) 说明 (10) 参数 (10) 范例 (10) crontab (11) 使用权限 (11) 使用方式 (11) 说明 (11) 参数 (11) 例子 (11) 注意 (12) date (12) 使用权限 (12) 使用方式 (12) 说明 (12) 参数 (13) 例子 (13) 注意 (14) sleep (14) 使用权限 (14) 使用方式 (14) 说明 (14) 参数 (14) 例子 (14) time (15) 使用权限 (15) 使用方式 (15) 说明 (15) 使用方式 (15) 范例 (17) uptime (17) 使用权限 (17) 使用方式 (18) 说明 (18) 参数 (18) 范例 (18) chfn (18) 使用权限 (18) 用法 (18) 说明 (18) LINUX常用命令集

chsh (19) 使用权限 (19) 用法 (19) 说明 (19) 范例 (19) finger (20) 使用权限 (20) 使用方式 (20) 说明 (20) 范例 (20) last (21) 使用权限 (21) 使用方式 (21) 说明 (21) 参数 (21) login (21) passwd (22) 使用权限 (22) 使用方式 (22) 说明 (22) 参数 (22) who (22) 使用权线 (22) 使用方式 (22) 说明 (23) 参数 (23) cat (23) 使用权限 (23) 使用方式 (23) 说明 (23) 参数 (23) 范例 (23) cd (24) 使用权限 (24) 使用方式 (24) 说明 (24) 范例 (24) chmod (24) 使用权限 (24) 使用方式 (24) 说明 (25) 参数 (25) LINUX常用命令集

linux命令详解

关于l i n u x系统中命令的使用详解(1) 发布时间:2006.08.24 01:11来源:https://www.doczj.com/doc/3b6400865.html,作者:mary 名称:c a t 使用权限:所有使用者 使用方式:c a t[-A b e E n s t T u v][--h e l p][--v e r s i o n]f i l e N a m e 说明:把档案串连接后传到基本输出(萤幕或加 >f i l e N a m e到另一个档案) 参数: -n或 --n u m b e r由 1开始对所有输出的行数编号 -b或 --n u m b e r-n o n b l a n k和 -n相似,只不过对于空白行不编号 -s或 --s q u e e z e-b l a n k当遇到有连续两行以上的空白行,就代换为一行的空白行 -v或 --s h o w-n o n p r i n t i n g 范例: c a t-n t e x t f i l e1>t e x t f i l e2把 t e x t f i l e1的档案内容加上行号后输入 t e x t f i l e2这个档案里 c a t-b t e x t f i l e1t e x t f i l e2>>t e x t f i l e3把 t e x t f i l e1和 t e x t f i l e2的档案内容加上行号(空白行不加)之后将内容附加到 t e x t f i l e3 名称 :c d 使用权限 :所有使用者 使用方式 :c d[d i r N a m e] 说明 :变换工作目录至 d i r N a m e。其中 d i r N a m e表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 h o m e d i r e c t o r y(也就是刚 l o g i n时所在的目录)。 另外,"~"也表示为 h o m e d i r e c t o r y的意思,"."则是表示目前所在的目录,".."则表示目前目录位置的上一层目录。 范例 :跳到 /u s r/b i n/:

linux命令说明详解

一、Linux命令 名称: cd 使用权限: 所有使用者 使用方式: cd [dirName] 说明: 变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录)。 另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。 范例: 跳到/usr/bin/ : cd /usr/bin 跳到自己的home directory : cd .. 跳到目前目录的上上两层: cd ../ 指令名称: chmod 使用权限: 所有使用者 使用方式: chmod [-cfvR] [--help] [--version] mode file... 说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者﹑群组﹑其它。利用chmod 可以藉以控制档案如何被他人所存取。 参数: mode : 权限设定字符串﹐格式如下: [ugoa...][[+-=][rwxX]...][,...],其中 u 表示该档案的拥有者﹐g 表示与该档案的拥有者属于同一个群体(group)者﹐o 表示其它以外的人﹐a 表示这三者皆是。+ 表示增加权限﹑- 表示取消权限﹑= 表示唯一设定权限。r 表示可读取﹐w 表示可写入﹐x 表示可执行﹐X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 -c : 若该档案权限确实已经更改﹐才显示其更改动作-f : 若该档案权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更) --help : 显示辅助说明 --version : 显示版本 范例:将档案file1.txt 设为所有人皆可读取: chmod ugo+r file1.txt 将档案file1.txt 设为所有人皆可读取: chmod a+r file1.txt 将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入﹐但其它以外的人则不可写入: chmod ug+w,o-w file1.txt file2.txt 将ex1.py 设定为只有该档案拥有者可以执行: chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取: chmod -R a+r * 此外chmod也可以用数字来表示权限如chmod 777 file 语法为:chmod abc file 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则 4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=7。 范例: chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file 名称:locate 使用权限:所有使用者使用方式:locate [-q] [-d ] [--database=] locate [-r ] [--regexp=] locate [-qv] [-o ] [--output=] locate [-e ] [-f ] <[-l

Linux常用命令

1. 将文件textfile1的内容加入到textfile中。 #cat -n textfile1 > textfile2 2. 将文件textfile1与textfile2中的内容加入到textfile3中。 #cat -b textfile1 textfile2 >> textfile3 3. 清空/etc/test.txt文件内容 #cat /dev/null>/etc/test.text // dev/null (表示空设备) 4. 作镜像文件。 #cat /dev/fdo>floppy.img 5. 将镜像文件写到软盘。 #cat floppy.img > /dev/fdo 6. 将~/tesr下的所有文件合为一个文件,文件名为aa。 #cat ~/test/*>aa 7. 转到/usi/bin/。 #cat cd /usr/bin 8. 转到自己的目录。 #cd ~ 9. 转到当前目录的上两层。 #cd ../.. 10. 返回上次目录。 #cd - 11. 将/home下的文件aa授予root组。 #chgrp root /home/aa 12. 将用户syd168主目录及子目录下的所有文件授予student组。 #chgrp -R student /home/syd168 13. 将文件file1.txt设为所有人皆可读取。 #chomd ugotr file1.txt 14 .将文件file1.txt设为所有人皆可读。 #chomd atr file1.txt 15.设置/home/user1下级子目录下的所有文件权限为755(用户可读写执行,组和其它用户能读取和执行) #chomed -R 755 /home/user1或 #chmod -R u=rwx,g=r-x,o=r-x /home/user //多个权限项之间逗号. 16. 给/home/share及子目录下的文件添加所有用户读取权限,组用户写的权限,去掉其它用 户写的权限,去掉所有用户执行权限。 #chmod -R atr,gtw,o-w,a-x /home/user/ 17. 将/home/backup及子目录下的所有文件的所有参数修改为root,组改为share。 #chown -R root.share /home/backup 18. 将当前目录下的所有文件与子目录设为任何人可读取。 #chmod -R atr ./* 19. 将文件file1.txt的拥有着设为users组的用户Jessie。 #chown https://www.doczj.com/doc/3b6400865.html,ers file1.txt 20. 将当前目录下的所有文件与子目录的拥有者皆设为users组的用户camport。 #chomd -R root.share /home/backup 21. 将文件aaa复制为bbb。

Linux常用命令大全及其使用详解

Linux常用命令大全及其使用详解 1 man 在线查询man ls 2 ls 查看目录与档案ls -la 3 more 分页显示more 文件名称 4 cd 切换目录cd /usr/local/apache 5 touch 建立空白文档 6 mkdir 建立新的目录mkdir /usr/temp 7 rmdir 删除目录rmdir /usr/temp 8 rm 删除目录或档案rm -f 文件名称(如果要删除目录.需要加-r ) 9 cp 复制目录或档案cp 来源档案目标档案 10 pwd 显示目前的工作目录 11 mv 目录或档案更名或搬移mv 来源档案目标档案 12 find 寻找目录或档案find /etc -name 文件名称 13 chmod 变更档案使用权限chmod -R 755 /usr/local/etc 14 chown 变更档案所有者chown -R lin.wheel /usr/local/etc 15 gzip/tar 压缩或解压缩档案或目录tar -czvf 压缩档名.tar.gz 目录名称 16 mount 挂上档案系统或是设备mount /cdrom 17 umount 卸下档案系统或是设备umount /cdrom 18 df 查询系统的可使用档案空间df

19 du 显示目录或档案所占的磁盘空间du -a 檔名(du -sh 可以获取当前文件夹下的磁盘使用空间) 20 ps 查询系统process状态ps -aux|grep apach* 21 kill 砍除一个process kill pid 22 su 变换身份su - root 23 adduser 新增使用者 24 userdel 删除使用者 25 vipw 编辑使用者账户 26 passwd 变更密码 27 ping 侦测计算机之联机状态ping 210.240.6.9 28 ifconfig 网络接口的设定与管理ifconfig -a 29 route 可以设定routing table 30 traceroute 列出所经过的route traceroute 210.240.8.1 31 netstat 可以查询网络的使用及联机情形 32 pkg_add 安装package pkg_add bash-2.04.tgz 33 pkg_delete 移除已安装的package pkg_delete bash-2.04 34 pkg_info 查询安装纪录 35 sync 强迫系统将快取数据写回硬盘 36 reboot重新启动系统 37 halt 关闭系统 38 shutdown 通知使用者系统将关闭

史上最全的Linux命令大全

Linux 命令摘要 1,man命令: 这是一个很重要的命令,学会它就可以自学了,man是manual的简写,用于帮助查看信息,类似于一个帮助文档。使用格式为:man 命令eg:man ls man man 其中屏幕中会出现NAME ****是所查内容的全写和解说 SYSNOPSIS*****是使用的概要 DESCRIPTION***是命令的说明 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。man中也一样。 外:还有个相似的命令和man作用类同help 使用格式命令–help eg:ls –help man –help 在help中还会出现一些使用的简写方式及其具体含义 2, cd命令: cd是切换当前目录位置的命令。Linux系统有严格的访问权限控制,所以一般用户只能切换到自己拥有权限的目录中。也就是说cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。 使用格式: cd 当前目录; cd /子路径名为进入一个子目录,eg:cd /home cd 空格,两个点,为进入当前目录的上一级目录,eg:cd .. cd,空格,路径名,为进入一个特定的目录,eg:cd /usr/local/lib) 外:cd \无反应,还在当前目录。使用时可以用pwd随时检验路径所在。 3,ls命令 ls命令用于列出目录中的文件和子目录内容,或者查看文件或者目录的属性。例如,要查看列出当前目录下的内容

在Linux中介入ls –help你会看到下面内容,就是ls -*的简写不全和具体含义 -a, --all do not ignore entries starting with .(列出目录下的所有文件,包括以 . 开头的隐含文件)。 -A, --almost-all do not list implied . and . author with -l, print the author of each file(显示除“.”和“..”外的所有文件) -b, --escape print octal escapes for nongraphic characters --block-size=SIZE use SIZE-byte blocks(把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出) -B, --ignore-backups do not list implied entries ending with ~(不输出以“~”结尾的备份文件) -c with –lt: sort by, and show, ctime (time of last modification of file status information) with –l: show ctime and sort by name otherwise: sort by ctime(输出文件的i 节点的修改时间,并以此排序) -C list entries by columns --color[=WHEN] control whether color is used to distinguish file types. WHEN may be `never', `always', or `auto'(按列输出,纵向排序) -d, --directory list directory entries instead of contents, and do not dereference symbolic links(将目录象文件一样显示,而不是显示其下的文件) -D, --dired generate output designed for Emacs' dired mode -e 输出时间的全部信息,而不是输出简略信息 -f do not sort, enable -aU, disable –lst(-U 对输出的文件不排序) -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append `*’--format=WORD across –x, commas –m, horizontal –x, long –l, single-column -1, verbose –l, vertical - --full-time like –l –time-style=full-iso -g like –l, but do not list owner -G, --no-group like –l, but do not list group(输出文件的组的信息) -h, --human-readable with –l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024

Linux常用命令详解

su su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。 su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令,则系统提示输入根口令,输入之后则可切换为根用户。 如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。 pwd pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。 cd cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下的cd命令基本一致。 cd ..可进入上一层目录 cd -可进入上一个进入的目录 cd ~可进入用户的home目录 ls ls命令跟dos下的dir命令一样,用于显示当前目录的内容。 如果想取得详细的信息,可用ls -l命令,这样就可以显示目录内容的详细信息。 如果目录下的文件太多,用一屏显示不了,可以用ls -l |more分屏显示。 find find命令用于查找文件。这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。 find命令的基本结构如下: $find

其中指定从哪个目录开始搜索。指定搜索条件。表示找到文件怎么处理。一般来说,要用-print动作,显示整个文件路径和名称。如果没有这个动作,则find命令进行所要搜索而不显示结果,等于白费劲。 例如,要搜索系统上所有名称为ye的文件,可用如下命令: $find / -name ye -print 这样就可以显示出系统上所有名称为ye的文件。 tar tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。可用如下方法建立tar档案: $tar cvf 例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令: $tar cvf ye.tar *.* 要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令: $tar tvf ye.tar 要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令: $tar xvf ye.tar gzip gzip命令用于压缩文件。例如,如果要将ye.txt文件压缩,可用如下命令: $gzip ye.txt 这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。 解压缩文件可用gzip -d命令实现: $gzip -d ye.txt.gz 这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解压缩文件,效果跟用gzip -d命令一样。 旧版的tar命令不压缩档案,可用gzip压缩。例如:

相关主题
文本预览
相关文档 最新文档