超全整理!Linux shell及常用36类命令汇总

您所在的位置:网站首页 shell命令详解 超全整理!Linux shell及常用36类命令汇总

超全整理!Linux shell及常用36类命令汇总

2022-05-12 02:23| 来源: 网络整理| 查看: 265

使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。需要注意一点的是,有些用法需要在你的linux系统里安装额外的软件。shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的,而 X Window 则是图形界面。你在命令行输入命令,shell进行解释,然后送往操作系统执行。shell可以执行 Linux 的系统内部命令,也可以执行应用程序。你还可以利用shell编程,执行复杂的命令程序。Linux 提供几种shell程序以供选择。常用的有 Bourne ( b s h )、C( c s h )和Korn( k s h ),各个shell都能提供基本的功能,又有其各自的特点。Bourne shellBourne shell是由Steven Bourne 编写的,是UNIX 的缺省shell。Bourne shell的shell编程能力很强。但它不能处理命令的用户交互特征。bash 是Bourne shell的增强版。CshellCshell是由加利福尼亚大学伯克利分校的Bill Joy编写的。它能提供Bourne shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。很多人认为, C shell的编程能力不如Bourne shell,但它的语法和C语言类似,所以C程序员将发现C shell很顺手。tcsh 是Cshell的增强版本和Cshell完全兼容。KornK o r nshell是由Dave Korn 编写的。Korn shell融合了C shell和Bourne shell的优点,并和Bourne shell完全兼容。 Korn shell的效率很高,其命令交互界面和编程交互界面都很不错。Public Domain Korn shell( p d k s h )是Korn shell的增强版。bashbash 是大多数L i n u x系统的缺省shell。它克服了Bourne shell的缺点,又和Bourne shell完全兼容,B a s h有以下的特点:1 补全命令行。 当你在bash 命令提示符下输入命令或程序名时,你不必输全命令或程序名,按Tab 键,b a s h将自动补全命令或程序名。2 通配符。 在b a s h下可以使用通配符 和?。可以替代多个字符,而?则替代一个字符。3 历史命令。 bash 能自动跟踪你每次输入的命令,并把输入的命令保存在历史列表缓冲区。缓冲区的大小由HISTSIZE 变量控制。当你每次登录后,home 目录下的 .bash_history 文件将初始化你的历史列表缓冲区。你也能通过history 和fc 命令执行、编辑历史命令。4别名。 在b a s h下,可用alias 和unalias 命令给命令或可执行程序起别名和清除别名。这样你可以用自己习惯的方式输入命令。进入shellLinux 启动后,给出 login 命令,等待用户登录。Login: Password: 如果是正确的用户名和密码,那么你就会进入Linux 的shell, shell给出命令提示符,等待你输入命令。使用 l o g o u t命令退出shell。shell的常用命令

1、更改帐号密码语法:passwdOld password: New password: help 列出 ftp 文件传输时可使用的命令。ftp> !ls 列出本地工作站当前目录下的所有文件名。ftp> !pwd 列出本地工作站当前所在的目录位置。ftp> ls 列出远程工作站当前目录下的所有文件名。ftp> dir 列出远程工作站当前目录下的所有文件名。ftp> dir . |more 分页列出远程工作站当前目录下的所有文件名。ftp> pwd 列出远程工作站当前所在的目录位置。ftp> cd dir1 更改远程工作站的工作目录位置至 dir1 之下。ftp> get file1 将远程工作站的文件 f i l e 1拷贝到本地工作站中。ftp> put file2 将本地工作站的文件 f i l e 2拷贝到远程工作站中。ftp> mget *.c 将远程工作站中扩展文件名为 c 的所有文件拷贝到本地工作站中。ftp> mput *.txt 将本地工作站中扩展文件名为 txt 的所有文件拷贝到远程工作站中。ftp> prompt 切换交互式指令(使用 mput/mget 时不是每个文件皆询问y e s / n o )。ftp> quit 结束 ftp 工作。ftp> bye 结束 ftp 工作。注意 从PC与工作站间的文件传输也可透过在 PC端的 FTP指令进行文件传输,指令用法与上述指令大致相同。15、文件权限的设定

改变文件或目录的读、写、执行权限语法:chmod [-R] mode name

