├── .gitattributes ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── build ├── compile.js ├── crawler.js ├── deploy.js ├── icon.icns └── icon.ico ├── command ├── ab.md ├── accept.md ├── ack.md ├── alias.md ├── apachectl.md ├── apk.md ├── apropos.md ├── apt-get.md ├── apt-key.md ├── apt-sortpkgs.md ├── aptitude.md ├── ar.md ├── arch.md ├── arj.md ├── arp.md ├── arpd.md ├── arping.md ├── arptables.md ├── arpwatch.md ├── as.md ├── at.md ├── atop.md ├── atq.md ├── atrm.md ├── awk.md ├── axel.md ├── badblocks.md ├── basename.md ├── batch.md ├── bc.md ├── bg.md ├── bind.md ├── blkid.md ├── blockdev.md ├── bmodinfo.md ├── builtin.md ├── bunzip2.md ├── bye.md ├── bzcat.md ├── bzcmp.md ├── bzdiff.md ├── bzgrep.md ├── bzip2.md ├── bzip2recover.md ├── bzless.md ├── bzmore.md ├── cal.md ├── cancel.md ├── cat.md ├── cd.md ├── cdrecord.md ├── chage.md ├── chattr.md ├── chcon.md ├── chfn.md ├── chgrp.md ├── chkconfig.md ├── chmod.md ├── chown.md ├── chpasswd.md ├── chroot.md ├── chsh.md ├── cksum.md ├── clear.md ├── clock.md ├── clockdiff.md ├── cmp.md ├── col.md ├── colrm.md ├── comm.md ├── command.md ├── compress.md ├── consoletype.md ├── convertquota.md ├── cp.md ├── cpio.md ├── crontab.md ├── csplit.md ├── cu.md ├── cupsdisable.md ├── cupsenable.md ├── curl.md ├── cut.md ├── date.md ├── dd.md ├── declare.md ├── depmod.md ├── df.md ├── dhclient.md ├── dhcpd.md ├── dhcrelay.md ├── diff.md ├── diff3.md ├── diffstat.md ├── dig.md ├── dircolors.md ├── dirname.md ├── dirs.md ├── dmesg.md ├── dmidecode.md ├── dnf.md ├── dnsdomainname.md ├── domainname.md ├── dos2unix.md ├── dpkg-deb.md ├── dpkg-divert.md ├── dpkg-preconfigure.md ├── dpkg-query.md ├── dpkg-reconfigure.md ├── dpkg-split.md ├── dpkg-statoverride.md ├── dpkg-trigger.md ├── dpkg.md ├── dris.md ├── dstat.md ├── du.md ├── dump.md ├── e2fsck.md ├── e2label.md ├── echo.md ├── ed.md ├── edquota.md ├── egrep.md ├── eject.md ├── elinks.md ├── elm.md ├── emacs.md ├── enable.md ├── env.md ├── ethtool.md ├── ex.md ├── exec.md ├── exit.md ├── expand.md ├── export.md ├── exportfs.md ├── expr.md ├── fc.md ├── fdisk.md ├── fg.md ├── fgrep.md ├── file.md ├── find.md ├── findfs.md ├── finger.md ├── firewall-cmd.md ├── fishshell.md ├── fmt.md ├── fold.md ├── free.md ├── fsck.md ├── ftp.md ├── ftpcount.md ├── ftpshut.md ├── ftptop.md ├── ftpwho.md ├── fuser.md ├── gcc.md ├── gcov.md ├── gdb.md ├── get_module.md ├── getenforce.md ├── getsebool.md ├── git.md ├── gpasswd.md ├── gpm.md ├── grep.md ├── groupadd.md ├── groupdel.md ├── groupmod.md ├── groups.md ├── grpck.md ├── grpconv.md ├── grpunconv.md ├── grub.md ├── gunzip.md ├── gzexe.md ├── gzip.md ├── halt.md ├── hdparm.md ├── head.md ├── help.md ├── hexdump.md ├── history.md ├── host.md ├── hostid.md ├── hostname.md ├── hping3.md ├── htdigest.md ├── htop.md ├── htpasswd.md ├── hwclock.md ├── iconv.md ├── id.md ├── ifcfg.md ├── ifconfig.md ├── ifdown.md ├── ifstat.md ├── iftop.md ├── ifup.md ├── indent.md ├── info.md ├── init.md ├── inotifywait.md ├── insmod.md ├── install.md ├── iostat.md ├── iotop.md ├── ip.md ├── ip6tables-restore.md ├── ip6tables-save.md ├── ip6tables.md ├── ipcalc.md ├── ipcrm.md ├── ipcs.md ├── iperf.md ├── iptables-restore.md ├── iptables-save.md ├── iptables.md ├── iptraf.md ├── iptstate.md ├── ispell.md ├── jed.md ├── jobs.md ├── joe.md ├── join.md ├── jwhois.md ├── kernelversion.md ├── kexec.md ├── kill.md ├── killall.md ├── last.md ├── lastb.md ├── lastlog.md ├── ld.md ├── ldconfig.md ├── ldd.md ├── less.md ├── let.md ├── lftp.md ├── lftpget.md ├── lha.md ├── lilo.md ├── ln.md ├── lnstat.md ├── locate.md ├── logger.md ├── login.md ├── logname.md ├── logout.md ├── logrotate.md ├── logsave.md ├── logwatch.md ├── look.md ├── losetup.md ├── lp.md ├── lpadmin.md ├── lpc.md ├── lpq.md ├── lpr.md ├── lprm.md ├── lpstat.md ├── ls.md ├── lsattr.md ├── lsb_release.md ├── lsblk.md ├── lscpu.md ├── lsmod.md ├── lsof.md ├── lspci.md ├── lsusb.md ├── ltrace.md ├── lvcreate.md ├── lvdisplay.md ├── lvextend.md ├── lvreduce.md ├── lvremove.md ├── lvresize.md ├── lvscan.md ├── lynx.md ├── mail.md ├── mailq.md ├── mailstat.md ├── make.md ├── man.md ├── md5sum.md ├── mesg.md ├── mii-tool.md ├── mkbootdisk.md ├── mkdir.md ├── mke2fs.md ├── mkfs.md ├── mkinitrd.md ├── mkisofs.md ├── mknod.md ├── mkswap.md ├── mktemp.md ├── modprobe.md ├── more.md ├── mount.md ├── mpstat.md ├── mtools.md ├── mv.md ├── mysql.md ├── mysqladmin.md ├── mysqldump.md ├── mysqlimport.md ├── mysqlshow.md ├── named-checkzone.md ├── nano.md ├── nc.md ├── ncftp.md ├── nethogs.md ├── netstat.md ├── newusers.md ├── nfsstat.md ├── ngrep.md ├── nice.md ├── nisdomainname.md ├── nl.md ├── nm.md ├── nmap.md ├── nmcli.md ├── nohup.md ├── nologin.md ├── nslookup.md ├── ntpdate.md ├── ntsysv.md ├── objdump.md ├── od.md ├── openssl.md ├── parted.md ├── partprobe.md ├── passwd.md ├── paste.md ├── patch.md ├── pathchk.md ├── perl.md ├── pfctl.md ├── pgrep.md ├── php.md ├── pico.md ├── pidof.md ├── pigz.md ├── ping.md ├── pkill.md ├── pmap.md ├── popd.md ├── poweroff.md ├── ppp-off.md ├── pr.md ├── printf.md ├── protoize.md ├── ps.md ├── pssh.md ├── pstack.md ├── pstree.md ├── pushd.md ├── pv.md ├── pvchange.md ├── pvck.md ├── pvcreate.md ├── pvdisplay.md ├── pvremove.md ├── pvs.md ├── pvscan.md ├── pwck.md ├── pwconv.md ├── pwd.md ├── pwunconv.md ├── quota.md ├── quotacheck.md ├── quotaoff.md ├── quotaon.md ├── rcconf.md ├── rcp.md ├── read.md ├── readelf.md ├── readonly.md ├── reboot.md ├── reject.md ├── rename.md ├── renice.md ├── repquota.md ├── resize.md ├── restore.md ├── restorecon.md ├── rev.md ├── rexec.md ├── rlogin.md ├── rm.md ├── rmdir.md ├── rmmod.md ├── route.md ├── rpm.md ├── rpm2cpio.md ├── rpmbuild.md ├── rpmdb.md ├── rpmquery.md ├── rpmsign.md ├── rpmverify.md ├── rsh.md ├── rsync.md ├── runlevel.md ├── sar.md ├── scp.md ├── screen.md ├── sed.md ├── seinfo.md ├── semanage.md ├── sendmail.md ├── seq.md ├── service.md ├── sesearch.md ├── set.md ├── setfacl.md ├── setpci.md ├── setsebool.md ├── setsid.md ├── sftp-server.md ├── sftp.md ├── sh.md ├── shopt.md ├── showmount.md ├── shutdown.md ├── skill.md ├── slabtop.md ├── sleep.md ├── slocate.md ├── smbclient.md ├── smbpasswd.md ├── sort.md ├── source.md ├── speedtest-cli.md ├── spell.md ├── split.md ├── squid.md ├── squidclient.md ├── ss.md ├── ssh-add.md ├── ssh-agent.md ├── ssh-copy-id.md ├── ssh-keygen.md ├── ssh-keyscan.md ├── ssh.md ├── sshd.md ├── startx.md ├── stat.md ├── strace.md ├── strings.md ├── stty.md ├── su.md ├── sudo.md ├── sum.md ├── supervisord.md ├── swapoff.md ├── swapon.md ├── sync.md ├── sysctl.md ├── syslog.md ├── systemctl.md ├── systool.md ├── tac.md ├── tail.md ├── tailf.md ├── talk.md ├── tar.md ├── tcpdump.md ├── tcpreplay.md ├── tee.md ├── telint.md ├── telnet.md ├── tempfile.md ├── test.md ├── tftp.md ├── time.md ├── tload.md ├── tmux.md ├── top.md ├── touch.md ├── tput.md ├── tr.md ├── tracepath.md ├── traceroute.md ├── trap.md ├── tree.md ├── tty.md ├── type.md ├── ulimit.md ├── umask.md ├── umount.md ├── unalias.md ├── uname.md ├── unarj.md ├── uncompress.md ├── unexpand.md ├── uniq.md ├── unlink.md ├── unprotoize.md ├── unset.md ├── unzip.md ├── updatedb.md ├── uptime.md ├── useradd.md ├── userdel.md ├── usermod.md ├── usernetctl.md ├── users.md ├── uucico.md ├── uupick.md ├── vdfuse.md ├── vgchange.md ├── vgconvert.md ├── vgcreate.md ├── vgdisplay.md ├── vgextend.md ├── vgreduce.md ├── vgremove.md ├── vgrename.md ├── vgscan.md ├── vi.md ├── vmstat.md ├── volname.md ├── w.md ├── wait.md ├── wall.md ├── watch.md ├── wc.md ├── wget.md ├── whatis.md ├── whereis.md ├── which.md ├── who.md ├── whoami.md ├── write.md ├── xargs.md ├── xauth.md ├── xclip.md ├── xhost.md ├── xinit.md ├── xlsatoms.md ├── xlsclients.md ├── xlsfonts.md ├── xset.md ├── xz.md ├── yes.md ├── ypdomainname.md ├── yum.md ├── zcat.md ├── zfore.md ├── zip.md ├── zipinfo.md ├── zipsplit.md └── znew.md ├── electron-builder.yml ├── logo.png ├── mac-screenshot.png ├── main.js ├── menu.js ├── package.json ├── template ├── details.ejs ├── footer.ejs ├── header.ejs ├── hot.ejs ├── img │ ├── favicon.ico │ └── logo.svg ├── index.ejs ├── js │ └── index.js ├── list.ejs ├── search.ejs └── styl │ ├── index.styl │ └── mixins │ ├── highlight.styl │ ├── markdown.styl │ └── reset.styl └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=html -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .deploy 3 | npm-debug.log 4 | .DS_Store 5 | .idea 6 | dist/ 7 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | node_modules/ 3 | .deploy 4 | template/ 5 | .DS_Store 6 | qr.png 7 | .gitattributes 8 | Linux.gif 9 | alfred.png 10 | command 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Linux Command 桌面版 ![](https://img.shields.io/npm/l/whistle.svg?style=flat-square) 3 | 4 | === 5 | 6 | ![软件截图](./mac-screenshot.png) 7 | 8 |
9 | 10 | ## 快速上手 11 | 12 | ### 依赖安装 13 | ```shell 14 | yarn 15 | ``` 16 | 17 | ### 构建静态页面 18 | ```shell 19 | yarn build 20 | ``` 21 | 22 | ### 启动 23 | ```shell 24 | yarn start 25 | ``` 26 | ### 打包 27 | ``` 28 | yarn pack 29 | ``` 30 | 31 | ## 说明 32 | 基于 [jaywcjlove/linux-command](https://github.com/jaywcjlove/linux-command) web 版本制作的桌面版应用。 33 | 34 | 感谢 [jaywcjlove](https://github.com/jaywcjlove) 35 | 36 | 欢迎 PR 37 | 38 |
39 | 40 | ## 许可证 41 | 42 | The MIT License (MIT) 43 | -------------------------------------------------------------------------------- /build/deploy.js: -------------------------------------------------------------------------------- 1 | var exec = require('child_process').exec; 2 | var ghpages = require('gh-pages'); 3 | var loading = require('loading-cli'); 4 | var path = require('path'); 5 | var fs = require('fs'); 6 | var color = require('colors-cli/safe'); 7 | var error = color.red.bold; 8 | var warn = color.yellow; 9 | var notice = color.blue; 10 | var success = color.green; 11 | 12 | var deploy_path = path.join(process.cwd(), '.deploy'); 13 | 14 | if(fs.existsSync(deploy_path)){ 15 | var load = loading(' Pushing code!!') 16 | load.start(); 17 | ghpages.publish(deploy_path,{ 18 | repo: 'https://github.com/jaywcjlove/linux-command.git', 19 | branch: 'gh-pages', 20 | message: 'Linux command index, Compiler generation page ' + new Date() 21 | }, function(err) { 22 | if(err) return console.log(error(' → '+"ok!"+err)); 23 | load.stop() 24 | console.log(success('\n\n '+"Push success!!")); 25 | // 删除文件夹 26 | exec('rm -rf .deploy'); 27 | }); 28 | } 29 | -------------------------------------------------------------------------------- /build/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haloislet/linux-command/04a329e6831e9890c7715a7b66f5d718564a80a0/build/icon.icns -------------------------------------------------------------------------------- /build/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haloislet/linux-command/04a329e6831e9890c7715a7b66f5d718564a80a0/build/icon.ico -------------------------------------------------------------------------------- /command/ab.md: -------------------------------------------------------------------------------- 1 | ab 2 | === 3 | 4 | Apache服务器的性能测试工具 5 | 6 | ## 补充说明 7 | 8 | **ab命令** 是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ab(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -A:指定连接服务器的基本的认证凭据; 20 | -c:指定一次向服务器发出请求数; 21 | -C:添加cookie; 22 | -g:将测试结果输出为“gnuolot”文件; 23 | -h:显示帮助信息; 24 | -H:为请求追加一个额外的头; 25 | -i:使用“head”请求方式; 26 | -k:激活HTTP中的“keepAlive”特性; 27 | -n:指定测试会话使用的请求数; 28 | -p:指定包含数据的文件; 29 | -q:不显示进度百分比; 30 | -T:使用POST数据时,设置内容类型头; 31 | -v:设置详细模式等级; 32 | -w:以HTML表格方式打印结果; 33 | -x:以表格方式输出时,设置表格的属性; 34 | -X:使用指定的代理服务器发送请求; 35 | -y:以表格方式输出时,设置表格属性。 36 | ``` 37 | 38 | ### 参数 39 | 40 | 主机:被测试主机。 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/accept.md: -------------------------------------------------------------------------------- 1 | accept 2 | === 3 | 4 | 指示打印系统接受发往指定目标打印机的打印任务 5 | 6 | ## 补充说明 7 | 8 | **accept命令** 属于CUPS套件,用于指示打印系统接受发往指定目标打印机的打印任务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | accept(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:当连接到服务器时强制加密; 20 | -U:指定连接服务器时使用的用户名; 21 | -h:指定连接服务器名和端口号。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 目标:指定目标打印机。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/apachectl.md: -------------------------------------------------------------------------------- 1 | apachectl 2 | === 3 | 4 | Apache服务器前端控制工具 5 | 6 | ## 补充说明 7 | 8 | **apachectl命令** 是Apache的Web服务器前端控制工具,用以启动、关闭和重新启动Web服务器进程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | apachectl(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * configtest:检查设置文件中的语法是否正确; 19 | * fullstatus:显示服务器完整的状态信息; 20 | * graceful:重新启动Apache服务器,但不会中断原有的连接; 21 | * help:显示帮助信息; 22 | * restart:重新启动Apache服务器; 23 | * start:启动Apache服务器; 24 | * status:显示服务器摘要的状态信息; 25 | * stop:停止Apache服务器。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/apt-key.md: -------------------------------------------------------------------------------- 1 | apt-key 2 | === 3 | 4 | 管理Debian Linux系统中的软件包密钥 5 | 6 | ## 补充说明 7 | 8 | **apt-key命令** 用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。 9 | 10 | ### 语法 11 | 12 | ``` 13 | apt-key(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 操作指令:APT密钥操作指令。 19 | 20 | ### 实例 21 | 22 | ``` 23 | apt-key list #列出已保存在系统中key。 24 | apt-key add keyname #把下载的key添加到本地trusted数据库中。 25 | apt-key del keyname #从本地trusted数据库删除key。 26 | apt-key update #更新本地trusted数据库,删除过期没用的key。 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/apt-sortpkgs.md: -------------------------------------------------------------------------------- 1 | apt-sortpkgs 2 | === 3 | 4 | Debian Linux下对软件包索引文件进行排序的工具 5 | 6 | ## 补充说明 7 | 8 | **apt-sortpkgs命令** 是Debian Linux下对软件包索引文件进行排序的简单工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | apt-sortpkgs(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s:使用源索引字段排序; 20 | -h:显示帮助信息。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:指定要排序的包含debian包信息的索引文件。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/arch.md: -------------------------------------------------------------------------------- 1 | arch 2 | === 3 | 4 | 显示当前主机的硬件架构类型 5 | 6 | ## 补充说明 7 | 8 | **arch命令** 用于显示当前主机的硬件架构类型。arch命令等同于`命令name -m`在当前的Linux系统下,arch命令输出结果有:i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等 9 | 10 | ### 语法 11 | 12 | ``` 13 | arch 14 | ``` 15 | 16 | ### 实例 17 | 18 | ``` 19 | arch 20 | x86_64 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/arj.md: -------------------------------------------------------------------------------- 1 | arj 2 | === 3 | 4 | 用于创建和管理.arj压缩包 5 | 6 | ## 补充说明 7 | 8 | **arj命令** 是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | arj(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 操作指令:对“.arj”压缩包执行的操作指令; 19 | * 压缩包名称:指定要操作的arj压缩包名称。 20 | 21 | 22 | -------------------------------------------------------------------------------- /command/arp.md: -------------------------------------------------------------------------------- 1 | arp 2 | === 3 | 4 | 显示和修改IP到MAC转换表 5 | 6 | ## 补充说明 7 | 8 | **arp命令** 用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系。 9 | 10 | ### 语法 11 | 12 | ``` 13 | arp(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a<主机>:显示arp缓冲区的所有条目; 20 | -H<地址类型>:指定arp指令使用的地址类型; 21 | -d<主机>:从arp缓冲区中删除指定主机的arp条目; 22 | -D:使用指定接口的硬件地址; 23 | -e:以Linux的显示风格显示arp缓冲区中的条目; 24 | -i<接口>:指定要操作arp缓冲区的网络接口; 25 | -s<主机>:设置指定的主机的IP地址与MAC地址的静态映射; 26 | -n:以数字方式显示arp缓冲区中的条目; 27 | -v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息; 28 | -f<文件>:设置主机的IP地址与MAC地址的静态映射。 29 | ``` 30 | 31 | ### 参数 32 | 33 | 主机:查询arp缓冲区中指定主机的arp条目。 34 | 35 | ### 实例 36 | 37 | ``` 38 | [root@localhost ~]# arp -v 39 | Address HWtype HWaddress Flags Mask Iface 40 | 192.168.0.134 ether 00:21:5E:C7:4D:88 C eth1 41 | 115.238.144.129 ether 38:22:D6:2F:B2:F1 C eth0 42 | Entries: 2 Skipped: 0 Found: 2 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/arpd.md: -------------------------------------------------------------------------------- 1 | arpd 2 | === 3 | 4 | 收集免费ARP信息 5 | 6 | ## 补充说明 7 | 8 | **arpd命令** 是用来收集免费arp信息的一个守护进程,它将收集到的信息保存在磁盘上或者在需要时,提供给内核用户用于避免多余广播。 9 | 10 | ### 语法 11 | 12 | ``` 13 | arpd(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -l:将arp数据库输出到标准输出设备显示并退出; 20 | -f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似; 21 | -b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db”; 22 | -a:指定目标被认为死掉前查询的次数; 23 | -k:禁止通过内核发送广播查询; 24 | -n:设定缓冲失效时间。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 网络接口:指定网络接口。 30 | 31 | ### 实例 32 | 33 | 启动arpd进程: 34 | 35 | ``` 36 | arpd -b /var/tmp/arpd.db 37 | ``` 38 | 39 | 运行一段时间后,查看结果: 40 | 41 | ``` 42 | arpd -l -b /var/tmp/arpd.db 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/arptables.md: -------------------------------------------------------------------------------- 1 | arptables 2 | === 3 | 4 | 管理ARP包过滤规则表 5 | 6 | ## 补充说明 7 | 8 | **arptables命令** 用来设置、维护和检查Linux内核中的arp包过滤规则表。 9 | 10 | ### 语法 11 | 12 | ``` 13 | arptables(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -A:向规则链中追加规则; 20 | -D:从指定的链中删除规则; 21 | -l:向规则链中插入一条新的规则; 22 | -R:替换指定规则; 23 | -P:设置规则链的默认策略; 24 | -F:刷新指定规则链,将其中的所有规则链删除,但是不改变规则链的默认策略; 25 | -Z:将规则链计数器清零; 26 | -L:显示规则链中的规则列表; 27 | -X:删除指定的空用户自定义规则链; 28 | -h:显示指令帮助信息; 29 | -j:指定满足规则的添加时的目标; 30 | -s:指定要匹配ARP包的源ip地址; 31 | -d:指定要匹配ARP包的目的IP地址。 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/arpwatch.md: -------------------------------------------------------------------------------- 1 | arpwatch 2 | === 3 | 4 | 监听网络上ARP的记录 5 | 6 | ## 补充说明 7 | 8 | **arpwatch命令** 用来监听网络上arp的记录。 9 | 10 | ### 语法 11 | 12 | ``` 13 | arpwatch(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:启动排错模式; 20 | -f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat; 21 | -i<接口>:指定监听ARP的接口,预设的接口为eth0; 22 | -r<记录文件>:从指定的文件中读取ARP记录,而不是从网络上监听。 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /command/as.md: -------------------------------------------------------------------------------- 1 | as 2 | === 3 | 4 | 汇编语言编译器 5 | 6 | ## 补充说明 7 | 8 | **as命令** GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器。 9 | 10 | ### 语法 11 | 12 | ``` 13 | as(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -ac:忽略失败条件; 20 | -ad:忽略调试指令; 21 | -ah:包括高级源; 22 | -al:包括装配; 23 | -am:包括宏扩展; 24 | -an:忽略形式处理; 25 | -as:包括符号; 26 | =file:设置列出文件的名字; 27 | --alternate:以交互宏模式开始; 28 | -f:跳过空白和注释预处理; 29 | -g:产生调试信息; 30 | -J:对于有符号溢出不显示警告信息; 31 | -L:在符号表中保留本地符号; 32 | -o:指定要生成的目标文件; 33 | --statistics:打印汇编所用的最大空间和总时间。 34 | ``` 35 | 36 | ### 参数 37 | 38 | 汇编文件:指定要汇编的源文件。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/atq.md: -------------------------------------------------------------------------------- 1 | atq 2 | === 3 | 4 | 列出当前用户的at任务列表 5 | 6 | ## 补充说明 7 | 8 | **atq命令** 显示系统中待执行的任务列表,也就是列出当前用户的at任务列表。 9 | 10 | ### 语法 11 | 12 | ``` 13 | atq(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -V:显示版本号; 20 | -q:查询指定队列的任务。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | at now + 10 minutes 27 | at> echo 1111 28 | at> 29 | job 3 at Fri Apr 26 12:56:00 2013 30 | 31 | atq 32 | 3 Fri Apr 26 12:56:00 2013 a root 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/atrm.md: -------------------------------------------------------------------------------- 1 | atrm 2 | === 3 | 4 | 删除待执行任务队列中的指定任务 5 | 6 | ## 补充说明 7 | 8 | **atrm命令** 用于删除待执行任务队列中的指定任务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | atrm(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -V:显示版本号。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 任务号:指定待执行队列中要删除的任务。 25 | 26 | ### 实例 27 | 28 | 删除已经排队的任务 29 | 30 | ``` 31 | atq //显示当前已经设置的任务 32 | 2 Mon May 17 08:00:00 2010 a root 33 | 1 Sat May 15 17:00:00 2010 a root 34 | 35 | atrm 2 //删除任务2 36 | ``` 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/basename.md: -------------------------------------------------------------------------------- 1 | basename 2 | === 3 | 4 | 打印目录或者文件的基本名称 5 | 6 | ## 补充说明 7 | 8 | **basename命令** 用于打印目录或者文件的基本名称。basename和dirname命令通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | basename(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示帮助; 20 | --version:显示版本号。 21 | ``` 22 | 23 | ### 参数 24 | 25 | * 文件:带路径信息的文件; 26 | * 后缀:可选参数,指定要去除的文件后缀字符串。 27 | 28 | ### 实例 29 | 30 | 1、要显示一个shell变量的基本名称,请输入: 31 | 32 | ``` 33 | basename $WORKFILE 34 | ``` 35 | 36 | 此命令显示指定给shell变量WORKFILE的值的基本名称。如果WORKFILE变量的值是`/home/jim/program.c`文件,则此命令显示program.c。 37 | 38 | 要构造一个和另一个文件名称相同(除了后缀)的文件名称,请输入: 39 | 40 | ``` 41 | OFILE=`basename $1 .c`.o 42 | ``` 43 | 44 | 此命令指定给 OFILE 文件第一个位置上的参数($1)的值,但它的 .c 后缀更改至 .o。如果 $1 是 /home/jim/program.c 文件,则 OFILE 成为 program.o。因为 program.o 仅是一个基本文件名称,它标识在当前目录中的文件。 45 | 46 | 47 | -------------------------------------------------------------------------------- /command/batch.md: -------------------------------------------------------------------------------- 1 | batch 2 | === 3 | 4 | 在系统不繁忙的时候执行定时任务 5 | 6 | ## 补充说明 7 | 8 | **batch命令** 用于在指定时间,当系统不繁忙时执行任务,用法与at相似。 9 | 10 | ### 语法 11 | 12 | ``` 13 | batch(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:指定包含具体指令的任务文件; 20 | -q:指定新任务的队列名称; 21 | -m:任务执行完后向用户发送E-mail。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 日期时间:指定任务执行的日期时间。 27 | 28 | ### 实例 29 | 30 | ``` 31 | batch 32 | at> echo 1234 33 | at> 34 | job 5 at Sun Apr 28 08:49:00 2013 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/bg.md: -------------------------------------------------------------------------------- 1 | bg 2 | === 3 | 4 | 用于将作业放到后台运行 5 | 6 | ## 补充说明 7 | 8 | **bg命令** 用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号`&`的效果是相同的,都是将其放到系统后台执行。 9 | 10 | 在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 11 | 12 | ### 语法 13 | 14 | ``` 15 | bg(参数) 16 | ``` 17 | 18 | ### 参数 19 | 20 | 作业标识:指定需要放到后台的作业标识号。 21 | 22 | ### 实例 23 | 24 | 使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令: 25 | 26 | ``` 27 | bg 1 #后台执行任务号为1的任务 28 | ``` 29 | 30 | 如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能。 31 | 32 | 注意:实际上,使用bg命令与在指令后面添加符号"&"的效果是一样的。例如,使用`&`将`find / -name password`放到后台执行,输入如下命令: 33 | 34 | ``` 35 | find / -name password & #后台执行任务 36 | ``` 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/blockdev.md: -------------------------------------------------------------------------------- 1 | blockdev 2 | === 3 | 4 | 从命令行调用区块设备控制程序 5 | 6 | ## 补充说明 7 | 8 | **blockdev命令** 在命令调用“ioxtls”函数,以实现对设备的控制。 9 | 10 | ### 语法 11 | 12 | ``` 13 | blockdev(选项)(参数) 14 | ``` 15 | 16 | 选项 17 | 18 | ``` 19 | -V:打印版本号并退出; 20 | -q:安静模式; 21 | -v:详细信息模式; 22 | --setro:只读; 23 | --setrw:只写; 24 | --getro:打印只读状态,“1”表示只读,“0”表示非只读; 25 | --getss:打印扇区大小。通常为521; 26 | --flushbufs:刷新缓冲区; 27 | --rereadpt:重新读取分区表。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 设备文件名:指定要操作的磁盘的设备文件名。 33 | 34 | ### 实例 35 | 36 | 设置设备为只读: 37 | 38 | ``` 39 | blockdev --setro /dev/hda4 40 | ``` 41 | 42 | 读取设备是否为只读: 43 | 44 | ``` 45 | blockdev --getro /dev/hda4 46 | ``` 47 | 48 | 设置设别为可读写: 49 | 50 | ``` 51 | blockdev --setrw /dev/hda4 52 | ``` 53 | 54 | 55 | -------------------------------------------------------------------------------- /command/bmodinfo.md: -------------------------------------------------------------------------------- 1 | bmodinfo 2 | === 3 | 4 | 显示给定模块的详细信息 5 | 6 | ## 补充说明 7 | 8 | **bmodinfo命令** 用于显示给定模块的详细信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bmodinfo(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:显示模块作者; 20 | -d:显示模块的描述信息; 21 | -l:显示模块的许可信息; 22 | -p:显示模块的参数信息; 23 | -n:显示模块对应的文字信息; 24 | -0:用ASCII码的0字符分割字段值,而不使用新行。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 模块名:要显示详细信息的模块名称。 30 | 31 | ### 实例 32 | 33 | 显示sg模块的信息: 34 | 35 | ``` 36 | [root@localhost ~]# modinfo sg 37 | filename: /lib/modules/2.6.9-42.ELsmp/kernel/drivers/scsi/sg.ko 38 | author: Douglas Gilbert 39 | description: SCSI generic (sg) driver 40 | license: GPL 41 | version: 3.5.31 B0B0CB1BB59F0669A1F0D6B 42 | parm: def_reserved_size:size of buffer reserved for each fd 43 | parm: allow_dio:allow direct I/O (default: 0 (disallow)) 44 | alias: char-major-21-* 45 | vermagic: 2.6.9-42.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4 46 | depends: scsi_mod 47 | ``` 48 | 49 | 50 | -------------------------------------------------------------------------------- /command/builtin.md: -------------------------------------------------------------------------------- 1 | builtin 2 | === 3 | 4 | 执行shell内部命令 5 | 6 | ## 补充说明 7 | 8 | **builtin命令** 用于执行指定的shell内部命令,并返回内部命令的返回值。builtin命令在使用时,将不能够再使用Linux中的外部命令。当系统中定义了与shell内部命令相同的函数时,使用builtin显式地执行shell内部命令,从而忽略定义的shell函数。 9 | 10 | ### 语法 11 | 12 | ``` 13 | builtin(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | shell内部命令:指定需要执行的shell内部命令。 19 | 20 | ### 实例 21 | 22 | 使用builtin命令执行shell内部命alias显示命令别名,输入如下命令: 23 | 24 | ``` 25 | builtin alias #执行shell内部指令 26 | alias cp='cp -i' 27 | alias l.='ls -d .* --color=tty' 28 | alias ll='ls -l --color=tty' 29 | alias ls='ls --color=tty' 30 | alias mv='mv -i' 31 | alias rm='rm -i' 32 | alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 33 | ``` 34 | 35 | 上面的命令执行后,将输出当前系统下的命令别名。 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/bunzip2.md: -------------------------------------------------------------------------------- 1 | bunzip2 2 | === 3 | 4 | 创一个bz2文件压缩包 5 | 6 | ## 补充说明 7 | 8 | **bunzip2命令** 解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令,只能对文件进行压缩。对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2实现。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bunzip2(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件; 20 | -k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数; 21 | -s或——small:降低程序执行时,内存的使用量; 22 | -v或——verbose:解压缩文件时,显示详细的信息; 23 | -l,--license,-V或——version:显示版本信息。 24 | ``` 25 | 26 | ### 参数 27 | 28 | .bz2压缩包:指定需要解压缩的.bz2压缩包。 29 | 30 | ### 实例 31 | 32 | 将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。 33 | 34 | ``` 35 | bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip 36 | ``` 37 | 38 | 压缩完毕后,在`/opt`下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/bye.md: -------------------------------------------------------------------------------- 1 | bye 2 | === 3 | 4 | 命令用于中断FTP连线并结束程序。。 5 | 6 | ## 补充说明 7 | 8 | **bye命令** 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。 9 | 10 | 11 | ### 语法 12 | 13 | ``` 14 | bye 15 | ``` 16 | 17 | ### 实例 18 | 19 | ``` 20 | bye 21 | ``` -------------------------------------------------------------------------------- /command/bzcat.md: -------------------------------------------------------------------------------- 1 | bzcat 2 | === 3 | 4 | 解压缩指定的.bz2文件 5 | 6 | ## 补充说明 7 | 8 | **bzcat命令** 解压缩指定的.bz2文件,并显示解压缩后的文件内容。保留原压缩文件,并且不生成解压缩后的文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzcat(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | .bz2压缩文件:指定要显示内容的.bz2压缩文件。 19 | 20 | ### 实例 21 | 22 | 将`/tmp/man.config`以bzip2格式压缩: 23 | 24 | ``` 25 | bzip2 -z man.config 26 | ``` 27 | 28 | 此时man.config会变成man.config.bz2 29 | 30 | 将上面的压缩文件内容读出来: 31 | 32 | ``` 33 | bzcat man.config.bz2 34 | ``` 35 | 36 | 此时屏幕上会显示 man.config.bz2 解压缩之后的文件内容。 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/bzcmp.md: -------------------------------------------------------------------------------- 1 | bzcmp 2 | === 3 | 4 | 比较两个压缩包中的文件 5 | 6 | ## 补充说明 7 | 8 | **bzcmp命令** 主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后在调用cmp命令的过程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzcmp(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 文件1:指定要比较的第一个.bz2压缩包; 19 | * 文件2:指定要比较的第二个.bz2压缩包。 20 | 21 | 22 | -------------------------------------------------------------------------------- /command/bzdiff.md: -------------------------------------------------------------------------------- 1 | bzdiff 2 | === 3 | 4 | 直接比较两个.bz2压缩包中文件的不同 5 | 6 | ## 补充说明 7 | 8 | **bzdiff命令** 用于直接比较两个“.bz2”压缩包中文件的不同,省去了解压缩后再调用diff命令的过程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzdiff(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 文件1:指定要比较的第一个.bz2压缩包; 19 | * 文件2:指定要比较的第二个.bz2压缩包。 20 | 21 | 22 | -------------------------------------------------------------------------------- /command/bzgrep.md: -------------------------------------------------------------------------------- 1 | bzgrep 2 | === 3 | 4 | 使用正则表达式搜索.bz2压缩包中文件 5 | 6 | ## 补充说明 7 | 8 | **bzgrep命令** 使用正则表达式搜索“.bz2”压缩包中文件,将匹配的行显示到标注输出。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzgrep(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 搜索模式:指定要搜索的模式; 19 | * .bz2文件:指定要搜索的.bz2压缩包。 20 | 21 | 22 | -------------------------------------------------------------------------------- /command/bzip2recover.md: -------------------------------------------------------------------------------- 1 | bzip2recover 2 | === 3 | 4 | 恢复被破坏的.bz2压缩包中的文件 5 | 6 | ## 补充说明 7 | 8 | **bzip2recover命令** 可用于恢复被破坏的“.bz2”压缩包中的文件。 9 | 10 | bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况。 11 | 12 | ### 语法 13 | 14 | ``` 15 | bzip2recover(参数) 16 | ``` 17 | 18 | ### 参数 19 | 20 | 文件:指定要恢复数据的.bz2压缩包。 21 | 22 | 23 | -------------------------------------------------------------------------------- /command/bzless.md: -------------------------------------------------------------------------------- 1 | bzless 2 | === 3 | 4 | 增强.bz2压缩包查看器 5 | 6 | ## 补充说明 7 | 8 | **bzless命令** 是增强“.bz2”压缩包查看器,bzless比bzmore命令功能更加强大。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzless(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定要分屏显示的.bz2压缩包。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/bzmore.md: -------------------------------------------------------------------------------- 1 | bzmore 2 | === 3 | 4 | 查看bzip2压缩过的文本文件的内容 5 | 6 | ## 补充说明 7 | 8 | **bzmore命令** 用于查看bzip2压缩过的文本文件的内容,当下一屏显示不下时可以实现分屏显示。 9 | 10 | ### 语法 11 | 12 | ``` 13 | bzmore(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定要分屏显示的.bz2压缩包。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/cancel.md: -------------------------------------------------------------------------------- 1 | cancel 2 | === 3 | 4 | 取消已存在的打印任务 5 | 6 | ## 补充说明 7 | 8 | **cancel命令** 用于取消已存在的打印任务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | cancel(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:取消所有打印任务; 20 | -E:当连接到服务器时强制使用加密; 21 | -U:指定连接服务器时使用的用户名; 22 | -u:指定打印任务所属的用户; 23 | -h:指定连接的服务器名和端口号。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 打印任务号:指定要取消的打印任务编号。 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/cat.md: -------------------------------------------------------------------------------- 1 | cat 2 | === 3 | 4 | 连接文件并打印到标准输出设备上 5 | 6 | ## 补充说明 7 | 8 | **cat命令** 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。 9 | 10 | 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。 11 | 12 | ### 语法 13 | 14 | ``` 15 | cat(选项)(参数) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -n或--number:从1开始对所有输出的行数编号; 22 | -b或--number-nonblank:和-n相似,只不过对于空白行不编号; 23 | -s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; 24 | -A:显示不可打印字符,行尾显示“$”; 25 | -e:等价于"-vE"选项; 26 | -t:等价于"-vT"选项; 27 | ``` 28 | 29 | ### 参数 30 | 31 | 文件列表:指定要连接的文件列表。 32 | 33 | ### 实例 34 | 35 | 设m1和m2是当前目录下的两个文件 36 | 37 | ``` 38 | cat m1 (在屏幕上显示文件m1的内容) 39 | cat m1 m2 (同时显示文件m1和m2的内容) 40 | cat m1 m2 > file (将文件m1和m2合并后放入文件file中) 41 | ``` 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/cd.md: -------------------------------------------------------------------------------- 1 | cd 2 | === 3 | 4 | 切换用户当前工作目录 5 | 6 | ## 补充说明 7 | 8 | **cd命令** 用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,`~`也表示为home directory的意思,`.`则是表示目前所在的目录,`..`则表示目前目录位置的上一层目录。 9 | 10 | ### 语法 11 | 12 | ``` 13 | cd (选项) (参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录 20 | -L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。 21 | - 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。 22 | ``` 23 | 24 | ### 实例 25 | 26 | ``` 27 | cd 进入用户主目录; 28 | cd ~ 进入用户主目录; 29 | cd - 返回进入此目录之前所在的目录; 30 | cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); 31 | cd ../.. 返回上两级目录; 32 | cd !$ 把上个命令的参数作为cd参数使用。 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/cdrecord.md: -------------------------------------------------------------------------------- 1 | cdrecord 2 | === 3 | 4 | Linux系统下光盘刻录功能命令 5 | 6 | ## 补充说明 7 | 8 | **cdrecord命令** 用于Linux系统下光盘刻录,它支持cd和DVD格式。linux下一般都带有cdrecord软件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | cdrecord(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:显示刻录光盘的详细过程; 20 | -eject:刻录完成后弹出光盘; 21 | speed=<刻录倍速>:指定光盘刻录的倍速; 22 | dev=<刻录机设备号>:指定使用“-scanbus”参数扫描到的刻录机的设备号; 23 | -scanbus:扫描系统中可用的刻录机。 24 | ``` 25 | 26 | ### 参数 27 | 28 | ISO文件:指定刻录光盘使用的ISO映像文件。 29 | 30 | ### 实例 31 | 32 | 查看系统所有 CD-R(w) 设备: 33 | 34 | ``` 35 | cdrecord -scanbus 36 | scsibus0: 37 | 0,0,0 0) * 38 | 0,1,0 1) * 39 | 0,2,0 2) * 40 | 0,3,0 3) 'HP ' 'CD-Writer+ 9200 ' '1.0c' Removable CD-ROM 41 | ``` 42 | 43 | 用iso文件刻录一张光盘: 44 | 45 | ``` 46 | cdrecord -v -eject speed=4 dev=0,3,0 backup.iso 47 | ``` 48 | 49 | 参数解释 50 | 51 | * -v:显示刻录光盘的详细过程 52 | * -eject:刻完自动弹出光盘 53 | * speed=4 dev=0,3,0:四速刻录到HP CD-writer设备上。 54 | 55 | 擦写光驱: 56 | 57 | ``` 58 | cdrecord --dev=0,3,0 --blank=fast 59 | ``` 60 | 61 | 62 | -------------------------------------------------------------------------------- /command/chattr.md: -------------------------------------------------------------------------------- 1 | chattr 2 | === 3 | 4 | 用来改变文件属性 5 | 6 | ## 补充说明 7 | 8 | **chattr命令** 用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: 9 | 10 | ``` 11 | a:让文件或目录仅供附加用途; 12 | b:不更新文件或目录的最后存取时间; 13 | c:将文件或目录压缩后存放; 14 | d:将文件或目录排除在倾倒操作之外; 15 | i:不得任意更动文件或目录; 16 | s:保密性删除文件或目录; 17 | S:即时更新文件或目录; 18 | u:预防意外删除。 19 | ``` 20 | 21 | ### 语法 22 | 23 | ``` 24 | chattr(选项) 25 | ``` 26 | 27 | ### 选项 28 | 29 | ``` 30 | -R:递归处理,将指令目录下的所有文件及子目录一并处理; 31 | -v<版本编号>:设置文件或目录版本; 32 | -V:显示指令执行过程; 33 | +<属性>:开启文件或目录的该项属性; 34 | -<属性>:关闭文件或目录的该项属性; 35 | =<属性>:指定文件或目录的该项属性。 36 | ``` 37 | 38 | ### 实例 39 | 40 | 用chattr命令防止系统中某个关键文件被修改: 41 | 42 | ``` 43 | chattr +i /etc/fstab 44 | ``` 45 | 46 | 然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。 47 | 48 | 让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作: 49 | 50 | ``` 51 | chattr +a /data1/user_act.log 52 | ``` 53 | 54 | 55 | -------------------------------------------------------------------------------- /command/chown.md: -------------------------------------------------------------------------------- 1 | chown 2 | === 3 | 4 | 用来变更文件或目录的拥有者或所属群组 5 | 6 | ## 补充说明 7 | 8 | **chown命令** 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。 9 | 10 | 只有文件主和超级用户才可以便用该命令。 11 | 12 | ### 语法 13 | 14 | ``` 15 | chown(选项)(参数) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -c或——changes:效果类似“-v”参数,但仅回报更改的部分; 22 | -f或--quite或——silent:不显示错误信息; 23 | -h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件; 24 | -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; 25 | -v或——version:显示指令执行过程; 26 | --dereference:效果和“-h”参数相同; 27 | --help:在线帮助; 28 | --reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同; 29 | --version:显示版本信息。 30 | ``` 31 | 32 | ### 参数 33 | 34 | 用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者; 35 | 文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。 36 | 37 | ### 实例 38 | 39 | 将目录`/usr/meng`及其下面的所有文件、子目录的文件主改成 liu: 40 | 41 | ``` 42 | chown -R liu /usr/meng 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/chpasswd.md: -------------------------------------------------------------------------------- 1 | chpasswd 2 | === 3 | 4 | 批量更新用户口令的工具 5 | 6 | ## 补充说明 7 | 8 | **chpasswd命令** 是批量更新用户口令的工具,是把一个文件内容重新定向添加到`/etc/shadow`中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | chpasswd(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -e:输入的密码是加密后的密文; 20 | -h:显示帮助信息并退出; 21 | -m:当被支持的密码未被加密时,使用MD5加密代替DES加密。 22 | ``` 23 | 24 | ### 实例 25 | 26 | 先创建用户密码对应文件,格式为`username:password`,如`abc:abc123`,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令: 27 | 28 | ``` 29 | chpasswd < user.txt 30 | ``` 31 | 32 | 以上是运用chpasswd命令来批量修改密码。是linux系统管理中的捷径。 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/cksum.md: -------------------------------------------------------------------------------- 1 | cksum 2 | === 3 | 4 | 检查文件的CRC是否正确 5 | 6 | ## 补充说明 7 | 8 | **cksum命令** 是检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字进行比较,如果校验和相等,则该文件被认为是正确传输了。 9 | 10 | 注意:CRC是指一种排错检查方法,即循环冗余校验法。 11 | 12 | 指定文件交由cksum命令进行校验后,会返回校验结果供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为"-",则cksum命令会从标准输入设备中读取数据。 13 | 14 | ### 语法 15 | 16 | ``` 17 | cksum(选项)(参数) 18 | ``` 19 | 20 | ### 选项 21 | 22 | ``` 23 | --help:在线帮助; 24 | --version:显示版本信息。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 文件:指定要计算校验的版本信息。 30 | 31 | ### 实例 32 | 33 | 使用cksum命令计算文件"testfile1"的完整性,输入如下命令: 34 | 35 | ``` 36 | cksum testfile1 #对指定文件进行CRC校验 37 | ``` 38 | 39 | 以上命令执行后,将输出校验码等相关的信息,具体输出信息如下所示: 40 | 41 | ``` 42 | 1263453430 78 testfile1 #输出信息 43 | ``` 44 | 45 | 上面的输出信息中,"1263453430"表示校验码,"78"表示字节数。 46 | 47 | 注意:如果文件中有任何字符被修改,都将改变计算后CRC校验码的值。 48 | 49 | 50 | -------------------------------------------------------------------------------- /command/clear.md: -------------------------------------------------------------------------------- 1 | clear 2 | === 3 | 4 | 清除当前屏幕终端上的任何信息 5 | 6 | ## 补充说明 7 | 8 | **clear命令** 用于清除当前屏幕终端上的任何信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | clear 14 | ``` 15 | 16 | ### 实例 17 | 18 | 直接输入clear命令当前终端上的任何信息就可被清除。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/col.md: -------------------------------------------------------------------------------- 1 | col 2 | === 3 | 4 | 过滤控制字符 5 | 6 | ## 补充说明 7 | 8 | **col命令** 是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符`>`和`>>`,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col命令则能有效滤除这些控制字符。 9 | 10 | ### 语法 11 | 12 | ``` 13 | col(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:过滤掉所有的控制字符,包括RLF和HRLF; 20 | -f:滤掉RLF字符,但允许将HRLF字符呈现出来; 21 | -x:以多个空格字符来表示跳格字符; 22 | -l<缓冲区列数>:预设的内存缓冲区有128列,用户可以自行指定缓冲区的大小。 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /command/colrm.md: -------------------------------------------------------------------------------- 1 | colrm 2 | === 3 | 4 | 删除文件中的指定列 5 | 6 | ## 补充说明 7 | 8 | **colrm命令** 用于删除文件中的指定列。colrm命令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则colrm命令不会过滤任何一行。 9 | 10 | ### 语法 11 | 12 | ``` 13 | colrm(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 起始列号:指定要删除的指定列; 19 | * 结尾列号:指定要删除的结尾列。 20 | 21 | 22 | -------------------------------------------------------------------------------- /command/command.md: -------------------------------------------------------------------------------- 1 | command 2 | === 3 | 4 | 调用并执行指定的命令 5 | 6 | ## 补充说明 7 | 8 | **command命令** 调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | command(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 指令:需要调用的指令及参数。 19 | 20 | ### 实例 21 | 22 | 使用command命令调用执行`echo Linux`,输入如下命令: 23 | 24 | ``` 25 | command echo Linux #调用执行shell内部指令 26 | ``` 27 | 28 | 上面的命令执行后,将调用执行命令`echo Linux`,其执行结果如下: 29 | 30 | ``` 31 | Linux 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/consoletype.md: -------------------------------------------------------------------------------- 1 | consoletype 2 | === 3 | 4 | 输出已连接的终端类型 5 | 6 | ## 补充说明 7 | 8 | **consoletype命令** 用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端。 9 | 10 | ### 语法 11 | 12 | ``` 13 | consoletype 14 | ``` 15 | 16 | ### 实例 17 | 18 | ``` 19 | [root@localhost ~]# consoletype 20 | pty 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/convertquota.md: -------------------------------------------------------------------------------- 1 | convertquota 2 | === 3 | 4 | 把老的配额文件转换为新的格式 5 | 6 | ## 补充说明 7 | 8 | **convertquota命令** 用于将老的磁盘额数据文件(“quota.user”和“quota.group”)转换为新格式的文件(“quota.user”和“quota.group”)。 9 | 10 | ### 语法 11 | 12 | ``` 13 | convertquota(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -u:仅转换用户磁盘配额数据文件; 20 | -g:仅转换组磁盘配额数据文件; 21 | -f:将老的磁盘配额文件转换为新的格式; 22 | -e:将新的文件格式从大字节序换为小字节序。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件系统:指定要转换磁盘配额数据文件格式的文件系统(硬盘分区)。 28 | 29 | ### 实例 30 | 31 | 使用convertquota指令转换指定文件系统`/data`的磁盘配额数据文件。在命令行中输入下面的命令: 32 | 33 | ``` 34 | convertquota -u /data //转换文件系统"/data"上的用户磁盘配额文件 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/cupsdisable.md: -------------------------------------------------------------------------------- 1 | cupsdisable 2 | === 3 | 4 | 停止指定的打印机 5 | 6 | ## 补充说明 7 | 8 | **cupsdisable命令** 用于停止指定的打印机。 9 | 10 | ### 语法 11 | 12 | ``` 13 | cupsdisable(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:当连接到服务器时强制使用加密; 20 | -U:指定连接服务器时使用的用户名; 21 | -u:指定打印任务所属的用户; 22 | -c:取消指定打印机的所有打印任务; 23 | -h:指定连接的服务器名和端口号; 24 | -r:停止打印机的原因。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 目标:指定目标打印机。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/cupsenable.md: -------------------------------------------------------------------------------- 1 | cupsenable 2 | === 3 | 4 | 启动指定的打印机 5 | 6 | ## 补充说明 7 | 8 | **cupsenable命令** 用于启动指定的打印机。 9 | 10 | ### 语法 11 | 12 | ``` 13 | cupsenable(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:当连接到服务器时强制使用加密; 20 | -U:指定连接服务器时使用的用户名; 21 | -u:指定打印任务所属的用户; 22 | -h:指定连接的服务器名和端口号; 23 | ``` 24 | 25 | ### 参数 26 | 27 | 目标:指定目标打印机。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/declare.md: -------------------------------------------------------------------------------- 1 | declare 2 | === 3 | 4 | 声明或显示shell变量 5 | 6 | ## 补充说明 7 | 8 | **declare命令** 用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量。declare命令若不带任何参数选项,则会显示所有shell变量及其值。declare的功能与typeset命令的功能是相同的。 9 | 10 | ### 语法 11 | 12 | ``` 13 | declare(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | +/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性; 20 | -f:仅显示函数; 21 | r:将变量设置为只读; 22 | x:指定的变量会成为环境变量,可供shell以外的程序来使用; 23 | i:[设置值]可以是数值,字符串或运算式。 24 | ``` 25 | 26 | ### 参数 27 | 28 | shell变量:声明shell变量,格式为“变量名=值”。 29 | 30 | ### 实例 31 | 32 | 首先使用declare命令定义shell变量"test",并且将其值设置为"man.linuxde.net",输入如下命令: 33 | 34 | ``` 35 | declare test='man.linuxde.net' #定义并初始化shell变量 36 | ``` 37 | 38 | 上面的命令执行后,再使用echo命令将该shell变量值输出,输入如下命令: 39 | 40 | ``` 41 | echo $test #输出shell变量的值 42 | ``` 43 | 44 | 上面的指令执行后,其输出的结果如下: 45 | 46 | ``` 47 | man.linuxde.net 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/dhclient.md: -------------------------------------------------------------------------------- 1 | dhclient 2 | === 3 | 4 | 动态获取或释放IP地址 5 | 6 | ## 补充说明 7 | 8 | **dhclient命令** 使用动态主机配置协议动态的配置网络接口的网络参数。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dhclient(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | 0:指定dhcp客户端监听的端口号; 20 | -d:总是以前台方式运行程序; 21 | -q:安静模式,不打印任何错误的提示信息; 22 | -r:释放ip地址。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 网络接口:操作的网络接口。 28 | 29 | ### 实例 30 | 31 | ``` 32 | dhclient -r #释放IP 33 | dhclient #获取IP 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/diff3.md: -------------------------------------------------------------------------------- 1 | diff3 2 | === 3 | 4 | 比较3个文件不同的地方 5 | 6 | ## 补充说明 7 | 8 | **diff3命令** 用于比较3个文件,将3个文件的不同的地方显示到标准输出。 9 | 10 | ### 语法 11 | 12 | ``` 13 | diff3(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件; 20 | -A:合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来; 21 | -B:与选项“-A”功能相同,但是不显示冲突的内容; 22 | -e/--ed:生成一个“-ed”脚本,用于将第2个文件和第3个文件之间的不同合并到第1个文件中; 23 | --easy-only:除了不显示互相重叠的变化,与选项“-e”的功能相同; 24 | -i:为了和system V系统兼容,在“ed”脚本的最后生成“w”和“q”命令。此选项必须和选项“-AeExX3”连用,但是不能和“-m”连用; 25 | --initial-tab:在正常格式的行的文本前,输出一个TAB字符而非两个空白字符。此选项将导致在行中TAB字符的对齐方式看上去规范。 26 | ``` 27 | 28 | ### 参数 29 | 30 | * 文件1:指定要比较的第1个文件; 31 | * 文件2:指定要比较的第2个文件; 32 | * 文件3:指定要比较的第3个文件。 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/dirname.md: -------------------------------------------------------------------------------- 1 | dirname 2 | === 3 | 4 | 去除文件名中的非目录部分 5 | 6 | ## 补充说明 7 | 8 | **dirname命令** 去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个`/`及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个`/`后无字符,dirname 命令使用倒数第二个`/`,并忽略其后的所有字符。dirname 和 basename 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dirname(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示帮助; 20 | --version:显示版本号。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | dirname // 27 | 结果为 / 28 | 29 | dirname /a/b/ 30 | 结果为:/a 31 | 32 | dirname a 33 | 结果为 . 34 | 35 | dirname a/b 36 | 结果为路径名 a 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/dirs.md: -------------------------------------------------------------------------------- 1 | dirs 2 | === 3 | 4 | 显示目录记录 5 | 6 | ## 补充说明 7 | 8 | **dirs命令** 显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dirs(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:删除目录栈中的所有记录 20 | -l:以完整格式显示 21 | -p:一个目录一行的方式显示 22 | -v:每行一个目录来显示目录栈的内容,每个目录前加上的编号 23 | +N:显示从左到右的第n个目录,数字从0开始 24 | -N:显示从右到左的第n个日录,数字从0开始 25 | 26 | ``` 27 | 28 | ### 参数 29 | 30 | 目录:显示目录堆叠中的记录。 31 | 32 | ### 实例 33 | 34 | ``` 35 | [root@localhost etc]# dirs 36 | /etc 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/dnsdomainname.md: -------------------------------------------------------------------------------- 1 | dnsdomainname 2 | === 3 | 4 | 定义DNS系统中FQDN名称的域名 5 | 6 | ## 补充说明 7 | 8 | **dnsdomainname命令** 用于定义DNS系统中FQDN名称中的域名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dnsdomainname(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | -v:详细信息模式,输出指令执行的详细信息。 19 | 20 | ### 实例 21 | 22 | ``` 23 | [root@AY1307311912260196fcZ ~]# dnsdomainname -v 24 | gethostname()=`AY1307311912260196fcZ' 25 | Resolving `AY1307311912260196fcZ' ... 26 | Result: h_name=`AY1307311912260196fcZ' 27 | Result: h_addr_list=`10.160.7.81' 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/domainname.md: -------------------------------------------------------------------------------- 1 | domainname 2 | === 3 | 4 | 显示和设置系统的NIS域名 5 | 6 | ## 补充说明 7 | 8 | **domainname命令** 用于显示和设置系统的NIS域名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | domainname(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:详细信息模式; 20 | -F:指定读取域名信息的文件。 21 | ``` 22 | 23 | ### 参数 24 | 25 | NIS域名:指定要设置的NIS域名。 26 | 27 | ### 实例 28 | 29 | ``` 30 | [root@AY1307311912260196fcZ ~]# domainname -v 31 | getdomainname()=`(none)' 32 | (none) 33 | [root@AY1307311912260196fcZ ~]# domainname 34 | www.jsdig.com 35 | 36 | [root@AY1307311912260196fcZ ~]# domainname -v 37 | getdomainname()=`www.jsdig.com' 38 | www.jsdig.com 39 | ``` 40 | 41 | 42 | -------------------------------------------------------------------------------- /command/dpkg-deb.md: -------------------------------------------------------------------------------- 1 | dpkg-deb 2 | === 3 | 4 | Debian Linux下的软件包管理工具 5 | 6 | ## 补充说明 7 | 8 | **dpkg-deb命令** 是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg-deb(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:显示软件包中的文件列表; 20 | -e:将主控信息解压; 21 | -f:把字段内容打印到标准输出; 22 | -x:将软件包中的文件释放到指定目录下; 23 | -X:将软件包中的文件释放到指定目录下,并显示释放文件的详细过程; 24 | -w:显示软件包的信息; 25 | -l:显示软件包的详细信息; 26 | -R:提取控制信息和存档的清单文件; 27 | -b:创建debian软件包。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 文件:指定要操作的“.deb”软件包的全名或软件名。 33 | 34 | ### 实例 35 | 36 | 解压程序文件: 37 | 38 | ``` 39 | dpkg-deb -x drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom 40 | ``` 41 | 42 | 解压控制文件: 43 | 44 | ``` 45 | dpkg-deb -e drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom/DEBIAN 46 | ``` 47 | 48 | 打包生成deb文件: 49 | 50 | ``` 51 | dpkg-deb -b drcom drcom_1.4.8.2_i386.deb 52 | ``` 53 | 54 | 查询deb包中的文件内容: 55 | 56 | ``` 57 | dpkg-deb -c demo.deb 58 | ``` 59 | 60 | 61 | -------------------------------------------------------------------------------- /command/dpkg-preconfigure.md: -------------------------------------------------------------------------------- 1 | dpkg-preconfigure 2 | === 3 | 4 | Debian Linux中软件包安装之前询问问题 5 | 6 | ## 补充说明 7 | 8 | **dpkg-preconfigure命令** 用于在Debian Linux中软件包安装之前询问问题。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg-preconfigure(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:选择使用的前端; 20 | -p:感兴趣的最低的优先级问题; 21 | --apt:在apt模式下运行。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 软件包:指定“.deb”软件包。 27 | 28 | ### 实例 29 | 30 | 导入debconf模板: 31 | 32 | ``` 33 | dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/dpkg-reconfigure.md: -------------------------------------------------------------------------------- 1 | dpkg-reconfigure 2 | === 3 | 4 | Debian Linux中重新配制一个已经安装的软件包 5 | 6 | ## 补充说明 7 | 8 | **dpkg-reconfigure命令** 是Debian Linux中重新配置已经安装过的软件包,可以将一个或者多个已安装的软件包传递给此指令,它将询问软件初次安装后的配置问题。 9 | 10 | 当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置。 11 | 12 | ### 语法 13 | 14 | ``` 15 | dpkg-reconfigure(选项)(参数) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -a:重新配置所有的软件包; 22 | -u或--unseen-only:仅显示未提过的问题; 23 | --default-priority:使用默认优先级,而非“低”级; 24 | --force:强制执行操作,需谨慎使用此选项; 25 | --no-reload:不要轻易的重装模板(使用时请慎重考虑); 26 | -f或--frontend:指定 debconf 前端界面; 27 | -p或--priority:指定要显示的问题的最优先级; 28 | --terse:开启简要模式。 29 | 30 | ``` 31 | 32 | ### 参数 33 | 34 | 软件包名:需要重新配置的已安装的软件包。 35 | 36 | ### 实例 37 | 38 | 用于配置语言: 39 | 40 | ``` 41 | sudo dpkg-reconfigure locales 42 | ``` 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/dpkg-split.md: -------------------------------------------------------------------------------- 1 | dpkg-split 2 | === 3 | 4 | Debian Linux中将大软件包分割成小包 5 | 6 | ## 补充说明 7 | 8 | **dpkg-split命令** 用来将Debian Linux中的大软件包分割成小软件包,它还能够将已分割的文件进行合并。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg-split(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -S:设置分割后的每个小文件最大尺寸(以字节为单位); 20 | -s:分割软件包; 21 | -j<分块文件><分块文件>:把各个分块合并到一起; 22 | -I<分块文件>:显示分块文件的相关信息; 23 | -l:列出不匹配的部分; 24 | -dscard<文件名>:忽略不匹配的部分。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 软件包:指定需要分割的“.deb”软件包。 30 | 31 | ### 实例 32 | 33 | 把foo.deb分割出N个大小为460KB的文件: 34 | 35 | ``` 36 | dpkg-split -s foo.deb 37 | ``` 38 | 39 | 合并分割文件: 40 | 41 | ``` 42 | dpkg-split -j "foo*" 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/dpkg-statoverride.md: -------------------------------------------------------------------------------- 1 | dpkg-statoverride 2 | === 3 | 4 | Debian Linux中覆盖文件的所有权和模式 5 | 6 | ## 补充说明 7 | 8 | **dpkg-statoverride命令** 用于Debian Linux中覆盖文件的所有权和模式,让dpkg于包安装时使得文件所有权与模式失效。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg-statoverride(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -add:为文件添加一个改写; 20 | --remove:为文件删除一个改写; 21 | --list:显示所有改写列表; 22 | --update:如果文件存在,则立刻执行改写操作。 23 | ``` 24 | 25 | ### 实例 26 | 27 | 修改文件夹的权限属性: 28 | 29 | ``` 30 | sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3 31 | ``` 32 | 33 | 强制修改文件夹的权限属性: 34 | 35 | ``` 36 | sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd 37 | ``` 38 | 39 | 将文件从数据库中删除: 40 | 41 | ``` 42 | sudo dpkg-statoverride --remove /usr/bin/wall 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/dpkg-trigger.md: -------------------------------------------------------------------------------- 1 | dpkg-trigger 2 | === 3 | 4 | Debian Linux下的软件包触发器 5 | 6 | ## 补充说明 7 | 8 | **dpkg-trigger命令** 是Debian Linux下的软件包触发器。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg-trigger(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --check-supported:检查运行的dpkg是否支持触发器,返回值为0,则支持触发器。 20 | --help:显示帮助信息; 21 | --admindir=<目录>:设置dpkg数据库所在的目录; 22 | --no-act:仅用于测试,不执行任何操作; 23 | --by-package=<软件包>:覆盖触发器等待者。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 触发器名:指定触发器名称。 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/dpkg.md: -------------------------------------------------------------------------------- 1 | dpkg 2 | === 3 | 4 | Debian Linux系统上安装、创建和管理软件包 5 | 6 | ## 补充说明 7 | 8 | **dpkg命令** 是Debian Linux系统用来安装、创建和管理软件包的实用工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dpkg(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -i:安装软件包; 20 | -r:删除软件包; 21 | -P:删除软件包的同时删除其配置文件; 22 | -L:显示于软件包关联的文件; 23 | -l:显示已安装软件包列表; 24 | --unpack:解开软件包; 25 | -c:显示软件包内文件列表; 26 | --confiugre:配置软件包。 27 | ``` 28 | 29 | ### 参数 30 | 31 | Deb软件包:指定要操作的.deb软件包。 32 | 33 | ### 实例 34 | 35 | ``` 36 | dpkg -i package.deb #安装包 37 | dpkg -r package #删除包 38 | dpkg -P package #删除包(包括配置文件) 39 | dpkg -L package #列出与该包关联的文件 40 | dpkg -l package #显示该包的版本 41 | dpkg --unpack package.deb #解开deb包的内容 42 | dpkg -S keyword #搜索所属的包内容 43 | dpkg -l #列出当前已安装的包 44 | dpkg -c package.deb #列出deb包的内容 45 | dpkg --configure package #配置包 46 | ``` 47 | 48 | 49 | -------------------------------------------------------------------------------- /command/dris.md: -------------------------------------------------------------------------------- 1 | dris 2 | === 3 | 4 | 显示和清空目录堆栈中的内容 5 | 6 | ## 补充说明 7 | 8 | **dris命令** 用于显示和清空目录堆栈中的内容。 9 | 10 | ### 语法 11 | 12 | ``` 13 | dris(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | +n:显示从左边算起第n笔的目录; 20 | -n:显示从右边算起第n笔的目录; 21 | -l:显示目录完整的记录。 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /command/e2label.md: -------------------------------------------------------------------------------- 1 | e2label 2 | === 3 | 4 | 设置第二扩展文件系统的卷标 5 | 6 | ## 补充说明 7 | 8 | **e2label命令** 用来设置第二扩展文件系统的卷标。 9 | 10 | ### 语法 11 | 12 | ``` 13 | e2label(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 文件系统:指定文件系统所对应的设备文件名; 19 | * 新卷标:为文件系统指定新卷标。 20 | 21 | ### 实例 22 | 23 | 许多用了多年Linux的人可能也没有用过e2label命令。但是这个命令相当有效。在介绍它之前,我们先看看`/etc/fstab文`件: 24 | 25 | ``` 26 | label=//ext3 defaults 1 1 27 | /dev/hda7 /usr ext3 defaults 1 1 28 | ``` 29 | 30 | 第二行的意思很容易懂,就是把`/dev/hda7` mount到`/usr`上。第一行没有指明分区,意思是把label(卷标)为/ 的分区mount到/上。这样写的好处在于即使如果把硬盘从主板上的ide0(hda) 换到ide2(hdc)上,系统仍然可以自动挂载正确的分区。通常Linux安装的时候已经自动指定了卷标。如果是手动增加的新分区,可以用下边的命令为 其指定卷标: 31 | 32 | ``` 33 | e2label /dev/hdax /new 34 | mkdir /new 35 | ``` 36 | 37 | 然后在`/etc/fstab`里加入: 38 | 39 | ``` 40 | label=/new /new ext3 defaults 1 1 41 | ``` 42 | 43 | 下次重新起动机器的时候,就会把卷标为`/new`的分区挂接到`/new`上。 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/ed.md: -------------------------------------------------------------------------------- 1 | ed 2 | === 3 | 4 | 单行纯文本编辑器 5 | 6 | ## 补充说明 7 | 8 | **ed命令** 是单行纯文本编辑器,它有命令模式(command mode)和输入模式(input mode)两种工作模式。ed命令支持多个内置命令,常见内置命令如下: 9 | 10 | ``` 11 | A:切换到输入模式,在文件的最后一行之后输入新的内容; 12 | C:切换到输入模式,用输入的内容替换掉最后一行的内容; 13 | i:切换到输入模式,在当前行之前加入一个新的空行来输入内容; 14 | d:用于删除最后一行文本内容; 15 | n:用于显示最后一行的行号和内容; 16 | w:<文件名>:一给定的文件名保存当前正在编辑的文件; 17 | q:退出ed编辑器。 18 | ``` 19 | 20 | ### 语法 21 | 22 | ``` 23 | ed(选项)(参数) 24 | ``` 25 | 26 | ### 选项 27 | 28 | ``` 29 | -G或——traditional:提供兼容的功能; 30 | -p<字符串>:指定ed在command mode的提示字符; 31 | -s,-,--quiet或——silent:不执行开启文件时的检查功能; 32 | --help:显示帮助; 33 | --version:显示版本信息。 34 | ``` 35 | 36 | ### 参数 37 | 38 | 文件:待编辑的文件。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/egrep.md: -------------------------------------------------------------------------------- 1 | egrep 2 | === 3 | 4 | 在文件内查找指定的字符串 5 | 6 | ## 补充说明 7 | 8 | **egrep命令** 用于在文件内查找指定的字符串。egrep执行效果与`grep -E`相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。 9 | 10 | ### 语法 11 | 12 | ``` 13 | egrep(选项)(查找模式)(文件名1,文件名2,……) 14 | ``` 15 | 16 | ### 实例 17 | 18 | 显示文件中符合条件的字符。例如,查找当前目录下所有文件中包含字符串"Linux"的文件,可以使用如下命令: 19 | 20 | ``` 21 | egrep Linux * 22 | ``` 23 | 24 | 结果如下所示: 25 | 26 | ``` 27 | #以下五行为 testfile 中包含Linux字符的行 28 | testfile:hello Linux! 29 | testfile:Linux is a free Unix-type operating system. 30 | testfile:This is a Linux testfile! 31 | testfile:Linux 32 | testfile:Linux 33 | 34 | #以下两行为testfile1中含Linux字符的行 35 | testfile1:helLinux! 36 | testfile1:This a Linux testfile! 37 | 38 | #以下两行为 testfile_2 中包含Linux字符的行 39 | testfile_2:Linux is a free unix-type opterating system 40 | testfile_2:Linux test 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/eject.md: -------------------------------------------------------------------------------- 1 | eject 2 | === 3 | 4 | 用来退出抽取式设备 5 | 6 | ## 补充说明 7 | 8 | **eject命令** 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。 9 | 10 | eject允许可移动介质(典型是cd-ROM、软盘、磁带、或者JAZ以及zip磁盘)在软件控制下弹出。该命令也可以控制一些多盘片CD-ROM控制器,控制一些设备支持的自动弹出功能,以及控制一些CD-ROM驱动器磁盘托盘的关闭。与name相应的设备将被弹出,name可以为设备文件或者其挂载点,也可以为完整路径或者省略前面的/dev或者/mnt设备文件名。如果没有指定name,缺省使用cdrom。 11 | 12 | 有四种不同的弹出的方法,具体要看设备是CD-ROM, SCSI设备,可移动软盘,还是磁带而定。默认的弹出会依次尝试所有四种方法,直到成功为止。如果设备当前是挂载上来的,那么在弹出前要先卸载。 13 | 14 | ### 语法 15 | 16 | ``` 17 | eject(选项)(参数) 18 | ``` 19 | 20 | ### 选项 21 | 22 | ``` 23 | -a<开关>或--auto<开关>:控制设备的自动退出功能; 24 | -c<光驱编号>或--changerslut<光驱编号> 选择光驱柜中的光驱; 25 | -d或--default:显示预设的设备,而不是实际执行动作; 26 | -f或--floppy:退出抽取式磁盘; 27 | -h或--help:显示帮助; 28 | -n或--noop:显示指定的设备; 29 | -q或--tape:退出磁带; 30 | -r或--cdrom:退出光盘; 31 | -s或--scsi:以SCSI指令来退出设备; 32 | -t或--trayclose:关闭光盘的托盘; 33 | -v或--verbose:执行时,显示详细的说明。 34 | ``` 35 | 36 | ### 参数 37 | 38 | 设备名:指定弹出的设备名称。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/elinks.md: -------------------------------------------------------------------------------- 1 | elinks 2 | === 3 | 4 | 纯文本界面的WWW浏览器 5 | 6 | ## 补充说明 7 | 8 | **elinks命令** 能实现一个纯文本界面的WWW浏览器,操作方式与“lynx”类似。 9 | 10 | ### 语法 11 | 12 | ``` 13 | elinks(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -anonymous:是否使用匿名帐号方式; 20 | -auto-submit:对于偶然遇到的第一个表单是否自动提交; 21 | -config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录; 22 | -dump:将HTML文档以纯文本的方式打印到标准输出设备; 23 | -version:显示指令的版本信息; 24 | -h:显示帮助信息。 25 | ``` 26 | 27 | ### 参数 28 | 29 | URL:指定要访问的URL地址。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/elm.md: -------------------------------------------------------------------------------- 1 | elm 2 | === 3 | 4 | 纯文本邮件客户端程序 5 | 6 | ## 补充说明 7 | 8 | **elm命令** 是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面。 9 | 10 | ### 语法 11 | 12 | ``` 13 | elm(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s<邮件主题>:指定新邮件的邮件主题; 20 | -f<目录>:开启程序时,读取指定的目录; 21 | -h:显示帮助; 22 | -i<文件名>:将文件内容插入送出的邮件中; 23 | -m:进入elm后,不显示指令说明; 24 | -v:显示elm的版本信息; 25 | -z:若收件信箱没有邮件,则不启动elm程序。 26 | ``` 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/ex.md: -------------------------------------------------------------------------------- 1 | ex 2 | === 3 | 4 | 启动vim编辑器的ex编辑模式 5 | 6 | ## 补充说明 7 | 8 | 在 **ex** 模式下启动vim文本编辑器。ex执行效果如同`vi -E`,适用于法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入`:vi`或`:visual`即可。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ex(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定待编辑的文件。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/exec.md: -------------------------------------------------------------------------------- 1 | exec 2 | === 3 | 4 | 调用并执行指定的命令 5 | 6 | ## 补充说明 7 | 8 | **exec命令** 用于调用并执行指令的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。 9 | 10 | ### 语法 11 | 12 | ``` 13 | exec(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:在空环境中执行指定的命令。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 指令:要执行的指令和相应的参数。 25 | 26 | ### 实例 27 | 28 | 首先使用echo命令将文本“Linux C++”进行输出,输入如下命令: 29 | 30 | ``` 31 | echo Linux C++ #输出指定信息 32 | ``` 33 | 34 | 执行上面的指令后,输出如下信息: 35 | 36 | ``` 37 | Linux C++ #输出信息 38 | ``` 39 | 40 | 然后再使用exec命令调用echo命令输出同样的信息,并且对输出的信息进行对比,输入指令如下所示: 41 | 42 | ``` 43 | exec -c echo Linux C++ #调用命令 44 | ``` 45 | 46 | 执行以上命令后,其输出信息如下: 47 | 48 | ``` 49 | Linux C++ #使用指定指令输出信息 50 | ``` 51 | 52 | 通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功。 53 | 54 | 55 | -------------------------------------------------------------------------------- /command/exit.md: -------------------------------------------------------------------------------- 1 | exit 2 | === 3 | 4 | 退出当前的shell 5 | 6 | ## 补充说明 7 | 8 | **exit命令** 同于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。 9 | 10 | ### 语法 11 | 12 | ``` 13 | exit(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 返回值:指定shell返回值。 19 | 20 | ### 实例 21 | 22 | 退出当前shell: 23 | 24 | ``` 25 | [root@localhost ~]# exit 26 | logout 27 | ``` 28 | 29 | 在脚本中,进入脚本所在目录,否则退出: 30 | 31 | ``` 32 | cd $(dirname $0) || exit 1 33 | ``` 34 | 35 | 在脚本中,判断参数数量,不匹配就打印使用方式,退出: 36 | 37 | ``` 38 | if [ "$#" -ne "2" ]; then 39 | echo "usage: $0 " 40 | exit 2 41 | fi 42 | ``` 43 | 44 | 在脚本中,退出时删除临时文件: 45 | 46 | ``` 47 | trap "rm -f tmpfile; echo Bye." EXIT 48 | ``` 49 | 50 | 检查上一命令的退出码: 51 | 52 | ``` 53 | ./mycommand.sh 54 | EXCODE=$? 55 | if [ "$EXCODE" == "0" ]; then 56 | echo "O.K" 57 | fi 58 | ``` 59 | 60 | 61 | -------------------------------------------------------------------------------- /command/expand.md: -------------------------------------------------------------------------------- 1 | expand 2 | === 3 | 4 | 将文件的制表符转换为空白字符 5 | 6 | ## 补充说明 7 | 8 | **expand命令** 用于将文件的制表符(TAB)转换为空白字符(space),将结果显示到标准输出设备。 9 | 10 | ### 语法 11 | 12 | ``` 13 | expand(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -t<数字>:指定制表符所代表的空白字符的个数,而不使用默认的8。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 文件:指定要转换制表符为空白的文件。 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/exportfs.md: -------------------------------------------------------------------------------- 1 | exportfs 2 | === 3 | 4 | 管理NFS共享文件系统列表 5 | 6 | ## 补充说明 7 | 8 | exportfs 命令用来管理当前NFS共享的文件系统列表。 9 | 10 | 参数: 11 | 12 | ``` 13 | -a 打开或取消所有目录共享。 14 | -o options,...指定一列共享选项,与 exports(5) 中讲到的类似。 15 | -i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。 16 | -r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。 17 | -u 取消一个或多个目录的共享。 18 | -f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目。 19 | -v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /command/expr.md: -------------------------------------------------------------------------------- 1 | expr 2 | === 3 | 4 | 一款表达式计算工具 5 | 6 | ## 补充说明 7 | 8 | **expr命令** 是一款表达式计算工具,使用它完成表达式的求值操作。 9 | 10 | expr的常用运算符: 11 | 12 | * 加法运算:+ 13 | * 减法运算:- 14 | * 乘法运算:\* 15 | * 除法运算:/ 16 | * 求摸(取余)运算:% 17 | 18 | ### 语法 19 | 20 | ``` 21 | expr(选项)(参数) 22 | ``` 23 | 24 | ### 选项 25 | 26 | ``` 27 | --help:显示指令的帮助信息; 28 | --version:显示指令版本信息。 29 | ``` 30 | 31 | ### 参数 32 | 33 | 表达式:要求值的表达式。 34 | 35 | ### 实例 36 | 37 | ``` 38 | result=`expr 2 + 3` 39 | result=$(expr $no1 + 5) 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/fg.md: -------------------------------------------------------------------------------- 1 | fg 2 | === 3 | 4 | 将后台作业放到前台终端运行 5 | 6 | ## 补充说明 7 | 8 | **fg命令** 用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。与bg命令一样,若后台任务中只有一个,则使用该命令时,可以省略任务号。 9 | 10 | 在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 11 | 12 | ### 语法 13 | 14 | ``` 15 | fg(参数) 16 | ``` 17 | 18 | ### 参数 19 | 20 | 作业标识:指定要放到前台的作业标识号。 21 | 22 | ### 实例 23 | 24 | 使用fg命令将任务号为1的任务从后台执行转换到前台执行,输入如下命令: 25 | 26 | ``` 27 | fg 1 #将任务转换到前台执行 28 | ``` 29 | 30 | 执行上面的命令后,命令行窗口将显示如下信息: 31 | 32 | ``` 33 | find / -name password #前台执行命令 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/findfs.md: -------------------------------------------------------------------------------- 1 | findfs 2 | === 3 | 4 | 标签或UUID查找文件系统 5 | 6 | ## 补充说明 7 | 8 | **findfs命令** 依据卷标(Label)和UUID查找文件系统所对应的设备文件。findfs命令会搜索整个磁盘,看是否有匹配的标签或者UUID没有,如果有则打印到标注输出上。findfs命令也是e2fsprogs项目的一部分。 9 | 10 | ### 语法 11 | 12 | ``` 13 | findfs(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | `LABEL=<卷标>`或者`UUID=`:按照卷标或者UUID查询文件系统。 19 | 20 | ### 实例 21 | 22 | 通过卷标名查找对应的文件系统: 23 | 24 | ``` 25 | findfs LABEL=/boot 26 | /dev/hda1 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/fmt.md: -------------------------------------------------------------------------------- 1 | fmt 2 | === 3 | 4 | 读取文件后优化处理并输出 5 | 6 | ## 补充说明 7 | 8 | **fmt命令** 读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备。 9 | 10 | ### 语法 11 | 12 | ``` 13 | fmt(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c或--crown-margin:每段前两列缩排; 20 | -p<列起始字符串>或-prefix=<列起始字符串>:仅合并含有指定字符串的列,通常运用在程序语言的注解方面; 21 | -s或--split-only:只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列; 22 | -t或--tagged-paragraph:每列前两列缩排,但第1列和第2列的缩排格式不同; 23 | -u或--uniform-spacing:每列字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔; 24 | -w<每列字符数>或--width=<每列字符数>或-<每列字符数>:设置每列的最大字符数。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 指定要优化格式的文件。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/fold.md: -------------------------------------------------------------------------------- 1 | fold 2 | === 3 | 4 | 控制文件内容输出时所占用的屏幕宽度 5 | 6 | ## 补充说明 7 | 8 | **fold命令** 用于控制文件内容输出时所占用的屏幕宽度。fold命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为“-”,则fold指令会从标准输入设备读取数据。 9 | 10 | ### 语法 11 | 12 | ``` 13 | fold(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b或——bytes:以Byte为单位计算列宽,而非采用行数编号为单位; 20 | -s或——spaces:以空格字符作为换列点; 21 | -w<每列行数>或--width<每列行数>:设置每列的最大行数。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定要显示内容的文件。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/fsck.md: -------------------------------------------------------------------------------- 1 | fsck 2 | === 3 | 4 | 检查并且试图修复文件系统中的错误 5 | 6 | ## 补充说明 7 | 8 | **fsck命令** 被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。 9 | 10 | ### 语法 11 | 12 | ``` 13 | fsck(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:自动修复文件系统,不询问任何问题; 20 | -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统; 21 | -N:不执行指令,仅列出实际执行会进行的动作; 22 | -P:当搭配"-A"参数使用时,则会同时检查所有的文件系统; 23 | -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式; 24 | -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查; 25 | -s:依序执行检查作业,而非同时执行; 26 | -t<文件系统类型>:指定要检查的文件系统类型; 27 | -T:执行fsck指令时,不显示标题信息; 28 | -V:显示指令执行过程。 29 | ``` 30 | 31 | ### 参数 32 | 33 | 文件系统:指定要查看信息的文件系统。 34 | 35 | ### 实例 36 | 37 | linux的文件系统损坏会导致linux不正常关机,出错的时候如果系统告诉你是哪一块硬盘的分区有问题,比如是`/dev/hda2`,接着用如下的命令去对付它: 38 | 39 | ``` 40 | fsck -y /dev/hda2 41 | ``` 42 | 43 | 结束后使用reboot命令重启系统这样就好了! 44 | 45 | 如果不知道时哪个地方出了问题,可以直接: 46 | 47 | ``` 48 | fsck 49 | ``` 50 | 51 | 在随后的多个确认对话框中输入`:y` 52 | 53 | 结束后同样使用reboot命令重启系统这样就好了! 54 | 55 | 56 | -------------------------------------------------------------------------------- /command/ftpcount.md: -------------------------------------------------------------------------------- 1 | ftpcount 2 | === 3 | 4 | 显示目前已FTP登入的用户人数 5 | 6 | ## 补充说明 7 | 8 | 显示目前已ftp登入的用户人数。执行这项指令可得知目前用FTP登入系统的人数以及FTP登入人数的上限。 9 | 10 | 语法: 11 | 12 | ``` 13 | ftpcount 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /command/ftpshut.md: -------------------------------------------------------------------------------- 1 | ftpshut 2 | === 3 | 4 | 在指定的时间关闭FTP服务器 5 | 6 | ## 补充说明 7 | 8 | 功能说明:在指定的时间关闭ftp服务器。本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户。关闭时间若设置后为"none",则会马上关闭服务器。如果采 用"+30"的方式来设置表示服务器在30分钟之后关闭。依次类推,假设使用"1130"的格式则代表服务器会在每日的11时30分关闭,时间格式为24 小时制。FTP服务器关闭后,在/etc目录下会产生一个名称为shutmsg的文件,把它删除后即可再度启动FTP服务器的功能。 9 | 10 | 语法: 11 | 12 | ``` 13 | ftpshut [-d<分钟>][-l<分钟>][关闭时间]["警告信息"] 14 | ``` 15 | 16 | 参数: 17 | 18 | ``` 19 | -d<分钟> 切断所有FTP连线时间。 20 | -l<分钟> 停止接受FTP登入的时间。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/ftptop.md: -------------------------------------------------------------------------------- 1 | ftptop 2 | === 3 | 4 | proftpd服务器的连接状态 5 | 6 | ## 补充说明 7 | 8 | **ftptop命令** 类似于top命令的显示风格显示proftpd服务器的连接状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ftptop(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -D:过滤正在下载的会话; 20 | -S:仅显示指定虚拟主机的连接状态; 21 | -d:指定屏幕刷新时间,默认 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /command/ftpwho.md: -------------------------------------------------------------------------------- 1 | ftpwho 2 | === 3 | 4 | 显示当前每个ftp会话信息 5 | 6 | ## 补充说明 7 | 8 | **ftpwho命令** ftp服务器套件proftpd的工作指令,用于显示当前每个ftp会话信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ftpwho(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:显示帮助信息; 20 | -v:详细模式,输出更多信息。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/gcov.md: -------------------------------------------------------------------------------- 1 | gcov 2 | === 3 | 4 | 测试程序的代码覆盖率的工具 5 | 6 | ## 补充说明 7 | 8 | **gcov命令** 是一款测试程序的代码覆盖率的工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | gcov(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:显示帮助信息; 20 | -v:显示版本信息; 21 | -a:输出所有的基本块的执行计数; 22 | -n:并创建输出文件。 23 | ``` 24 | 25 | ### 参数 26 | 27 | V语言文件:C语言源代码文件。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/getenforce.md: -------------------------------------------------------------------------------- 1 | getenforce 2 | === 3 | 4 | 显示当前SELinux的应用模式,是强制、执行还是停用。 5 | 6 | ## 补充说明 7 | 8 | **grename命令** 可以重命名卷组的名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | getenforce 14 | ``` 15 | 16 | ### 例子 17 | 18 | 查看当前SELinux的应用模式。 19 | 20 | ```bash 21 | [root@localhost ~]# getenforce 22 | Enforcing 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /command/getsebool.md: -------------------------------------------------------------------------------- 1 | getsebool 2 | === 3 | 4 | 查询SElinux策略内各项规则的布尔值 5 | 6 | ## 补充说明 7 | 8 | **getsebool命令** 是用来查询SElinux策略内各项规则的布尔值。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | getsebool [-a] [布尔值条款] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:列出目前系统上面的所有布尔值条款设置为开启或关闭值。 20 | ``` 21 | 22 | ### 实例 23 | 24 | 查询本系统内所有的布尔值设置状况: 25 | 26 | ``` 27 | getsebool -a 28 | NetworkManager_disable_trans --> off 29 | allow_console_login --> off 30 | allow_cvs_read_shadow --> off 31 | allow_daemons_dump_core --> on 32 | ....(底下省略).... 33 | ``` 34 | 35 | 查询httpd_enable_homedirs是否为关闭,若没关闭,请关闭它: 36 | 37 | ``` 38 | getsebool httpd_enable_homedirs 39 | setsebool -P httpd_enable_homedirs=0 //0是关闭 1是开启 40 | 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/gpm.md: -------------------------------------------------------------------------------- 1 | gpm 2 | === 3 | 4 | 提供文字模式下的滑鼠事件处理 5 | 6 | ## 补充说明 7 | 8 | **gpm命令** 是Linux的虚拟控制台下的鼠标服务器,用于在虚拟控制台下实现鼠标复制和粘贴文本的功能。 9 | 10 | ### 语法 11 | 12 | ``` 13 | gpm(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:设置加速值; 20 | -b:设置波特率; 21 | -B:设置鼠标按键次序; 22 | -m:指定鼠标设备文件; 23 | -t:设置鼠标类型。 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/groupadd.md: -------------------------------------------------------------------------------- 1 | groupadd 2 | === 3 | 4 | 用于创建一个新的工作组 5 | 6 | ## 补充说明 7 | 8 | **groupadd命令** 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | groupadd(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -g:指定新建工作组的id; 20 | -r:创建系统工作组,系统工作组的组ID小于500; 21 | -K:覆盖配置文件“/ect/login.defs”; 22 | -o:允许添加组ID号不唯一的工作组。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 组名:指定新建工作组的组名。 28 | 29 | ### 实例 30 | 31 | 建立一个新组,并设置组ID加入系统: 32 | 33 | ``` 34 | groupadd -g 344 jsdigname 35 | ``` 36 | 37 | 此时在`/etc/passwd`文件中产生一个组ID(GID)是344的项目。 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/groupdel.md: -------------------------------------------------------------------------------- 1 | groupdel 2 | === 3 | 4 | 用于删除指定的工作组 5 | 6 | ## 补充说明 7 | 8 | **groupdel命令** 用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。 9 | 10 | ### 语法 11 | 12 | ``` 13 | groupdel(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 组:要删除的工作组名。 19 | 20 | ### 实例 21 | 22 | ``` 23 | groupadd damon //创建damon工作组 24 | groupdel damon //删除这个工作组 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/groupmod.md: -------------------------------------------------------------------------------- 1 | groupmod 2 | === 3 | 4 | 更改群组识别码或名称 5 | 6 | ## 补充说明 7 | 8 | **groupmod命令** 更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | groupmod(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -g<群组识别码>:设置欲使用的群组识别码; 20 | -o:重复使用群组识别码; 21 | -n<新群组名称>:设置欲使用的群组名称。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 组名:指定要修改的工作的组名。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/groups.md: -------------------------------------------------------------------------------- 1 | groups 2 | === 3 | 4 | 用来打印指定用户所属的工作组 5 | 6 | ## 补充说明 7 | 8 | **groups命令** 在标准输入输出上输出指定用户所在组的组成员,每个用户属于`/etc/passwd`中指定的一个组和在`/etc/group`中指定的其他组。 9 | 10 | ### 语法 11 | 12 | ``` 13 | groups(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -help:显示命令的帮助信息; 20 | --version:显示命令的版本信息。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 用户名:指定要打印所属工作组的用户名。 26 | 27 | ### 实例 28 | 29 | 显示linux用户所属的组 30 | 31 | ``` 32 | groups linux 33 | linux : linux adm dialout cdrom plugdev lpadmin admin sambashare 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/grpck.md: -------------------------------------------------------------------------------- 1 | grpck 2 | === 3 | 4 | 用于验证组文件的完整性 5 | 6 | ## 补充说明 7 | 8 | **grpck命令** 用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件`/etc/group`和`/etc/shadow`。 9 | 10 | grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。 11 | 12 | ### 语法 13 | 14 | ``` 15 | grpck(选项) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -r:只读模式; 22 | -s:排序组id。 23 | ``` 24 | 25 | ### 实例 26 | 27 | 对组账号和影子文件进行验证: 28 | 29 | ``` 30 | grpck //必须以管理员身份运行 31 | grpck /etc/group /etc/gshadow //后面两句一样,如果没有输出信息,则表示没有错误。 32 | ``` 33 | 34 | 测试错误的实例: 35 | 36 | ``` 37 | **echo check_user:x: >> /etc/group //添加一行错误的格式数据 38 | cat /etc/group | grep check_user** 39 | check_user:x: //这儿GID字段为空,是错误的。 40 | 41 | **grpck /etc/group** 42 | invalid group file entry 43 | delete line 'check_user:x:'? y //提示是否删除 44 | grpck: the files have been updated //这时已经删除了错误的行,提示文件已经更新。 45 | 46 | **cat /etc/group | grep check_user //没有查到,已经删除了。** 47 | ``` 48 | 49 | 50 | -------------------------------------------------------------------------------- /command/grpconv.md: -------------------------------------------------------------------------------- 1 | grpconv 2 | === 3 | 4 | 用来开启群组的投影密码 5 | 6 | ## 补充说明 7 | 8 | **grpconv命令** 用来开启群组的投影密码。Linux系统里的用户和群组密码,分别存放在`/etc`目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。 9 | 10 | ### 语法 11 | 12 | ``` 13 | grpconv 14 | ``` 15 | 16 | ### 实例 17 | 18 | 设置cdy组密码 19 | 20 | ``` 21 | groupmod --password 123456 cdy 22 | cat /etc/group | grep cdy 23 | cdy:123456:1000: //看出密码是123456 24 | ``` 25 | 26 | 启动影子系统 27 | 28 | ``` 29 | grpconv 30 | cat /etc/group | grep cdy 31 | cdy:x:1000: //看出密码段已经被x替代 32 | 33 | cat /etc/gshadow | grep cdy 34 | cdy:123456:: //已经移到影子文件了 35 | ``` 36 | 37 | 注:gshadow, shadow只有root权限才可以查看。 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/grpunconv.md: -------------------------------------------------------------------------------- 1 | grpunconv 2 | === 3 | 4 | 用来关闭群组的投影密码 5 | 6 | ## 补充说明 7 | 8 | **grpunconv命令** 用来关闭群组的投影密码。它会把密码从gshadow文件内,回存到group文件里。 9 | 10 | ### 语法 11 | 12 | ``` 13 | grpunconv 14 | ``` 15 | 16 | ### 实例 17 | 18 | 未关闭的情况 19 | 20 | ``` 21 | cat /etc/gshadow | grep cdy 22 | cdy:123456:: 23 | ``` 24 | 25 | 关闭影子密码 26 | 27 | ``` 28 | cat /etc/gshadow 29 | cat: /etc/gshadow: 没有那个文件或目录 30 | ``` 31 | 32 | 查看密码已经复制到`/etc/group`中了。 33 | 34 | ``` 35 | cat /etc/group | grep cdy 36 | cdy:123456:1000: 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/gzexe.md: -------------------------------------------------------------------------------- 1 | gzexe 2 | === 3 | 4 | 用来压缩可执行文件 5 | 6 | ## 补充说明 7 | 8 | **gzexe命令** 用来压缩可执行文件,压缩后的文件仍然为可执行文件,在执行时进行自动解压缩。当您去执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。这个命令也可以看成是gunzip命令的一个扩展。 9 | 10 | ### 语法 11 | 12 | ``` 13 | gzexe(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:解压缩被gzexe压缩过的可执行文件。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 文件:指定需要压缩的可执行文件。 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/halt.md: -------------------------------------------------------------------------------- 1 | halt 2 | === 3 | 4 | 关闭正在运行的Linux操作系统 5 | 6 | ## 补充说明 7 | 8 | **halt命令** 用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。 9 | 10 | ### 语法 11 | 12 | ``` 13 | halt(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:不要在wtmp中记录; 20 | -f:不论目前的runlevel为何,不调用shutdown即强制关闭系统; 21 | -i:在halt之前,关闭全部的网络界面; 22 | -n:halt前,不用先执行sync; 23 | -p:halt之后,执行poweroff; 24 | -w:仅在wtmp中记录,而不实际结束系统。 25 | ``` 26 | 27 | ### 实例 28 | 29 | ``` 30 | halt -p //关闭系统后关闭电源。 31 | halt -d //关闭系统,但不留下纪录。 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/head.md: -------------------------------------------------------------------------------- 1 | head 2 | === 3 | 4 | 在屏幕上显示指定文件的开头若干行 5 | 6 | ## 补充说明 7 | 8 | **head命令** 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。 9 | 10 | ### 语法 11 | 12 | ``` 13 | head(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n<数字>:指定显示头部内容的行数; 20 | -c<字符数>:指定显示头部内容的字符数; 21 | -v:总是显示文件名的头信息; 22 | -q:不显示文件名的头信息。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件列表:指定显示头部内容的文件列表。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/hostid.md: -------------------------------------------------------------------------------- 1 | hostid 2 | === 3 | 4 | 用来打印当前主机的数字化标识 5 | 6 | ## 补充说明 7 | 8 | **hostid命令** 用于打印当前主机的十六进制数字标识。是主机的唯一标识,是被用来限时软件的使用权限,不可改变。 9 | 10 | ### 语法 11 | 12 | ``` 13 | hostid 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示帮助信息; 20 | --version:显示版本信息。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | [root@localhost ~]# hostid 27 | 007f0100 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/hostname.md: -------------------------------------------------------------------------------- 1 | hostname 2 | === 3 | 4 | 显示和设置系统的主机名 5 | 6 | ## 补充说明 7 | 8 | **hostname命令** 用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改`/etc/hosts`和`/etc/sysconfig/network`的相关内容。 9 | 10 | ### 语法 11 | 12 | ``` 13 | hostname(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:详细信息模式; 20 | -a:显示主机别名; 21 | -d:显示DNS域名; 22 | -f:显示FQDN名称; 23 | -i:显示主机的ip地址; 24 | -s:显示短主机名称,在第一个点处截断; 25 | -y:显示NIS域名。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 主机名:指定要设置的主机名。 31 | 32 | ### 实例 33 | 34 | ``` 35 | [root@AY1307311912260196fcZ ~]# hostname 36 | AY1307311912260196fcZ 37 | 38 | # change hostname 39 | hostname newname # for now 40 | vi /etc/hosts # forever 41 | reboot 42 | ``` 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/htdigest.md: -------------------------------------------------------------------------------- 1 | htdigest 2 | === 3 | 4 | Apache服务器内置工具 5 | 6 | ## 补充说明 7 | 8 | **htdigest命令** 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用于摘要认证的密码文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | htdigest(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:创建密码文件。 20 | ``` 21 | 22 | ### 参数 23 | 24 | * 密码文件:指定要创建或更新的密码文件; 25 | * 域:指定用户名所属的域; 26 | * 用户名:要创建或者更新的用户名。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/iconv.md: -------------------------------------------------------------------------------- 1 | iconv 2 | === 3 | 4 | 转换文件的编码方式 5 | 6 | ## 补充说明 7 | 8 | **iconv命令** 是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行。JDK中也提供了类似的工具native2ascii。Linux下的iconv开发库包括iconv_open,iconv_close,iconv等C函数,可以用来在C/C++程序中很方便的转换字符编码,这在抓取网页的程序中很有用处,而iconv命令在调试此类程序时用得着。 9 | 10 | ### 语法 11 | 12 | ``` 13 | iconv -f encoding [-t encoding] [inputfile]... 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f encoding :把字符从encoding编码开始转换。 20 | -t encoding :把字符转换到encoding编码。 21 | -l :列出已知的编码字符集合 22 | -o file :指定输出文件 23 | -c :忽略输出的非法字符 24 | -s :禁止警告信息,但不是错误信息 25 | --verbose :显示进度信息 26 | -f和-t所能指定的合法字符在-l选项的命令里面都列出来了。 27 | ``` 28 | 29 | ### 实例 30 | 31 | 列出当前支持的字符编码:  32 | 33 | ``` 34 | iconv -l 35 | ``` 36 | 37 | 将文件file1转码,转后文件输出到fil2中:  38 | 39 | ``` 40 | iconv file1 -f EUC-JP-MS -t UTF-8 -o file2 41 | ``` 42 | 43 | 这里,没`-o`那么会输出到标准输出。 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/ifcfg.md: -------------------------------------------------------------------------------- 1 | ifcfg 2 | === 3 | 4 | 置Linux中的网络接口参数 5 | 6 | ## 补充说明 7 | 8 | **ifcfg命令** 是一个Bash脚本程序,用来设置Linux中的网络接口参数。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ifcfg(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | ``` 19 | 网络接口:指定要操作的网络接口; 20 | add/del:添加或删除网络接口上的地址; 21 | ip地址:指定IP地址和子网掩码; 22 | Stop:停用指定的网络接口的IP地址。 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /command/ifdown.md: -------------------------------------------------------------------------------- 1 | ifdown 2 | === 3 | 4 | 禁用指定的网络接口 5 | 6 | ## 补充说明 7 | 8 | **ifdown命令** 用于禁用指定的网络接口。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ifdown(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 网络接口:要禁用的网络接口。 19 | 20 | ### 实例 21 | 22 | ``` 23 | ifdown eth0 #禁用eth0 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/ifup.md: -------------------------------------------------------------------------------- 1 | ifup 2 | === 3 | 4 | 激活指定的网络接口 5 | 6 | ## 补充说明 7 | 8 | **ifup命令** 用于激活指定的网络接口。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ifup(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 网络接口:要激活的网络接口。 19 | 20 | ### 实例 21 | 22 | ``` 23 | ifup eth0 #激活eth0 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/init.md: -------------------------------------------------------------------------------- 1 | init 2 | === 3 | 4 | init进程是所有Linux进程的父进程 5 | 6 | ## 补充说明 7 | 8 | **init命令** 是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | init(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:不执行相关脚本而直接进入单用户模式; 20 | -s:切换到单用户模式。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 运行等级:指定Linux系统要切换到的运行等级。 26 | 27 | ### 实例 28 | 29 | 几个常用的命令 30 | 31 | 查看系统进程命令:`ps -ef | head` 32 | 查看init的配置文件:`more /etc/inittab` 33 | 查看系统当前运行的级别:`runlevel` 34 | 35 | **运行级别** 36 | 37 | 到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。你也可以在`/etc/inittab`中查看它的英文介绍。 38 | 39 | ``` 40 | #0 停机(千万不能把initdefault 设置为0) 41 | #1 单用户模式 42 | #2 多用户,没有 NFS(和级别3相似,会停止部分服务) 43 | #3 完全多用户模式 44 | #4 没有用到 45 | #5 x11(Xwindow) 46 | #6 重新启动(千万不要把initdefault 设置为6) 47 | ``` 48 | 49 | 50 | -------------------------------------------------------------------------------- /command/insmod.md: -------------------------------------------------------------------------------- 1 | insmod 2 | === 3 | 4 | 将给定的模块加载到内核中 5 | 6 | ## 补充说明 7 | 8 | **insmod命令** 用于将给定的模块加载到内核中。Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | insmod(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入; 20 | -k:将模块设置为自动卸除; 21 | -m:输出模块的载入信息; 22 | -o<模块名称>:指定模块的名称,可使用模块文件的文件名; 23 | -p:测试模块是否能正确地载入kernel; 24 | -s:将所有信息记录在系统记录文件中; 25 | -v:执行时显示详细的信息; 26 | -x:不要汇出模块的外部符号; 27 | -X:汇出模块所有的外部符号,此为预设置。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 内核模块:指定要加载的内核模块文件。 33 | 34 | ### 实例 35 | 36 | 加载RAID1阵列级别模块,如下所示: 37 | 38 | ``` 39 | [root@localhost boot]# insmod /lib/modules/2.6. 40 | 18-8.el5/kernel/drivers/md/raid1.ko 41 | 42 | [root@localhost boot]# lsmod | grep raid1 43 | raid1 25153 0 44 | ``` 45 | 46 | 从以上显示结果可知,RAID1模块已加载成功。只是在使用insmod命令加载模块时,需要使用绝对路径方能加载,且加载时无法自动解决依赖关系。 47 | 48 | 49 | -------------------------------------------------------------------------------- /command/ip6tables-restore.md: -------------------------------------------------------------------------------- 1 | ip6tables-restore 2 | === 3 | 4 | 还原ip6tables表 5 | 6 | ## 补充说明 7 | 8 | **ip6tables-restore命令** 用来还原ip6tables表。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ip6tables-restore(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:指定在还原iptables表时,还原当前的数据包计数器和字节计数器值; 20 | -t:指定要还原的表的名称。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/ip6tables-save.md: -------------------------------------------------------------------------------- 1 | ip6tables-save 2 | === 3 | 4 | 保存ip6tables表配置 5 | 6 | ## 补充说明 7 | 8 | **ip6tables-save命令** 将Linux内核中ip6tables表导出到标准输出设备上。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ip6tables-save(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:指定在保存iptables表时,保存当前的数据包计数器和字节计数器值; 20 | -t:指定要保存的表的名称。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/ipcalc.md: -------------------------------------------------------------------------------- 1 | ipcalc 2 | === 3 | 4 | 简单的IP地址计算器 5 | 6 | ## 补充说明 7 | 8 | **ipcalc命令** 是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ipcalc(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:由给定的IP地址和网络掩码计算出广播地址; 20 | -h:显示给定UP地址所对应的主机名; 21 | -m:由给定的IP地址计算器网络掩码; 22 | -p:显示给定的掩码或IP地址的前缀; 23 | -n:由给定的IP地址和网络掩码计算网络地址; 24 | -s:安静模式; 25 | --help:显示帮助信息。 26 | ``` 27 | 28 | ### 实例 29 | 30 | ``` 31 | [root@localhost ~]# ipcalc -p 192.168.2.1 255.255.255.0 32 | PREFIX=24 33 | 34 | [root@localhost ~]# ipcalc -n 192.168.2.1 255.255.255.0 35 | NETWORK=192.168.2.0 36 | 37 | [root@localhost ~]# ipcalc -h 127.0.0.1 38 | hostname=localhost.localdomain 39 | 40 | [root@localhost ~]# ipcalc -m 192.168.2.1 41 | NETMASK=255.255.255.0 42 | 43 | [root@localhost ~]# ipcalc -pnbm 192.168.2.1 255.255.255.0 44 | NETMASK=255.255.255.0 45 | PREFIX=24 46 | BROADCAST=192.168.2.255 47 | NETWORK=192.168.2.0 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/ipcrm.md: -------------------------------------------------------------------------------- 1 | ipcrm 2 | === 3 | 4 | 删除消息队列、信号集、或者共享内存标识 5 | 6 | ## 补充说明 7 | 8 | **ipcrm命令** 用来删除一个或更多的消息队列、信号量集或者共享内存标识。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q MessageID ] [ -Q MessageKey ] [ -s SemaphoreID ] [ -S SemaphoreKey ] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -m SharedMemory id 删除共享内存标识 SharedMemoryID。与 SharedMemoryID 有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除。 20 | -M SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除。 21 | -q MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构。 22 | -Q MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构。 23 | -s SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构。 24 | -S SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构。 25 | ``` 26 | 27 | msgctl、shmctl 和 semctl 子例程提供了删除操作的细节。标识和关键字可以用 ipcs 命令找到。 28 | 29 | ### 示例 30 | 31 | 如果要删除和 SharedMemoryID 18602 相关的共享内存段,请输入: 32 | 33 | ``` 34 | ipcrm -m 18602 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/ipcs.md: -------------------------------------------------------------------------------- 1 | ipcs 2 | === 3 | 4 | 分析消息队列共享内存和信号量 5 | 6 | ## 补充说明 7 | 8 | **ipcs命令** 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ipcs(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:显示全部可显示的信息; 20 | -q:显示活动的消息队列信息; 21 | -m:显示活动的共享内存信息; 22 | -s:显示活动的信号量信息。 23 | ``` 24 | 25 | ### 实例 26 | 27 | ``` 28 | ipcs -a 29 | ------ Shared Memory Segments -------- 30 | key shmid owner perms bytes nattch status 31 | 0x7401833d 2654208 root 600 4 0 32 | 0x00000000 3145729 root 600 4194304 9 dest 33 | 0x7401833c 2621442 root 600 4 0 34 | 0xd201012b 3080195 root 600 1720 2 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/iptables-restore.md: -------------------------------------------------------------------------------- 1 | iptables-restore 2 | === 3 | 4 | 还原iptables表的配置 5 | 6 | ## 补充说明 7 | 8 | **iptables-restore命令** 用来还原iptables-save命令所备份的iptables配置。 9 | 10 | ### 语法 11 | 12 | ``` 13 | iptables-restor(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值; 20 | -t:指定要还原表的名称。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | iptables-restor < iptables.bak 27 | ``` 28 | 29 | iptables.bak是iptables-save命令所备份的文件。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/iptables-save.md: -------------------------------------------------------------------------------- 1 | iptables-save 2 | === 3 | 4 | 备份iptables的表配置 5 | 6 | ## 补充说明 7 | 8 | **iptables-save命令** 用于将linux内核中的iptables表导出到标准输出设备商,通常,使用shell中I/O重定向功能将其输出保存到指定文件中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | iptables-save(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:指定要保存的iptables表时,保存当权的数据包计算器和字节计数器的值; 20 | -t:指定要保存的表的名称。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | [root@localhost ~]# iptables-save -t filter > iptables.bak 27 | [root@localhost ~]# cat iptables.bak 28 | # Generated by iptables-save v1.3.5 on Thu Dec 26 21:25:15 2013 29 | *filter 30 | :INPUT DROP [48113:2690676] 31 | :FORWARD accept [0:0] 32 | :OUTPUT ACCEPT [3381959:1818595115] 33 | -A INPUT -i lo -j ACCEPT 34 | -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 35 | -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 36 | -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 37 | -A INPUT -p icmp -j ACCEPT 38 | -A OUTPUT -o lo -j ACCEPT 39 | COMMIT 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/iptraf.md: -------------------------------------------------------------------------------- 1 | iptraf 2 | === 3 | 4 | 实时地监视网卡流量 5 | 6 | ## 补充说明 7 | 8 | **iptraf命令** 可以实时地监视网卡流量,可以生成网络协议数据包信息、以太网信息、网络节点状态和ip校验和错误等信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | iptraf(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -i网络接口:立即在指定网络接口上开启IP流量监视; 20 | -g:立即开始生成网络接口的概要状态信息; 21 | -d网络接口:在指定网络接口上立即开始监视明细的网络流量信息; 22 | -s网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息; 23 | -z网络接口:在指定网络接口上显示包计数; 24 | -l网络接口:在指定网络接口上立即开始监视局域网工作站信息; 25 | -t时间:指定iptraf指令监视的时间; 26 | -B;将标注输出重新定向到“/dev/null”,关闭标注输入,将程序作为后台进程运行; 27 | -f:清空所有计数器; 28 | -h:显示帮助信息。 29 | ``` 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/iptstate.md: -------------------------------------------------------------------------------- 1 | iptstate 2 | === 3 | 4 | 显示iptables的工作状态 5 | 6 | ## 补充说明 7 | 8 | **iptstate命令** 以top指令类似的风格时显示Linux内核中iptables的工作状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | iptstate(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:指定输出信息的排序规则; 20 | -d:不动态地改变窗口大小; 21 | -f:过滤本地回送信息; 22 | -l:将ip地址解析为域名; 23 | -L:隐藏于DNS查询相关状态; 24 | -r:指定刷新屏幕的频率; 25 | -R:反序排列; 26 | -s:单次运行模式; 27 | -t:显示汇总信息。 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/ispell.md: -------------------------------------------------------------------------------- 1 | ispell 2 | === 3 | 4 | 检查文件中出现的拼写错误 5 | 6 | ## 补充说明 7 | 8 | **ispell命令** 用于检查文件中出现的拼写错误。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ispell(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定要进行拼写检查的文件。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/jobs.md: -------------------------------------------------------------------------------- 1 | jobs 2 | === 3 | 4 | 显示Linux中的任务列表及任务状态 5 | 6 | ## 补充说明 7 | 8 | **jobs命令** 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。 9 | 10 | 在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 11 | 12 | ### 语法 13 | 14 | ``` 15 | jobs(选项)(参数) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -l:显示进程号; 22 | -p:仅任务对应的显示进程号; 23 | -n:显示任务状态的变化; 24 | -r:仅输出运行状态(running)的任务; 25 | -s:仅输出停止状态(stoped)的任务。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 任务标识号:指定要显示的任务识别号。 31 | 32 | ### 实例 33 | 34 | 使用jobs命令显示当前系统的任务列表,输入如下命令: 35 | 36 | ``` 37 | jobs -l #显示当前系统的任务列表 38 | ``` 39 | 40 | 上面的命令执行后,将显示出当前系统下的任务列表信息,具体如下所示: 41 | 42 | ``` 43 | [1] + 1903 运行中 find / -name password & 44 | ``` 45 | 46 | 注意:要得到以上输出信息,必须在执行jobs命令之前执行命令`find / -name password &`。否则,执行jobs命令不会显示任何信息。 47 | 48 | 其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令。 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/joe.md: -------------------------------------------------------------------------------- 1 | joe 2 | === 3 | 4 | 强大的纯文本编辑器 5 | 6 | ## 补充说明 7 | 8 | **joe命令** 是一款功能强大的纯文本编辑器,拥有众多编写程序和文本的优良特性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | joe(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -force:强制在最后一行的结尾处加上换行符号; 20 | -lines<行数>:设置行数; 21 | -lightoff:选取的区块在执行完区块命令后,就会恢复成原来的状态; 22 | -autoindent:自动缩排; 23 | -backpath:<目录>:指定备份文件的目录; 24 | -beep:编辑时,若有错误即发出哔声; 25 | -columns<栏位>:设置栏数; 26 | -csmode:可执行连续查找模式; 27 | -dopadding:是程序跟tty间存在缓冲区; 28 | -exask:在程序中,执行“Ctrl+k+x”时,会先确认是否要保存文件; 29 | -force:强制在最后一行的结尾处加上换行符号; 30 | -help:执行程序时一并显示帮助; 31 | -keepup:在进入程序后,画面上方为状态列; 32 | -marking:在选取区块时,反白区块会随着光标移动; 33 | -mid:当光标移出画面时,即自动卷页,使光标回到中央; 34 | -nobackups:不建立备份文件; 35 | -nonotice:程序执行时,不显示版本信息; 36 | -nosta:程序执行时,不显示状态列; 37 | -noxon:尝试取消“Ctrl+s”和“Ctrl+q”键的功能; 38 | -orphan:若同时开启一个以上的文件,则其他文件会置于独立的缓冲区,而不会另外开启编辑区; 39 | -pg<行数>:按“PageUp”或“PageDown”换页时,所要保留前一页的行数; 40 | -skiptop<行数>:不使用屏幕上方指定的行数。 41 | ``` 42 | 43 | ### 参数 44 | 45 | 文件:指定要编辑的文件。 46 | 47 | 48 | -------------------------------------------------------------------------------- /command/join.md: -------------------------------------------------------------------------------- 1 | join 2 | === 3 | 4 | 两个文件中指定栏位内容相同的行连接起来 5 | 6 | ## 补充说明 7 | 8 | **join命令** 用来将两个文件中,制定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。 9 | 10 | ### 语法 11 | 12 | ``` 13 | join(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a<1或2>:除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行; 20 | -e<字符串>:若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串; 21 | -i或--ignore-case:比较栏位内容时,忽略大小写的差异; 22 | -o<格式>:按照指定的格式来显示结果; 23 | -t<字符>:使用栏位的分割字符; 24 | -v<1或2>:更-a相同,但是只显示文件中没有相同栏位的行; 25 | -1<栏位>:连接[文件1]指定的栏位; 26 | -2<栏位>:连接[文件2]指定的栏位。 27 | ``` 28 | 29 | ### 参数 30 | 31 | * 文件1:要进行合并操作的第1个文件参数; 32 | * 文件2:要进行合并操作的第2个文件参数。 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/kernelversion.md: -------------------------------------------------------------------------------- 1 | kernelversion 2 | === 3 | 4 | 打印当前内核的主版本号 5 | 6 | ## 补充说明 7 | 8 | **kernelversion命令** 用于打印当前内核的主版本号。 9 | 10 | ### 语法 11 | 12 | ``` 13 | kernelversion 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /command/kexec.md: -------------------------------------------------------------------------------- 1 | kexec 2 | === 3 | 4 | 从当前正在运行的内核引导到一个新内核 5 | 6 | ## 补充说明 7 | 8 | **kexec命令** 是Linux内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核。在上面描述的引导序列中,kexec跳过了整个引导装载程序阶段(第一部分)并直接跳转到我们希望引导到的内核。不再有硬件的重启,不再有固件操作,不再涉及引导装载程序。完全避开了引导序列中最弱的一环 -- 固件。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动。 9 | 10 | **kexec的好处:** 要求高可用性的系统,以及需要不断重新启动系统的内核开发人员,都将受益于kexec。因为 kexec跳过了系统重新启动过程中最耗时的部分(也就是固件初始化硬件设备的阶段),所以重新启动变得非常快,可用性得到了提高。 11 | 12 | ### 语法 13 | 14 | ``` 15 | kexec(选项) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -l:指定内核映像文件; 22 | -e:允许当前被加载的内核; 23 | -f:强制立即调用系统调用“kexec”,而不调用“shutdown”; 24 | -t:指定新内核的类型; 25 | -u:卸载当前的kexec目标内核。 26 | ``` 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/killall.md: -------------------------------------------------------------------------------- 1 | killall 2 | === 3 | 4 | 使用进程的名称来杀死一组进程 5 | 6 | ## 补充说明 7 | 8 | **killall命令** 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | killall(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -e:对长名称进行精确匹配; 20 | -l:忽略大小写的不同; 21 | -p:杀死进程所属的进程组; 22 | -i:交互式杀死进程,杀死进程前需要进行确认; 23 | -l:打印所有已知信号列表; 24 | -q:如果没有进程被杀死。则不输出任何信息; 25 | -r:使用正规表达式匹配要杀死的进程名称; 26 | -s:用指定的进程号代替默认信号“SIGTERM”; 27 | -u:杀死指定用户的进程。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 进程名称:指定要杀死的进程名称。 33 | 34 | ### 实例 35 | 36 | 杀死所有同名进程 37 | 38 | ``` 39 | killall vi 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/ld.md: -------------------------------------------------------------------------------- 1 | ld 2 | === 3 | 4 | 将目标文件连接为可执行程序 5 | 6 | ## 补充说明 7 | 8 | **ld命令** 是GNU的连接器,将目标文件连接为可执行程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ld(选项)(参数) 14 | ld [options] objfile ... 15 | ``` 16 | 17 | ### 选项 18 | 19 | ``` 20 | -o:指定输出文件名; 21 | -e:指定程序的入口符号。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 目标文件:指定需要连接的目标文件。 27 | 28 | ### 实例 29 | 30 | 这告诉ld通过将文件“/lib/crt0.o”与“hello.o”和库“libc.a”链接起来,生成一个名为output的文件,该文件将来自标准搜索目录。 31 | 32 | ```bash 33 | ld -o /lib/crt0.o hello.o -lc 34 | ld -o output /lib/crt0.o hello.o -lc 35 | ``` 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/less.md: -------------------------------------------------------------------------------- 1 | less 2 | === 3 | 4 | 分屏上下翻页浏览文件内容 5 | 6 | ## 补充说明 7 | 8 | **less命令** 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。 9 | 10 | ### 语法 11 | 12 | ``` 13 | less(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -e:文件内容显示完毕后,自动退出; 20 | -f:强制显示文件; 21 | -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; 22 | -l:搜索时忽略大小写的差异; 23 | -N:每一行行首显示行号; 24 | -s:将连续多个空行压缩成一行显示; 25 | -S:在单行显示较长的内容,而不换行显示; 26 | -x<数字>:将TAB字符显示为指定个数的空格字符。 27 | ``` 28 | 29 | ### 参数 30 | 31 | 文件:指定要分屏显示内容的文件。 32 | 33 | ## 实例 34 | 35 | ```bash 36 | sudo less /var/log/shadowsocks.log 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/let.md: -------------------------------------------------------------------------------- 1 | let 2 | === 3 | 4 | 简单的计算器 5 | 6 | ## 补充说明 7 | 8 | **let命令** 是bash中用于计算的工具,提供常用运算符还提供了方幂`**`运算符。在变量的房屋计算中不需要加上`$`来表示变量,如果表达式的值是非0,那么返回的状态值是0;否则,返回的状态值是1。 9 | 10 | ### 语法 11 | 12 | ``` 13 | let arg [arg ...] #arg代表运算式 14 | ``` 15 | 16 | ### 用法 17 | 18 | 自加操作`let no++` 19 | 自减操作`let no--` 20 | 简写形式`let no+=10`,`let no-=20`,分别等同于`let no=no+10,``let no=no-20` 21 | 22 | ### 实例 23 | 24 | ``` 25 | #!/bin/bash 26 | let a=5+4 b=9-3 27 | echo $a $b 28 | ``` 29 | 30 | ``` 31 | #!/bin/bash 32 | let "t1 = ((a = 5 + 3, b = 7 - 1, c = 15 - 4))" 33 | echo "t1 = $t1, a = $a, b = $b" 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/lftpget.md: -------------------------------------------------------------------------------- 1 | lftpget 2 | === 3 | 4 | 调用lftp指令下载指定的文件 5 | 6 | ## 补充说明 7 | 8 | **lftpget命令** 通过调用lftp指令下载指定的文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lftpget(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:继续先前的下载; 20 | -d:输出调试信息; 21 | -v:输出详细信息。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定要下载的文件,文件必须是合法的URL路径。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/lnstat.md: -------------------------------------------------------------------------------- 1 | lnstat 2 | === 3 | 4 | 显示Linux系统的网路状态 5 | 6 | ## 补充说明 7 | 8 | **lnstat命令** 用来显示Linux系统的网路状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lnstat(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:显示帮助信息; 20 | -V:显示指令版本信息; 21 | -c:指定显示网络状态的次数,每隔一定时间显示一次网络状态; 22 | -d:显示可用的文件或关键字; 23 | -i:指定两次显示网络状的间隔秒数; 24 | -k:只显示给定的关键字; 25 | -s:是否显示标题头; 26 | -w:指定每个字段所占的宽度。 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/login.md: -------------------------------------------------------------------------------- 1 | login 2 | === 3 | 4 | 登录系统或切换用户身份 5 | 6 | ## 补充说明 7 | 8 | **login命令** 用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在命令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当`/etc/nologin`文件存在时,系统只root帐号登入系统,其他用户一律不准登入。 9 | 10 | ### 语法 11 | 12 | ``` 13 | login(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -p:告诉login指令不销毁环境变量; 20 | -h:指定远程服务器的主机名。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 用户名:指定登录使用的用户名。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/logname.md: -------------------------------------------------------------------------------- 1 | logname 2 | === 3 | 4 | 用来显示用户名称 5 | 6 | ## 补充说明 7 | 8 | **logname命令** 用来显示用户名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | logname(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:在线帮助; 20 | --vesion:显示版本信息。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/logout.md: -------------------------------------------------------------------------------- 1 | logout 2 | === 3 | 4 | 退出当前登录的Shell 5 | 6 | ## 补充说明 7 | 8 | **logout命令** 用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。 9 | 10 | ### 语法 11 | 12 | ``` 13 | logout 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /command/logrotate.md: -------------------------------------------------------------------------------- 1 | logrotate 2 | === 3 | 4 | 统日志进行轮转、压缩和删除 5 | 6 | ## 补充说明 7 | 8 | **logrotate命令** 用于对系统日志进行轮转、压缩和删除,也可以将日志发送到指定邮箱。使用logrotate指令,可让你轻松管理系统所产生的记录文件。每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。您必须自行编辑,指定配置文件,预设的配置文件存放在`/etc/logrotate.conf`文件中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | logrotate(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -?或--help:在线帮助; 20 | -d或--debug:详细显示指令执行过程,便于排错或了解程序执行的情况; 21 | -f或--force :强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然; 22 | -s<状态文件>或--state=<状态文件>:使用指定的状态文件; 23 | -v或--version:显示指令执行过程; 24 | -usage:显示指令基本用法。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 配置文件:指定lograote指令的配置文件。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/logsave.md: -------------------------------------------------------------------------------- 1 | logsave 2 | === 3 | 4 | 将命令的输出信息保存到指定的日志文件 5 | 6 | ## 补充说明 7 | 8 | **logsave命令** 运行给定的命令,并将命令的输出信息保存到指定的日志文件中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | logsave(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:追加信息到指定的日志文件中。 20 | ``` 21 | 22 | ### 参数 23 | 24 | * 日志文件:指定记录运行信息的日志文件; 25 | * 指令:需要执行的指令。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/look.md: -------------------------------------------------------------------------------- 1 | look 2 | === 3 | 4 | 显示文件中以指定字符串开头的任意行 5 | 6 | ## 补充说明 7 | 8 | **look命令** 用于显示文件中以指定字符串开头的任意行。 9 | 10 | ### 语法 11 | 12 | ``` 13 | look(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:使用另一个字典文件web2,该文件也位于/usr/dict目录下; 20 | -d:只对比英文字母和数字,其余一概忽略不予比对; 21 | -f:忽略字符大小写差别; 22 | -t<字尾字符串>:设置字尾字符串。 23 | ``` 24 | 25 | ### 参数 26 | 27 | * 字符串:指定要查找的字符串; 28 | * 文件:指定要查找的目标文件。 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/lpadmin.md: -------------------------------------------------------------------------------- 1 | lpadmin 2 | === 3 | 4 | 配置CUPS套件中的打印机和类 5 | 6 | ## 补充说明 7 | 8 | **lpadmin命令** 用于配置CUPS套件中的打印机和类,也被用来设置打印服务器默认打印机。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lpadmin(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:将打印机加入类; 20 | -i:为打印机设置“system V”风格的接口脚本; 21 | -m:从mode目录设置一个标准的“system V”接口脚本或“PPD”文件; 22 | -o:为“PPD”或服务器设置选项; 23 | -r:从类中删除打印机; 24 | -u:设置打印机用户级的访问控制; 25 | -D:为打印机提供一个文字描述; 26 | -E:允许打印机接受打印任务; 27 | -L:为打印机位置提供一个文字描述; 28 | -P:为打印机指定一个ppd描述文件; 29 | -p:指定要配置的打印机名称; 30 | -d:设置默认打印机。 31 | ``` 32 | 33 | ### 参数 34 | 35 | 打印机:指定要配置的打印机的名称。 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/lpc.md: -------------------------------------------------------------------------------- 1 | lpc 2 | === 3 | 4 | 命令行方式打印机控制程序 5 | 6 | ## 补充说明 7 | 8 | **lpc命令** 式命令行方式打印机控制程序,有5个内置命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lpc 14 | ``` 15 | 16 | ### 实例 17 | 18 | ``` 19 | [root@localhost ~]# lpc 20 | lpc> ? 21 | 命令可能是缩写。命令是: 22 | 23 | exit help quit status ? 24 | lpc> exit 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/lpq.md: -------------------------------------------------------------------------------- 1 | lpq 2 | === 3 | 4 | 显示打印队列中的打印任务的状态信息 5 | 6 | ## 补充说明 7 | 8 | **lpq命令** 用于显示打印队列中的打印任务的状态信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lpq(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:强制使用加密方式与服务器连接; 20 | -P:显示中的打印机上的打印队列状态;; 21 | -U:自动可选的用户名; 22 | -a:报告所有打印机的定义任务; 23 | -h:指定打印服务器信息; 24 | -l:使用长格式输出; 25 | +:指定显示状态的间隔时间。 26 | ``` 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/lpr.md: -------------------------------------------------------------------------------- 1 | lpr 2 | === 3 | 4 | 将文件发送给指定打印机进行打印 5 | 6 | ## 补充说明 7 | 8 | **lpr命令** 用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lpr(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:与打印服务器连接时强制使用加密; 20 | -H:指定可选的打印服务器; 21 | -C:指定打印任务的名称; 22 | -P:指定接受打印任务的目标打印机; 23 | -U:指定可选的用户名; 24 | -#:指定打印的份数; 25 | -h:关闭banner打印; 26 | -m:打印完成后发送E-mail; 27 | -r:打印完成后删除文件。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 文件:需打印的文件。 33 | 34 | ### 实例 35 | 36 | 将man1和man2送到打印机lp进行打印: 37 | 38 | ``` 39 | lpr -P lp man1 man2 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/lprm.md: -------------------------------------------------------------------------------- 1 | lprm 2 | === 3 | 4 | 删除打印队列中的打印任务 5 | 6 | ## 补充说明 7 | 8 | **lprm命令** 用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lprm(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:与打印服务器连接时强制使用加密; 20 | -P:指定接受打印任务的目标打印机; 21 | -U:指定可选的用户名。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 打印任务:指定需删除的打印任务号。 27 | 28 | ### 实例 29 | 30 | 将打印机hpprint中的第102号任务移除: 31 | 32 | ``` 33 | lprm -Phpprint 102 34 | ``` 35 | 36 | 将第101号任务由预设打印机中移除: 37 | 38 | ``` 39 | lprm 101 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/lpstat.md: -------------------------------------------------------------------------------- 1 | lpstat 2 | === 3 | 4 | 显示CUPS中打印机的状态信息 5 | 6 | ## 补充说明 7 | 8 | **lpstat命令** 用于显示CUPS中打印机的状态信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lpstat(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:与打印机连接时加密; 20 | -R:显示打印任务的等级; 21 | -U:指定可选用户名; 22 | -a:显示接受打印任务的打印机; 23 | -c:显示打印机类; 24 | -d:显示默认打印机; 25 | -h:指定可选的服务器信息; 26 | -l:显示长格式; 27 | -p:显示指定打印机,以及打印机是否接受打印任务; 28 | -s:显示汇总信息; 29 | -t:显示所有的状态信息。 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/lsattr.md: -------------------------------------------------------------------------------- 1 | lsattr 2 | === 3 | 4 | 查看文件的第二扩展文件系统属性 5 | 6 | ## 补充说明 7 | 8 | **lsattr命令** 用于查看文件的第二扩展文件系统属性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lsattr(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。 20 | -D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。 21 | -R:递归的操作方式; 22 | -V:显示指令的版本信息; 23 | -a:列出目录中的所有文件,包括隐藏文件。 24 | ``` 25 | 26 | lsattr经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备。 27 | 28 | ### 参数 29 | 30 | 文件:指定显示文件系统属性的文件名。 31 | 32 | ### 实例 33 | 34 | ``` 35 | lsattr -E -l rmt0 -H 36 | lsattr -EO -l rmt0 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/lsb_release.md: -------------------------------------------------------------------------------- 1 | lsb_release 2 | === 3 | 4 | 显示发行版本信息 5 | 6 | ## 补充说明 7 | 8 | LSB是Linux Standard Base的缩写, **lsb_release命令** 用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。 9 | 10 | ``` 11 | -v 显示版本信息。 12 | -i 显示发行版的id。 13 | -d 显示该发行版的描述信息。 14 | -r 显示当前系统是发行版的具体版本号。 15 | -c 发行版代号。 16 | -a 显示上面的所有信息。 17 | -h 显示帮助信息。 18 | ``` 19 | 20 | 如果当前发行版是LSB兼容的,那么`/etc/lsb_release`文件中会包含LSB_VERSION域。这个域的值可以是用冒号隔开的一系列支持的模块。这些模块名是当前版本支持的LSB的模块名。如果当前版本不是LSB兼容的,就不要包含这个域。 21 | 22 | 可选的域包括DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME,DISTRIB_DESCRIPTION,它们可以覆盖`/etc/distrib-release`文件中的内容。注:这里的distrib要替换为当前的发行版的名字。如果存在`/etc/lsb-release.d`目录,会在该目录中查找文件名并作为附加的模块版本加在LSB_VERSION前面。文件`/etc/distrib-release`中包含了一些描述信息,用来说明应该分析哪些文件名。 23 | 24 |  一般的格式是`Distributor release x.x (Codename)`  注意:Debian系统中缺乏相应的描述信息(见`/etc/debian-version`),为了支持Debian系统,大部分信息都被加在了lsb-release文件中。 25 | 26 | redhat和fedora系统中,还支持一个参数: 27 | 28 | ``` 29 | -s, --short 输出简短的描述信息。 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/lvcreate.md: -------------------------------------------------------------------------------- 1 | lvcreate 2 | === 3 | 4 | 用于创建LVM的逻辑卷 5 | 6 | ## 补充说明 7 | 8 | **lvcreate命令** 用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0"。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvcreate(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 20 | -l:指定逻辑卷的大小(LE数)。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 逻辑卷:指定要创建的逻辑卷名称。 26 | 27 | ### 实例 28 | 29 | 使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | Logical volume "lvol0" created 39 | ``` 40 | 41 | 说明:创建成功后,新的逻辑卷"lvol0",将通过设备文件`/dev/vg1000/lvol0`进行访问。 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/lvdisplay.md: -------------------------------------------------------------------------------- 1 | lvdisplay 2 | === 3 | 4 | 显示逻辑卷属性 5 | 6 | ## 补充说明 7 | 8 | **lvdisplay命令** 用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvdisplay(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 逻辑卷:指定要显示属性的逻辑卷对应的设备文件。 19 | 20 | ### 实例 21 | 22 | 使用lvdisplay命令显示指定逻辑卷的属性。在命令行中输入下面的命令: 23 | 24 | ``` 25 | [root@localhost ~]# lvdisplay /dev/vg1000/lvol0 #显示逻辑卷属性 26 | ``` 27 | 28 | 输出信息如下: 29 | 30 | ``` 31 | --- Logical volume --- 32 | LV Name /dev/vg1000/lvol0 33 | ......省略部分输出内容...... 34 | Block device 253:0 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/lvextend.md: -------------------------------------------------------------------------------- 1 | lvextend 2 | === 3 | 4 | 扩展逻辑卷空间 5 | 6 | ## 补充说明 7 | 8 | **lvextend命令** 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvextend(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 20 | -l:指定逻辑卷的大小(LE数)。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 逻辑卷:指定要扩展空间的逻辑卷。 26 | 27 | ### 实例 28 | 29 | 使用lvextend命令为逻辑卷`/dev/vg1000/lvol0`增加100M空间。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# lvextend -L +100M /dev/vg1000/lvol0 #为了解决增加100M空间 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | Extending logical volume lvol0 to 300.00 MB 39 | Logical volume lvol0 successfully resized 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/lvreduce.md: -------------------------------------------------------------------------------- 1 | lvreduce 2 | === 3 | 4 | 收缩逻辑卷空间 5 | 6 | ## 补充说明 7 | 8 | **lvreduce命令** 用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvreduce(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 20 | -l:指定逻辑卷的大小(LE数)。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 逻辑卷:指定要操作的逻辑卷对应的设备文件。 26 | 27 | ### 实例 28 | 29 | 使用lvreduce命令减少指定的逻辑卷的空间大小。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# lvreduce -L -50M /dev/vg1000/lvol0 #将逻辑卷的空间大小减少50M 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | ......省略部分输出内容...... 39 | Do you really want to reduce lvol0? [y/n]: y #确认操作 40 | Reducing logical volume lvol0 to 252.00 MB 41 | Logical volume lvol0 successfully resized 42 | ``` 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/lvremove.md: -------------------------------------------------------------------------------- 1 | lvremove 2 | === 3 | 4 | 删除指定LVM逻辑卷 5 | 6 | ## 补充说明 7 | 8 | **lvremove命令** 用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvremove(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:强制删除。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 逻辑卷:指定要删除的逻辑卷。 25 | 26 | ### 实例 27 | 28 | 使用lvremove命令删除指定的逻辑卷。在命令行中输入下面的命令: 29 | 30 | ``` 31 | [root@localhost ~]# lvremove /dev/vg1000/lvol0 #删除逻辑卷"lvol0" 32 | ``` 33 | 34 | 输出信息如下: 35 | 36 | ``` 37 | Do you really want to remove active logical 38 | volume "lvol0"? [y/n]: y #确认删除 39 | Logical volume "lvol0" successfully removed 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/lvresize.md: -------------------------------------------------------------------------------- 1 | lvresize 2 | === 3 | 4 | 调整逻辑卷空间大小 5 | 6 | ## 补充说明 7 | 8 | **lvresize命令** 用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvresize(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 20 | -l:指定逻辑卷的大小(LE数)。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 逻辑卷:指定要删除的逻辑卷。 26 | 27 | ### 实例 28 | 29 | 使用lvresize命令调整最大的逻辑卷大小。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# lvresize -L +200M /dev/vg1000/lvol0 #将逻辑卷空间增加200M 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | Extending logical volume lvol0 to 280.00 MB 39 | Logical volume lvol0 successfully resized 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/lvscan.md: -------------------------------------------------------------------------------- 1 | lvscan 2 | === 3 | 4 | 扫描逻辑卷 5 | 6 | ## 补充说明 7 | 8 | **lvscan命令** 用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | lvscan(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:显示逻辑卷的主设备和次设备号。 20 | ``` 21 | 22 | ### 实例 23 | 24 | 使用lvscan命令扫描系统中的所有逻辑卷。在命令行中输入下面的命令: 25 | 26 | ``` 27 | [root@localhost ~]# lvscan #扫描所有的逻辑卷 28 | ``` 29 | 30 | 输出信息如下: 31 | 32 | ``` 33 | ACTIVE '/dev/vg1000/lvol0' [200.00 MB] inherit 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/mailq.md: -------------------------------------------------------------------------------- 1 | mailq 2 | === 3 | 4 | 显示待发送的邮件队列 5 | 6 | ## 补充说明 7 | 8 | **mailq命令** 用户显示待发送的邮件队列,显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去,则显示发送失败的原因。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mailq(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:显示详细的信息。 20 | ``` 21 | 22 | ### 实例 23 | 24 | ``` 25 | [root@localhost ~]# mailq -v 26 | /var/spool/mqueue is empty 27 | Total requests: 0 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/mailstat.md: -------------------------------------------------------------------------------- 1 | mailstat 2 | === 3 | 4 | 显示到达的邮件状态 5 | 6 | ## 补充说明 7 | 8 | **mailstat命令** 用来显示到达的邮件状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mailstat(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -k:保持邮件日志文件的完整性,不清空日志文件; 20 | -l:使用长格式显示邮件状态; 21 | -m:合并任何错误信息到一行中显示; 22 | -o:使用老的邮件日志邮件; 23 | -t:使用简洁的格式显示邮件状态; 24 | -s:如果没有邮件则不输出任何信息。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 邮件日志文件:指定要读取邮件日志文件。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/mesg.md: -------------------------------------------------------------------------------- 1 | mesg 2 | === 3 | 4 | 设置当前终端的写权限 5 | 6 | ## 补充说明 7 | 8 | **mesg命令** 用于设置当前终端的写权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mesg(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | y/n:y表示运行向当前终端写信息,n表示禁止向当前终端写信息。 19 | 20 | ### 实例 21 | 22 | ``` 23 | [root@localhost ~]# mesg y #允许系统用户将信息直接显示在你的屏幕上。 24 | [root@localhost ~]# mesg n #不允许系统用户将信息直接显示在你的屏幕上。 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/mkbootdisk.md: -------------------------------------------------------------------------------- 1 | mkbootdisk 2 | === 3 | 4 | 可建立目前系统的启动盘 5 | 6 | ## 补充说明 7 | 8 | **mkbootdisk命令** 用来为当前运行的系统创建能够单独使用的系统引导软盘,以便在系统出现故障时能够启动操作进行适当的修复工作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mkbootdisk(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --device<设备>:指定设备; 20 | --mkinitrdargs<参数>:设置mkinitrd的参数; 21 | --noprompt:不会提示用户插入磁盘; 22 | --verbose:执行时显示详细的信息; 23 | --version:显示版本信息。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 内核:指定内核版本。 29 | 30 | ### 实例 31 | 32 | ``` 33 | mkbootdisk --device /dev/fd0 `uname -r` 34 | ``` 35 | 36 | 其中,``uname -r``是目前Linux 系统所使用的核心版本,如果你有多个核心版本的话,你以可以直接输入核心版本。例如在这个网页中所使用的核心有两个版本,一个是2.2.12-20,另一个是2.2.18,若要以2.2.18设定开机的话,可以使用: 37 | 38 | ``` 39 | mkbootdisk --device /dev/fd0 2.2.18 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/mke2fs.md: -------------------------------------------------------------------------------- 1 | mke2fs 2 | === 3 | 4 | 创建磁盘分区上的“etc2/etc3”文件系统 5 | 6 | ## 补充说明 7 | 8 | **mke2fs命令** 被用于创建磁盘分区上的“etc2/etc3”文件系统。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mke2fs(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b<区块大小>:指定区块大小,单位为字节; 20 | -c;检查是否有损坏的区块; 21 | -f<不连续区段大小>:指定不连续区段的大小,单位为字节; 22 | -F:不管指定的设备为何,强制执行mke2fs; 23 | -i<字节>:指定"字节/inode"的比例; 24 | -N:指定要建立的inode数目; 25 | -l<文件>:从指定的文件中,读取文件西中损坏区块的信息; 26 | -L<标签>:设置文件系统的标签名称; 27 | -m<百分比值>:指定给管理员保留区块的比例,预设为5%; 28 | -M:记录最后一次挂入的目录; 29 | -q:执行时不显示任何信息; 30 | -r:指定要建立的ext2文件系统版本; 31 | -R=<区块数>:设置磁盘阵列参数; 32 | -S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap; 33 | -v:执行时显示详细信息; 34 | -V:显示版本信息。 35 | ``` 36 | 37 | ### 参数 38 | 39 | * 设备文件:指定要创建的文件系统的分区设备文件名; 40 | * 块数:指定要创建的文件系统的磁盘块数量。 41 | 42 | ### 实例 43 | 44 | 创建指定的ext2文件系统。 45 | 46 | ``` 47 | mke2fs -q /dev/hda1 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/mkfs.md: -------------------------------------------------------------------------------- 1 | mkfs 2 | === 3 | 4 | 用于在设备上创建Linux文件系统 5 | 6 | ## 补充说明 7 | 8 | **mkfs命令** 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mkfs(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | fs:指定建立文件系统时的参数; 20 | -t<文件系统类型>:指定要建立何种文件系统; 21 | -v:显示版本信息与详细的使用方法; 22 | -V:显示简要的使用方法; 23 | -c:在制做档案系统前,检查该partition是否有坏轨。 24 | ``` 25 | 26 | ### 参数 27 | 28 | * 文件系统:指定要创建的文件系统对应的设备文件名; 29 | * 块数:指定文件系统的磁盘块数。 30 | 31 | ### 实例 32 | 33 | 在`/dev/hda5`上建一个msdos的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来: 34 | 35 | ``` 36 | mkfs -V -t msdos -c /dev/hda5 37 | 38 | mkfs -t ext3 /dev/sda6 //将sda6分区格式化为ext3格式 39 | mkfs -t ext2 /dev/sda7 //将sda7分区格式化为ext2格式 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/mktemp.md: -------------------------------------------------------------------------------- 1 | mktemp 2 | === 3 | 4 | 创建临时文件供shell脚本使用 5 | 6 | ## 补充说明 7 | 8 | **mktemp命令** 被用来创建临时文件供shell脚本使用。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mktemp(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -q:执行时若发生错误,不会显示任何信息; 20 | -u:暂存文件会在mktemp结束前先行删除; 21 | -d:创建一个目录而非文件。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定创建的临时文件。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/mtools.md: -------------------------------------------------------------------------------- 1 | mtools 2 | === 3 | 4 | 显示mtools支持的指令 5 | 6 | ## 补充说明 7 | 8 | **mtools命令** 显示mtools支持的指令,mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mtools(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:长文件名重复时自动更改目标文件的长文件名; 20 | -A:短文件名重复但长文件名不同时自动更改目标文件的短文件名; 21 | -o:长文件名重复时,将目标文件覆盖现有的文件; 22 | -O:短文件名重复但长文件名不同时,将目标文件覆盖现有的文件; 23 | -r:长文件名重复时,要求用户更改目标文件的长文件名; 24 | -R:短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名; 25 | -s:长文件名重复时,则不处理该目标文件; 26 | -S:短文件名重复但长文件名不同时,则不处理该目标文件; 27 | -v:执行时显示详细的说明; 28 | -V:显示版本信息。 29 | ``` 30 | 31 | ### 实例 32 | 33 | 使用mtools命令显示其支持的所有的指令,输入如下命令: 34 | 35 | ``` 36 | [root@localhost ~]# mtools #显示所有支持的指令名称 37 | Supported commands: 38 | mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree 39 | mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount 40 | mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype 41 | mwrite, mzip 42 | 43 | ``` 44 | 45 | 如上所示,其显示的所有命令均为mtools工具所支持的。 46 | 47 | 48 | -------------------------------------------------------------------------------- /command/mysql.md: -------------------------------------------------------------------------------- 1 | mysql 2 | === 3 | 4 | MySQL服务器客户端工具 5 | 6 | ## 补充说明 7 | 8 | **mysql命令** 是MySQL数据库服务器的客户端工具,它工作在命令行终端中,完成对远程MySQL数据库服务器的操作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mysql(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:MySQL服务器的ip地址或主机名; 20 | -u:连接MySQL服务器的用户名; 21 | -e:执行mysql内部命令; 22 | -p:连接MySQL服务器的密码。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 数据库:指定连接服务器后自动打开的数据库。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/mysqladmin.md: -------------------------------------------------------------------------------- 1 | mysqladmin 2 | === 3 | 4 | MySQL服务器管理客户端 5 | 6 | ## 补充说明 7 | 8 | **mysqladmin命令** 是mysql服务器管理任务的客户端工具,它可以检查mytsql服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mysqladmin(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:MySQL服务器主机名或ip地址; 20 | -u:连接MySQL服务器的用户名; 21 | -p:连接MySQL服务器的密码; 22 | --help:显示帮助信息。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 管理命令:需要在MySQL服务器上执行的管理命令。 28 | 29 | **mysqladmin支持下列命令:** 30 | 31 | ``` 32 | create databasename:创建一个新数据库; 33 | drop databasename:删除一个数据库及其所有表; 34 | extended-status:给出服务器的一个扩展状态消息; 35 | flush-hosts:清空所有缓存的主机; 36 | flush-logs:清空所有日志; 37 | flush-tables:清空所有表; 38 | flush-privileges:再次装载授权表(同reload); 39 | kill id,id,...:杀死mysql线程; 40 | password 新口令:将老密码改为新密码; 41 | ping:检查mysqld是否活着; 42 | processlist:显示服务其中活跃线程列表; 43 | reload:重载授权表; 44 | refresh:清空所有表并关闭和打开日志文件; 45 | shutdown:关掉服务器; 46 | status:给出服务器的简短状态消息; 47 | variables:打印出可用变量; 48 | version:得到服务器的版本信息。 49 | ``` 50 | 51 | 52 | -------------------------------------------------------------------------------- /command/mysqlimport.md: -------------------------------------------------------------------------------- 1 | mysqlimport 2 | === 3 | 4 | 为MySQL服务器用命令行方式导入数据 5 | 6 | ## 补充说明 7 | 8 | **mysqlimport命令** 为mysql数据库服务器提供了一种命令行方式导入数据工具,它从特定格式的文本文件中读取数据插入MySQL数据库表中。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mysqlimport(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -D:导入数据前清空表; 20 | -f:出现错误时继续处理剩余的操作; 21 | -h:MySQL服务器的ip地址或主机名; 22 | -u:连接MySQL服务器的用户名; 23 | -p:连接MySQL服务器的密码。 24 | ``` 25 | 26 | ### 参数 27 | 28 | * 数据库名:指定要导入的数据库名称; 29 | * 文本文件:包含特定格式文本文件。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/mysqlshow.md: -------------------------------------------------------------------------------- 1 | mysqlshow 2 | === 3 | 4 | 显示MySQL中数据库相关信息 5 | 6 | ## 补充说明 7 | 8 | **mysqlshow命令** 用于显示mysql服务器中数据库、表和列表信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | mysqlshow(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h:MySQL服务器的ip地址或主机名; 20 | -u:连接MySQL服务器的用户名; 21 | -p:连接MySQL服务器的密码; 22 | --count:显示每个数据表中数据的行数; 23 | -k:显示数据表的索引; 24 | -t:显示数据表的类型; 25 | -i:显示数据表的额外信息。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 数据库信息:指定要显示的数据库信息,可以是一个数据库名,或者是数据库名和表名,或者是数据库名、表名和列名。 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/named-checkzone.md: -------------------------------------------------------------------------------- 1 | named-checkzone 2 | === 3 | 4 | 使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。 5 | 6 | ## 补充说明 7 | 8 | **named-checkzone命令** 可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | named-checkzone [选项] [区域名] [区域文件名] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -q 安静模式 20 | -d 启用调试 21 | -c <类别> 指定区域的类别。如果没指定就使用IN 22 | ``` 23 | 24 | ### 例子 25 | 26 | 对区域文件/var/named/192.168.0.rev进行有效性检查和转换。 27 | 28 | ```bash 29 | [root@localhost ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev 30 | zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612 31 | OK 32 | ``` 33 | 34 | 对区域文件/var/named/sh.com.hosts进行有效性检查和转换。 35 | 36 | ```bash 37 | [root@localhost ~]# named-checkzone sh.com /var/named/sh.com.hosts 38 | zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal) 39 | zonesh.com/IN: loaded serial 1268360234 40 | OK 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/newusers.md: -------------------------------------------------------------------------------- 1 | newusers 2 | === 3 | 4 | 用于批处理的方式一次创建多个命令 5 | 6 | ## 补充说明 7 | 8 | **newusers命令** 用于批处理的方式一次创建多个命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | newusers(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 用户文件:指定包含用户信息的文本文件,文件的格式要与`/etc/passwd`相同。 19 | 20 | ### 实例 21 | 22 | 实用newusers命令批量添加用户: 23 | 24 | 用法很简单,newusers后面直接跟一个文件,文件格式和`/etc/passwd`的格式相同。 25 | 26 | ``` 27 | 用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL 28 | ``` 29 | 30 | 举例: 31 | 32 | ``` 33 | jingang0:x:520:520::/home/jingang0:/sbin/nologin 34 | jingang1:x:521:521::/home/jingang1:/sbin/nologin 35 | ...... 36 | ``` 37 | 38 | 值得一提的是关于SHELL类型,查看主机上所有SHELL,可以通过chsh来查看: 39 | 40 | ``` 41 | [root@localhost beinan]# chsh --list 42 | /bin/sh 43 | /bin/bash 44 | /sbin/nologin 45 | /bin/ksh 46 | /bin/tcsh 47 | /bin/csh 48 | /bin/zsh 49 | ``` 50 | 51 | 其中除了`/sbin/nologin`,其它类型的SHELL都能登录系统,nologin大多是虚拟用户用的SHELL,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL设置成`/sbin/nologin`,比如上面的例子。 52 | 53 | 关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档。 54 | 55 | 56 | -------------------------------------------------------------------------------- /command/nfsstat.md: -------------------------------------------------------------------------------- 1 | nfsstat 2 | === 3 | 4 | 列出NFS客户端和服务器的工作状态 5 | 6 | ## 补充说明 7 | 8 | **nfsstat命令** 用于列出NFS客户端和服务器的工作状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | nfsstat(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s:仅列出NFS服务器端状态; 20 | -c:仅列出NFS客户端状态; 21 | -n:仅列出NFS状态,默认显示nfs客户端和服务器的状态; 22 | -2:仅列出NFS版本2的状态; 23 | -3:仅列出NFS版本3的状态; 24 | -4:仅列出NFS版本4的状态; 25 | -m:打印以加载的nfs文件系统状态; 26 | -r:仅打印rpc状态。 27 | ``` 28 | 29 | ### 实例 30 | 31 | 要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息,输入: 32 | 33 | ``` 34 | nfsstat -c 35 | ``` 36 | 37 | 要显示和打印与客户机NFS调用相关的信息,输入如下命令: 38 | 39 | ``` 40 | nfsstat -cn 41 | ``` 42 | 43 | 要显示和打印客户机和服务器的与RPC调用相关的信息,输入如下命令: 44 | 45 | ``` 46 | nfsstat -r 47 | ``` 48 | 49 | 要显示关于服务器接收和拒绝的RPC和NFS调用数目的信息,输入如下命令: 50 | 51 | ``` 52 | nfsstat –s 53 | ``` 54 | 55 | 56 | -------------------------------------------------------------------------------- /command/nice.md: -------------------------------------------------------------------------------- 1 | nice 2 | === 3 | 4 | 改变程序执行的优先权等级 5 | 6 | ## 补充说明 7 | 8 | **nice命令** 用于以指定的进程调度优先级启动其他的程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | nice(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n:指定进程的优先级(整数)。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 指令及选项:需要运行的指令及其他选项。 25 | 26 | ### 实例 27 | 28 | 新建一个进程并设置优先级,将当前目录下的documents目录打包,但不希望tar占用太多CPU: 29 | 30 | ``` 31 | nice -19 tar zcf pack.tar.gz documents 32 | ``` 33 | 34 | 方法非常简单,即在原命令前加上`nice -19`。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望将当前目录下的documents目录打包,并且赋予tar进程最高的优先级: 35 | 36 | ``` 37 | nice --19 tar zcf pack.tar.gz documents 38 | ``` 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/nisdomainname.md: -------------------------------------------------------------------------------- 1 | nisdomainname 2 | === 3 | 4 | 显示主机NIS的域名 5 | 6 | ## 补充说明 7 | 8 | **nisdomainname命令** 用于显示主机NIS的域名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | nisdomainname(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:详细信息模式。 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /command/nm.md: -------------------------------------------------------------------------------- 1 | nm 2 | === 3 | 4 | 显示二进制目标文件的符号表 5 | 6 | ## 补充说明 7 | 8 | **nm命令** 被用于显示二进制目标文件的符号表。 9 | 10 | ### 语法 11 | 12 | ``` 13 | nm(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -A:每个符号前显示文件名; 20 | -D:显示动态符号; 21 | -g:仅显示外部符号; 22 | -r:反序显示符号表。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 目标文件:二进制目标文件,通常是库文件和可执行文件。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/nohup.md: -------------------------------------------------------------------------------- 1 | nohup 2 | === 3 | 4 | 将程序以忽略挂起信号的方式运行起来 5 | 6 | ## 补充说明 7 | 8 | **nohup命令** 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。 9 | 10 | 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到`$HOME/nohup.out`文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 11 | 12 | ### 语法 13 | 14 | nohup(选项)(参数) 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:在线帮助; 20 | --version:显示版本信息。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 程序及选项:要运行的程序及选项。 26 | 27 | ### 实例 28 | 29 | 30 | 使用nohup命令提交作业,如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件: 31 | 32 | ``` 33 | nohup command > myout.file 2>&1 & 34 | ``` 35 | 36 | 在上面的例子中,输出被重定向到myout.file文件中。 37 | 38 | 该指令表示不做挂断操作,后台下载 39 | 40 | ```bash 41 | nohup wget site.com/file.zip 42 | ``` 43 | 44 | 下面命令,会在同一个目录下生成一个名称为 `nohup.out` 的文件,其中包含了正在运行的程序的输出内容 45 | 46 | ```bash 47 | nohup ping -c 10 baidu.com 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/nologin.md: -------------------------------------------------------------------------------- 1 | nologin 2 | === 3 | 4 | 拒绝用户登录系统 5 | 6 | ## 补充说明 7 | 8 | **nologin命令** 可以实现礼貌地拒绝用户登录系统,同时给出信息。如果尝试以这类用户登录,就在log里添加记录,然后在终端输出This account is currently not available信息,就是这样。一般设置这样的帐号是给启动服务的账号所用的,这只是让服务启动起来,但是不能登录系统。 9 | 10 | ### 语法 11 | 12 | ``` 13 | nologin 14 | ``` 15 | 16 | ### 实例 17 | 18 | Linux禁止用户登录: 19 | 20 | 禁止用户登录后,用户不能登录系统,但可以登录ftp、SAMBA等。我们在Linux下做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常运行。这个时候我们就要禁止用户登录。   21 | 22 | 1、禁止个别用户登录,比如禁止lynn用户登录。 23 | 24 | ``` 25 | passwd -l lynn 26 | ``` 27 | 28 | 这就话的意思是锁定lynn用户,这样该用户就不能登录了。   29 | 30 | ``` 31 | passwd -u lynn 32 | ``` 33 | 34 | 上面是对锁定的用户lynn进行解锁,用户可登录了。     35 | 36 | 2、我们通过修改`/etc/passwd`文件中用户登录的shell 37 | 38 | ``` 39 | vi /etc/passwd 40 | ``` 41 | 42 | 更改为: 43 | 44 | ``` 45 | lynn:x:500:500::/home/lynn:/sbin/nologin 46 | ``` 47 | 48 | 该用户就无法登录了。   49 | 50 | 3、禁止所有用户登录。 51 | 52 | ``` 53 | touch /etc/nologin 54 | ``` 55 | 56 | 除root以外的用户不能登录了。 57 | 58 | 59 | -------------------------------------------------------------------------------- /command/nslookup.md: -------------------------------------------------------------------------------- 1 | nslookup 2 | === 3 | 4 | 查询域名DNS信息的工具 5 | 6 | ## 补充说明 7 | 8 | **nslookup命令** 是常用域名查询工具,就是查DNS信息用的命令。 9 | 10 | nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。 11 | 12 | 进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即`/etc/resolv.conf`的第一个dns地址)。或者输入`nslookup -nameserver/ip`。进入非交互模式,就直接输入`nslookup 域名`就可以了。 13 | 14 | ### 语法 15 | 16 | ``` 17 | nslookup(选项)(参数) 18 | ``` 19 | 20 | ### 选项 21 | 22 | ``` 23 | -sil:不显示任何警告信息。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 域名:指定要查询域名。 29 | 30 | ### 实例 31 | 32 | ``` 33 | [root@localhost ~]# nslookup www.jsdig.com 34 | Server: 202.96.104.15 35 | Address: 202.96.104.15#53 36 | 37 | Non-authoritative answer: 38 | www.jsdig.com canonical name = host.1.jsdig.com. 39 | Name: host.1.jsdig.com 40 | Address: 100.42.212.8 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/ntsysv.md: -------------------------------------------------------------------------------- 1 | ntsysv 2 | === 3 | 4 | 集中管理系统的各种服务 5 | 6 | ## 补充说明 7 | 8 | **ntsysv命令** 提供了一个基于文本界面的菜单操作方式,集中管理系统不同的运行等级下的系统服务启动状态。在RedHat各个发行版,CentOS各个版本,都自带这个工具。它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级中,所要执行的系统服务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ntsysv(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --leve:指定运行等级; 20 | --back:在互动式界面里,显示Back钮,而非cancel钮。 21 | ``` 22 | 23 | ### 实例 24 | 25 | 输入ntsysv命令后,出现一个交互式的管理菜单,如下: 26 | 27 | ``` 28 | !ntsysv 29 | ``` 30 | 31 | 使用空格键选择或者取消选项! 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/paste.md: -------------------------------------------------------------------------------- 1 | paste 2 | === 3 | 4 | 将多个文件按列队列合并 5 | 6 | ## 补充说明 7 | 8 | **paste命令** 用于将多个文件按照列队列进行合并。 9 | 10 | ### 语法 11 | 12 | ``` 13 | paste(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符; 20 | -s或——serial串列进行而非平行处理。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件列表:指定需要合并的文件列表。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/pathchk.md: -------------------------------------------------------------------------------- 1 | pathchk 2 | === 3 | 4 | 检查文件中不可移植的部分 5 | 6 | ## 补充说明 7 | 8 | **pathchk命令** 用来检查文件中不可移植的部分。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pathchk(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -p:检查大多数的POSIX系统; 20 | -P:检查空名字和“-”开头的文件; 21 | --portability:检查所有的POSIX系统,等同于“-P-p”选项; 22 | --help:显示帮助; 23 | --wersion:显示版本号。 24 | ``` 25 | 26 | ### 参数 27 | 28 | * 文件:带路径信息的文件; 29 | * 后缀:可选参数,指定要去除的文件后缀字符串。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/perl.md: -------------------------------------------------------------------------------- 1 | perl 2 | === 3 | 4 | perl语言解释器 5 | 6 | ## 补充说明 7 | 8 | **perl命令** 是perl语言解释器,负责解释执行perl语言程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | perl(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -w:输出有用的警告信息; 20 | -U:允许不安全的操作; 21 | -c:仅检查文件的语法; 22 | -d:在调试下运行脚本程序。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件:要运行的perl脚本程序。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/pgrep.md: -------------------------------------------------------------------------------- 1 | pgrep 2 | === 3 | 4 | 设置用户的认证信息,包括用户密码、密码过期时间等 5 | 6 | ## 补充说明 7 | 8 | **pgrep命令** 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pgrep(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -o:仅显示找到的最小(起始)进程号; 20 | -n:仅显示找到的最大(结束)进程号; 21 | -l:显示进程名称; 22 | -P:指定父进程号; 23 | -g:指定进程组; 24 | -t:指定开启进程的终端; 25 | -u:指定进程的有效用户ID。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。 31 | 32 | ### 实例 33 | 34 | ``` 35 | pgrep -lo httpd 36 | 4557 httpd 37 | [root@localhost ~]# pgrep -ln httpd 38 | 4566 httpd 39 | 40 | [root@localhost ~]# pgrep -l httpd 41 | 4557 httpd 42 | 4560 httpd 43 | 4561 httpd 44 | 4562 httpd 45 | 4563 httpd 46 | 4564 httpd 47 | 4565 httpd 48 | 4566 httpd 49 | 50 | [root@localhost ~]# pgrep httpd 4557 51 | 4560 52 | 4561 53 | 4562 54 | 4563 55 | 4564 56 | 4565 57 | 4566 58 | ``` 59 | 60 | 61 | -------------------------------------------------------------------------------- /command/php.md: -------------------------------------------------------------------------------- 1 | php 2 | === 3 | 4 | PHP语言的命令行接口 5 | 6 | ## 补充说明 7 | 8 | **php命令** 是流行的Web开发语言PHP的命令行接口,可以使用PHP语言开发基于命令行的系统管理脚本程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | php(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:进入交互模式; 20 | -c:指定“php.ini”的搜索路径。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:要执行的php脚本。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/pidof.md: -------------------------------------------------------------------------------- 1 | pidof 2 | === 3 | 4 | 查找指定名称的进程的进程号ID号 5 | 6 | ## 补充说明 7 | 8 | **pidof命令** 用于查找指定名称的进程的进程号id号。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pidof(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s:仅返回一个进程号; 20 | -c:仅显示具有相同“root”目录的进程; 21 | -x:显示由脚本开启的进程; 22 | -o:指定不显示的进程ID。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 进程名称:指定要查找的进程名称。 28 | 29 | ### 实例 30 | 31 | ``` 32 | pidof nginx 33 | 13312 5371 34 | 35 | pidof crond 36 | 1509 37 | 38 | pidof init 39 | 1 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/pkill.md: -------------------------------------------------------------------------------- 1 | pkill 2 | === 3 | 4 | 可以按照进程名杀死进程 5 | 6 | ## 补充说明 7 | 8 | **pkill命令** 可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pkill(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -o:仅向找到的最小(起始)进程号发送信号; 20 | -n:仅向找到的最大(结束)进程号发送信号; 21 | -P:指定父进程号发送信号; 22 | -g:指定进程组; 23 | -t:指定开启进程的终端。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。 29 | 30 | ### 实例 31 | 32 | ``` 33 | pgrep -l gaim 34 | 2979 gaim 35 | 36 | pkill gaim 37 | ``` 38 | 39 | 也就是说:kill对应的是PID,pkill对应的是command。 40 | 41 | 42 | -------------------------------------------------------------------------------- /command/popd.md: -------------------------------------------------------------------------------- 1 | popd 2 | === 3 | 4 | 用于删除目录栈中的记录 5 | 6 | ## 补充说明 7 | 8 | **popd命令** 用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pushd(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | +N:将第N个目录删除(从左边数起,数字从0开始); 20 | -N:将第N个目录删除(从右边数起,数字从0开始); 21 | -n:将目录出栈时,不切换目录。 22 | ``` 23 | 24 | ### 实例 25 | 26 | ``` 27 | root@Mylinux:/tmp/dir4# popd(相当于popd +0) 28 | /tmp/dir3 /tmp/dir2 /tmp/dir1 ~ 29 | 30 | root@Mylinux:/tmp/dir3# pushd /tmp/dir4 31 | /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1 ~ 32 | 33 | root@Mylinux:/tmp/dir4# popd +1 34 | /tmp/dir4 /tmp/dir2 /tmp/dir1 ~ 35 | 36 | root@Mylinux:/tmp/dir4# popd -2 37 | /tmp/dir4 /tmp/dir1 ~ 38 | ``` 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/poweroff.md: -------------------------------------------------------------------------------- 1 | poweroff 2 | === 3 | 4 | 关闭Linux系统,关闭记录会被写入到/var/log/wtmp日志文件中。 5 | 6 | ## 补充说明 7 | 8 | **grename命令** 可以重命名卷组的名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | poweroff [选项] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n 关闭之前不同步 20 | -p 当被称为halt时关闭电源 21 | -v 增加输出,包括消息 22 | -q 降低输出错误唯一的消息 23 | -w 并不实际关闭系统,只是写入/var/log/wtmp文件中 24 | -f 强制关机,不调用shutdown 25 | ``` 26 | 27 | ### 例子 28 | 29 | 关闭Linux系统。 30 | 31 | ```bash 32 | [root@localhost ~]# poweroff 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/ppp-off.md: -------------------------------------------------------------------------------- 1 | ppp-off 2 | === 3 | 4 | 关闭ppp连线 5 | 6 | ## 补充说明 7 | 8 | 这是Slackware发行版内附的程序,让用户切断PPP的网络连线。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ppp-off 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /command/pr.md: -------------------------------------------------------------------------------- 1 | pr 2 | === 3 | 4 | 将文本文件转换成适合打印的格式 5 | 6 | ## 补充说明 7 | 8 | **pr命令** 用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pr(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h<标题>:为页指定标题; 20 | -l<行数>:指定每页的行数。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:需要转换格式的文件。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/protoize.md: -------------------------------------------------------------------------------- 1 | protoize 2 | === 3 | 4 | GNU-C代码转换为ANSI-C代码 5 | 6 | ## 补充说明 7 | 8 | **protoize命令** 属于gcc套件,用于为C语言源代码文件添加函数原型,将GNU-C代码转换为ANSI-C代码。 9 | 10 | ### 语法 11 | 12 | ``` 13 | protoize(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:设置需要转换代码的目录; 20 | -x:转换代码时排除的文件。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:需要转换代码的C语言源文件。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/pushd.md: -------------------------------------------------------------------------------- 1 | pushd 2 | === 3 | 4 | 将目录加入命令堆叠中 5 | 6 | ## 补充说明 7 | 8 | **pushd命令** 是将目录加入命令堆叠中。如果指令没有指定目录名称,则会将当前的工作目录置入目录堆叠的最顶端。置入目录如果没有指定堆叠的位置,也会置入目录堆叠的最顶端,同时工作目录会自动切换到目录堆叠最顶端的目录去。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pushd(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n:只加入目录到堆叠中,不进行cd操作; 20 | +n:删除从左到右的第n个目录,数字从0开始; 21 | -n:删除从右到左的第n个目录,数字从0开始; 22 | ``` 23 | 24 | ### 参数 25 | 26 | 目录:需要压入堆栈的目录。 27 | 28 | ### 实例 29 | 30 | ``` 31 | root@Mylinux:/tmp/dir4# pushd /tmp/dir3 32 | /tmp/dir3 /tmp/dir4 /tmp/dir1 ~ 33 | 34 | root@Mylinux:/tmp/dir3# pushd /tmp/dir2 35 | /tmp/dir2 /tmp/dir3 /tmp/dir4 /tmp/dir1 ~ 36 | 37 | root@Mylinux:/tmp/dir2# pushd -1 38 | /tmp/dir1 ~ /tmp/dir2 /tmp/dir3 /tmp/dir4 39 | ``` 40 | 41 | 注意:最左边表示栈顶,最右边表示栈底。 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/pvchange.md: -------------------------------------------------------------------------------- 1 | pvchange 2 | === 3 | 4 | 修改物理卷属性 5 | 6 | ## 补充说明 7 | 8 | **pvchange命令** 允许管理员改变物理卷的分配许可。如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvchange(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -u:生成新的UUID; 20 | -x:是否允许分配PE。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 物理卷:指定要修改属性的物理卷所对应的设备文件。 26 | 27 | ### 实例 28 | 29 | 使用pvchange命令禁止分配指定物理卷上的PE。在命令行中输入下面的命令: 30 | 31 | ``` 32 | pvchange -x n /dev/sdb1 #禁止分配"/dev/sdb1"上的PE 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | Physical volume "/dev/sdb1" changed 39 | 1 physical volume changed / 0 physical volumes not changed 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/pvck.md: -------------------------------------------------------------------------------- 1 | pvck 2 | === 3 | 4 | 检测物理卷的LVM元数据的一致性 5 | 6 | ## 补充说明 7 | 8 | **pvck命令** 用来检测物理卷的LVM元数据的一致性。默认情况下,物理卷中的前4个扇区保存着LVM卷标,可以使用`--labelsector`选项指定其他的位置(例如:数据恢复时)。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvck(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:调试模式; 20 | -v:详细信息模式; 21 | --labelsector:指定LVE卷标所在扇区。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 物理卷:指定要检查的物理卷对应的设备文件。 27 | 28 | ### 实例 29 | 30 | 使用pvck命令检查物理卷`/dev/sdb1`。在命令行中输入下面的命令: 31 | 32 | ``` 33 | pvck -v /dev/sdb1 #检查物理卷元数据 34 | Scanning /dev/sdb1 35 | Found label on /dev/sdb1, sector 1, type=LVM2 001 36 | Found text metadata area: offset=4096, size=192512 37 | Found LVM2 metadata record at offset=125952, 38 | size=70656, offset2=0 size2=0 39 | ``` 40 | 41 | 42 | -------------------------------------------------------------------------------- /command/pvdisplay.md: -------------------------------------------------------------------------------- 1 | pvdisplay 2 | === 3 | 4 | 显示物理卷的属性 5 | 6 | ## 补充说明 7 | 8 | **pvdisplay命令** 用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvdisplay(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s:以短格式输出; 20 | -m:显示PE到LE的映射。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 物理卷:要显示的物理卷对应的设备文件名。 26 | 27 | ### 实例 28 | 29 | 使用pvdisplay命令显示指定的物理卷的基本信息。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# pvdisplay /dev/sdb1 #显示物理卷基本信息 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | "/dev/sdb1" is a new physical volume of "101.94 MB" 39 | --- NEW Physical volume --- 40 | PV Name /dev/sdb1 41 | ....省略部分输出内容...... 42 | PV UUID FOXiS2-Ghaj-Z0Mf- cdVZ-pfpk- dP9p-ifIZXN 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/pvremove.md: -------------------------------------------------------------------------------- 1 | pvremove 2 | === 3 | 4 | 删除一个存在的物理卷 5 | 6 | ## 补充说明 7 | 8 | **pvremove命令** 用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvremove(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:调试模式; 20 | -f:强制删除; 21 | -y:对提问回答“yes”。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 物理卷:指定要删除的物理卷对应的设备文件名。 27 | 28 | ### 实例 29 | 30 | 使用pvremove指令删除物理卷`/dev/sdb2`。在命令行中输入下面的命令: 31 | 32 | ``` 33 | pvremove /dev/sdb2 #删除物理卷 34 | Labels on physical volume "/dev/sdb2" successfully wiped 35 | 36 | ``` 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/pvs.md: -------------------------------------------------------------------------------- 1 | pvs 2 | === 3 | 4 | 输出物理卷信息报表 5 | 6 | ## 补充说明 7 | 8 | **pvs命令** 用于输出格式化的物理卷信息报表。使用pvs命令仅能得到物理卷的概要信息,如果要得到更加详细的信息可以使用pvdisplay命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvs(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --noheadings:不输出标题头; 20 | --nosuffix:不输出空间大小的单位。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 物理卷:要显示报表的物理卷列表。 26 | 27 | ### 实例 28 | 29 | 使用pvs命令显示系统中所有物理卷的信息报表。在命令行中输入下面的命令: 30 | 31 | ``` 32 | pvs #输出物理卷信息报表 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | PV VG fmt Attr PSize PFree 39 | /dev/sdb1 vg1000 lvm2 -- 100.00M 100.00M 40 | /dev/sdb2 lvm2 -- 101.98M 101.98M 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/pvscan.md: -------------------------------------------------------------------------------- 1 | pvscan 2 | === 3 | 4 | 扫描系统中所有硬盘的物理卷列表 5 | 6 | ## 补充说明 7 | 8 | **pvscan命令** 会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的`-n`选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pvscan(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:调试模式; 20 | -e:仅显示属于输出卷组的物理卷; 21 | -n:仅显示不属于任何卷组的物理卷; 22 | -s:短格式输出; 23 | -u:显示UUID。 24 | ``` 25 | 26 | ### 实例 27 | 28 | 使用pvscan命令扫描当前系统中所有硬盘的物理卷,在命令行中输入下面的命令: 29 | 30 | ``` 31 | [root@localhost ~]# pvscan #扫描所有硬盘上的物理卷 32 | ``` 33 | 34 | 输出信息如下: 35 | 36 | ``` 37 | PV /dev/sdb1 lvm2 [101.94 MB] 38 | PV /dev/sdb2 lvm2 [101.98 MB] 39 | Total: 2 [203.92 MB] / in use: 0 [0 ] / in no VG: 2 [203.92 40 | MB] 41 | ``` 42 | 43 | 说明:本例中,输出了两个物理卷,它们不属于任何卷组,是可被利用的物理卷。 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/pwconv.md: -------------------------------------------------------------------------------- 1 | pwconv 2 | === 3 | 4 | 用来开启用户的投影密码 5 | 6 | ## 补充说明 7 | 8 | **pwconv命令** 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于`/etc`目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pwconv 14 | ``` 15 | 16 | ### 实例 17 | 18 | ``` 19 | cat /etc/passwd | grep test 20 | test:x:3001:3001::/home/test:/bin/sh 21 | ``` 22 | 23 | 此时可以发现密码段是x 24 | 25 | ``` 26 | cat /etc/shadow | grep test 27 | test:$6$nYOEWamm$bz07nlv/.RgJufb3FAqJJeULfwybzgxmrWqbk7O4vI0KsT6N.ujrh6dDIUcAJdfjksyuyAFDPIngZeD3cgcf.0:15022:0:99999:7::: 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/pwd.md: -------------------------------------------------------------------------------- 1 | pwd 2 | === 3 | 4 | 绝对路径方式显示用户当前工作目录 5 | 6 | ## 补充说明 7 | 8 | **pwd命令** 以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用`/`分隔。第一个`/`表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pwd(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示帮助信息; 20 | --version:显示版本信息。 21 | 22 | ``` 23 | 24 | ### 实例 25 | 26 | ``` 27 | [root@localhost ~]# pwd 28 | /root 29 | ``` 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/pwunconv.md: -------------------------------------------------------------------------------- 1 | pwunconv 2 | === 3 | 4 | 用来关闭用户的投影密码 5 | 6 | ## 补充说明 7 | 8 | **pwunconv命令** 与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。 9 | 10 | ### 语法 11 | 12 | ``` 13 | pwunconv 14 | ``` 15 | 16 | ### 实例 17 | 18 | ``` 19 | pwunconv //关闭影子密码 20 | cat /etc/passwd | grep test //发现密码已经在passwd文件中了 21 | test:$6$nYOEWamm$bz07nlv/.RgJufb3FAqJJeULfwybzgxmrWqbk7O4vI0KsT6N.ujrh6dDIUcAJdfjksyuyAFDPIngZeD3cgcf.0:3001:3001::/home/test:/bin/sh 22 | 23 | ls /etc/shadow //查看影子文件,提示没有这个文件或目录 24 | ls: cannot access /etc/shadow: No such file or directory 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/quotacheck.md: -------------------------------------------------------------------------------- 1 | quotacheck 2 | === 3 | 4 | 检查磁盘的使用空间与限制 5 | 6 | ## 补充说明 7 | 8 | **quotacheck命令** 通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。 9 | 10 | ### 语法 11 | 12 | ``` 13 | quotacheck(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:扫描在/etc/fstab文件里,有加入quota设置的分区; 20 | -d:详细显示指令执行过程,便于排错或了解程序执行的情形; 21 | -g:扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目; 22 | -R:排除根目录所在的分区; 23 | -u:扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目; 24 | -v:显示指令执行过程。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 文件系统:指定要扫描的文件系统。 30 | 31 | ### 实例 32 | 33 | 将所有的在`/etc/mtab`内,含有quota支持的partition进行扫描: 34 | 35 | ``` 36 | [root@linux ~]# quotacheck -avug 37 | quotacheck: Scanning /dev/hdb1 [/disk2] done 38 | quotacheck: Checked 3 directories and 4 files 39 | 40 | ``` 41 | 42 | 强制扫描已挂载的filesystem: 43 | 44 | ``` 45 | [root@linux ~]# quotacheck -avug -m 46 | ``` 47 | 48 | 49 | -------------------------------------------------------------------------------- /command/quotaoff.md: -------------------------------------------------------------------------------- 1 | quotaoff 2 | === 3 | 4 | 关闭Linux内核中指定文件系统的磁盘配额功能 5 | 6 | ## 补充说明 7 | 8 | **quotaoff命令** 用于关闭Linux内核中指定文件系统的磁盘配额功能。 9 | 10 | ### 语法 11 | 12 | ``` 13 | quotaoff(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制; 20 | -g:关闭群组的磁盘空间限制; 21 | -u:关闭用户的磁盘空间限制; 22 | -v:显示指令执行过程。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件系统:指定要关闭磁盘配额功能的文件系统。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/quotaon.md: -------------------------------------------------------------------------------- 1 | quotaon 2 | === 3 | 4 | 激活Linux内核中指定文件系统的磁盘配额功能 5 | 6 | ## 补充说明 7 | 8 | **quotaon命令** 用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | quotaon(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制; 20 | -g:开启群组的磁盘空间限制; 21 | -u:开启用户的磁盘空间限制; 22 | -v:显示指令指令执行过程。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件系统:指定要激活磁盘配额功能的文件系统。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/rcconf.md: -------------------------------------------------------------------------------- 1 | rcconf 2 | === 3 | 4 | Debian Linux下的运行等级服务配置工具 5 | 6 | ## 补充说明 7 | 8 | **rcconf命令** 是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rcconf(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:打印帮助信息; 20 | --dialog:使用对话命令显示菜单; 21 | --notermcheck:不按照终端属性来设置窗口尺寸。 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /command/reboot.md: -------------------------------------------------------------------------------- 1 | reboot 2 | === 3 | 4 | 重新启动正在运行的Linux操作系统 5 | 6 | ## 补充说明 7 | 8 | **reboot命令** 用来重新启动正在运行的Linux操作系统。 9 | 10 | ### 语法 11 | 12 | ``` 13 | reboot(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果; 20 | -f:强制重新开机,不调用shutdown指令的功能; 21 | -i:在重开机之前,先关闭所有网络界面; 22 | -n:重开机之前不检查是否有未结束的程序; 23 | -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。 24 | ``` 25 | 26 | ### 实例 27 | 28 | ``` 29 | reboot //重开机。 30 | reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)。 31 | ``` 32 | 33 | 34 | -------------------------------------------------------------------------------- /command/reject.md: -------------------------------------------------------------------------------- 1 | reject 2 | === 3 | 4 | 指示打印系统拒绝发往指定目标打印机的打印任务 5 | 6 | ## 补充说明 7 | 8 | **reject命令** 属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务。 9 | 10 | ### 语法 11 | 12 | ``` 13 | reject(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -E:当连接到服务器时强制使用加密; 20 | -U:指定连接服务器时使用的用户名; 21 | -h:指定连接服务器名和端口号; 22 | -r:指定拒绝打印任务的原因。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 目标:指定目标打印机。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/renice.md: -------------------------------------------------------------------------------- 1 | renice 2 | === 3 | 4 | 修改正在运行的进程的调度优先级 5 | 6 | ## 补充说明 7 | 8 | **renice命令** 可以修改正在运行的进程的调度优先级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。 9 | 10 | ### 语法 11 | 12 | ``` 13 | renice(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -g:指定进程组id; 20 | -p<程序识别码>:改变该程序的优先权等级,此参数为预设值。 21 | -u:指定开启进程的用户名。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 进程号:指定要修改优先级的进程。 27 | 28 | ### 实例 29 | 30 | 将行程id为987及32的行程与行程拥有者为daemon及root的优先序号码加1: 31 | 32 | ``` 33 | renice 1 987 -u daemon root -p 32 34 | ``` 35 | 36 | 注意:每一个行程都有一个唯一的id。 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/repquota.md: -------------------------------------------------------------------------------- 1 | repquota 2 | === 3 | 4 | 报表的格式输出磁盘空间限制的状态 5 | 6 | ## 补充说明 7 | 8 | **repquota命令** 以报表的格式输出指定分区,或者文件系统的磁盘配额信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | repquota(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组; 20 | -g:列出所有群组的磁盘空间限制; 21 | -u:列出所有用户的磁盘空间限制; 22 | -v:显示该用户或群组的所有空间限制。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 文件系统:要打印报表的文件系统或者对应的设备文件名。 28 | 29 | ### 实例 30 | 31 | 显示所有文件系统的磁盘使用情况 32 | 33 | ``` 34 | repquota -a 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/resize.md: -------------------------------------------------------------------------------- 1 | resize 2 | === 3 | 4 | 命令设置终端机视窗的大小。 5 | 6 | ## 补充说明 7 | 8 | **resize命令** 命令设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小。 9 | 10 | ### 语法 11 | 12 | ``` 13 | resize [-cu][-s <列数> <行数>] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c  就算用户环境并非C Shell,也用C Shell指令改变视窗大小。 20 | -s <列数> <行数>  设置终端机视窗的垂直高度和水平宽度。 21 | -u  就算用户环境并非Bourne Shell,也用Bourne Shell指令改变视窗大小。 22 | ``` 23 | 24 | ### 实例 25 | 26 | 使用 C shell 27 | 28 | ``` 29 | [root@localhost ~]# resize -c 30 | set noglob; 31 | setenv COLUMNS '99'; 32 | setenv LINES '34'; 33 | unset noglob; 34 | ``` 35 | 36 | 37 | 使用 Bourne shell 38 | 39 | ``` 40 | [root@localhost ~]# resize -u 41 | COLUMNS=99; 42 | LINES=34; 43 | export COLUMNS LINES; 44 | ``` 45 | 46 | 设置指定大小 47 | 48 | ``` 49 | [root@localhost ~]# resize -s 80 160 50 | ``` 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /command/rlogin.md: -------------------------------------------------------------------------------- 1 | rlogin 2 | === 3 | 4 | 从当前终端登录到远程Linux主机 5 | 6 | ## 补充说明 7 | 8 | **rlogin命令** 用于从当前终端登录到远程Linux主机。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rlogin(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -8:允许输入8位字符数据; 20 | -e脱离字符>:设置脱离字符; 21 | -E:滤除脱离字符; 22 | -l用户名称>:指定要登入远端主机的用户名称; 23 | -L:使用litout模式进行远端登入阶段操作。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 远程主机:指定要登录的远程主机(ip地址或者域名)。 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/rmmod.md: -------------------------------------------------------------------------------- 1 | rmmod 2 | === 3 | 4 | 从运行的内核中移除指定的内核模块 5 | 6 | ## 补充说明 7 | 8 | **rmmod命令** 用于从当前运行的内核中移除指定的内核模块。执行rmmod指令,可删除不需要的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放如核心。你可以将这些功能编译成一个个单独的模块,待有需要时再分别载入它们。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rmmod(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:显示指令执行的详细信息; 20 | -f:强制移除模块,使用此选项比较危险; 21 | -w:等待着,直到模块能够被除时在移除模块; 22 | -s:向系统日志(syslog)发送错误信息。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 模块名:要移除的模块名称。 28 | 29 | ### 实例 30 | 31 | 用rmmod命令主要用于卸载正在使用的Linux内核模块,与`modprobe -r`命令相似,如下所示: 32 | 33 | ``` 34 | [root@localhost boot]# lsmod | grep raid1 35 | raid1 25153 0 36 | 37 | [root@localhost boot]# rmmod raid1 38 | [root@localhost boot]# lsmod | grep raid1 39 | ``` 40 | 41 | 42 | -------------------------------------------------------------------------------- /command/rpm2cpio.md: -------------------------------------------------------------------------------- 1 | rpm2cpio 2 | === 3 | 4 | 将RPM软件包转换为cpio格式的文件 5 | 6 | ## 补充说明 7 | 8 | **rpm2cpio命令** 用于将rpm软件包转换为cpio格式的文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpm2cpio(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定要转换的rpm包的文件名。 19 | 20 | ### 实例 21 | 22 | ``` 23 | rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/rpmbuild.md: -------------------------------------------------------------------------------- 1 | rpmbuild 2 | === 3 | 4 | 创建RPM的二进制软件包和源码软件包 5 | 6 | ## 补充说明 7 | 8 | **rpmbuild命令** 被用于创建rpm的二进制软件包和源码软件包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpmbuild(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --initdb:初始化RPM数据库; 20 | --rebuilddb:从已安装的包头文件,方向重建RPM数据库; 21 | -ba:创建二进制和源代码包; 22 | -bb:创建二进制代码包; 23 | -bs:创建源代码包。 24 | ``` 25 | 26 | ### 实例 27 | 28 | ``` 29 | rpmbuild -ba 'spec文件路径' 30 | ``` 31 | 32 | build完后,可以在`/usr/src/redhat/RPMS/`下找到二进制rpm包,rpm包按照其对应的cpu体系结构分类,通常在`/usr/src/redhat/RPMS/i386`目录下。`/usr/src/redhat/SRPMS/`下找到源码rpm包,此时由于是源代码,所以无须按体系结构分类。 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/rpmdb.md: -------------------------------------------------------------------------------- 1 | rpmdb 2 | === 3 | 4 | 初始化和重建RPM数据库 5 | 6 | ## 补充说明 7 | 8 | **rpmdb命令** 用于初始化和重建rpm数据库。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpmdb(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --initdb:初始化RPM数据库; 20 | --rebuilddb:从已安装的包头文件,反向重建RPM数据库。 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/rpmquery.md: -------------------------------------------------------------------------------- 1 | rpmquery 2 | === 3 | 4 | 从RPM数据库中查询软件包信息 5 | 6 | ## 补充说明 7 | 8 | **rpmquery命令** 使用多种依据从rpm数据库中查询软件包信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpmquery(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -qf:查询指定的文件所属的软件包; 20 | -q:查询指定的软件包是否被安装; 21 | -qc:查询软件包中的配置文件; 22 | -qd:查询软件包中的文档文件; 23 | -qi:查询软件包的基本信息。 24 | ``` 25 | 26 | ### 实例 27 | 28 | 使用rpmquery命令查询指定文件所属的软件包: 29 | 30 | ``` 31 | [root@localhost ~]# rpmquery -qf /usr/bin/htpasswd 32 | httpd-2.2.3-81.el5.centos 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/rpmsign.md: -------------------------------------------------------------------------------- 1 | rpmsign 2 | === 3 | 4 | 使用RPM软件包的签名管理工具 5 | 6 | ## 补充说明 7 | 8 | **rpmsign命令** 使用rpm软件包的签名管理工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpmsign(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --addsign:为自动软件包添加签名; 20 | --checksig:验证软件包签名; 21 | --delsign:删除软件包签名; 22 | --import:导入公钥; 23 | --resign:重新签名软件包; 24 | --nodigest:不验证软件包摘要; 25 | --nosignature:不验证软件包签名。 26 | ``` 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/rpmverify.md: -------------------------------------------------------------------------------- 1 | rpmverify 2 | === 3 | 4 | 验证已安装的RPM软件包的正确性 5 | 6 | ## 补充说明 7 | 8 | **rpmverify命令** 用来验证已安装的rpm软件包的正确性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rpmverify(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -Va:验证所有软件包; 20 | -V<软件包>f:验证指定软件包; 21 | --nomd5:不验证软件包的md5摘要。 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /command/rsh.md: -------------------------------------------------------------------------------- 1 | rsh 2 | === 3 | 4 | 连接远程主机并执行命令 5 | 6 | ## 补充说明 7 | 8 | **rsh命令** 用于连接到远程的指定主机并执行指定的命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | rsh(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:使用Socket层级的排错功能; 20 | -l<用户名称>:指定要登入远端主机的用户名称; 21 | -n:把输入的指令号向代号为/dev/null的特殊外围设备。 22 | ``` 23 | 24 | ### 参数 25 | 26 | * 远程主机:指定要连接的远程主机; 27 | * 指令:指定要在远程主机上执行的命令。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/seinfo.md: -------------------------------------------------------------------------------- 1 | seinfo 2 | === 3 | 4 | 查询SELinux的策略提供多少相关规则 5 | 6 | ## 补充说明 7 | 8 | **seinfo命令** 是用来查询SELinux的策略提供多少相关规则,一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各项目标文件的安全上下文,尤其是“类型”部分。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | seinfo(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -A:列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息。 20 | -t:列出SELinux所有类型(type)的种类。 21 | -r:列出SELinux所有角色(role)的种类。 22 | -u:列出SELinux所有身份识别(user)的种类。 23 | -b:列出所有规则的种类(布尔值)。 24 | ``` 25 | 26 | ### 实例 27 | 28 | 列出与httpd有关的规则: 29 | 30 | ``` 31 | seinfo -b | grep httpd 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/sendmail.md: -------------------------------------------------------------------------------- 1 | sendmail 2 | === 3 | 4 | 著名电子邮件服务器 5 | 6 | ## 补充说明 7 | 8 | **sendmail命令** 是一款著名的电子邮件传送代理程序,也就是平常说的电子邮件服务器,它基于标准的简单邮件传输协议(SMTP)。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sendmail(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -bd:以守护进程方式运行指令; 20 | -bD:以前台运行方式运行; 21 | -bi:初始化别名数据库; 22 | -bm:以常规发送电子邮件; 23 | -bp:显示邮件的发送队列; 24 | -C:指定配置文件; 25 | -D:将调试的输出信息保存到日志文件,而不显示在标准输出设备上; 26 | -F:指定邮件发送者全名; 27 | -n:禁止使用邮件别名功能; 28 | -f:指定发件人的名字; 29 | -q:设置处理邮件队列中邮件的时间间隔。 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/sesearch.md: -------------------------------------------------------------------------------- 1 | sesearch 2 | === 3 | 4 | 查询SELinux策略的规则详情 5 | 6 | ## 补充说明 7 | 8 | 使用seinfo命令可以查询SELinux的策略提供多少相关规则,如果查到的相关类型或者布尔值,想要知道详细规则时,使用 **sesearch命令** 查询。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sesearch [-a] [-s 主体类型] [-t 目标类型] [-b 布尔值] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:列出该类型或布尔值的所有相关信息 20 | -t:后面还要接类型,例如 -t httpd_t 21 | -b:后面还要接布尔值的规则,例如 -b httpd_enable_ftp_server 22 | ``` 23 | 24 | ### 实例 25 | 26 | 找出目标文件资源类型为`httpd_sys_content_t`的有关信息: 27 | 28 | ``` 29 | sesearch -a -t httpd_sys_content_t 30 | ``` 31 | 32 | 找出主体进程为`httpd_t`且目标文件类型为httpd相关的所有信息: 33 | 34 | ``` 35 | sesearch -s httpd_t -t httpd_* -a 36 | ``` 37 | 38 | 查看布尔值`httpd_enable_homedirs`设置了多少规则 39 | 40 | ``` 41 | sesearch -b httpd_enable_homedirs -a 42 | ``` 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/setsid.md: -------------------------------------------------------------------------------- 1 | setsid 2 | === 3 | 4 | 在新的会话中运行程序。 5 | 6 | ## 补充说明 7 | 8 | **setsid命令** 子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。 9 | 10 | ### 语法 11 | 12 | ``` 13 | setsid[options] [arguments ...] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c, --ctty 将控制终端设置为当前控制终端 20 | -f, --fork 总是 fork 21 | -w, --wait 等待程序退出,并使用相同的返回 22 | ``` 23 | 24 | 25 | ### 实例 26 | 27 | 可见 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可 28 | 29 | ``` 30 | [root@root ~]# setsid ping www.ibm.com 31 | [root@root ~]# ps -ef |grep www.ibm.com 32 | root 31094 1 0 07:28 ? 00:00:00 ping www.ibm.com 33 | root 31102 29217 0 07:29 pts/4 00:00:00 grep www.ibm.com 34 | [root@root ~]# 35 | ``` 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/sftp-server.md: -------------------------------------------------------------------------------- 1 | sftp-server 2 | === 3 | 4 | sftp协议的服务器端程序 5 | 6 | ## 补充说明 7 | 8 | **sftp-server命令** 是一个“sftp”协议的服务器端程序,它使用加密的方式进行文件传输。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sftp-server 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /command/sftp.md: -------------------------------------------------------------------------------- 1 | sftp 2 | === 3 | 4 | 交互式的文件传输程序 5 | 6 | ## 补充说明 7 | 8 | **sftp命令** 是一款交互式的文件传输程序,命令的运行和使用方式与ftp命令相似,但是,sftp命令对传输的所有信息使用ssh加密,它还支持公钥认证和压缩等功能。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sftp(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -B:指定传输文件时缓冲区的大小; 20 | -l:使用ssh协议版本1; 21 | -b:指定批处理文件; 22 | -C:使用压缩; 23 | -o:指定ssh选项; 24 | -F:指定ssh配置文件; 25 | -R:指定一次可以容忍多少请求数; 26 | -v:升高日志等级。 27 | ``` 28 | 29 | ### 参数 30 | 31 | 目标主机:指定sftp服务器ip地址或者主机名。 32 | 33 | 34 | -------------------------------------------------------------------------------- /command/showmount.md: -------------------------------------------------------------------------------- 1 | showmount 2 | === 3 | 4 | 显示NFS服务器加载的信息 5 | 6 | ## 补充说明 7 | 8 | **showmount命令** 查询“mountd”守护进程,以显示NFS服务器加载的信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | showmount(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:仅显示已被NFS客户端加载的目录; 20 | -e:显示NFS服务器上所有的共享目录。 21 | ``` 22 | 23 | ### 参数 24 | 25 | NFS服务器:指定NFS服务器的ip地址或者主机名。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/shutdown.md: -------------------------------------------------------------------------------- 1 | shutdown 2 | === 3 | 4 | 用来执行系统关机的命令 5 | 6 | ## 补充说明 7 | 8 | **shutdown命令** 用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | shutdown(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令; 20 | -f:重新启动时不执行fsck; 21 | -F:重新启动时执行fsck; 22 | -h:将系统关机; 23 | -k:只是送出信息给所有用户,但不会实际关机; 24 | -n:不调用init程序进行关机,而由shutdown自己进行; 25 | -r:shutdown之后重新启动; 26 | -t<秒数>:送出警告信息和删除信息之间要延迟多少秒。 27 | ``` 28 | 29 | ### 参数 30 | 31 | * [时间]:设置多久时间后执行shutdown指令; 32 | * [警告信息]:要传送给所有登入用户的信息。 33 | 34 | ### 实例 35 | 36 | 指定现在立即关机: 37 | 38 | ``` 39 | shutdown -h now 40 | ``` 41 | 42 | 指定5分钟后关机,同时送出警告信息给登入用户: 43 | 44 | ``` 45 | shutdown +5 "System will shutdown after 5 minutes" 46 | ``` 47 | 48 | 49 | -------------------------------------------------------------------------------- /command/sleep.md: -------------------------------------------------------------------------------- 1 | sleep 2 | === 3 | 4 | 将目前动作延迟一段时间 5 | 6 | ## 补充说明 7 | 8 | **sleep命令** 暂停指定的时间。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sleep(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 时间:指定要暂停时间的长度。 19 | 20 | 时间长度,后面可接 s、m、h 或 d,其中 s 为秒,m 为 分钟,h 为小时,d 为日数。 21 | 22 | ### 实例 23 | 24 | 有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。 25 | 26 | ``` 27 | #!/bin/bash 28 | 29 | b='' 30 | for ((i=0;$i<=100;i++)) 31 | do 32 | printf "Progress:[%-100s]%d%%\r" $b $i 33 | sleep 0.1 34 | b=#$b 35 | done 36 | echo 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/slocate.md: -------------------------------------------------------------------------------- 1 | slocate 2 | === 3 | 4 | 命令查找文件或目录 5 | 6 | ## 补充说明 7 | 8 | **slocate命令** 是一个命令查找文件或目录。slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | slocate [-u][--help][--version][-d <目录>][查找的文件] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d<目录>或--database=<目录>  指定数据库所在的目录。 20 | -u  更新slocate数据库。 21 | --help  显示帮助。 22 | --version  显示版本信息。 23 | ``` 24 | 25 | ### 实例 26 | 27 | 使用指令"slocate"显示文件名中含有关键字"fdisk"的文件路径信息,输入如下命令: 28 | 29 | ``` 30 | $ slocate fdisk #显示文件名中含有fdisk关键字的文件的路径信息 31 | ``` 32 | 33 | 执行以上命令后,指令执行的输出信息如下: 34 | 35 | ``` 36 | $ slocate fdisk #显示文件名中含有fdisk 关键字的文件的路径信息 37 | /root/cfdisk #搜索到的文件路径列表 38 | /root/fdisk 39 | /root/sfdisk 40 | /usr/include/grub/ieee1275/ofdisk.h 41 | /usr/share/doc/util-Linux/README.cfdisk 42 | /usr/share/doc/util-Linux/README.fdisk.gz 43 | /usr/share/doc/util-Linux/examples/sfdisk.examples.gz 44 | ``` 45 | 46 | 47 | -------------------------------------------------------------------------------- /command/smbpasswd.md: -------------------------------------------------------------------------------- 1 | smbpasswd 2 | === 3 | 4 | samba用户和密码管理工具 5 | 6 | ## 补充说明 7 | 8 | **smbpasswd命令** 属于samba套件,能够实现添加或删除samba用户和为用户修改密码。 9 | 10 | ### 语法 11 | 12 | ``` 13 | smbpasswd(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:向smbpasswd文件中添加用户; 20 | -c:指定samba的配置文件; 21 | -x:从smbpasswd文件中删除用户; 22 | -d:在smbpasswd文件中禁用指定的用户; 23 | -e:在smbpasswd文件中激活指定的用户; 24 | -n:将指定的用户的密码置空。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 用户名:指定要修改SMB密码的用户。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/source.md: -------------------------------------------------------------------------------- 1 | source 2 | === 3 | 4 | 在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态。 5 | 6 | ## 补充说明 7 | 8 | **source命令** 在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态。 9 | 10 | ### 语法 11 | 12 | ``` 13 | source [文件名] [参数] 14 | ``` 15 | 16 | ### 例子 17 | 18 | 读取和执行/root/.bash_profile文件。 19 | 20 | ```bash 21 | [root@localhost ~]# source ~/.bash_profile 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /command/spell.md: -------------------------------------------------------------------------------- 1 | spell 2 | === 3 | 4 | 对文件进行拼写检查 5 | 6 | ## 补充说明 7 | 8 | **spell命令** 对文件进行拼写检查,并把拼写错误的单词输出。 9 | 10 | ### 语法 11 | 12 | ``` 13 | spell(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件:指定需要进行拼写检查的文件。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/squid.md: -------------------------------------------------------------------------------- 1 | squid 2 | === 3 | 4 | squid服务器守护进程 5 | 6 | ## 补充说明 7 | 8 | **squid命令** 高性能的Web客户端代理缓存服务器套件“squid”的服务器守护进程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | squid(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:将指定调试等级的信息发送到标准错误设备; 20 | -f:使用指定的配置文件。而不使用默认配置文件; 21 | -k:向squid服务器发送指令; 22 | -s:启用syslog日志; 23 | -z:创建缓存目录; 24 | -C:不捕获致命信号; 25 | -D:不进行DNS参数测试; 26 | -N:以非守护进程模式运行; 27 | -X:强制进入完全调试模式。 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/squidclient.md: -------------------------------------------------------------------------------- 1 | squidclient 2 | === 3 | 4 | squid服务器的客户端管理工具 5 | 6 | ## 补充说明 7 | 8 | **squidclient命令** 使用squid服务器的客户端管理工具,它可以查看squid服务器的详细运行信息和管理squid服务器。 9 | 10 | ### 语法 11 | 12 | ``` 13 | squidclient(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:不包含“accept:header”; 20 | -r:强制缓存重新加载URL; 21 | -s:安静模式,不输出信息到标准输出设备; 22 | -h:从指定主机获取url 23 | -l:指定一个本地ip地址进行绑定; 24 | -p:端口号,默认为3128; 25 | -m:指定发送请求的方法; 26 | -u:代理认证用户名。 27 | ``` 28 | 29 | ### 参数 30 | 31 | URL:指定操作缓存中的URL。 32 | 33 | 34 | -------------------------------------------------------------------------------- /command/ssh-add.md: -------------------------------------------------------------------------------- 1 | ssh-add 2 | === 3 | 4 | 把专用密钥添加到ssh-agent的高速缓存中 5 | 6 | ## 补充说明 7 | 8 | **ssh-add命令** 是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在`/usr/bin/ssh-add`。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ssh-add [-cDdLlXx] [-t life] [file ...] 14 | ssh-add -s pkcs11 15 | ssh-add -e pkcs11 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -D:删除ssh-agent中的所有密钥. 22 | -d:从ssh-agent中的删除密钥 23 | -e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。 24 | -s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。 25 | -L:显示ssh-agent中的公钥 26 | -l:显示ssh-agent中的密钥 27 | -t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥 28 | -X:对ssh-agent进行解锁 29 | -x:对ssh-agent进行加锁 30 | ``` 31 | 32 | ### 实例 33 | 34 | 1、把专用密钥添加到 ssh-agent 的高速缓存中: 35 | 36 | ``` 37 | ssh-add ~/.ssh/id_dsa 38 | ``` 39 | 40 | 2、从ssh-agent中删除密钥: 41 | 42 | ``` 43 | ssh-add -d ~/.ssh/id_xxx.pub 44 | ``` 45 | 46 | 3、查看ssh-agent中的密钥: 47 | 48 | ``` 49 | ssh-add -l 50 | ``` 51 | 52 | 53 | -------------------------------------------------------------------------------- /command/ssh-agent.md: -------------------------------------------------------------------------------- 1 | ssh-agent 2 | === 3 | 4 | ssh密钥管理器 5 | 6 | ## 补充说明 7 | 8 | **ssh-agent命令** 是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。 9 | 10 | 其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。 11 | 12 | ### 语法 13 | 14 | ``` 15 | ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]] 16 | ssh-agent [-c | -s] -k 17 | ``` 18 | 19 | ### 选项 20 | 21 | ``` 22 | -a bind_address:bind the agent to the UNIX-domain socket bind_address. 23 | -c:生成C-shell风格的命令输出。 24 | -d:调试模式。 25 | -k:把ssh-agent进程杀掉。 26 | -s:生成Bourne shell 风格的命令输出。 27 | -t life:设置默认值添加到代理人的身份最大寿命。 28 | ``` 29 | 30 | ### 实例 31 | 32 | 运行ssh-agent: 33 | 34 | ``` 35 | ssh-agent 36 | ``` 37 | 38 | 运行ssh-agent,它会打印出来它使用的环境和变量。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/ssh-copy-id.md: -------------------------------------------------------------------------------- 1 | ssh-copy-id 2 | === 3 | 4 | 把本地的ssh公钥文件安装到远程主机对应的账户下 5 | 6 | ## 补充说明 7 | 8 | **ssh-copy-id命令** 可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和`~/.ssh`, 和`~/.ssh/authorized_keys`设置合适的权限。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ssh-copy-id [-i [identity_file]] [user@]machine 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -i:指定公钥文件 20 | ``` 21 | 22 | ### 实例 23 | 24 | 1、把本地的ssh公钥文件安装到远程主机对应的账户下: 25 | 26 | ``` 27 | ssh-copy-id user@server 28 | ssh-copy-id -i ~/.ssh/id_rsa.pub user@server 29 | ``` 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/ssh-keygen.md: -------------------------------------------------------------------------------- 1 | ssh-keygen 2 | === 3 | 4 | 为ssh生成、管理和转换认证密钥 5 | 6 | ## 补充说明 7 | 8 | **ssh-keygen命令** 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ssh-keygen(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:指定密钥长度; 20 | -e:读取openssh的私钥或者公钥文件; 21 | -C:添加注释; 22 | -f:指定用来保存密钥的文件名; 23 | -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥; 24 | -l:显示公钥文件的指纹数据; 25 | -N:提供一个新密语; 26 | -P:提供(旧)密语; 27 | -q:静默模式; 28 | -t:指定要创建的密钥类型。 29 | ``` 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/ssh-keyscan.md: -------------------------------------------------------------------------------- 1 | ssh-keyscan 2 | === 3 | 4 | 收集主机公钥的使用工具 5 | 6 | ## 补充说明 7 | 8 | **ssh-keyscan命令** 是一个收集大量主机公钥的使用工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ssh-keyscan(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -4:强制使用IPv4地址; 20 | -6:强制使用IPv6地址; 21 | -f:从指定文件中读取“地址列表/名字列表”; 22 | -p:指定连接远程主机的端口; 23 | -T:指定连接尝试的超时时间; 24 | -t:指定要创建的密钥类型; 25 | -v:信息模式,打印调试信息。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 主机列表:指定要收集公钥的主机列表。 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/sshd.md: -------------------------------------------------------------------------------- 1 | sshd 2 | === 3 | 4 | openssh软件套件中的服务器守护进程 5 | 6 | ## 补充说明 7 | 8 | **sshd命令** 是openssh软件套件中的服务器守护进程。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sshd(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -4:强制使用IPv4地址; 20 | -6:强制使用IPv6地址; 21 | -D:以后台守护进程方式运行服务器; 22 | -d:调试模式; 23 | -e:将错误发送到标准错误设备,而不是将其发送到系统日志; 24 | -f:指定服务器的配置文件; 25 | -g:指定客户端登录时的过期时间,如果在此期限内,用户没有正确认证,则服务器断开次客户端的连接; 26 | -h:指定读取主机key文件; 27 | -i:ssh以inetd方式运行; 28 | -o:指定ssh的配置选项; 29 | -p:静默模式,没有任何信息写入日志; 30 | -t:测试模式。 31 | ``` 32 | 33 | 34 | -------------------------------------------------------------------------------- /command/strings.md: -------------------------------------------------------------------------------- 1 | strings 2 | === 3 | 4 | 在对象文件或二进制文件中查找可打印的字符串 5 | 6 | ## 补充说明 7 | 8 | **strings命令** 在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 9 | 10 | ### 语法 11 | 12 | ``` 13 | strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [file ... ] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a --all:扫描整个文件而不是只扫描目标文件初始化和装载段 20 | -f –print-file-name:在显示字符串前先显示文件名 21 | -n –bytes=[number]:找到并且输出所有NUL终止符序列 22 | - :设置显示的最少的字符数,默认是4个字符 23 | -t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制 24 | -o :类似--radix=o 25 | -T --target= :指定二进制文件格式 26 | -e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit 27 | @ :读取中选项 28 | ``` 29 | 30 | ### 实例 31 | 32 | 列出ls中所有的ASCII文本: 33 | 34 | ``` 35 | strings /bin/ls 36 | ``` 37 | 38 | 列出ls中所有的ASCII文本: 39 | 40 | ``` 41 | cat /bin/ls strings 42 | ``` 43 | 44 | 查找ls中包含libc的字符串,不区分大小写: 45 | 46 | ``` 47 | strings /bin/ls | grep -i libc 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/su.md: -------------------------------------------------------------------------------- 1 | su 2 | === 3 | 4 | 用于切换当前用户身份到其他用户身份 5 | 6 | ## 补充说明 7 | 8 | **su命令** 用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。 9 | 10 | ### 语法 11 | 12 | ``` 13 | su(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份; 20 | -f或——fast:适用于csh与tsch,使shell不用去读取启动文件; 21 | -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量; 22 | -m,-p或--preserve-environment:变更身份时,不要变更环境变量; 23 | -s或--shell=:指定要执行的shell; 24 | --help:显示帮助; 25 | --version;显示版本信息。 26 | ``` 27 | 28 | ### 参数 29 | 30 | 用户:指定要切换身份的目标用户。 31 | 32 | ### 实例 33 | 34 | 变更帐号为root并在执行ls指令后退出变回原使用者: 35 | 36 | ``` 37 | su -c ls root 38 | ``` 39 | 40 | 变更帐号为root并传入`-f`选项给新执行的shell: 41 | 42 | ``` 43 | su root -f 44 | ``` 45 | 46 | 变更帐号为test并改变工作目录至test的家目录: 47 | 48 | ``` 49 | su -test 50 | ``` 51 | 52 | 53 | -------------------------------------------------------------------------------- /command/sum.md: -------------------------------------------------------------------------------- 1 | sum 2 | === 3 | 4 | 计算文件的校验码和显示块数 5 | 6 | ## 补充说明 7 | 8 | **sum命令** 用于计算并显示指定文件的校验和与文件所占用的磁盘块数。 9 | 10 | ### 语法 11 | 12 | ``` 13 | sum(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -r:使用BSD的校验和算法,块大小为1k; 20 | -s:使用system V的校验和算法,块大小为512字节。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件列表:需要计算和与磁盘块数的文件列表。 26 | 27 | ### 实例 28 | 29 | 计算文件校验码: 30 | 31 | ``` 32 | [root@localhost ~]# sum insert.sql 33 | 00827 12 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/supervisord.md: -------------------------------------------------------------------------------- 1 | supervisord 2 | === 3 | 4 | 配置后台服务/常驻进程的进程管家工具 5 | 6 | ## 安装 7 | 8 | ```bash 9 | # 安装 supervisord 10 | apt-get install supervisor 11 | ``` 12 | 13 | ## 实例 14 | 15 | 生成配置文件 `/etc/supervisord.conf` 16 | 17 | ```bash 18 | [program:app] 19 | command=/usr/bin/gunicorn -w 1 wsgiapp:application 20 | directory=/srv/www 21 | user=www-data 22 | ``` 23 | 24 | supervisord: 启动 supervisor 服务 25 | 26 | ```bash 27 | supervisorctl start app 28 | supervisorctl stop app 29 | supervisorctl reload # 修改/添加配置文件需要执行这个 30 | ``` 31 | 32 | ## 下载地址 33 | 34 | https://pypi.python.org/pypi/meld3 35 | https://pypi.python.org/pypi/supervisor -------------------------------------------------------------------------------- /command/swapoff.md: -------------------------------------------------------------------------------- 1 | swapoff 2 | === 3 | 4 | 关闭指定的交换空间 5 | 6 | ## 补充说明 7 | 8 | **swapoff命令** 用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。 9 | 10 | ### 语法 11 | 12 | ``` 13 | swapoff(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:关闭配置文件“/etc/fstab”中所有的交换空间。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。 25 | 26 | ### 实例 27 | 28 | 关闭交换分区 29 | 30 | ``` 31 | swapoff /dev/sda2 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/swapon.md: -------------------------------------------------------------------------------- 1 | swapon 2 | === 3 | 4 | 激活Linux系统中交换空间 5 | 6 | ## 补充说明 7 | 8 | **swapon命令** 用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。 9 | 10 | ### 语法 11 | 12 | ``` 13 | swapon(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区; 20 | -h:显示帮助; 21 | -p<优先顺序>:指定交换区的优先顺序; 22 | -s:显示交换区的使用状况; 23 | -V:显示版本信息。 24 | ``` 25 | 26 | ### 参数 27 | 28 | 交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。 29 | 30 | ### 实例 31 | 32 | ``` 33 | mkswap -c /dev/hdb4 (-c是检查有无坏块) 34 | swapon -v /dev/hdb4 35 | swapon -s 36 | Filename type Size Used Priority 37 | /dev/hda5 partition 506008 96 -1 38 | /dev/hdb4 partition 489972 0 -2 39 | ``` 40 | 41 | 42 | -------------------------------------------------------------------------------- /command/sync.md: -------------------------------------------------------------------------------- 1 | sync 2 | === 3 | 4 | 用于强制被改变的内容立刻写入磁盘 5 | 6 | ## 补充说明 7 | 8 | **sync命令** 用于强制被改变的内容立刻写入磁盘,更新超块信息。 9 | 10 | 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。 11 | 12 | ### 语法 13 | 14 | ``` 15 | sync(选项) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | --help:显示帮助; 22 | --version:显示版本信息。 23 | ``` 24 | 25 | ### buffer与cache 26 | 27 | * buffer:为了解决写磁盘的效率 28 | * cache:为了解决读磁盘的效率 29 | 30 | linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。此时如果重启系统,就可能造成数据丢失。 31 | 32 | sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。 33 | 34 | 如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/tac.md: -------------------------------------------------------------------------------- 1 | tac 2 | === 3 | 4 | 将文件已行为单位的反序输出 5 | 6 | ## 补充说明 7 | 8 | **tac命令** 用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。 9 | 10 | ### 语法 11 | 12 | ``` 13 | tac(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a或——append:将内容追加到文件的末尾; 20 | -i或——ignore-interrupts:忽略中断信号。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件列表:指定要保存内容的文件列表。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/tee.md: -------------------------------------------------------------------------------- 1 | tee 2 | === 3 | 4 | 把数据重定向到给定文件和屏幕上 5 | 6 | ## 补充说明 7 | 8 | **tee命令** 用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。 9 | 10 | ! 11 | 12 | 存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。 13 | 14 | ### 语法 15 | 16 | ``` 17 | tee(选项)(参数) 18 | ``` 19 | 20 | ### 选项 21 | 22 | ``` 23 | -a:向文件中重定向时使用追加模式; 24 | -i:忽略中断(interrupt)信号。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 文件:指定输出重定向的文件。 30 | 31 | 在终端打印stdout同时重定向到文件中: 32 | 33 | ``` 34 | ls | tee out.txt 35 | 1.sh 36 | 1.txt 37 | 2.txt 38 | eee.tst 39 | EEE.tst 40 | one 41 | out.txt 42 | string2 43 | www.pdf 44 | WWW.pdf 45 | WWW.pef 46 | ``` 47 | 48 | ``` 49 | [root@localhost text]# ls | tee out.txt | cat -n 50 | 1 1.sh 51 | 2 1.txt 52 | 3 2.txt 53 | 4 eee.tst 54 | 5 EEE.tst 55 | 6 one 56 | 7 out.txt 57 | 8 string2 58 | 9 www.pdf 59 | 10 WWW.pdf 60 | 11 WWW.pef 61 | ``` 62 | 63 | 64 | -------------------------------------------------------------------------------- /command/telint.md: -------------------------------------------------------------------------------- 1 | telint 2 | === 3 | 4 | 切换当前正在运行系统的运行等级 5 | 6 | ## 补充说明 7 | 8 | **telint命令** 用于切换当前正在运行的Linux系统的运行等级。 9 | 10 | ### 语法 11 | 12 | ``` 13 | telint(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -t:指定等待的秒数。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 运行等级:指定要切换的运行等级。 25 | 26 | 27 | -------------------------------------------------------------------------------- /command/tempfile.md: -------------------------------------------------------------------------------- 1 | tempfile 2 | === 3 | 4 | shell中给临时文件命名 5 | 6 | ## 补充说明 7 | 8 | 有时候在写Shell脚本的时候需要一些临时存储数据的才做,最适合存储临时文件数据的位置就是`/tmp`,因为该目录中所有的内容在系统重启后就会被清空。下面是两种方法为临时数据生成标准的文件名。 9 | 10 | ### tempfile命令 11 | 12 | `tempfile命令`只有在基于Debian的发行版中才默认自带,比如Ubuntu,其他发行版没有这个命令。 13 | 14 | 用tempfile命令为一个临时文件命名: 15 | 16 | ``` 17 | temp_file_name=$(tempfile) 18 | ``` 19 | 20 | 用一个加带了随机数的文件名作为临时文件命名: 21 | 22 | ``` 23 | temp_file_name="/tmp/file_$RANDOM" 24 | ``` 25 | 26 | $RANDOM是一个返回随机数的环境变量。 27 | 28 | ### $$变量 29 | 30 | 如果没有tempfile命令的Linux发行版,也可以使用自己的临时文件名: 31 | 32 | ``` 33 | temp_file_name="/tmp/file.$" 34 | ``` 35 | 36 | `$$`是系统预定义变量,显示当前所在进程的进程号,用`.$$`作为添加的后缀会被扩展成当前运行脚本的进程id。 37 | 38 | 39 | -------------------------------------------------------------------------------- /command/tload.md: -------------------------------------------------------------------------------- 1 | tload 2 | === 3 | 4 | 显示系统负载状况 5 | 6 | ## 补充说明 7 | 8 | **tload命令** 以图形化的方式输出当前系统的平均负载到指定的终端。假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形。 9 | 10 | ### 语法 11 | 12 | ``` 13 | tload(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s:指定闲时的刻度; 20 | -d:指定间隔的时间(秒)。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 终端:指定显示信息的终端设备文件。 26 | 27 | ### 实例 28 | 29 | 使用tload命令查看系统负载情况: 30 | 31 | ``` 32 | tload -d 1 33 | 0.08, 0.02,0.01 34 | 0.04, 0.01, 0.00 35 | 0.04, 0.01, 0.00 36 | 0.04, 0.01,0.00 37 | 0.06, 0.02, 0.00 38 | ``` 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/touch.md: -------------------------------------------------------------------------------- 1 | touch 2 | === 3 | 4 | 创建新的空文件 5 | 6 | ## 补充说明 7 | 8 | **touch命令** 有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | touch(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:或--time=atime或--time=access或--time=use 只更改存取时间; 20 | -c:或--no-create 不建立任何文件; 21 | -d:<时间日期> 使用指定的日期时间,而非现在的时间; 22 | -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; 23 | -m:或--time=mtime或--time=modify 只更该变动时间; 24 | -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; 25 | -t:<日期时间> 使用指定的日期时间,而非现在的时间; 26 | --help:在线帮助; 27 | --version:显示版本信息。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 文件:指定要设置时间属性的文件列表。 33 | 34 | ### 实例 35 | 36 | ``` 37 | touch ex2 38 | ``` 39 | 40 | 在当前目录下建立一个空文件ex2,然后,利用`ls -l`命令可以发现文件ex2的大小为0,表示它是空文件。 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/tty.md: -------------------------------------------------------------------------------- 1 | tty 2 | === 3 | 4 | 显示连接到当前标准输入的终端设备文件名。 5 | 6 | ## 补充说明 7 | 8 | **tty命令** 可以显示连接到当前标准输入的终端设备文件名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | tty [选项] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -s 什么也不显示,只返回退出状态值 20 | ``` 21 | 22 | ### 例子 23 | 24 | 显示连接到当前标准输入的终端设备文件名。 25 | 26 | ```bash 27 | [root@localhost ~]# tty 28 | /dev/pts/0 29 | ``` 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /command/unalias.md: -------------------------------------------------------------------------------- 1 | unalias 2 | === 3 | 4 | 删除由alias设置的别名 5 | 6 | ## 补充说明 7 | 8 | **unalias命令** 用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。如果使用`-a`选项,则表示取消所有已经存在的命令别名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unalias(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:取消所有命令别名。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 命令别名:指定要取消的命令别名。 25 | 26 | ### 实例 27 | 28 | 使用unalias命令将已经设置的命令别名"cc"取消,输入如下命令: 29 | 30 | ``` 31 | unalias cc #取消已经设置的命令别名 32 | ``` 33 | 34 | 上面的命令执行后,系统会将指定的命令别名取消掉。如果用户再使用该命令别名时,系统将提示如下信息: 35 | 36 | ``` 37 | cc:no input files 38 | ``` 39 | 40 | 因此,当使用该指令将命令别名取消后,将不能够再进行使用。否则,将出现错误提示。 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/unarj.md: -------------------------------------------------------------------------------- 1 | unarj 2 | === 3 | 4 | 解压缩由arj命令创建的压缩包 5 | 6 | ## 补充说明 7 | 8 | **unarj命令** 用来解压缩由arj命令创建的压缩包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unarj(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | e:解压缩.arj文件; 20 | l:显示压缩文件内所包含的文件; 21 | t:检查压缩文件是否正确; 22 | x:解压缩时保留原有的路径。 23 | ``` 24 | 25 | ### 参数 26 | 27 | .arj压缩包:指定要解压缩的.arj压缩包。 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/uncompress.md: -------------------------------------------------------------------------------- 1 | uncompress 2 | === 3 | 4 | 用来解压.Z文件 5 | 6 | ## 补充说明 7 | 8 | **uncompress命令** 用来解压缩由compress命令压缩后产生的“.Z”压缩包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | uncompress(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:不提示用户,强制覆盖掉目标文件; 20 | -c:将结果送到标准输出,无文件被改变; 21 | -r:递归的操作方式。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定要压缩的“.Z”压缩包。 27 | 28 | ### 实例 29 | 30 | 先创建一个.Z压缩文件 31 | 32 | ``` 33 | compress FileName 34 | ``` 35 | 36 | 解压: 37 | 38 | ``` 39 | uncompress FileName.Z 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/unexpand.md: -------------------------------------------------------------------------------- 1 | unexpand 2 | === 3 | 4 | 将文件的空白字符转换为制表符 5 | 6 | ## 补充说明 7 | 8 | **unexpand命令** 用于将给定文件中的空白字符(space)转换为制表符(TAB),并把转换结果显示在标准输出设备(显示终端)。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unexpand(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a或--all:转换文件中所有的空白字符; 20 | --first-only:仅转换开头的空白字符; 21 | -t:指定TAB所代表的N个(N为整数)字符数,默认N值是8。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定要转换空白为TAB的文件列表。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/uniq.md: -------------------------------------------------------------------------------- 1 | uniq 2 | === 3 | 4 | 报告或忽略文件中的重复行 5 | 6 | ## 补充说明 7 | 8 | **uniq命令** 用于报告或忽略文件中的重复行,一般与sort命令结合使用。 9 | 10 | ### 语法 11 | 12 | ``` 13 | uniq(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -c或——count:在每列旁边显示该行重复出现的次数; 20 | -d或--repeated:仅显示重复出现的行列; 21 | -f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位; 22 | -s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符; 23 | -u或——unique:仅显示出一次的行列; 24 | -w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。 25 | ``` 26 | 27 | ### 参数 28 | 29 | * 输入文件:指定要去除的重复行文件。如果不指定此项,则从标准读取数据; 30 | * 输出文件:指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。 31 | 32 | ### 实例 33 | 34 | 删除重复行: 35 | 36 | ``` 37 | uniq file.txt 38 | sort file.txt | uniq 39 | sort -u file.txt 40 | 41 | ``` 42 | 43 | 只显示单一行: 44 | 45 | ``` 46 | uniq -u file.txt 47 | sort file.txt | uniq -u 48 | ``` 49 | 50 | 统计各行在文件中出现的次数: 51 | 52 | ``` 53 | sort file.txt | uniq -c 54 | ``` 55 | 56 | 在文件中找出重复的行: 57 | 58 | ``` 59 | sort file.txt | uniq -d 60 | ``` 61 | 62 | 63 | -------------------------------------------------------------------------------- /command/unlink.md: -------------------------------------------------------------------------------- 1 | unlink 2 | === 3 | 4 | 系统调用函数unlink去删除指定的文件 5 | 6 | ## 补充说明 7 | 8 | **unlink命令** 用于系统调用函数unlink去删除指定的文件。和rm命令作用一样,都是删除文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unlink(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示帮助; 20 | --version:显示版本号。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:指定要删除的文件。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/unprotoize.md: -------------------------------------------------------------------------------- 1 | unprotoize 2 | === 3 | 4 | 删除C语言源代码文件中的函数原型 5 | 6 | ## 补充说明 7 | 8 | **unprotoize命令** 属于gcc套件,用于删除C语言源代码文件中的函数原型。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unprotoize(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:设置需要转换代码的目录; 20 | -x:转换代码时排除的文件。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 文件:需要转换代码的C语言源文件。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/unset.md: -------------------------------------------------------------------------------- 1 | unset 2 | === 3 | 4 | 删除指定的shell变量或函数 5 | 6 | ## 补充说明 7 | 8 | **unset命令** 用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量。 9 | 10 | ### 语法 11 | 12 | ``` 13 | unset(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:仅删除函数; 20 | -v:仅删除变量。 21 | ``` 22 | 23 | ### 参数 24 | 25 | shell变量或函数:指定要删除的shell变量或shell函数。 26 | 27 | ### 实例 28 | 29 | 使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令: 30 | 31 | ``` 32 | unset -v mylove #删除指定的环境变量 33 | ``` 34 | 35 | 执行以上命令后,系统将删除指定的环境变量。用户可以使用env命令和grep命令对其进行查询。已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息。 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/updatedb.md: -------------------------------------------------------------------------------- 1 | updatedb 2 | === 3 | 4 | 创建或更新slocate命令所必需的数据库文件 5 | 6 | ## 补充说明 7 | 8 | **updatedb命令** 用来创建或更新slocate命令所必需的数据库文件。updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入slocate数据库文件中。 9 | 10 | 补充说明:slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。 11 | 12 | ### 语法 13 | 14 | ``` 15 | updatedb(选项) 16 | ``` 17 | 18 | ### 选项 19 | 20 | ``` 21 | -o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件; 22 | -U<目录>:更新指定目录的slocate数据库; 23 | -v:显示执行的详细过程。 24 | ``` 25 | 26 | ### 实例 27 | 28 | 实用updatedb命令的`-U`选项可以指定要更新slocate数据库的目录。 29 | 30 | ``` 31 | updatedb -U /usr/local/ 更新指定命令的slocate数据库 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/userdel.md: -------------------------------------------------------------------------------- 1 | userdel 2 | === 3 | 4 | 用于删除给定的用户以及与用户相关的文件 5 | 6 | ## 补充说明 7 | 8 | **userdel命令** 用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | userdel(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:强制删除用户,即使用户当前已登录; 20 | -r:删除用户的同时,删除与用户相关的所有文件。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 用户名:要删除的用户名。 26 | 27 | ### 实例 28 | 29 | userdel命令很简单,比如我们现在有个用户linuxde,其家目录位于`/var`目录中,现在我们来删除这个用户: 30 | 31 | ``` 32 | userdel linuxde //删除用户linuxde,但不删除其家目录及文件; 33 | userdel -r linuxde //删除用户linuxde,其家目录及文件一并删除; 34 | ``` 35 | 36 | 请不要轻易用`-r`选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。 37 | 38 | 其实也有最简单的办法,但这种办法有点不安全,也就是直接在`/etc/passwd`中删除您想要删除用户的记录;但最好不要这样做,`/etc/passwd`是极为重要的文件,可能您一不小心会操作失误。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/usernetctl.md: -------------------------------------------------------------------------------- 1 | usernetctl 2 | === 3 | 4 | 被允许时操作指定的网络接口 5 | 6 | ## 补充说明 7 | 8 | **usernetctl命令** 在用于被允许时操作指定的网络接口。 9 | 10 | ### 语法 11 | 12 | ``` 13 | usernetctl(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 网络接口:被操纵的网络接口; 19 | * up:激活网络接口; 20 | * down:禁用网络接口; 21 | * report:报告网络接口状态。 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/users.md: -------------------------------------------------------------------------------- 1 | users 2 | === 3 | 4 | 显示当前登录系统的所有用户 5 | 6 | ## 补充说明 7 | 8 | **users命令** 用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。 9 | 10 | ### 语法 11 | 12 | ``` 13 | users(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:显示命令的帮助信息; 20 | --version:显示命令的版本信息。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | [root@localhost ~]# users 27 | root root 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/uupick.md: -------------------------------------------------------------------------------- 1 | uupick 2 | === 3 | 4 | 命令处理传送进来的文件。 5 | 6 | ## 补充说明 7 | 8 | **uupick命令** 处理传送进来的文件。 当其他主机通过UUCP将文件传送进来时,可利用uupick指令取出这些文件。 9 | 10 | ### 语法 11 | 12 | ``` 13 | uupick [-v][-I<配置文件>][-s<主机>][-x<层级>][--help] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -I<配置文件>或--config<配置文件> 指定配置文件。 20 | -s<主机>或--system<主机> 处理由指定主机传送过来的文件。 21 | -v或--version 显示版本信息。 22 | --help 显示帮助。 23 | ``` 24 | 25 | ### 例子 26 | 27 | 处理由主机localhost传送过来的文件。在命令行直接输入如下命令: 28 | 29 | ``` 30 | uupick-s localhost 31 | ``` 32 | 33 | 该命令通常没有输出。 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/vgchange.md: -------------------------------------------------------------------------------- 1 | vgchange 2 | === 3 | 4 | 修改卷组属性 5 | 6 | ## 补充说明 7 | 8 | **vgchange命令** 用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgchange(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:设置卷组的活动状态。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 卷组:指定要设置属性的卷组。 25 | 26 | ### 实例 27 | 28 | 使用vgchange命令将卷组状态改为活动的。在命令行中输入下面的命令: 29 | 30 | ``` 31 | [root@localhost ~]# vgchange -ay vg1000 #将卷组"vg1000"设置为活动状态 32 | ``` 33 | 34 | 输出信息如下: 35 | 36 | ``` 37 | 1 logical volume(s) in volume group "vg1000" now active 38 | ``` 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/vgconvert.md: -------------------------------------------------------------------------------- 1 | vgconvert 2 | === 3 | 4 | 转换卷组元数据格式 5 | 6 | ## 补充说明 7 | 8 | **vgconvert命令** 用于转换指定LVM卷组的元数据格式,通常将“LVM1”格式的卷组转换为“LVM2”格式。转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgconvert(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -M:要转换的卷组格式。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 卷组:指定要转换格式的卷组。 25 | 26 | ### 实例 27 | 28 | 转换卷组元数据格式前,使用vgchange命令将卷组设置为非活动状态。在命令行中输入下面的命令: 29 | 30 | ``` 31 | [root@localhost lvm]# vgchange -an vg1000 #设置卷组状态为非活动状态 32 | 0 logical volume(s) in volume group "vg1000" now active  33 | 34 | ``` 35 | 36 | 使用vgconvert命令将卷组"vg1000"从"LVM1"格式转换为"LVM2"格式。在命令行中输入下面的命令: 37 | 38 | ``` 39 | [root@localhost lvm]# vgconvert -M2 vg1000 #转换卷组为"LVM2"格式 40 | Volume group vg1000 successfully converted 41 | ``` 42 | 43 | 使用vgchange命令将卷组设置为活动状态。在命令行中输入下面的命令: 44 | 45 | ``` 46 | [root@localhost lvm]# vgchange -ay vg1000 #设置卷组状态为活动状态 47 | 0 logical volume(s) in volume group "vg1000" now active 48 | ``` 49 | 50 | 51 | -------------------------------------------------------------------------------- /command/vgcreate.md: -------------------------------------------------------------------------------- 1 | vgcreate 2 | === 3 | 4 | 用于创建LVM卷组 5 | 6 | ## 补充说明 7 | 8 | **vgcreate命令** 用于创建LVM卷组。卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgcreate(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -l:卷组上允许创建的最大逻辑卷数; 20 | -p:卷组中允许添加的最大物理卷数; 21 | -s:卷组上的物理卷的PE大小。 22 | ``` 23 | 24 | ### 参数 25 | 26 | * 卷组名:要创建的卷组名称; 27 | * 物理卷列表:要加入到卷组中的物理卷列表。 28 | 29 | ### 实例 30 | 31 | 使用vgcreate命令创建卷组 "vg1000",并且将物理卷`/dev/sdb1`和`/dev/sdb2`添加到卷组中。在命令行中输入下面的命令: 32 | 33 | ``` 34 | [root@localhost ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2 #创建卷组"vg1000" 35 | ``` 36 | 37 | 输出信息如下: 38 | 39 | ``` 40 | Volume group "vg1000" successfully created 41 | ``` 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/vgdisplay.md: -------------------------------------------------------------------------------- 1 | vgdisplay 2 | === 3 | 4 | 显示LVM卷组的信息 5 | 6 | ## 补充说明 7 | 8 | **vgdisplay命令** 用于显示LVM卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgdisplay(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -A:仅显示活动卷组的属性; 20 | -s:使用短格式输出的信息。 21 | ``` 22 | 23 | ### 参数 24 | 25 | 卷组:要显示属性的卷组名称。 26 | 27 | ### 实例 28 | 29 | 使用vgdisplay命令显示存在的卷组"vg1000"的属性。在命令行中输入下面的命令: 30 | 31 | ``` 32 | [root@localhost ~]# vgdisplay vg1000 #显示卷组"vg1000"的属性 33 | ``` 34 | 35 | 输出信息如下: 36 | 37 | ``` 38 | --- Volume group --- 39 | VG Name vg1000 40 | ......省略部分输出内容...... 41 | free PE / Size 50 / 200.00 MB 42 | VG UUID ICprwg-ZmhA-JKYF-WYuy-jNHa-AyCN-ZS5F7B 43 | ``` 44 | 45 | 46 | -------------------------------------------------------------------------------- /command/vgextend.md: -------------------------------------------------------------------------------- 1 | vgextend 2 | === 3 | 4 | 向卷组中添加物理卷 5 | 6 | ## 补充说明 7 | 8 | **vgextend命令** 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgextend(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:调试模式; 20 | -t:仅测试。 21 | ``` 22 | 23 | ### 参数 24 | 25 | * 卷组:指定要操作的卷组名称; 26 | * 物理卷列表:指定要添加到卷组中的物理卷列表。 27 | 28 | ### 实例 29 | 30 | 使用vgextend命令向卷组"vg2000"中添加物理卷。在命令行中输入下面的命令: 31 | 32 | ``` 33 | [root@localhost ~]# vgextend vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"加入卷组"vg2000" 34 | ``` 35 | 36 | 输出信息如下: 37 | 38 | ``` 39 | Volume group "vg2000" successfully extended 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/vgreduce.md: -------------------------------------------------------------------------------- 1 | vgreduce 2 | === 3 | 4 | 从卷组中删除物理卷 5 | 6 | ## 补充说明 7 | 8 | **vgreduce命令** 通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgreduce(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷; 20 | --removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。 21 | ``` 22 | 23 | ### 参数 24 | 25 | * 卷组:指定要操作的卷组名称; 26 | * 物理卷列表:指定要删除的物理卷列表。 27 | 28 | ### 实例 29 | 30 | 使用vgreduce命令从卷组"vg2000"中移除物理卷`/dev/sdb2`。在命令行中输入下面的命令: 31 | 32 | ``` 33 | [root@localhost ~]# vgreduce vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"从卷组"vg2000"中删除 34 | ``` 35 | 36 | 输出信息如下: 37 | 38 | ``` 39 | Removed "/dev/sdb2" from volume group "vg2000" 40 | ``` 41 | 42 | 43 | -------------------------------------------------------------------------------- /command/vgremove.md: -------------------------------------------------------------------------------- 1 | vgremove 2 | === 3 | 4 | 用于用户删除LVM卷组 5 | 6 | ## 补充说明 7 | 8 | **vgremove命令** 用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgremove(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:强制删除。 20 | ``` 21 | 22 | ### 参数 23 | 24 | 卷组:指定要删除的卷组名称。 25 | 26 | ### 实例 27 | 28 | 使用vgremove命令删除LVM卷组"vg1000"。在命令行中输入下面的命令: 29 | 30 | ``` 31 | [root@localhost ~]# vgremove vg1000 #删除卷组"vg1000" 32 | Volume group "vg1000" successfully removed 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /command/vgrename.md: -------------------------------------------------------------------------------- 1 | vgrename 2 | === 3 | 4 | 使用vgrename命令可以重命名卷组的名称。 5 | 6 | ## 补充说明 7 | 8 | **grename命令** 可以重命名卷组的名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgrename [选项] [旧卷组路径|旧卷组名称|旧卷组UUID] [新卷组路径|新卷组名称] 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d 启用调试模式 20 | -t 启用测试模式 21 | ``` 22 | 23 | ### 例子 24 | 25 | 重命名卷组/dev/vg1为/dev/vg2。 26 | 27 | ```bash 28 | [root@localhost ~]# vgrename /dev/vg1 /dev/vg2 29 | Volume group "vg1" successfullyrenamed to "vg2" 30 | ``` 31 | 32 | 重命名卷组vg1为vg2。 33 | 34 | ```bash 35 | [root@localhost ~]# vgrename vg1 vg2 36 | Volume group "vg1" successfully renamed to "vg2" 37 | ``` 38 | 39 | 40 | -------------------------------------------------------------------------------- /command/vgscan.md: -------------------------------------------------------------------------------- 1 | vgscan 2 | === 3 | 4 | 扫描并显示系统中的卷组 5 | 6 | ## 补充说明 7 | 8 | **vgscan命令** 查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | vgscan(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -d:调试模式; 20 | --ignorerlockingfailure:忽略锁定失败的错误。 21 | ``` 22 | 23 | ### 实例 24 | 25 | 使用vgscan命令扫描系统中所有的卷组。在命令行中输入下面的命令: 26 | 27 | ``` 28 | [root@localhost ~]# vgscan #扫描并显示LVM卷组列表 29 | ``` 30 | 31 | 输出信息如下: 32 | 33 | ``` 34 | Found volume group "vg2000" using metadata type lvm2 35 | Found volume group "vg1000" using metadata type lvm2 36 | ``` 37 | 38 | 说明:本例中,vgscan指令找到了两个LVM2卷组"vg1000"和"vg2000"。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/volname.md: -------------------------------------------------------------------------------- 1 | volname 2 | === 3 | 4 | 显示指定的ISO-9660格式的设备的卷名称 5 | 6 | ## 补充说明 7 | 8 | **volname命令** 用于显示指定的“ISO-9660”格式的设备的卷名称,通常这种格式的设备为光驱。 9 | 10 | ### 语法 11 | 12 | ``` 13 | volname(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 设备文件名:指定要显示卷名称的设备。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/w.md: -------------------------------------------------------------------------------- 1 | w 2 | === 3 | 4 | 显示目前登入系统的用户信息 5 | 6 | ## 补充说明 7 | 8 | **w命令** 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | w(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -h, --no-header 不打印头信息; 20 | -u, --no-current 当显示当前进程和cpu时间时忽略用户名; 21 | -s, --short 使用短输出格式; 22 | -f, --from 显示用户从哪登录; 23 | -o, --old-style 老式输出 24 | -i, --ip-addr 显示IP地址而不是主机名(如果可能) 25 | 26 | --help 显示此帮助并退出 27 | -V, --version 显示版本信息。 28 | ``` 29 | 30 | ### 参数 31 | 32 | 用户:仅显示指定用户。 33 | 34 | ### 实例 35 | 36 | ``` 37 | w 38 | 20:39:37 up 136 days, 3:58, 1 user, load average: 0.00, 0.00, 0.00 39 | USER TTY FROM login@ IDLE JCPU PCPU WHAT 40 | root pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w 41 | ``` 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /command/wait.md: -------------------------------------------------------------------------------- 1 | wait 2 | === 3 | 4 | 等待进程执行完后返回 5 | 6 | ## 补充说明 7 | 8 | **wait命令** 用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。 9 | 10 | ### 语法 11 | 12 | ``` 13 | wait(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 进程或作业标示:指定进程号或者作业号。 19 | 20 | ### 实例 21 | 22 | 使用命令wait等待作业号为1的作业完成后再返回,输入如下命令: 23 | 24 | ``` 25 | wait %1 #等待作业号为3的作业完成 26 | ``` 27 | 28 | 执行上面的指令后,将输出指定作业号的指令,如下所示: 29 | 30 | ``` 31 | find / -name password 32 | ``` 33 | 34 | 35 | -------------------------------------------------------------------------------- /command/wall.md: -------------------------------------------------------------------------------- 1 | wall 2 | === 3 | 4 | 向系统当前所有打开的终端上输出信息 5 | 6 | ## 补充说明 7 | 8 | **wall命令** 用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户。 9 | 10 | ### 语法 11 | 12 | ``` 13 | wall(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 消息:指定广播消息。 19 | 20 | ### 实例 21 | 22 | ``` 23 | [root@localhost ~]# wall this is a test line 24 | 25 | Broadcast message from root (pts/1) (Fri Dec 20 11:36:51 2013): 26 | 27 | this is a test line 28 | ``` 29 | 30 | 31 | -------------------------------------------------------------------------------- /command/which.md: -------------------------------------------------------------------------------- 1 | which 2 | === 3 | 4 | 查找并显示给定命令的绝对路径 5 | 6 | ## 补充说明 7 | 8 | **which命令** 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | which(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; 20 | -p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径; 21 | -w:指定输出时栏位的宽度; 22 | -V:显示版本信息。 23 | ``` 24 | 25 | ### 参数 26 | 27 | 指令名:指令名列表。 28 | 29 | ### 实例 30 | 31 | 查找文件、显示命令路径: 32 | 33 | ``` 34 | [root@localhost ~]# which pwd 35 | /bin/pwd 36 | 37 | [root@localhost ~]# which adduser 38 | /usr/sbin/adduser 39 | ``` 40 | 41 | 说明:which是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的! 42 | 43 | 用 which 去找出 cd 44 | 45 | ``` 46 | [root@localhost ~]# which cd 47 | cd: shell built-in command 48 | ``` 49 | cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的! 50 | 51 | 52 | -------------------------------------------------------------------------------- /command/whoami.md: -------------------------------------------------------------------------------- 1 | whoami 2 | === 3 | 4 | 打印当前有效的用户名称 5 | 6 | ## 补充说明 7 | 8 | **whoami命令** 用于打印当前有效的用户名称,相当于执行`id -un`命令。 9 | 10 | ### 语法 11 | 12 | ``` 13 | whoami(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | --help:在线帮助; 20 | --version:显示版本信息。 21 | ``` 22 | 23 | ### 实例 24 | 25 | ``` 26 | [root@localhost ~]# whoami 27 | root 28 | 29 | [root@localhost ~]# id -un 30 | root 31 | ``` 32 | 33 | 34 | -------------------------------------------------------------------------------- /command/write.md: -------------------------------------------------------------------------------- 1 | write 2 | === 3 | 4 | 向指定登录用户终端上发送信息 5 | 6 | ## 补充说明 7 | 8 | **write命令** 用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定接收信息的终端机编号。 9 | 10 | ### 语法 11 | 12 | ``` 13 | write(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | ``` 19 | 用户:指定要接受信息的登录用户; 20 | 登陆终端:指定接收信息的用户的登录终端。 21 | ``` 22 | 23 | ### 实例 24 | 25 | 传信息给Rollaend,此时Rollaend只有一个连线 :  26 | 27 | ``` 28 | write Rollaend 29 | ``` 30 | 31 | 接下来就是将信息打上去,结束请Ctrl+C: 32 | 33 | 传信息给Rollaend、Rollaend的连线有pts/2、pts/3: 34 | 35 | ``` 36 | write Rollaend pts/2 37 | ``` 38 | 39 | 接下来就是将信息打上去,结束请Ctrl+C: 40 | 41 | 若对方设定`mesg n`,则此时信息将无法传给对方。 42 | 43 | 44 | -------------------------------------------------------------------------------- /command/xauth.md: -------------------------------------------------------------------------------- 1 | xauth 2 | === 3 | 4 | 显示和编辑被用于连接X服务器的认证信息 5 | 6 | ## 补充说明 7 | 8 | **xauth命令** 用于显示和编辑被用于连接X服务器的认证信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xauth(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:不使用默认的认证文件,而使用指定的认证文件; 20 | -q:安静模式,不打印未请求的状态信息; 21 | -v:详细模式,打印指定的各种操作信息; 22 | -i:忽略认证文件锁定; 23 | -b:执行任何操作,终端认证文件锁定。 24 | ``` 25 | 26 | ### 参数 27 | 28 | * add:添加认证条目到认证文件中; 29 | * extract:将指定的设备内容加入到指定的密码文件中; 30 | * info:显示授权文件相关信息; 31 | * exit:退出交互模式; 32 | * list:列出给定的显示设备的内容; 33 | * merge:合并多个授权文件内容; 34 | * extract:将指定设备内容写入指定的授权文件; 35 | * nextrct:将指定设备内容写入指定的授权文件; 36 | * nmerge:合并多个授权文件内容; 37 | * remove:删除指定显示设备的授权条目; 38 | * source:从指定文件读取包含xauth的内容指令。 39 | 40 | 41 | -------------------------------------------------------------------------------- /command/xclip.md: -------------------------------------------------------------------------------- 1 | xclip 2 | === 3 | 4 | 管理 X 粘贴板 5 | 6 | ## 补充说明 7 | 8 | 在 X 系统里面,从一个窗口复制一段文字到另一个窗口,有两套机制,分别是 Selections 和 cut buffers。 9 | 10 | 常用的 copy & paste 是利用的 cut buffers 机制;另外用鼠标选中一段文字,然后在另一个窗口按鼠标中键实现复制,利用的是 selections 机制。selection 又可以分为 master 和 slave selection。 11 | 12 | 当用鼠标选中一段文件,这段文字就自动被复制到 master selection。然后在另一个地方按鼠标中键,就自动把 master selection 的内容粘贴出来。 13 | 14 | 当你想复制少量文字的时候,两种方法都是很方便的。但是当复制大段文字的时候就挺麻烦。另外就是你可能会频繁的执行一些复制粘贴工作,不停的用鼠标选中文字,然后再粘贴。这是对手指的折磨。 15 | 16 | 我忍受不了这种折磨,所以发现了 xclip, 方便的管理 X selections 里面内容的工具。 17 | 18 | 比如如下命令就把文件 /etc/passwd 的内容复制到 X master selections 里面了。 19 | 20 | ``` 21 | xclip -i /etc/passwd 22 | 23 | ``` 24 | 25 | 然后到别的地方就能复制出来,利用鼠标中键。或者是更舒服的 shift+insert。 我现在最常用的方法是通过键盘绑定来管理 X master selections 的内容。比如 alt+F1 就能把我的 ~/f1 的内容复制到 X master selections,alt+F2 复制 ~/f2 的内容。这样就能把你需要经常用到的内容方便的进行复制粘贴。比如常用的密码啥的。 26 | 27 | 28 | -------------------------------------------------------------------------------- /command/xhost.md: -------------------------------------------------------------------------------- 1 | xhost 2 | === 3 | 4 | 制哪些X客户端能够在X服务器上显示 5 | 6 | ## 补充说明 7 | 8 | **xhost命令** 是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。该命令必须从有显示连接的机器上运行。可以通过使用`-host`参数,从访问列表中除去一个名称。不要从访问列表中除去当前的名称。如果已经这样做了,请在作出任何更改之前注销系统。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xhost(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * +:关闭访问控制,允许任何主机访问本地的X服务器; 19 | * -:打开访问控制,仅允许授权清单中的主机访问本地的X服务器。 20 | 21 | 输入无变量的xhost命令将显示访问X服务器的当前主机名,并显示一条消息表明访问是否已启用。 22 | 23 | 为了安全起见,只能从控制主机运行影响访问控制的选项。对于工作站来说,这台机器也就是服务器。对于X终端来说,这台机器是登录主机。 24 | 25 | 要在缺省情况下启用远程名称,可以在`/etc/X?.hosts`文件中定义名称,其中`?`为启用访问的显示器号。 26 | 27 | 例如,显示器`jeanne:0`可以由使用jeanne的缺省主机名的系统上的`/etc/X0.hosts`文件中定义的系统访问。在显示名称和文件名中,0表明已定义的远程系统允许通过增强X-Windows访问的显示器号。 28 | 29 | 注意:`-name`参数,定义要从X服务器访问列表中除去的主机名。已有的连接没有被中断,但将拒绝新的连接请求。注意:可以除去当前的机器;然而,不允许进行进一步的连接(包括试图将其添加回来)。再一次启用本地连接的唯一方法就是将服务器复位(因此也会中断所有连接)。 30 | 31 | 32 | -------------------------------------------------------------------------------- /command/xinit.md: -------------------------------------------------------------------------------- 1 | xinit 2 | === 3 | 4 | 是Linux下X-Window系统的初始化程序 5 | 6 | ## 补充说明 7 | 8 | **xinit命令** 是Linux下X-Window系统的初始化程序,主要完成X服务器的初始化设置。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xinit(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | * 客户端选项:客户端指令及选项; 19 | * --:用于区分客户端选项和服务器端选项; 20 | * 服务器端选项:服务器端选项指令及选项。 21 | 22 | 23 | -------------------------------------------------------------------------------- /command/xlsatoms.md: -------------------------------------------------------------------------------- 1 | xlsatoms 2 | === 3 | 4 | 列出X服务器内部所有定义的原子成分 5 | 6 | ## 补充说明 7 | 8 | **xlsatoms命令** 用于列出X服务器内部所有定义的原子成分,每个原子成分都有自身的编号。可利用参数设置列表范围,或直接指定欲查询的成分名称。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xlsatoms(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | * -display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增; 19 | * -format<输出格式>:设置成分清单的列表格式,您可使用控制字符改变显示样式; 20 | * -name<成分名称>:列出指定的成分; 21 | * -range<列表范围>:设置成分清单的列表范围。 22 | 23 | 24 | -------------------------------------------------------------------------------- /command/xlsclients.md: -------------------------------------------------------------------------------- 1 | xlsclients 2 | === 3 | 4 | 列出显示器中的客户端应用程序 5 | 6 | ## 补充说明 7 | 8 | **xlsclients命令** 用来列出显示器中的客户端应用程序。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xlsclients(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -a:列出所有显示器的客户端应用程序信息; 20 | -display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增; 21 | -l:使用详细格式列表; 22 | -m<最大指令长度>:设置显示指令信息的最大长度,单位以字符计算。 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /command/xlsfonts.md: -------------------------------------------------------------------------------- 1 | xlsfonts 2 | === 3 | 4 | 列出X Server使用的字体 5 | 6 | ## 补充说明 7 | 8 | **xlsfonts命令** 列出X Server使用的字体,也能使用范本样式仅列出的符合条件的字体。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xlsfonts(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -l:除字体名称外,同时列出字体的属性; 20 | -ll:此参数的效果和指定"l"参数类似,但显示更详细的信息; 21 | -lll:此参数的效果和指定"ll"参数类似,但显示更详细的信息; 22 | -m:配合参数"-l"使用时,一并列出字体大小的上下限; 23 | -n<显示栏位数>:设置每列显示的栏位数; 24 | -o:以OpenFont的形式列出字体清单; 25 | -u:列出字体清单时不依照其名称排序; 26 | -w<每列字符数>:设置每列的最大字符数。 27 | ``` 28 | 29 | 30 | -------------------------------------------------------------------------------- /command/xset.md: -------------------------------------------------------------------------------- 1 | xset 2 | === 3 | 4 | 设置X-Window系统中的用户爱好的实用工具 5 | 6 | ## 补充说明 7 | 8 | **xset命令** 是设置X-Window系统中的用户爱好的实用工具。 9 | 10 | ### 语法 11 | 12 | ``` 13 | xset(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -b:蜂鸣器开关设置; 20 | -c:键盘按键声响设置。 21 | ``` 22 | 23 | ### 参数 24 | 25 | * c:键盘按键声响设置; 26 | * s:屏幕保护程序设置。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/yes.md: -------------------------------------------------------------------------------- 1 | yes 2 | === 3 | 4 | 重复打印指定字符串 5 | 6 | ## 补充说明 7 | 8 | **yes命令** 在命令行中输出指定的字符串,直到yes进程被杀死。不带任何参数输入yes命令默认的字符串就是y。 9 | 10 | ### 语法 11 | 12 | ``` 13 | yes(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 字符串:指定要重复打印的字符串。 19 | 20 | ### 实例 21 | 22 | ``` 23 | [root@localhost ~]# yes testline 24 | 25 | testline 26 | testline 27 | testline 28 | testline 29 | testline 30 | testline 31 | testline 32 | testline 33 | ...一直重复打印 testline,按Ctrl+C结束。 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/ypdomainname.md: -------------------------------------------------------------------------------- 1 | ypdomainname 2 | === 3 | 4 | 显示主机的NIS的域名 5 | 6 | ## 补充说明 7 | 8 | **ypdomainname命令** 显示主机的NIS的域名。 9 | 10 | ### 语法 11 | 12 | ``` 13 | ypdomainname(选项) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -v:详细信息模式。 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /command/zcat.md: -------------------------------------------------------------------------------- 1 | zcat 2 | === 3 | 4 | 显示压缩包中文件的内容 5 | 6 | ## 补充说明 7 | 8 | **zcat命令** 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。 9 | 10 | ### 语法 11 | 12 | ``` 13 | zcat(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -S:指定gzip格式的压缩包的后缀。当后缀不是标准压缩包后缀时使用此选项; 20 | -c:将文件内容写到标注输出; 21 | -d:执行解压缩操作; 22 | -l:显示压缩包中文件的列表; 23 | -L:显示软件许可信息; 24 | -q:禁用警告信息; 25 | -r:在目录上执行递归操作; 26 | -t:测试压缩文件的完整性; 27 | -V:显示指令的版本信息; 28 | -l:更快的压缩速度; 29 | -9:更高的压缩比。 30 | ``` 31 | 32 | ### 参数 33 | 34 | 文件:指定要显示其中文件内容的压缩包。 35 | 36 | 37 | -------------------------------------------------------------------------------- /command/zfore.md: -------------------------------------------------------------------------------- 1 | zfore 2 | === 3 | 4 | 强制为gzip格式的压缩文件添加.gz后缀 5 | 6 | ## 补充说明 7 | 8 | **zfore命令** 强制为gzip格式的压缩文件添加“.gz”后缀。 9 | 10 | ### 语法 11 | 12 | ``` 13 | zfore(参数) 14 | ``` 15 | 16 | ### 参数 17 | 18 | 文件列表:指定要添加“.gz”后缀的gzip压缩文件。 19 | 20 | 21 | -------------------------------------------------------------------------------- /command/zipinfo.md: -------------------------------------------------------------------------------- 1 | zipinfo 2 | === 3 | 4 | 用来列出压缩文件信息 5 | 6 | ## 补充说明 7 | 8 | **zipinfo命令** 用来列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息。 9 | 10 | ### 语法 11 | 12 | ``` 13 | zipinfo(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -1:只列出文件名称; 20 | -2:此参数的效果和指定“-1”参数类似,但可搭配“-h”,“-t”和“-z”参数使用; 21 | -h:只列出压缩文件的文件名称; 22 | -l:此参数的效果和指定“-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率; 23 | -m:此参数的效果和指定“-s”参数类似,但多会列出每个文件的压缩率; 24 | -M:若信息内容超过一个画面,则采用类似more指令的方式列出信息; 25 | -s:用类似执行“ls-l”指令的效果列出压缩文件内容; 26 | -t:只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率; 27 | -T:将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出; 28 | -v:详细显示压缩文件内每一个文件的信息; 29 | -x<范本样式>:不列出符合条件的文件的信息; 30 | -z:如果压缩文件内含有注释,就将注释显示出来。 31 | ``` 32 | 33 | ### 参数 34 | 35 | 文件:指定zip格式的压缩包。 36 | 37 | 38 | -------------------------------------------------------------------------------- /command/zipsplit.md: -------------------------------------------------------------------------------- 1 | zipsplit 2 | === 3 | 4 | 将较大的zip压缩包分割成各个较小的压缩包 5 | 6 | ## 补充说明 7 | 8 | **zipsplit命令** 用于将较大的“zip”压缩包分割成各个较小的“zip”压缩包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | zipsplit(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -n:指定分割后每个zip文件的大小; 20 | -t:报告将要产生的较小的zip文件的大小; 21 | -b:指定分割后的zip文件的存放位置。 22 | ``` 23 | 24 | ### 参数 25 | 26 | 文件:指定要分割的zip压缩包。 27 | 28 | 29 | -------------------------------------------------------------------------------- /command/znew.md: -------------------------------------------------------------------------------- 1 | znew 2 | === 3 | 4 | 将.Z压缩包重新转化为gzip命令压缩的.gz压缩包 5 | 6 | ## 补充说明 7 | 8 | **znew命令** 用于将使用compress命令压缩的“.Z”压缩包重新转化为使用gzip命令压缩的“.gz”压缩包。 9 | 10 | ### 语法 11 | 12 | ``` 13 | znew(选项)(参数) 14 | ``` 15 | 16 | ### 选项 17 | 18 | ``` 19 | -f:强制执行转换操作,即是目标“.gz”已经存在; 20 | -t:删除原文件前测试新文件; 21 | -v:显示文件名和每个文件的压缩比; 22 | -9:食用油花的压缩比,速度较慢; 23 | -P:使用管道完成转换操作,以降低磁盘空间使用; 24 | -K:当“.Z”文件比“.gz”文件小时,保留“.Z”文件。 25 | ``` 26 | 27 | ### 参数 28 | 29 | 文件:指定compress指令压缩生成的“.Z”压缩包。 30 | 31 | 32 | -------------------------------------------------------------------------------- /electron-builder.yml: -------------------------------------------------------------------------------- 1 | copyright: halo 2 | productName: linux-command 3 | artifactName: ${productName}-${os}-${arch}-${version}.${ext} 4 | files: 5 | - "*.js" 6 | - ".deploy/**" 7 | asar: true 8 | compression: maximum 9 | nsis: 10 | perMachine: true 11 | oneClick: true 12 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haloislet/linux-command/04a329e6831e9890c7715a7b66f5d718564a80a0/logo.png -------------------------------------------------------------------------------- /mac-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haloislet/linux-command/04a329e6831e9890c7715a7b66f5d718564a80a0/mac-screenshot.png -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | const { app, BrowserWindow } = require('electron') 2 | 3 | const path = require('path') 4 | const url = require('url') 5 | 6 | require('./menu.js') 7 | 8 | let mainWindow 9 | 10 | function createWindow () { 11 | 12 | mainWindow = new BrowserWindow({width: 1024, height: 768}) 13 | mainWindow.loadURL(url.format({ 14 | pathname: path.join(__dirname, '.deploy/index.html'), 15 | protocol: 'file:', 16 | slashes: true 17 | })) 18 | 19 | mainWindow.on('closed', function () { 20 | mainWindow = null 21 | }) 22 | } 23 | 24 | app.on('ready', createWindow) 25 | 26 | app.on('window-all-closed', function () { 27 | if (process.platform !== 'darwin') { 28 | app.quit() 29 | } 30 | }) 31 | 32 | app.on('activate', function () { 33 | if (mainWindow === null) { 34 | createWindow() 35 | } 36 | }) 37 | 38 | -------------------------------------------------------------------------------- /template/details.ejs: -------------------------------------------------------------------------------- 1 | 2 | <%-include('header'); %> 3 | <%- include('search',{type: "list",subType: "listDetails"}); %> 4 | 5 |
6 | <% if(md_path){ %> 7 | 8 | 纠正错误 9 | 10 | 添加实例 11 | 12 | <% } %> 13 | {{content}} 14 |
15 | 16 | <%- include('footer'); %> -------------------------------------------------------------------------------- /template/footer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /template/header.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Linux 命令搜索引擎 8 | 9 | 10 | -------------------------------------------------------------------------------- /template/hot.ejs: -------------------------------------------------------------------------------- 1 | 2 | <%- include('header',{src:""}); %> 3 | <%- include('search',{type: "list"}); %> 4 | 5 |
6 | 11 |
12 | 13 | <%- include('footer'); %> -------------------------------------------------------------------------------- /template/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haloislet/linux-command/04a329e6831e9890c7715a7b66f5d718564a80a0/template/img/favicon.ico -------------------------------------------------------------------------------- /template/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | <%- include('header'); %> 3 | <%- include('search',{type: "index"}); %> 4 | <%- include('footer'); %> -------------------------------------------------------------------------------- /template/list.ejs: -------------------------------------------------------------------------------- 1 | 2 | <%- include('header',{src:""}); %> 3 | <%- include('search',{type: "list"}); %> 4 | 5 |
6 |
    7 | 11 |
12 |
13 | 14 | <%- include('footer'); %> -------------------------------------------------------------------------------- /template/styl/mixins/reset.styl: -------------------------------------------------------------------------------- 1 | body,html,ul,li,p{ 2 | margin 0 3 | padding 0 4 | } 5 | body,html{ 6 | font-size 12px 7 | font-family 'HanHei SC','PingFang SC','Helvetica Neue','Helvetica','STHeitiSC-Light','Arial',sans-serif 8 | } 9 | html{ 10 | -webkit-tap-highlight-color rgba(0,0,0,0) 11 | } 12 | a { 13 | text-decoration none 14 | &:hover{ 15 | color #333 16 | } 17 | } 18 | * { 19 | box-sizing border-box 20 | } 21 | 22 | $border-color = #D5D5D5 --------------------------------------------------------------------------------