脑动力:linux指令速查效率手册 书连载
Tofloor
poster avatar
lili123
deepin
2012-06-07 21:27
Author
内容提要
Linux操作系统继承了Unix的强大而灵活的命令行工作方式。在Linux中,常用的指令有几百个之多。面对如此庞大的指令库,所有学习人员都需要一般较为全面的Linux指令学习参考书。
本书分为3篇,一共讲解了450个相关的指令,并给出了相应的示例。第一篇中介绍了175个Linux基础操作指令,包括文件、目录、Shell、打印、工具等;第二篇中介绍了206个Linux系统操作指令,包含系统管理、系统设置、磁盘维护、磁盘管理、内核开发、系统任务等;第三篇中介绍了69个Linux网络管理指令,包含网络通讯、电子邮件、新闻组和网络应用等。
本书所介绍的Linux指令全面、实用性强,非常适合于Linux初学者、Linux系统管理员和网络管理人员以及Linux系统的爱好者作为学习、开发之用的Linux指令参考书籍。

[color=#0000FF:3b285eia]当当地址:http://product.dangdang.com/product.aspx?product_id=22766680[/color:3b285eia]
Reply Favorite View the author
All Replies
1 / 2
To page
lili123
deepin
2012-06-07 21:27
#1
内容提要
Linux操作系统继承了Unix的强大而灵活的命令行工作方式。在Linux中,常用的指令有几百个之多。面对如此庞大的指令库,所有学习人员都需要一般较为全面的Linux指令学习参考书。
本书分为3篇,一共讲解了450个相关的指令,并给出了相应的示例。第一篇中介绍了175个Linux基础操作指令,包括文件、目录、Shell、打印、工具等;第二篇中介绍了206个Linux系统操作指令,包含系统管理、系统设置、磁盘维护、磁盘管理、内核开发、系统任务等;第三篇中介绍了69个Linux网络管理指令,包含网络通讯、电子邮件、新闻组和网络应用等。
本书所介绍的Linux指令全面、实用性强,非常适合于Linux初学者、Linux系统管理员和网络管理人员以及Linux系统的爱好者作为学习、开发之用的Linux指令参考书籍。
Reply View the author
lili123
deepin
2012-06-07 21:28
#2
二、Linux系统指令篇  
第7章  系统管理
7.1  adduser指令:新增用户账号
7.2  chfn指令:修改用户的finger信息
7.3  chsh指令:更换登入系统时使用的shell
7.4  date指令:显示或设置系统时间与日期
7.5  exit指令:退出目前的shell
7.6  finger指令:查找并显示用户信息
7.7  free指令:显示内存状态
7.8  fwhois指令:查找并显示用户信息
7.9  gitps指令:报告程序状况
7.10  groupdel指令:删除群组
7.11  groupmod指令:修改工作组信息
7.12  halt指令:关闭系统
7.13  id指令:显示用户的ID以及所属群组的ID
7.14  kill指令:删除执行中的程序或工作进程
7.15  last指令:列出目前与过去登入系统的用户相关信息
7.16  lastb指令:列出登入系统失败的用户相关信息
7.17  login指令:登录系统
7.18  logname指令:显示用户名称
7.19  logout指令:退出系统
7.20  logrotate指令:管理记录文件
7.21  newgrp指令:登入另一个群组
7.22  nice指令:设置优先权
7.23  procinfo指令:显示系统状态
7.24  ps指令:报告程序状况
7.25  pstree指令:以树状图形显示程序
7.26  reboot指令:重新开机
7.27  renice指令:调整优先级
7.28  rlogin指令:远程登入
7.29  rsh指令:远程登入的shell
7.30  rwho指令:查看系统用户
7.31  screen指令:多重视窗管理程序
7.32  shutdown指令:系统关机指令
7.33  su指令:变更用户身份
7.34  sudo指令:以其他身份来执行指令
7.35  suspend指令:暂停执行shell
7.36  swatch指令:系统监控程序
7.37  tload指令:显示系统负载状况
7.38  top指令:显示,管理执行中的程序
7.39  uname指令:显示系统信息
7.40  useradd指令:建立用户账户
7.41  userconf指令:用户账号设置程序
7.42  userdel指令:删除用户
7.43  usermod指令:修改用户账号
7.44  vlock指令:锁住虚拟终端
7.45  w指令:显示目前登入系统的用户信息
7.46  groupadd指令:创建新工作组
第8章  系统设置
8.1  alias指令:设置命令别名
8.2  apmd指令:进阶电源管理服务程序
8.3  aumix指令:设置音效装置
8.4  bind指令:显示或设置键盘按键以及相关的功能
8.5  chkconfig指令:检查、设置系统的各种服务
8.6  chroot指令:改变根目录
8.7  clock指令:调整RTC时间
8.8  crontab指令:设置计时器
8.9  declare指令:声明shell变量
8.10  depmod指令:分析可载入模块的相依性
8.11  dircolors指令:设置ls指令在显示目录或文件时所用的色彩
8.12  dmesg指令:显示开机信息
8.13  enable指令:启动或关闭shell内建指令
8.14  eval指令:重新运算求出参数的内容
8.15  export指令:设置或显示环境变量
8.16  fbset指令:设置景框缓冲区
8.17  grpconv指令:开启群组的投影密码
8.18  grpunconv指令:关闭群组的投影密码
8.19  hwclock指令:显示和设定硬件时钟
8.20  insmod指令:载入模块
8.21  kbdconfig指令:设置键盘类型
8.22  lilo指令:安装核心载入,开机管理程序
8.23  liloconfig指令:设置核心载入,开机管理程序
8.24  lsmod指令:显示已经载入系统的模块
8.25  minfo指令:显示MS-DOS文件系统的各项参数
8.26  mkkickstart指令:建立安装的组态文件
8.27  modinfo指令:显示kernel模块的信息
8.28  modprobe指令:自动处理可载入的模块
8.29  mouseconfig指令:设置鼠标的相关参数
8.30  ntsysv指令:设置系统的各种服务
8.31  passwd指令:设置密码
8.32  pwconv指令:开启用户的投影密码
8.33  pwunconv指令:关闭用户的投影密码
8.34  rdate指令:显示其他主机的日期与时间
8.35  resize指令:设置终端机视窗的大小
8.36  rmmod指令:删除模块
8.37  rpm指令:管理套件
8.38  setconsole指令:设置系统终端
8.39  setenv指令:查询或者显示环境变量
8.40  setup指令:设置公用程序
8.41  sndconfig指令:设置声卡
8.42  SVGATextMode指令:加强文字模式的显示画面
8.43  timeconfig指令:设置时区
8.44  ulimit指令:控制shell程序的资源
第9章  硬件操作指令
9.1  arch指令:打印主机架构类型
9.2  cdrecord指令:光盘刻录工具
9.3  eject指令:弹出可移动媒体
9.4  volname指令:显示卷名
9.5  lsusb指令:显示USB设备列表
9.6  lspci指令:显示PCI设备列表
9.7  setpci指令:配置PCI设备
9.8  hwclock指令:查询与设置硬件时钟
9.9  systool指令:查看系统设备信息
第10章  磁盘管理
10.1  df指令:报告磁盘空间使用情况
10.2  cd指令:切换目录
10.3  dirs指令:显示目录记录
10.4  du指令:显示目录或者文件的大小
10.5  edquota指令:编辑磁盘配额
10.6  lndir指令:连接目录内容
10.7  ls指令:列出目录内容
10.8  mcd指令:在MS-DOS文件系统中切换工作目录
10.9  mdeltree指令:删除DOS目录
10.10  mdu指令:显示MS-DOS目录所占用的磁盘空间
10.11  mkdir指令:建立目录
10.12  mlabel指令:显示或设置MS-DOS磁盘驱动器的标签名称
10.13  mmd指令:在MS-DOS文件系统中建立目录
10.14  mmount指令:挂入MS-DOS文件系统
10.15  mrd指令:删除MS-DOS文件系统中的目录
10.16  mzip指令:zip/jaz磁盘驱动器控制指令
10.17  pwd指令:显示工作目录
10.18  quota指令:显示磁盘已使用的空间与限制
10.19  quotacheck指令:检查磁盘的使用空间与限制
10.20  quotaoff指令:关闭磁盘空间限制
10.21  quotaon指令:开启磁盘空间限制
10.22  repquota指令:检查磁盘空间限制的状态
10.23  rmdir指令:删除目录
10.24  stat指令:显示文件状态
10.25  umount指令:卸载文件系统
10.26  mount指令:加载文件系统
10.27  mkfs指令:创建文件系统
10.28  mke2fs指令:创建ext2/ext3文件系统
10.29  fsck指令:检查文件系统
10.30  dumpe2fs指令:导出ext2/ext3文件系统信息
10.31  e2fsck指令:检查ext2/ext3文件系统
10.32  chattr指令:改变文件的第二扩展文件系统属性
10.33  lsattr指令:查看文件的第二扩展文件系统属性
10.34  mountpoint指令:判断目录是否是加载点
10.35  swapoff指令:关闭交换空间
10.36  swapon指令:激活交换空间
10.37  sync指令:刷新文件系统缓冲区
10.38  e2image指令:将ext2/ext3文件系统元数据保存到文件
10.39  e2label指令:设置文件系统卷标
10.40  tune2fs指令:调整ext2/ext3文件系统参数
10.41  resize2fs指令:调整ext2文件系统大小
10.42  findfs指令:通过卷标或UUID查找文件系统
Reply View the author
lili123
deepin
2012-06-07 21:28
#3
第11章  磁盘维护
11.1  badblocks指令:检查磁盘装置中损坏的区块
11.2  cfdisk磁盘分区
11.3  dd指令:读取转换并输出数据
11.4  fdisk指令:磁盘分区
11.5  fsck指令:检查文件系统并尝试修复错误
11.6  fsconf指令:设置文件系统的相关功能
11.7  hdparm指令:显示与设定硬盘的参数
11.8  losetup指令:设置循环设备
11.9  mbadblocks指令:检查MS-DOS文件系统的磁盘是否有损坏的磁区
11.10  mformat指令:对MS-DOS文件系统的磁盘进行格式化
11.11  mkbootdisk指令:建立目前系统的启动盘
11.12  mkdosfs指令:建立DOS文件系统
11.13  mkinitrd指令:建立要载入ramdisk的映像文件
11.14  mkisofs指令:建立ISO 9660映像文件
11.15  mkswap指令:设置交换区
11.16  mpartition指令:建立或删除DOS的分区
11.17  sfdisk指令:硬盘分区工具
11.18  symlinks指令:维护符号连接的工具程序
第12章  系统任务指令
12.1  at指令:在指定时间执行任务
12.2  atq指令:显示用户待执行任务列表
12.3  atrm指令:删除待执行任务
12.4  batch指令:在指定时间执行任务
12.5  crontab指令:周期性的执行任务
12.6  init指令:初始化Linux进程
12.7  killall指令:按照名称杀死进程
12.8  nice指令:以指定优先级运行程序
12.9  nohup指令:以忽略挂起信号方式运行程序
12.10  pkill指令:按名称杀死进程
12.11  pstree指令:以树形显示进程派生关系
12.12  skill指令:向进程发送信号
12.13  watch指令:全屏方式显示周期性执行的指令
12.14  telinit指令:切换运行等级
12.15  runlevel指令:打印当前运行等级
12.16  service指令:控制系统服务
12.17  ipcs指令:获取进程间通信设施的状态
12.18  pgrep指令:使用进程名称查找进程
12.19  pidof指令:查找进程ID号
12.20  pmap指令:显示进程的内存映射关系
第13章  Linux内核指令
13.1  sysctl指令:运行时配置内核参数
13.2  lsmod指令:显示已加载模块状态
13.3  insmod指令:加载模块到内核
13.4  modprobe指令:内核模块智能加载工具
13.5  rmmod指令:从内核中移除模块
13.6  modinfo指令:显示模块详细信息
13.7  depmod指令:产生模块所依赖的映射文件
13.8  uname指令:打印系统信息
13.9  dmesg指令:打印和控制内核环形缓冲区
13.10  kexec指令:直接启动另一Linux内核
13.11  get_module指令:获取模块信息
13.12  kernelversion指令:打印内核主版本号
13.13  slabtop指令:实时显示内核slab缓冲区信息
第14章  Linux程序开发
14.1  test指令:测试条件表达式
14.2  expr指令:表达式求值
14.3  gcc指令:GNU C/C++编译器
14.4  gdb指令:GNU调试器
14.5  ld指令:GNU连接器
14.6  ldd指令:打印程序依赖的共享库
14.7  make指令:GNU工程化编译工具
14.8  as指令:GNU汇编器
14.9  gcov指令:测试代码覆盖率
14.10  nm指令:显示目标文件符号表
14.11  perl指令:perl语言解释器
14.12  php指令:PHP的命令行接口
14.13  protoize指令:添加函数原型
14.14  unprotoize指令:删除函数原型
三、Linux网络指令篇
第15章  网络通讯
15.1  dip指令:IP拨号连接
15.2  getty指令:设置终端机模式,连线速率和管制线路
15.3  mingetty指令:与getty功能相同
15.4  ppp-off指令:关闭PPP连接
15.5  telnet指令:远程登入
15.6  uulog指令:显示UUCP记录文件
15.7  uustat指令:显示UUCP目前的状况
15.8  uux指令:在远端的UUCP主机上执行指令
15.9  cu指令:连接另一个系统主机
15.10  dnsconf指令:设置DNS服务器组态
15.11  efax指令:收发传真
15.12  httpd指令:Apache HTTP服务器程序
15.13  ifconfig指令:显示或设置网络设备
15.14  mesg指令:设置终端机的写入权限
15.15  minicom指令:调制解调器的通信程序
15.16  nc指令:设置路由器
15.17  netstat指令:显示网络状态
15.18  ping指令:检测主机
15.19  pppstats指令:显示PPP连接状态
15.20  setserial指令:设置或显示串口的相关信息
15.21  statserial指令:显示串口状态
15.22  talk指令:与其他用户进行交谈
15.23  tcpdump指令:显示和监听网络传输数据
15.24  traceroute指令:显示数据包到主机间的路径
15.25  tty指令:显示终端机连接标准输入设备的文件名称
15.26  uuname指令:显示全部的UUCP远端主机
15.27  ytalk指令:与其他用户交谈
15.28  arpwatch指令:监听网络上的ARP记录
15.29  apachectl指令:可用来控制Apache HTTP服务器的程序
15.30  smbclient指令:可存取SMB/CIFS服务器的用户端程序
15.31  pppsetup指令:设置PPP连接
第16章  电子邮件与新闻组
16.1  archive指令:新闻组文件备存程序
16.2  ctlinnd指令:设置INN新闻组服务器
16.3  elm指令:E-mail管理程序
16.4  getlist指令:下载新闻组清单
16.5  inncheck指令:检查inn相关配置文件的语法是否正确
16.6  mail指令:E-mail管理程序
16.7  mailconf指令:sendmail设置程序
16.8  mailq指令:显示待邮寄的清单
16.9  messages指令:查看邮箱中的邮件数 16.12  nntpget指令:下载新闻组文章
16.13  pine指令:收发电子邮件,浏览新闻组
16.14  slrn指令:新闻组阅读程序
第17章  Linux网络应用
17.1  elinks指令:纯文本界面的WWW浏览器
17.2  wget指令:从指定URL地址下载文件
17.3  iptables指令:内核包过滤与NAT管理工具
17.4  iptables-save指令:保存iptables表
17.5  iptables-restore指令:还原iptables表
17.6  ip6tables指令:IPv6版内核包过滤管理工具
17.7  ip6tables-save指令:保存ip6tables表
17.8  ip6tables-restore指令:还原ip6tables表
17.9  ip指令:显示或操作路由、网络设备
17.10  arpd指令:ARP协议守护进程
17.11  arptables指令:arp包过滤管理工具
17.12  ss指令:显示活动套接字连接
17.13  iptraf指令:监视网卡流量
17.14  mysqldump指令:MySQL数据库备份工具
17.15  mysqladmin指令:MySQL服务器的客户端管理工具
17.16  mysqlimport指令:MySQL服务器的数据导入工具
17.17  mysqlshow指令:显示数据库、数据表和列信息
17.18  mysql指令:MySQL服务器的客户端工具
17.19  nfsstat指令:显示NFS状态信息
17.20  showmount指令:显示NFS服务器的加载信息
17.21  smbpassword指令:修改用户的SMB密码
17.22  sqluid指令:代理服务器守护进程
17.23  sendmail指令:电子邮件传送代理
17.24  smbclient指令:samba套件的客户端工具
Reply View the author
lili123
deepin
2012-06-07 21:31
#4
第5章  shell指令
在Linux系统中,shell是用户和操作系统之间的接口,即操作系统的外壳。shell指令是一种命令语言、命令解释程序以及程序设计语言的统称。其中,最为常用的一种是shell命令解释程序。shell将接收用户输入的命令,并且将这些命令传送到Linux内核中执行。在本章中,将主要向用户介绍shell相关的指令及其使用方法。
5.1  echo指令:打印变量或字符串
【语    法】echo [-e][打印内容]
【功能介绍】该指令可以将用户指定的打印内容发送到标准输出设备上进行显示。

【经验技巧】
        该指令不会对用户所指定的内容进行任何转换而直接输出显示。
        该指令可以输出任何格式的内容,包括字符串、数字等。
【示例5-1】使用指令“echo”分别输出字符串“I love Linux”以及数字“123”,则输入下面的命令:
$ echo I love Linux
$ echo 123                                                                                        #输出指定的字符串等内容
上面的命令执行以后,会将指定的内容原样进行输出显示,如图5.1所示。


图5.1  使用指令“echo”输出内容
当用户使用该指令显示系统变量的值时,必须在变量名前添加符号“$”。例如,使用该指令显示系统变量“PATH”的变量值,则输入以下命令:
$ echo $PATH                                                                                        #显示系统变量的值
以上命令执行成功后,将显示出指定变量的值,具体如下所示:
/user/local/sbin;/user/local/bin;/user/sbin;/user/bin;/sbin;/bin;/user/games
【相关指令】set
Reply View the author
lili123
deepin
2012-06-07 21:33
#5
5.2  alias指令:设置命令别名
【语    法】alias [参数][命令别名]=[原命令名称]
【功能介绍】该指令主要用于为原命令定义新的别名,以便书写或者记忆。

【经验技巧】
        使用该指令可以将一些较长的命令进行简化。
        使用该指令时,用户必须使用单引号“’ ’”将原来的命令括起来,防止特殊字符导致错误。
        该指令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件“/etc/bashrc”中。
【示例5-2】使用指令“alias”输出显示当前系统下已经存在的命令别名,则输入下面的命令:
$ alias –p                                                        #显示目前系统下所有已经存在的命令别名
上面的命令执行以后,将输出显示所有当前系统已经存在的命令别名,如图5.2所示。


图5.2  输出显示当前系统中的命令别名
注意:如图5.2所示,在命令行窗口中显示了当前系统下所有已经定义的命令别名。用户也可以不带任何参数选项而使用该指令实现这一功能。
例如,可以使用该指令对命令“ls -l”进行别名设置,以实现新指令的功能与其相同,则输入下面的命令:
$ alias cc=’ls –l’                                                                                #设置别名
注意:设置命令别名的时候,一定要使用单引号将原始命令括起来。
以上命令所表达的意思是使用新指令“cc”作为原始指令“ls -l”的别名。接下来,用户就可以直接使用指令“cc”实现与原始指令“ls -l”相同的功能。
使用新定义的别名“cc”显示当前目录下的文件列表,则输入下面的命令:
$ cc                                                                                                        #相当于ls –l
执行上面的命令以后,其功能与原始指令相同,如图5.3所示。


图5.3  使用命令别名实现输出文件列表
那么,要获得命令别名的原始命令,则可以通过指令“type”实现,输入下面的命令:
$ type cc                                                                                                #显示命令别名的原始命令
命令执行以后,命令行窗口将显示信息如下所示:
cc 是’ls -l’的别名                                                                                #显示结果
【相关指令】unalias
Reply View the author
lili123
deepin
2012-06-07 21:34
#6
5.3  unalias指令:取消命令别名
【语    法】unalias [-a][命令别名]
【功能介绍】该指令主要用于取消所有定义的命令别名。

【经验技巧】
        如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。
        如果使用参数“-a”,则表示取消所有已经存在的命令别名。
【示例5-3】使用指令“unalias”将已经设置的命令别名“cc”取消掉,则输入下面的命令:
$ unalias cc                                                        #取消已经设置的的命令别名
上面的命令执行以后,系统会将指定的命令别名取消掉。如果用户再使用该命令别名时,系统将提示如下信息:
cc:no input files
因此,当使用该指令将命令别名取消以后,将不能够再进行使用。否则,将出现错误提示。
【相关指令】alias
Reply View the author
lili123
deepin
2012-06-07 21:35
#7
5.4  jobs指令:显示任务列表
【语    法】jobs [-lpnrs][任务号]
【功能介绍】该指令主要用于显示系统中的任务列表及其运行状态。

【经验技巧】
        该指令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的。而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。
【示例5-4】使用指令“jobs”显示当前系统的任务列表,则输入下面的命令:
$ jobs -l                                                                                        #显示当前系统的任务列表
上面的命令执行以后,将显示出当前系统下的任务列表信息,具体如下所示:
[1] + 1903 运行中                find / -name password &
注意:要得到以上输出信息,必须在执行指令“jobs”之前执行命令“find / -name password &”。否则,执行“jobs”不会显示任何信息。
其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的指令。
【相关指令】bg,fg
Reply View the author
lili123
deepin
2012-06-07 21:36
#8
5.5  bg指令:后台执行作业
【语    法】bg[任务号]
【功能介绍】该指令会将指定的任务放到系统后台去执行。

【经验技巧】
        该指令的运行效果与在指令后面添加符号“&”的效果是相同的,都是将其放到系统后台执行。
【示例5-5】使用指令“bg”将任务号为1的任务放到后台继续执行,则输入下面的命令:
$ bg 1                                                                                        #后台执行任务号为1的任务
如果系统中只有一个挂起的任务时,即使不为该指令设置参数“1”也可以实现这个功能。
注意:实际上,使用指令“bg”与在指令后面添加符号“&”的效果是一样的。例如,使用“&”将“find / -name password”放到后台执行,则输入下面的命令:
$ find / -name password &                                                        #后台执行任务
【相关指令】fg
Reply View the author
lili123
deepin
2012-06-07 21:39
#9
5.6  fg指令:将后台作业转换到前台执行
【语    法】fg[任务号]
【功能介绍】该指令作用是将在后台执行或者挂起的任务转换到前台执行。

【经验技巧】
        与指令“bg”一样,若后台任务中只有一个,则使用该指令时,可以省略掉任务号。
【示例5-6】使用指令“fg”将任务号为1的任务从后台执行转换到前台执行,则输入下面的命令:
$ fg 1                                                                                        #将任务转换到前台执行
执行上面的命令后,命令行窗口将显示信息,如下所示:
find / -name password                                                                #前台执行命令
【相关指令】bg
5.7  set指令:显示或设置shell特性及shell变量
【语    法】set [+-abCdefhHklmnpPtuvx]
【功能介绍】该指令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。

【经验技巧】
        使用该指令更改shell特性时,符号“+”和“-”的作用分别是打开和关闭指定的模式。
        该指令不能够定义新的shell变量。如果要定义新的变量,可以使用指令“declare”以“变量名=值”的格式进行定义即可。
【示例5-7】使用指令“declare”定义一个新的环境变量“mylove”并且将其值设置为“Visual C++”,则输入下面的命令:
$ declare mylove=’Visual C++’                                                                #定义新环境变量
再使用指令“set”将新定义的变量输出为环境变量,输入下面的命令:
$ set –a mylove                                                                                        #设置为环境变量
执行该命令以后,将会新添加对应的环境变量。用户可以使用指令“env”和“grep”分别显示和搜索环境变量“mylove”,输入命令如下所示:
$ env | grep mylove                                                                                        #显示环境变量值
此时,该命令执行以后,将输出查询到得环境变量值,如图5.4所示。

图5.4  输出显示查询到得环境变量值
【相关指令】unset,env
Reply View the author
lili123
deepin
2012-06-07 21:40
#10
5.8  unset指令:删除指定的shell变量或函数
【语    法】unset [-fv][变量或函数名称]
【功能介绍】该指令作用主要是删除指定的shell变量和函数。

【经验技巧】
        该指令不能够删除具有只读属性的shell变量和环境变量。
【示例5-8】使用指令“unset”将前面所创建的环境变量“mylove”及其对应的值进行删除,则输入下面的命令:
$ unset –v mylove                                                                #删除指定的环境变量
执行以上命令后,系统将删除指定的环境变量。用户可以使用指令“env”和“grep”对其进行查询,如图5.5所示。

图5.5  查询已经删除的环境变量
注意:如图5.5所示,已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息。
【相关指令】set
Reply View the author
lili123
deepin
2012-06-07 21:43
#11
5.9  env指令:在定义环境中执行指令
【语    法】env[-i][-u<变量名>][变量定义][指令]
【功能介绍】该指令作用主要是显示系统中存在的环境变量,并且可以在定义的环境中执行指定的指令。

【经验技巧】
        该指令只使用“-”作为参数选项时,隐藏了选项“-i”的功能。
        若该指令没有设置任何选项和参数时,则直接显示当前的环境变量。
        如果使用指令“env”在新环境中执行指令时,会因为没有定义环境变量“PATH”而提示错误信息“such file or directory”。此时,用户可以重新定义一个新的“PATH”或者是使用绝对路径即可。
【示例5-9】使用指令“env”在环境中执行指令“ls -l”,则输入下面的命令:
$ env ls -l                                                                                        #执行指定的指令
执行以上命令后,其功能与单独执行命令“ls -l”的功能是相同的,其执行结果,如图5.6所示。

注意:如图5.6所示,命令行窗口显示了当前文件列表。
如果用户需要删除当前环境下的变量“cc”时,可以为该指令设置参数选项“-u”将指定的变量删除,输入下面的命令:
$ env -u cc                                                                                        #删除指定的环境变量
执行上面的命令后,会将当前环境下的变量“cc”删除掉,输出信息如图5.7所示。

【相关指令】set,declare
Reply View the author
lili123
deepin
2012-06-07 21:45
#12
5.10  type指令:判断内部指令和外部指令
【语    法】type[-tpa][指令]
【功能介绍】该指令作用主要是用于判断指定的指令是内部指令还是外部指令。

【经验技巧】
        该指令常用于查看命令别名。
【示例5-10】使用指令“type”判断指令“cd”的类型,则输入下面的命令:
$ type cd                                                                                #判断指令类型
执行上面的指令以后,将输出指定指令的类型信息,如下所示:
cd 是 shell 内嵌                                                                #cd指令类型为内部指令
【相关指令】alias
5.11  wait指令:等待进程执行完后返回
【语    法】wait[进程或者作业]
【功能介绍】该指令作用主要是用于等待指定的指令执行完毕后返回。

【经验技巧】
        该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。
        该指令等待作业时,在作业标识号前必须添加备份号“%”。
【示例5-11】使用指令“wait”等待作业号为1的作业完成后再返回,则输入下面的命令:
$ wait %1                                                                                                #等待作业号为3的作业完成
执行上面的指令以后,将输出指定作业号的指令,如下所示:
find / -name password
【相关指令】fg
Reply View the author
lili123
deepin
2012-06-07 21:49
#13
5.12  history指令:显示历史命令
【语    法】history[-carw][n]
【功能介绍】该指令作用主要是用于显示使用过的历史命令。

【经验技巧】
        该指令单独使用时,仅显示历史命令,在命令行中,可以使用符号“!”执行指定序号的历史命令。例如,要执行第2个历史命令,则输入“!2”。
        历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。
        在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量“HISTSIZE”进行控制。
【示例5-12】使用指令“history”显示最近使用的5条历史命令,则输入下面的命令:
$ history 5                                                                                                #显示5条历史命令
执行上面的指令以后,将输出5条历史命令,如图5.8所示。

图5.8  显示5条历史命令
如图5.8所示,执行指令“history”以后,打印出了最近所使用的5条历史命令。其中,第一列表示历史指令的序号。若需要重新执行这些历史命令,可以使用“!+序号”来执行指定的历史命令。
【相关指令】env
Reply View the author
lili123
deepin
2012-06-07 21:51
#14
5.13  read指令:从键盘读取变量值
【语    法】read[-p<提示符>][-t<等待秒数>][变量]
【功能介绍】该指令作用主要是用于显示使用过的历史命令。


【经验技巧】
        该指令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。
【示例5-13】使用指令“read”从键盘读取变量值,并且将值赋给指定的变量,则输入下面的命令:
$ read v1 v3                                                                                                #去读变量值
执行上面的指令以后,要求键入两个数据,如下所示:
Linux c+                                                                                                        #输入数据
完成之后,可以使用指令“echo”将指定的变量值输出查看,则输入下面的命令:
$ echo $v1 $v3                                                                                                #输出变量的值
执行输出变量值的命令以后,将显示用户所输入的数据值,如下所示:
Linux c+                                                                                                        #输出变量值
注意:使用指令“echo”输出变量值时,必须在变量名前添加符号“$”。否则,“echo”将直接输出变量名。
【相关指令】tee
5.14  exec指令:调用并执行指令
【语    法】exec[-c][指令]
【功能介绍】该指令作用主要是调用并执行指定的指令。

【经验技巧】
        该指令通常用在shell脚本程序中,可以调用其他的指令。
        如果在当前终端中使用该指令,则当指定的指令执行完毕之后会立即退出终端。
【示例5-14】首先使用指令“echo”将信息“Linux C++”进行输出,则输入下面的命令:
$ echo Linux C++                                                                                                #输出指定信息
执行上面的指令以后,输出信息如下所示:
Linux C++                                                                                                                #输出信息
然后,再使用指令“exec”调用指令“echo”输出同样的信息,并且对输出的信息进行对比,输入指令如下所示:
$ exec –c echo Linux C++                                                                                #调用指令
执行以上命令后,其输出信息如下所示:
Linux C++                                                                                                        #使用指定指令输出信息
通过比较两者执行后的结果来看,所实现的功能是相同的。即使用指令“exec”调用指令“echo”成功。
【相关指令】builtin
Reply View the author
lili123
deepin
2012-06-07 21:54
#15
5.15  umask指令:设置权限掩码
【语    法】umask[-PS][权限掩码]
【功能介绍】该指令作用主要是设置权限掩码。
注意:权限掩码的作用是屏蔽掉新建文件的权限。例如,文件权限掩码是“022”,而新建目录的权限掩码是“777-022=755”,新建普通文件的权限掩码为“666-022=644”。权限掩码必须通过手工方式来设置普通文件的权限掩码。

【经验技巧】
        该指令支持两种权限掩码,一种是八进制表示方法;另外一种是符号表示方法。
        该指令所使用的权限信息可以参考指令“chmod”。
        该指令若不带任何参数选项,则表示将输出显示当前系统所设置的权限掩码。
【示例5-15】使用指令“umask”显示当前系统下所设置的权限掩码,则输入下面的命令:
$ umask                                                                                                        #输出当前权限掩码
执行上面的指令以后,输出信息如下所示:
0022                                                                                                                #输出获取到的权限掩码
接下来,使用指令“mkdir”创建一个目录,并使用指令“ls”获取该目录的详细信息,输入信息如下所示:
$ mkdir test1                                                                                        #创建目录
$ ls –d –l test1/                                                                                        #显示目录的详细信息
执行上面的命令以后,将显示新创建目录的详细信息,如下所示:
drwxr-xr-x 2 rootlocal rootlocal 4096 2011-9-19 21:46 test1/
注意:在上面的输出信息中,“rwxr-xr-x”=“777-022=755”。
【相关指令】ls
5.16  shopt指令:显示和设置shell操作选项
【语    法】shopt[-su][shell选项]
【功能介绍】该指令作用主要是用于显示和设置shell中的操作选项,而这些选项可以增强shell的使用性。

【经验技巧】
        该指令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。
【示例5-16】使用指令“shopt”显示当前所有可以设置的shell操作选项,则输入下面的命令:
$ shopt                                                                                #输出所有可以设置的shell操作选项
上面的命令执行以后,将输出当前系统下所有可以设置的shell操作选项,如图5.9所示。

图5.9  显示所有可以设置的shell操作选项
如图5.9所示,选项“cdspell”的状态为“off”,即关闭cd拼写检查选项。现在,可以使用指令“shopt”将其开启,输入命令如下所示:
$ shopt -s cdspell                                                                                        #开启cd拼写检查
执行以后,该选项的状态应该为“on”,即开启状态。可以再次通过该指令显示一下shell操作选项即可,输出信息如下所示:
cdspell on                                                                                                        #开启cdspell选项
注意:用户可以通过实际执行指令“cd”检查该选项是否被成功开启。
【相关指令】set
Reply View the author
lili123
deepin
2012-06-07 21:56
#16
5.17  help指令:显示帮助信息
【语    法】help[-s][内部命令]
【功能介绍】该指令的主要作用是获取并显示指定的命令帮助信息。

【经验技巧】
        该指令只能够显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能够使用man或者info指令查看。
【示例5-17】使用指令“help”显示shell内部指令“shopt”的帮助信息,则输入下面的命令:
$ help shopt                                                                        #获取指令shopt的帮助信息
上面的命令执行以后,将输出指定指令的帮助信息,包括该指令的格式等,如图5.10所示。

注意:如图5.10所示,命令执行以后,输出了该指令的详细帮助信息,包括命令格式及其参数选项等。
【相关指令】指令 [--help]
Reply View the author
lili123
deepin
2012-06-07 22:00
#17
5.18  builtin指令:执行shell内部命令
【语    法】builtin [shell内部命令]
【功能介绍】该指令的主要作用是执行指定的shell内部指令,并且可以返回内部指令执行的返回值。

【经验技巧】
        该指令在使用时,将不能够再使用Linux中的外部指令。
        当系统中定义了与shell内部命令相同的函数时,使用该指令显式地执行shell内部指令,从而忽略定义的shell函数。
【示例5-18】使用指令“builtin”执行shell内部指令“alias”显示命令别名,则输入下面的命令:
$ builtin alias                                                                                                #执行shell内部指令
上面的命令执行以后,将输出当前系统下的命令别名,如图5.11所示。

图5.11  显示当前系统下的命令别名
【相关指令】exec,command
Reply View the author
lili123
deepin
2012-06-07 22:04
#18
5.19  command指令:调用并执行指定的指令
【语    法】command [需要执行的指令]
【功能介绍】该指令的主要作用是调用并执行指定的指令,并且指令在执行时,不会去理会自定义的shell函数。

【经验技巧】
        该指令只能够执行shell内部的指令。
【示例5-19】使用指令“command”调用执行命令“echo Linux”,则输入下面的命令:
$ command echo Linux                                                                                #调用执行shell内部指令
上面的命令执行以后,将调用执行指令“echo Linux”,其执行结果如下所示:
Linux
【相关指令】exec,builtin
5.20  declare指令:声明shell变量
【语    法】declare [-afirx][shell变量]
【功能介绍】该指令的主要作用是声明和显示已经存在的shell变量。

【经验技巧】
        该指令若不带任何参数选项,则会显示所有shell变量及其值。
        该指令的功能与指令“typeset”的功能是相同的。
【示例5-20】首先使用该指令定义shell变量“test”,并且将其值设置为“Linux os”,则输入下面的命令:
$ declare test=’Linux os’                                                                                #定义并初始化shell变量
上面的命令执行以后,再使用指令“echo”将该shell变量值输出,输入命令如下所示:
$ echo $test                                                                                                #输出shell变量的值
上面的指令执行以后,其输出结果如下所示:
Linux os
【相关指令】set
Reply View the author
lili123
deepin
2012-06-07 22:08
#19
5.21  pushd指令:向目录堆栈中压入目录
【语    法】pushd [目录]
【功能介绍】该指令的主要作用是向目录堆栈中压入新的目录。

【经验技巧】
        每次执行该指令对新目录进行压缩时,都将自动切换到新压入的目录。
【示例5-21】使用指令“pushd”将目录“/home/”压入目录堆栈,则输入下面的命令:
$ pushd /home/                                                                                #将目录压入目录堆栈中
上面的命令执行成功以后,其输出结果如图5.12所示。


图5.12  向目录堆栈中压入新目录
注意:如图5.12所示,当压入新目录成功后,命令行将以新压入的目录作为默认目录,即将当前目录切换到新压入的目录。
【相关指令】popd
Reply View the author
lili123
deepin
2012-06-07 22:11
#20
5.22  popd指令:从目录堆栈中弹出目录
【语    法】popd
【功能介绍】该指令的主要用于从目录堆栈中弹出目录。
【参数说明】该指令没有任何参数选项,直接使用即可。
【经验技巧】
        该指令每次执行时,都是从堆栈顶部的元素进行删除的,并且将工作目录切换到当前栈顶所指向的目录。
【示例5-22】首先使用指令“dirs”显示目录堆栈中的所有目录,则输入下面的命令:
$ dirs                                                                                        #显示目录堆栈中的所有目录
命令执行以后,显示结果如下所示:
/home /home ~
然后,使用指令“popd”删除栈顶目录“/home”,则输入下面的命令:
$ popd                                                                                        #删除栈顶目录
执行成功以后,显示结果如下所示:
/home ~
【相关指令】pushd
5.23  readonly指令:定义只读shell变量或函数
【语    法】readonly[-fap][变量定义]
【功能介绍】该指令的主要用于定义只读的shell变量或者函数。


【经验技巧】
        该指令的参数选项“-p”可以输出显示系统中所有定义的只读变量。
【示例5-23】使用指令“readonly”显示系统中所有的已经定义的只读变量,则输入下面的命令:
$ readonly                                                                                        #显示只读变量
命令执行以后,显示结果如图5.13所示。


图5.13  显示系统中所有定义的只读变量
对于只读变量而言,若用户对其值进行修改,则会立即报错。例如,使用该指令定义一个只读变量“test”,并且将其值初始化为“ok”,则输入命令如下所示:
$ readonly test=’ok’                                                                        #定义只读变量并初始化
那么当用户直接修改该只读变量时,就会被报错,如下所示:
$ test=’my’                                                                                        #试图修改只读变量的值
命令执行以后,显示结果如图5.14所示。


图5.14  显示错误信息
注意:如图5.14所示,当用户试图修改只读变量的值时,会被提示该变量为只读变量。
【相关指令】declare
Reply View the author
1 / 2
To page