n a m e :文件名或目录名。mode: 3个8位数字或r w x的组合。r- r e a d (读),w - w r i t e (写),x - e x e c u t e (执行),u - u s e r (当前用户),g - g r o u p(组) ,o - o t h e r(其他用户) 。例如:chmod 755 dir1 对于目录d i r 1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改。chmod 700 file1 对于文件f i l e 1,设定只有所有者可以读、写和执行的权利。chmod u+x file2 对于文件f i l e 2,增加当前用户可以执行的权利。chmod g+x file3 对于文件f i l e 3,增加工作组使用者可执行的权利。chmod o-r file4 对于文件f i l e 4,删除其他使用者可读取的权利。2.改变文件或目录的所有权语法:chown [-R] 用户名 namen a m e:文件名或目录名。例如 :chown user file1 将文件 file1 改为用户user 所有。chown -R user dir1 将目录 d i r 1及其子目录下面的所有文件改为用户user 所有。16、检查自己所属的工作组名称语法:g r o u p s17、 改变文件或目录工作组所有权语法:chgrp [-R] 工作组名 namen a m e:文件名或目录名例如:chgrp vlsi file1 将文件 file1 的工作组所有权改为 vlsi 工作组所有。chgrp -R image dir1 将目录d i r 1及其子目录下面的所有文件,改为 image 工作组所有。18、 改变文件或目录的最后修改时间语法:touch namen a m e:文件名或目录名。19、文件的链接同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。语法:ln 老文件名 新文件名例如 :ln file1 file2 将文件 f i l e 2链接至文件 f i l e 1。语法:ln -s 老文件名 新文件名例如 :ln -s file3 file4 将文件 file4 链接至文件f i l e 3。20、文件中字符串的查寻语法:grep string file例如 :grep abc file1 寻找文件f i l e 1中包含字符串 abc 所在行的文本内容。查寻文件或命令的路径语法:whereis command 显示命令的路径。语法:which command 显示命令的路径,及使用者所定义的别名。语法:whatis command 显示命令功能的摘要。语法:find search-path -name filename -print 搜寻指定路径下某文件的路径 。例如 :find / -name file1 -print 自根目录下寻找文件 file1 的路径。21、比较文件或目录的内容语法:d i ff [-r] name1 name2name1 name2:可同时为文件名或目录名。例如:d i ff file1 file2 比较文件file1 与 file2 内各行的不同之处。d i ff -r dir1 dir2 比较目录 dir1 与 dir2 内各文件的不同之处。22、文件打印输出用户可用 .login 文件中的 setenv PRINTER来设定打印机名。例如 :setenv PRINTER sp 设定自 sp 打印机打印资料。一般文件的打印语法:lpr [-P打印机名] 文件名例如:lpr file1 或 lpr -Psp file1 自 s p打印机打印文件 f i l e 1。语法:enscript [-P打印机名] 文件名例如:enscript file3 或 enscript -Psp file3 自 s p打印机打印文件 f i l e 3。23、troff 文件的打印语法:p t r o ff [-P打印机名] -man 文件名例如:ptroff -Psp -man /usr/man/man1/lpr1 以troff 格式,自 sp 打印机打印lpr1 命令的使用说明。打印机控制命令1.检查打印机状态、打印作业顺序号和用户名第2章计shell及常用命令计计 15下载语法:lpq [-P打印机名]例如:lpq 或 lpq -Psp 检查 sp 打印机的状态。

删除打印机内的打印作业( 用户仅可删除自己的打印作业 )语法:lprm [-P打印机名] 用户名 或 作业编号

例如:lprm user或lprm -Psp user 删除s p打印机中用户user 的打印作业,此时用户名必须为u s e r。lprm -Psp 456 删除 sp 打印机上编号为 456 的打印作业。24、进程控制1.查看系统中的进程语法:ps [-aux]例如:p s或ps -x 查看系统中,属于自己的进程。ps -au 查看系统中,所有用户的进程。ps -aux 查看系统中,包含系统内部的及所有用户的进程。

结束或终止进程语法:kill [-9] PID

P I D:利用 ps 命令所查出的进程号。例如:kill 456或kill -9 456 终止进程号为 456 的进程。

在后台执行进程的方式语法:命令 &

例如:cc file1.c & 将编译 file1.c 文件的工作置于后台执行。语法:按下 C o n t r o l + Z键,暂停正在执行的进程。键入b g命令,将暂停的进程置于后台继续执行。例如:cc file2.c^ ZS t o p p e db g

查看正在后台中执行的进程语法:j o b s结束或终止后台中的进程语法:kill %n

n:利用j o b s命令查看出的后台作业号例如:kill % 终止在后台中的第一个进程。kill %2 终止在后台中的第二个进程。25、shell变量

查看shell变量的设定值语法:set 查看所有shell变量的设定值。

语法:echo $变量名 显示指定的shell变量的设定值。

设定shell变量语法:set var = value

例如:set term=vt100 设定shell变量 t e r m为 VT100 型终端。

删除shell变量语法:unset var

例如:unset PRINTER 删除shell变量 PRINTER 的设定值。26、别名

查看所定义的命令的别名语法: a l i a s 查看自己目前定义的所有命令,及所对应的别名。

语法: alias name 查看指定的name 命令的别名。例如:alias dir 查看别名 dir 所定义的命令。ls -atl

定义命令的别名语法: alias name‘command line’

例如:alias dir ‘ls -l’ 将命令 ls - l 定义别名为 d i r。

删除所定义的别名语法: unalias name

例如:unalias dir 删除别名 dir 的定义。unalias * 删除所有别名的设定。27、历史命令

设定命令记录表的长度语法: set history = n

例如:set history = 40 设定命令记录表的长度为 40 (可记录执行过的前面 40 个命令)。

查看命令记录表的内容语法: h i s t o r y使用命令记录表语法: !! 重复执行前一个命令。

语法: ! nn:命令记录表的命令编号。语法: ! s t r i n g 重复前面执行过的以 string 为起始字符串的命令。例如: ! c a t 重复前面执行过的以 cat 为起始字符串的命令。

显示前一个命令的内容语法: ! !:p更改前一个命令的内容并执行语法: ^oldstring ^newstring 将前一个命令中 oldstring 的部份改成 n e w s t r i n g并执

行。例如:find . -name file1.c -print^ f i l e 1 . c ^ c o r efind . -name core -print28、文件的压缩

压缩文件语法:compress 文件名 压缩文件

语法:compressdir 目录名 压缩目录

解压缩文件语法:uncompress 文件名 解压缩文件

语法:uncompressdir 目录名 解压缩目录29、管道命令的使用语法:命令1 | 命令2 将命令1的执行结果送到命令2,做为命令2的输入。例如:ls -Rl | more 以分页方式列出当前目录及其子目录下所有文件的名称。cat file1 | more 以分页方式列出文件 file1 的内容。30、输入/输出控制

标准输入的控制语法:命令 < 文件 将文件做为命令的输入。

例如:mail -s “mail test” 电子邮件地址 < file1 将文件file 当做信件的内容,主题名称为 mail test,送给收信人。

标准输出的控制语法:命令 > 文件 将命令的执行结果送至指定的文件中。

例如:ls -l > list 将执行 “ls -l” 命令的结果写入文件list 中。语法:命令>! 文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。例如:ls -lg >! list 将执行 “ls - lg” 命令的结果覆盖写入文件 list 中。语法:命令 >& 文件 将命令执行时屏幕上所产生的任何信息写入指定的文件中。例如:cc file1.c >& error 将编译 file1.c 文件时所产生的任何信息写入文件 error 中。语法:命令>> 文件 将命令执行的结果附加到指定的文件中。例如:ls - lag >> list 将执行 “ls - lag” 命令的结果附加到文件 list 中。语法:命令 >>& 文件 将命令执行时屏幕上所产生的任何信息附加到指定的文件中。例如:cc file2.c >>& error 将编译 file2.c 文件时屏幕所产生的任何信息附加到文件error 中。31、查看系统中的用户语法: who 或 f i n g e r语法: w语法: finger 用户名 或 finger 用户名@域名改变用户名语法: su 用户名例如:su user 进入用户user 的帐号。p a s s w r o d : 32、查看用户名语法: who am i 查看登录时的用户名。语法: w h o a m i 查看当前的用户名。若已执行过s u命令,则显示出此用户的用户名。33、查看当前系统上所有工作站的用户语法: rusers按Ctrl+C> 结束34、与某工作站上的用户交谈语法: talk 用户名@主机名或talk 用户名@ I P地址例如:1) 可先利用 rusers 指令查看网络上的用户;2) 假设自己的帐号是 ddd ,在工作站 aaa上使用,现在想要与 bbb 上的ccc 交谈。talk ccc@bbb可按Ct r l + C结束。35、检查网络是否连通语法:ping 主机名或ping IP地址36、电子邮件的使用简介

将文件当做电子邮件的内容送出语法:mail -s “主题”电子邮件地址 < 文件

例如:mail -s “hello” 电子邮件地址 < file.c

传送电子邮件给本系统用户语法:mail 用户名传送电子邮件至外地用户语法: mail 电子邮件地址

例如:mail [email protected] : mail test:按下 Ctrl+D 键或 . 键结束正文。连按两次C t r l + C键则中断工作,不送此信件。Cc( Carbon copy) : 复制一份正文,给其他的收信人。

检查所传送的电子邮件是否送出,或滞留在邮件服务器中语法:/usr/magedu/sendmail -bp

若屏幕显示为 “Mail queue is empty” 的信息,表示 mail 已送出。若为其他错误信息,表示电子邮件因故尚未送出。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3