Linux命令速查及命令详解


Linux 命令速查手册 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown] 停止系统 [halt] 停止系统 [reboot] 重启动 [poweroff] 切断电源 [sync] 把内存里的内容写入磁盘 [lilo] 安装 lilo 启动管理程序 [grub] 安装 lilo 启动管理程序 二. Shell 相关命令 [chsh] 切换 Shell [history] 显示命令履历 [alias] 设置命令别名 [unalias] 取消命令别名 [which] 显示命令所在位置 [type] 查询命令种类 [echo] 显示字符串或者变量内容 [set] 设置/显示 Shell 变量 [printenv] 显示环境变量 [export] 设置环境变量 [env] 设置临时环境变量 [unset] 释放环境变量 [setenv] 设置环境变量 [unsetenv] 释放环境变量 [source] 执行文件当中的命令 [man] 查询命令手册 [info] 查询超文本命令手册 [whatis] 显示命令简介 [apropos] 通过关键字查询手册 三. 用户管理相关命令 [su] 切换到其他用户 [useradd] 追加用户 [adduser] 追加用户 [userdel] 删除用户 [usermod] 修改用户设置 [chfn] 修改用户私人信息 [groupadd] 追加组 [groupdel] 删除组 [groupmod] 修改组设置 [passwd] 更改密码 [whoami] 显示用户名 [logname] 显示登录用户帐号 [users] 显示所有登录用户信息 [who] 查询登录用户信息 [w] 查询登录用户信息 [id] 显示指定用户的 ID 信息 [groups] 显示指定用户的所属组 [finger] 显示指定用户的个人信息 [mesg] 开关与他人收发消息 [write] 给其他用户发消息 [wall] 给所有用户发消息 [talk] 和其他用户聊天 四. 系统消息相关命令 [top] 提供了实时的对系统处理器的状态监视 [date] 显示/设置当前时间 [uptime] 显示系统运行时间 [arch] 显示机器的核心构架(如 i386) [uname] 显示操作系统信息 [tty] 显示终端名 [last] 显示登录/登出在履历 [lastb] 显示非法登录信息 [dumpkeys] 显示当前键盘配置 [loadkeys] 变更键盘配置 [df] 查询磁盘使用信息 [du] 查询磁盘使用信息 [dmesg] 显示系统启动消息 [script] 保存输入输出到文件 五. 文件操作相关命令 [ls] 显示文件列表 [tree] 显示目录树 [pwd] 显示当前路径 [cd] 更改当前路径 [pushd] 追加路径到目录堆栈 [popd] 从目录堆栈删除路径 [dirs] 显示目录堆栈的内容 [mkdir] 创建路径 [rmdir] 删除路径 [cp] 复制文件/目录 [rm] 删除文件/目录 [mv] 移动文件/目录,修改文件名 [chown] 更改文件/目录的所有者 [chgrp] 修改文件/目录的所有组 [chmod] 修改文件/目录的权限 [touch] 更改文件时间 [ln] 建立文件/目录链接 [find] 查找文件 [whereis] 显示文件存在的路径名 [file] 查询文件种类 [size] 查询文件大小 六. 文件编辑相关命令 [cat] 显示文件内容 [tee] 输出到文件和屏幕 [more] 分屏显示文件内容 [less] 分屏显示文件内容 [head] 显示文件头部内容 [tail] 显示文件尾部内容 [fold] 折叠显示长行 [sort] 排列文件的行 [cmp] 比较文件内容 [diff] 显示文件差异 [nkf] 更改日语文件编码 [dd] 变更文件之后复制 [wc] 统计文本单词数,文件大小等 [split] 分割文件 [paste] 以行连接文件 [join] 以字段连接文件 [grep] 查询文字 [uniq] 过滤重复部分显示文件内容 [tr] 替换文字 [sed] 替换文字 [vi] vi 文字编辑器 七. 压缩/解压缩相关命令 [tar] 压缩/解压缩文件 [compress] 压缩/解压缩文件 [uncompress] 解压缩 [gzip] 压缩/解压缩文件 [gunzip] 解压缩 [zcat] 显示压缩文件的内容 [lha] 压缩/解压缩文件 [uuencode] 把二进制文件编码为文本文件 [uudecode] 把经过编码的文本文件还原为二进制文件 八. MS-DOS 工具集 [mtools]命令 [mdir] 显示文件列表 [mcd] 改变当前目录 [mmd] 新建目录 [mrd] 删除目录 [mdeltree] 删除目录树 [mcopy] 复制文件 [mdel] 删除文件 [mmove] 移动文件 [mren] 更改文件或目录名 [mattrib] 修改文件属性 [mtype] 显示文件内容 [mdu] 查询文件或目录大小 [minfo] 显示磁盘信息 [mformat] 以 MS-DOS 方式格式化磁盘 [mlabel] 设置磁盘标签 九. 控制外部设备相关命令 [mount] mount 上设备 [umount] 解除已经 mount 上的设备 [eject] 弹出(CD/DVD 等) [fdformat] 格式化软盘 [fdisk] 配置/显示硬盘分区 [mkfs] 格式化磁盘分区 [fsck] 检查/修复磁盘错误 [lpr] 打印到打印机 [lprm] 中断打印任务 [lpq] 显示打印任务的状态 [lpc] 管理/控制打印任务 [ifconfig] 显示/设定 NIC 配置 十. 进程及任务管理相关命令 [ps] 显示正在运行的进程 [jobs] 显示后台运行任务 [fg] 把任务切换到前台 [bg] 把任务切换到后台 [kill] 中止进程或任务 [killall] 中止进程或任务 [wait] 等待进程或任务的结束 [at] 设置定时执行任务 [atq] 显示尚未执行的任务 [atrm] 删除定时执行任务 [batch] 在系统负荷减轻的时候执行任务 [nice] 改变优先度并执行任务 [nohup] 在后台执行任务,Logout 之后也不退出 [sleep] 休眠一定的时间 [crond] 用来定期执行程序的命令 [screen] 可以在多个进程之间多路复用一个物理终端的窗口管理器 十一. 网络管理相关命令 [netstat] 显示当前网络连接状况 [route] 显示/设置路由 [host] 显示网络主机情况 [hostname] 显示/设置当前主机的名字 [ping] 确认和远程机器的连接情况 [traceroute] 显示路由信息 [rwho] 查询网上机器的登陆用户 [ruptime] 查询网上机器的系统运行时间 [rlogin] 登陆到远程机器 [telnet] 用 telnet 登陆到远程机器 [rsh] 给远程机器发送命令 [rcp] 在远程机器之间复制文件 [mail] 收取邮件 [sendmail] 发送邮件 [mailq] 确认邮件队列 [ftp] 用 ftp 传输文件 十二. 其他命令 [cal] 显示日历 [clear] 清屏 [gcc] 编译 C 语言代码 [as] 汇编 [bc] 计算 [rpm] Redhat 的包管理 [dpkg] Debian 的包管理 [installpkg] Slackware 的包安装(删除命令则是 removepkg) [xf86setup ,turboxfg,Xconfigurator] 配置 X 服务器 [startx] 启动 X-Window 系统 Linux 关机重启命令 重启命令: 1、reboot 2、shutdown -r now 立刻重启(root 用户使用) 3、shutdown -r 10 过 10 分钟自动重启(root 用户使用) 4、shutdown -r 20:35 在时间为 20:35 时候重启(root 用户使用) 如果是通过 shutdown 命令设置重启的话,可以用 shutdown -c 命令取消重启 关机命令: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root 用户使用) 4、shutdown -h 10 10 分钟后自动关机 如果是通过 shutdown 命令设置关机的话,可以用 shutdown -c 命令取消重启 Debian 中 apt-get 用法指南 apt-get 是一个很完整和先进的软件包管理程序,apt-get 使用 source.list 文件进行软件包管理。 debian 中 apt-get 命令使用方法: apt-get install packagename # ——(package 安装包) apt-get install packagename # —–(package - - reinstall 重新安装包) apt-get remove packagename——卸载一个已安装的软件包(保留配置文件) apt-get –purge remove packagename——卸载一个已安装的软件包(删除配置文件) apt-get update #——更新源 apt-get upgrade #——更新所有已安装的软件包 apt-get dist-upgrade——将系统升级到新版本 apt-get dselect-upgrade #—— 使用 dselect 升级 apt-get source packagename #——(下载该包的源代码) apt-get build-dep packagename # ——(安装编译源码包所需相关的编译环境) apt-get clean # ——–清理下载文件的存档,这个命令会把安装的软件的备份也删除,不过这样不会 影响软件的使用的。 apt-get autoclean # ——–只清理过时的包,apt-get 会把已装或已卸的软件都备份在硬盘上,所以如果 需要空间的话,可以让这个命令来删除你已经删掉的软件 apt-get check #——-检查是否有损坏的依赖 Debian 中 dpkg 命令用法 Debian ,以及基于 Debian 的系统,如 Ubuntu 等,所使用的包格式为 deb 。以下为操作 deb 包的常用 Dpkg 指令表。 命令 作用 dpkg -i package.deb 安装包 dpkg -r package 删除包 dpkg -P package 删除包(包括配置文件) dpkg -L package 列出与该包关联的文件 dpkg -l package 显示该包的版本 dpkg –unpack package.deb 解开 deb 包的内容 dpkg -S keyword 搜索所属的包内容 dpkg -l 列出当前已安装的包 dpkg -c package.deb 列出 deb 包的内容 dpkg –configure package 配置包 更多选项可通过 dpkg -h 查询,有些指令需要超级用户权限才能执行。 Linux 中 apt-cache 命令的用法 apt-cache 是 linux 下的一个 apt 软件包管理工具,它可查询 apt 的二进制软件包缓存文件。APT 包管理 的大多数信息查询功能都可以由 apt-cache 命令实现,通过 apt-cache 命令配合不同的子命令和参数的使 用,可以实现查找,显示软件包信息及包依赖关系等功能. 1> apt-cache show package_name 显示指定软件包的信息,包括版本号,安装状态和包依赖关系等. 2> apt-cache search package_name 搜索软件包,可以按关键字查找软件包,通常用于查询的关键字会使用软件包的名字或软件包的一部分. 3> apt-cache showpkg package_name 显示软件包的依赖关系信息. 4> apt-cache stats 显示当前系统所使用的数据源的统计信息,用户可以使用该命令查看数据源的相关统计信息. 5> apt-cache policy package_name 显示软件包的安装状态和版本信息. 6> apt-cache depends package_name 显示指定软件包所依赖的软件包。当用户需要了解某个软件包依赖于其他哪些包时,可以使用 apt-cache depends 来查询包依赖关系. 7> apt-cache rdepends package_name 查询指定软件包的反向依赖关系,即那些其他的软件包需要依赖你所指定的软件包做为安装和运行的必须条件. 8>apt-cache dump 显示缓存中的每个软件包的简要描述信息. 9>apt-cache unmet 显示不符合一致性的依赖关系. Debian 系统硬件查询命令 Category: linux, Author: admin, Popularity: 25% 查看内核 : uname -a ————- cpu 信息 ————- #cpu 详细信息 cat /proc/cpuinfo ————- 硬盘信息 ————- #查看分区情况 fdisk -l #查看大小情况 df -h #查看使用情况 du -h #查看目录占用空间 du -hs 目录名 ————- 内存信息 ————- 1) cat /proc/meminfo 2) free -m 3) vmstat ————- 网卡信息 ————- #查看网络统计信息 netstat -s ————- 外设信息 ————- #查看 PCI 设备 lspci -tv #查看 USB 设备 lsusb -tv Debian 中 apt-spy 的用法 Category: linux, 网站优化, Author: admin, Popularity: 14% apt-spy 使用方法: apt-spy [options] 选项: -d distribution 选择 debian 的发行版本,例如 stable 。除升级外,必须使用此参数。 -a area 选择进行测试的区域,例如 Aisa 。 -c config 指定配置文件。 -e number 指定测试的服务器数量。 -f file 测试时抓取制定的文件(文件相对 debian base 的路径)。 -i file 指定输入的文件,配合 -w 参数使用。 -m mirror-list 指定要升级的镜像列表文件。 -o output-file 重定向输出到指定文件。 -p proxy 指定使用的代理服务器,需要遵从 [server]:[port] 的格式。 -s country_list 指定要进行测试的国家。不能和 -a 参数同时使用。 -t time 指定进行测试时每台服务器的超时时间,只能是正整数。 -u update-URL 从指定的 URL 获得镜像列表更新。 -w file 输出 -i 参数提供的服务器列表中速度最快的前几台镜像服务器(缺省是前 5 台)。 -n number 制定 -w 参数输出的服务器数量。 -v 输出版本信息。 -h 输出当前帮助信息 update 升级镜像站点列表。 用例: 在亚洲区寻找速度最快的 testing 版镜像(每台服务器的超时时间 20 秒), 并生成 sources.list 文件 apt-spy -d testing -t 20 -A Asia Linux 系统中 scp 命令的用法 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。linux 的 scp 命令可以在 linux 服务器之间复制文件和目录. scp 命令的用处: scp 在网络上不同的主机之间复制文件,它使用 ssh 安全协议传输数据,具有和 ssh 一样的验证机制,从而 安全的远程拷贝文件。 scp 命令基本格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2 scp 命令的参数说明: -1 强制 scp 命令使用协议 ssh1 -2 强制 scp 命令使用协议 ssh2 -4 强制 scp 命令只使用 IPv4 寻址 -6 强制 scp 命令只使用 IPv6 寻址 -B 使用批处理模式(传输过程中不询问传输口令或短语) -C 允许压缩。(将-C 标志传递给 ssh,从而打开压缩功能) -p 保留原文件的修改时间,访问时间和访问权限。 -q 不显示传输进度条。 -r 递归复制整个目录。 -v 详细方式显示输出。scp 和 ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置 问题。 -c cipher 以 cipher 将数据传输进行加密,这个选项将直接传递给 ssh。 -F ssh_config 指定一个替代的 ssh 配置文件,此参数直接传递给 ssh。 -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给 ssh。 -l limit 限定用户所能使用的带宽,以 Kbit/s 为单位。 -o ssh_option 如果习惯于使用 ssh_config(5)中的参数传递方式, -P port 注意是大写的 P, port 是指定数据传输用到的端口号 -S program 指定加密传输时所使用的程序。此程序必须能够理解 ssh(1)的选项。 scp 命令的实际应用 1>从本地服务器复制到远程服务器 (1) 复制文件: 命令格式: scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file 第 1,2 个指定了用户名,命令执行后需要输入用户密码,第 1 个仅指定了远程的目录,文件名字不变,第 2 个指定了文件名 第 3,4 个没有指定用户名,命令执行后需要输入用户名和密码,第 3 个仅指定了远程的目录,文件名字不变, 第 4 个指定了文件名 实例: scp /home/linux/soft/scp.zip root@www.mydomain.com:/home/linux/others/soft scp /home/linux/soft/scp.zip root@www.mydomain.com:/home/linux/others/soft/scp2.zip scp /home/linux/soft/scp.zip www.mydomain.com:/home/linux/others/soft scp /home/linux/soft/scp.zip www.mydomain.com:/home/linux/others/soft/scp2.zip (2) 复制目录: 命令格式: scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder 第 1 个指定了用户名,命令执行后需要输入用户密码; 第 2 个没有指定用户名,命令执行后需要输入用户名和密码; 例子: scp -r /home/linux/soft/ root@www.mydomain.com:/home/linux/others/ scp -r /home/linux/soft/ www.mydomain.com:/home/linux/others/ 上面 命令 将 本地 soft 目录 复制 到 远程 others 目录下,即复制后远程服务器上会 有/home/linux/others/soft/ 目录 2>从远程服务器复制到本地服务器 从远程复制到本地的 scp 命令与上面的命令雷同,只要将从本地复制到远程的命令后面 2 个参数互换顺序就 行了。 例如: scp root@www.mydomain.com:/home/linux/soft/scp.zip /home/linux/others/scp.zip scp www.mydomain.com:/home/linux/soft/ -r /home/linux/others/ linux 系统下 scp 命令中很多参数都和 ssh1 有关 , 还需要看到更原汁原味的参数信息,可以运行 man scp 看到更细致的英文说明. Linux 中 du 命令参数的用法 本文详细介绍了 linux 中 du 命令参数的用法,并用示例进一步说明其使用方法。 Du 命令功能说明:统计目录(或文件)所占磁盘空间的大小。 语  法:du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目 录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a 或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b 或-bytes 显示目录或文件大小时,以 byte 为单位。 -c –或 total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D–或 dereference-args 显示指定符号连接的源文件大小。 -h –或 human-readable 以 K,M,G 为单位,提高信息的可读性。 -H–或 si 与-h 参数相同,但是 K,M,G 是以 1000 为换算单位,而不是以 1024 为换算单位。 -k –或 kilobytes 以 1024 bytes 为单位。 -l –或 count-links 重复计算硬件连接的文件。 -L<符号连接> –或 dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m –或 megabytes 以 1MB 为单位。 -s –或 summarize 仅显示总计,即当前目录的大小。 -S–或 separate-dirs 显示每个目录的大小时,并不含其子目录的大小。 -x –或 one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件> –或 exclude-from=<文件> 在<文件>指定目录或文件。 –exclude=<目录或文件> 略过指定的目录或文件。 –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 linux 中的 du 命令使用示例: 1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux 目录及其每个子目录中显示了磁盘块数。 2> 要通过以 1024 字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux 目录及其每个子目录中显示了 1024 字节磁盘块数。 3> 以 MB 为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux 目录及其每个子目录中显示了 MB 磁盘块数。 4> 以 GB 为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux 目录及其每个子目录中显示了 GB 磁盘块数。 5>查看当前目录下所有目录以及子目录的大小: du -h . “.”代表当前目录下。也可以换成一个明确的路径 -h 表示用 K、M、G 的人性化形式显示 6>查看当前目录下 user 目录的大小,并不想看其他目录以及其子目录: du -sh user -s 表示总结的意思,即只列出一个总结的值 du -h –max-depth=0 user –max-depth=n 表示只深入到第 n 层目录,此处设置为 0,即表示不深入到子目录。 7>列出 user 目录及其子目录下所有目录和文件的大小: du -ah user -a 表示包括目录和文件 8>列出当前目录中的目录名不包括 xyz 字符串的目录的大小: du -h –exclude=’*xyz*’ 9>想在一个屏幕下列出更多的关于 user 目录及子目录大小的信息: du -0h user -0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。 10>只显示一个目录树的全部磁盘使用情况 du -s /home/linux Linux 系统中 ls 命令用法详解 linux 系统中 ls 命令的用法 ls 命令是 linux 下最常用的命令。ls 命令就是 list 的缩写,缺省下 ls 用来打印出当前目录的清单,如果 ls 指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权 限),查看目录信息等等,ls 命令在日常的 linux 操作中用的很多,在此给大家介绍一下 ls 命令的使用方 法。 一、ls 命令使用介绍 ls 命令格式:ls [选项] [目录名]。 ls 命令功能:列出目标目录中所有的子目录和文件。 ls 命令的参数选项说明: -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件。 -A, –almost-all 列出除了 . 及 .. 以外的任何项目 –author 印出每个文件的作者 -b, –escape 把文件名中不可输出的字符用反斜杠加字符编号的形式列出。 –block-size=大小 块以指定<大小>的字节为单位 -B, –ignore-backups 不列出任何以 ~ 字符结束的项目 -c 输出文件的 ctime (文件状态最后更改的时间) ,并根据 ctime 排序。 -C 每栏由上至下列出项目 –color[=WHEN] 控制是否使用色彩分辨文件。WHEN ‘可以是 never’ ‘、 always’ ‘或 auto’其中 之一 -d, –directory 将目录象文件一样显示,而不是显示其下的文件。 -D, –dired 产生适合 Emacs 的 dired 模式使用的结果 -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效 -F, –classify 加上文件类型的指示符号 (*/=@| 其中一个) –format=关键字 across -x,commas -m,horizontal -x,long -l, single-column -1,verbose -l,vertical -C –full-time 即 -l –time-style=full-iso -g 类似 -l,但不列出所有者 -G, –no-group 不列出任何有关组的信息 -h, –human-readable 以容易理解的格式列出文件大小 ( 例如 1K 234M 2G) –si 类似 -h ,但文件大小取 1000 的次方而不是 1024 -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地 –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>: none (默认),classify (-F),file-type (-p) -i, –inode 印出每个文件的 inode 号 -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目 -k –即 block-size=1K, 以 k 字节的形式表示文件的大小。 -l 列出文件的详细信息。 -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链 接本身的信息 -m 所有项目以逗号分隔,并填满整行行宽 -n, –numeric-uid-gid 类似 -l ,用数字的 UID,GID 代替名称。 -N, –literal 印出未经处理的项目名称 (例如不特别处理控制字符) -o 类似 -l,显示文件的除组信息外的详细信息。 -p, -F “在每个文件名后附上一个字符以说明该文件的类型, *”表示可执行的普 “通文件; /”“表示目录; @”“表示符号链接; |”表示 FIFOs “; =”表示套接字 (sockets)。 -q, –hide-control-chars 以 ? 字符代替无法打印的字符 –show-control-chars 直接显示无法打印的字符 ( ‘这是默认方式,除非调用的程序名称是 ls’而且是在 终端机画面输出结果) -Q, –quote-name 将项目名称括上双引号 –quoting-style=方式 使用指定的 quoting <方式>显示项目的名称: literal、locale、shell、shell-always、c、escape -r, –reverse 依相反次序排列 -R, –recursive 同时列出所有子目录层 -s, –size 以块大小为单位列出所有文件的大小 -S 根据文件大小排序 –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项: extension -X status -c none -U time -t size -S atime -u time -t access -u version -v use -u -t 以文件修改时间排序 -u 配合 -lt:显示访问时间而且依访问时间排序 配合 -l:显示访问时间但根据名称排序 否则:根据访问时间排序 -U 不进行排序;依文件系统原有的次序列出项目 -v 根据版本进行排序 -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值 -x 逐行列出项目而不是逐栏列出 -X 根据扩展名排序 -1 每行只列出一个文件 –help 显示此帮助信息并离开 –version 显示版本信息并离开 下面来举几个例子来说明 Linux ls 命令如何使用。 二、ls 命令使用举例 1>列出/linux/ls-file 文件夹下的所有文件和目录的详细资料。 [linux ~]$ ls -l -R /linux/ls-file 输入上面的命令回车后,就会显示目录下所有文件的详细信息 在使用 ls 命令时要注意命令的格式:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参 “数之前要有一短横线 -”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命 令参数的后面是命令的操作对象。 “”在以上这条命令 ls -l -R /linux/ls-file” ”中, ls” ”是命令关键字, -l -R”是参 ”数, /linux/ls-file” ”是命令的操作对象。在这条命令中,使用到了两个参数,分别为 l” ”和 R”,你也可 以把他们放在一起使 用,如下所示: [linux ~]$ ls -lR /linux/ls-file 这种形式和上面的命令形式执行的结果是完全一样的。 2>只列出子目录 1. ls -F | grep /$ 2. ls -l | grep “^d” 3>列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面,可以使用如下命令: ls -ltr s* 4>将/linux 目录以下所有目录及档案详细资料列出: ls -lR /linux 5> ”列出目前工作目录下所有档案及目录;目录于名称后加 /”, ”可执行档于名称后加 *” : ls -AF 用 ls -l 命令查看某一个目录会得到一个 9 个字段的列表. 第 1 行显示的信息: 总用量(total) — 这个数值是该目录下所有文件及目录列表第 5 个字段的和(以 k 为 单位),也就是该目录的大小. 第 1 字段: 文件属性字段 文件属性字段总共有 10 个字母组成,第一个字母表示文件类型, ”如果这个字母是一个减号 -”,则说明该文件是 一个普通文件. ”字母 d”表示该文件是一个目录, ”字母 d”,是 dirtectory(目录)的缩写. 请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息. 第 2 字段 文件硬链接数或目录子目录数 第 3 字段: 文件拥有者 第 4 字段: 文件拥有者所在的组 第 5 字段: 文件文件大小(以字节为单位) 第 6 字段: 文件创建月份 第 7 字段: 文件创建日期 第 8 字段: 文件创建时间 第 9 字段: 文件名 (如果是一个符号链接, “那么会有一个 ->” 箭头符号,后面根一个它指向的文件) Linux 系统中 wget 命令使用技巧大全 wget 是一个命令行的下载文件工具,它支持 HTTP,HTTPS 和 FTP 协议,可以使用 HTTP 代理。Linux 用户 经常需要使用它。下此介绍几个 wget 使用的技巧。 wget 技巧大全: 1> 下载 http://www.linux.com 网站上 packs 目录中的所有文件 $ wget -r -np -nd http://www.linux.com/packs/ -np 的作用是不遍历父目录 -nd 表示不在本机重新创建目录结构。 2>下载整个 http 或者 ftp 站点 $ wget -r -x http://www.linux.com -x 的作用强制建立服务器上一模一样的目录 这个命令会按照递归的下载服务器上所有的目录和文件,就是下载整个网站。在下载的时候,被下载网站指向 的所有地址都会被下载,如果这个网站引用了其他网站,被引用的网站也会被下载下来!!! 注意: 可以用-l number 参数来指定下载的层次。例如只下载两层,那么使用-l 2。 如: wget -r -x -l 2 http://www.linux.com 3>wget 选择性的只下载某类文件 $ wget -r -np -nd –accept=iso http://www.linux.com/i386/ –accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展 名,只需用逗号分隔即可。 4>批量下载 wget -i downloads.txt 如果有多个文件需要下载,那么把所有需要下载文件的地址放到 downloads.txt 中(每个文件的 URL 写一 行) ,然后 wget 就会自动为你下载所有文件了。 5>断点续传 $ wget -c -t 100 -T 120 http://www.linux.com/big-file.iso 当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。 wget 的断点续传是自动的。 -c 选项的作用为断点续传。 -t 参数表示重试次数(例如需要重试 100 次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直 到连接成功。) -T 参数表示超时等待时间,例如-T 120,表示等待 120 秒连接不上就算超时。 6>镜像一个网站 $ wget -m -k (-H) http://www.linux.com/ 如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。 Linux 系统下的 uname 命令 uname 命令可用于大多数 UNIX 和类 UNIX 系统以及 Linux。 功能说明:uname 用来获取电脑和操作系统的相关信息。 语  法:uname [-amnrsvpio][--help][--version] 补充说明:uname 可显示 linux 主机所用的操作系统的版本、硬件的名称等基本信息。 参  数: -a –或 all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称 -m –或 machine 显示主机的硬件(CPU)名 -n 或-nodename 显示主机在网络节点上的名称或主机名称 -r –或 release 显示 linux 操作系统内核版本号 -s –或 sysname 显示 linux 内核名称 -v 显示显示操作系统是第几个 version 版本 -p 显示处理器类型或 unknown -i 显示硬件平台类型或 unknown -o 显示操作系统名 –help 获得帮助信息 –version   显示 uname 版本信息 uname 使用范例 : [root@localhost ~]# uname Linux 注:单独使用 uname 命令时相当于 uname -s [root@localhost ~]# uname -a Linux localhost 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686 GNU/Linux [root@localhost ~]# uname -m i686 [root@localhost ~]# uname -n localhost [root@localhost ~]# uname -r 2.6.18-4-686 [root@localhost ~]# uname -s Linux [root@localhost ~]# uname -v #1 SMP Mon Mar 26 17:17:36 UTC 2007 [root@localhost ~]# uname -p i686 [root@localhost ~]# uname -i i386 [root@localhost ~]# uname -o GNU/Linux [root@localhost ~]# uname –version uname (GNU coreutils) 5.97 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License . There is NO WARRANTY, to the extent permitted by law. Linux 中 uptime 命令的用法 linux 系统中的 uptime 命令主要用于获取主机运行时间和查询 linux 系统负载等信息。 uptime 命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目 前有多少登陆用户、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载。 uptime 命令用法十分简单:直接输入 uptime 即可. 另外还有一个参数 -V ,是用来查询版本的。 (注意是大写的字母 v) [linux @ localhost]$ uptime –V procps version 3.2.7 [linux @ localhost]$ uptime 显示结果为: 10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09 显示内容说明: 10:19:04 //系统当前时间 up 257 days, 18:56 //主机已运行时间,时间越大,说明你的机器越稳定。 12 user //用户连接数,是总连接数而不是用户数 load average // 系统平均负载,统计最近 1,5,15 分钟的系统平均负载 那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。 如果每个 CPU 内核的当前活动进程数不大于 3 的话,那么系统的性能是良好的。如果每个 CPU 内核的任务数 大于 5,那么这台机器的性能有严重问题。 如果你的 linux 主机是 1 个双核 CPU 的话,当 Load Average 为 6 的时候说明机器已经被充分使用了。 Linux 中 screen 命令的用法 作为 linux 服务器管理员,经常要使用 ssh 登陆到远程 linux 机器上做一些耗时的操作。 也许你遇到过使用 telnet 或 SSH 远程登录 linux,运行一些程序。如果这些程序需要运行很长时间(几个小 时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户机与远程服务器的链接将终端,并且远 程服务器没有正常结束的命令将被迫终止。 又比如你 SSH 到主机上后,开始批量的 scp 命令,如果这个 ssh 线程断线了,scp 进程就中断了。在远程服 务器上正在运行某些耗时的作业,但是工作还没做完快要下班了,退出的话就会中断操作了,如何才好呢? 我们利用 screen 命令可以很好的解决这个问题。实现在断开 SSH 的情况下,在服务器上继续执行程序。 那什么是 screen 命令? Screen 被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。 Screen 功能说明: 简单来说,Screen 是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一 个单一的终端窗口运行多终端的应用。 Screen 中有会话的概念,用户可以在一个 screen 会话中创建多个 screen 窗口,在每一个 screen 窗口中就像操作一个真实的 telnet/SSH 连接窗口那样。 Screen 命令语法: screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称 >] Screen 命令参数: -A -[r|R] 将所有的视窗都调整为目前终端机的大小。 -c filename 用指定的 filename 文件替代 screen ’的配置文件 .screenrc’. -d [pid.tty.host] 断开 screen 进程(使用该命令时,screen 的状态一定要是 Attached,也就是说 有用户连在 screen 里)。一般进程的名字是以 pid.tty.host 这种形式表示(用 screen -list 命令可以 看出状态)。 -D [pid.tty.host] 与-d 命令实现一样的功能,区别就是如果执行成功,会踢掉原来在 screen 里的用 户并让他 logout。 -h <行数>   指定视窗的缓冲区行数。 -ls –或 list 显示目前所有的 screen 作业。 -m 即使目前已在作业中的 screen 作业,仍强制建立新的 screen 作业。 -p number or name 预先选择一个窗口。 -r [pid.tty.host] 恢复离线的 screen 进程,如果有多个断开的进程,需要指定[pid.tty.host] -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的 screen 作业。 -s shell 指定建立新视窗时,所要执行的 shell。 -S <作业名称> 指定 screen 作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作). -v 显示版本信息。 -wipe 检查目前所有的 screen 作业,并删除已经无法使用的 screen 作业。 -x 恢复之前离线的 screen 作业。 Screen 命令的常规用法: screen -d -r:连接一个 screen 进程,如果该进程是 attached,就先踢掉远端用户再连接。 screen -D -r:连接一个 screen 进程,如果该进程是 attached,就先踢掉远端用户并让他 logout 再连 接 screen -ls 或者-list:显示存在的 screen 进程,常用命令 screen -m:如果在一个 Screen 进程里,用快捷键 crtl+a c 或者直接打 screen 可以创建一个新窗 口,screen -m 可以新建一个 screen 进程。 screen -dm:新建一个 screen,并默认是 detached 模式,也就是建好之后不会连上去。 screen -p number or name:预先选择一个窗口。 Screen 实现后台运行程序的简单步骤: 1> 要进行某项操作时,先使用命令创建一个 Screen: [linux@user~]$ screen -S test1 2>接着就可以在里面进行操作了,如果你的任务还没完成就要走开的话,使用命令保留 Screen: [linux@user~]$ Ctrl+a+d #按 Ctrl+a,然后再按 d 即可保留 Screen [detached] #这时会显示出这个提示,说明已经保留好 Screen 了 如果你工作完成的话,就直接输入: [linux@user~]$ exit #这样就表示成功退出了 [screen is terminating] 3> 如果你上一次保留了 Screen,可以使用命令查看: [linux@user~]$ screen -ls There is a screen on: 9649.test1 (Detached) 恢复 Screen,使用命令: [linux@user~]$ screen -r test1 (or 9649) Screen 命令中用到的快捷键 Ctrl+a c :创建窗口 Ctrl+a w :窗口列表 Ctrl+a n :下一个窗口 Ctrl+a p :上一个窗口 Ctrl+a 0-9 :在第 0 个窗口和第 9 个窗口之间切换 Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并 且退回到原始 shell 状态) exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始 shell 状态) Ctrl+a d :退出当前终端,返回加载 screen 前的 shell 命令状态 Linux 的 screen 命令挺不错,在服务器上做点什么费时的工作就不用愁了 Linux 中 cat 命令的使用方法 linux cat 命令在 linux 系统中算是比较常用的命令. cat 主要有三大功能: 1.一次显示整个文件。 $ cat filename 2.从键盘创建一个文件。 $ cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件。 $cat file1 file2 > file cat 具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出( 屏幕或加 > fileName 到另一个档案) 参数: -n –或 number 由 1 开始对所有输出的行数编号 -b –或 number-nonblank 和 -n 相似,只不过对于空白行不编号 -s –或 squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v –或 show-nonprinting 范例: cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个 档案里 cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加 上行号(空白行不加)之后将内容附加到 linuxfile3 里。 范例: 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里 cat -n linuxfile1 > linuxfile2 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加) 之后将内容附加到 linuxfile3 里。 cat -b linuxfile1 linuxfile2 >> linuxfile3 cat /dev/null > /etc/test.txt 此为清空/etc/test.txt 档案内容 Linux 中 grep 命令的用法 1.作用 linux 系统中 grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep 全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用 户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern 正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始。 \>:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即 A 符合要求 。 [ - ]:范围,如[A-Z],即 A、B、C 一直到 Z 都符合要求 。 。:所有的单个字符。 * :有字符,长度可以为 0。 4.grep 命令使用简单实例 $ grep ‘test’ d* 显示所有以 d 开头的文件中包含 test 的行。 $ grep ‘test’ aa bb cc 显示在 aa,bb,cc 文件中匹配 test 的行。 $ grep ‘[a-z]\{5\}’ aa 显示所有包含每个字符串至少有 5 个连续小写字符的字符串的行。 $ grep ‘w\(es\)t.*\1′ aa 如果 west 被匹配,则 es 就被存储到内存中,并标记为 1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个 es(\1),找到就显示该行。如果用 egrep 或 grep -E ”,就不用 \”号进行转义,直接写 ’成 w(es)t.*\1′就可以了。 5.grep 命令使用复杂实例 ’假设您正在 /usr/src/linux/Doc’ ’目录下搜索带字符串 magic’的文件: $ grep magic /usr/src/linux/Doc/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? ’其中文件 sysrp.txt’ 包含该字符串,讨论的是 SysRQ 的功能。 ’默认情况下, grep’ ’只搜索当前目录。如果此目录下有许多子目录, grep’会以如下形式列出: grep: sound: Is a directory ’这可能会使 grep’的输出难于阅读。这里有两种解决的办法: 明确要求搜索子目录:grep -r 或忽略子目录:grep -d skip ’如果有很多输出时,您可以通过管道将其转到 less’上阅读: $ grep magic /usr/src/linux/Documentation/* | less 这样,您就可以更方便地阅读。 有一点要注意,您必需提供一个文件过滤方式( 搜索全部文件的话用 *)’。如果您忘了, grep’会一直等着, 直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。 下面还有一些有意思的命令行参数: grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, grep -l pattern files :只列出匹配的文件名, grep -L pattern files :列出不匹配的文件名, grep -w pattern files :只匹配整个单词,而不是字符串的一部分( ’如匹配 magic’,而不 ’是 magical’), grep -C number pattern files :匹配的上下文分别显示[number]行, grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 这里还有些用于搜索的特殊符号: \< 和 \> 分别标注单词的开始与结尾。 例如: grep man * ‘会匹配 Batman’ ’、 manic’ ’、 man’等, grep ‘\’ ’只匹配 man’ ’,而不是 Batman’ ’或 manic’等其他的字符串。 ‘^’:指匹配的字符串在行首, ‘$’:指匹配的字符串在行尾, Linux 下 mv 命令使用方法 1.作用 mv 命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于 DOS 系统下的 ren 和 move 命令的组合。它的使用权限是所有用户。 2.格式 mv [options] 源文件或目录 目标文件或目录 3.[options]主要参数 -i:交互方式操作。如果 mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回 ”答 y” ”或 n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv 操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后 i 参数将不再起作用。 4.第二个参数 当第二个参数类型是文件时,mv 命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至 目标目录中。在跨文件系统移动文件时,mv 先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。 5.应用实例 (1)将/usr/udt 中的所有文件移到当前目录( ”用 .”表示)中: $ mv /usr/udt/* . (2)将文件 test.txt 重命名为 wbk.txt: $ mv test.txt wbk.txt Linux 中 ln 命令的使用方法 ln 命令 用途 : 链接文件。 语法 1>将某个文件链接到一个文件上 ln [ -f | -n] [ -s ] SourceFile [ TargetFile ] 2>将一个或多个文件链接到一个目录上 ln [ -f | -n] [ -s ] SourceFile … TargetDirectory 描述 ln 命令将在 SourceFile 参数中指定的文件链接到在 TargetFile 参数中指定的文件,或将其链接到在 TargetDirectory 参数中指定的另一个目录中的文件。 在缺省情况下,ln 命令会创建硬链接。如果需要使用 ln 命令来创建符号链接,请指明 -s 标志。 符号链接是指向文件的一个间接指针;它的目录项中包含了它所链接的文件名。符号链接可能会跨越文件系统, 可能指向目录。 如果正在将某个文件链接到新的名字,那么只能列出一个文件。如果链接到一个目录,那么可以列出多个文件。 TargetFile 参数是可选的。 如果不指定目标文件,ln 命令会在当前的目录中创建一个新的文件。新的文件继承了指定在 SourceFile 参数中的文件名。 注意: 如果不使用 -s 标志,就不能在文件系统之间链接文件。 如果 TargetDirectory 已经是链接到目录上的一个符号链接,那么 ln 命令将现有的目标视为文件。 这意味着,类似于 ln -fs somepath/lname symdir 的命令不会遵循现有的 symdir 符号链接,作为 代替,它会创建一个从 somepath/lname 到 symdir 的新的符号链接。 参数 -f 促使 ln 命令替换掉任何已经存在的目的路径。如果目的路径已经存在,而没有指定 -f 标志,ln 命令 不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的 SourceFiles 。 -n 指定,如果链接是一个现有的文件,那么不要覆盖文件的内容。 -f 标志重设了这个标志。这是缺省的行 为。 -s 促使 ln 命令创建符号链接。符号链接中包含了它所链接的文件的名字。当对链接执行打开操作的时候, 会使用到引用文件。对符号链接的 stat 调用会返回链接的目标文件;必须完成 lstat 调用来获取链接的信 息。可以使用 readlink 调用来读取符号链接的内容。符号链接可能跨越文件系统,指向目录。 注意:当为 -s 标志指定 SourceFile 参数的时候,必须使用绝对路径。如果没有指明绝对路径,那么当 SourceFile 和 TargetFile 参数位于不同的目录中的时候,可能会发生意外的结果。在创建符号链接之 前,不需要存在源文件。 退出状态 此命令返回以下的退出值: 0 所有指定的文件都成功链接上了。 >0 出现一次错误。 示例 1>为了创建到一个文件的另一个链接(别名),请输入: ln -f file1 file2 这会将 file1 链接到新的名称, file2 。如果 file2 不存在,那么会创建该文件名。如果 file2 已经存 在了,那么这个文件会被替换为指向 file1 的一个链接。然后 file1 和 file2 文件名会指向同一个文件。 对其中任何一个的更改都会出现在另一个中。如果一个文件名被 rm 命令删除,那么该文件并没有完全被删除, 因为它仍然以其它的名字存在。 2>为了将文件链接为另一个目录中的相同名字,请输入: ln index dir1 这会将 index 链接到新的名称,dir1/index。 注意:在示例 1 中的 file2 是一个文件的名称;在示例 2 中的 dir1 是一个已经存在的目录。 3>为了将几个文件链接为另一个目录中的名称,请输入: ln file2 dir2/file3 /home/dir1 这会将 file2 链接到新的名称 /home/dir1/file2 ;将 dir2/file3 链接到新的名称 /home/dir1/file3。 4> 如果想要在 ln 命令中使用模式匹配字符,请输入: ln dir1/* . 这会将 dir1 目录中的所有文件链接到当前目录中, . (点) ,给他们在 dir1 目录中同样的名称。 注意: 必须在星号和句点之间输入一个空格。 5>为了创建一个符号链接,输入: ln -s /tmp/test test 这会在当前的目录中创建符号链接 test 。 test 文件指向 /tmp/test 文件。如果 /tmp/test 文件已经 存在了,那么 cat test 命令可以列出其内容。 6> 如果想要在不指明 TargetFile 参数的情况下得到相同的结果,请输入: ln -s /tmp/test Linux 下 history 命令的使用方法 如果你经常使用 Linux 命令,那么使用 history 命令无疑会提升你的工作效率。 History 命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。 1>History 命令语法: [test@linux]# history [n] [test@linux]# history [-c] [test@linux]# history [-raw] histfiles 参数: n :数字, 要列出最近的 n 笔命令列表 -c :将目前的 shell 中的所有 history 内容全部消除 -a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles , 则预设写入 ~/.bash_history -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中 -w :将目前的 history 记忆内容写入 histfiles Linux 系统当你在 shell(控制台)中输入并执行命令时,shell 会自动把你的命令记录到历史列表中,一般 保存在用户目录下的.bash_history 文件中。默认保存 1000 条,你也可以更改这个值。 如果你键入 history, history 会向你显示你所使用的前 1000 个历史命令,并且给它们编了号,你会看到 一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看 1000 个命令中的所有项目, 当然你也可以加入 数字来列出最近的 n 笔命令列表。 linux 中 history 命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。 2>运行特定的历史命令 history 会列出 bash “”保存的所有历史命令,并且给它们编了号,我们可以使用 叹号接编号 的方式运行特 定的历史命令. 语法说明: [test@linux]# [!number] [!command] [!!] 参数说明: number :第几个指令的意思; command :指令的开头几个字母 ! :上一个指令的意思! 3>History 命令实战 列出所有的历史记录: [test@linux] # history 只列出最近 10 条记录: [test@linux] # history 10 (注,history 和 10 中间有空格) 使用命令记录号码执行命令,执行历史清单中的第 99 条命令 [test@linux] #!99 (!和 99 中间没有空格) 重复执行上一个命令 [test@linux] #!! 执行最后一次以 rpm 开头的命令(!? ?代表的是字符串,这个 String 可以随便输,Shell 会从最后一条历 史命令向前搜索,最先匹配的一条命令将会得到执行。) [test@linux] #!rpm 逐屏列出所有的历史记录: [test@linux]# history | more 立即清空 history 当前所有历史命令的记录 [test@linux] #history -c 除了使用 history 命令, 在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭 头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入 类似的命令。 History 命令的用途确实很大!但需要小心安全的问题! 尤其是 root 的历史纪录档案,这是黑客们的最爱! 因为不小心的 root 会将很多的重要资料在执行的过程中会被纪录在 ~/.bash_history 当中,如果这个 档案被解析的话,后果不堪设想! Linux 下 crontab 命令的使用技巧 在 Linux 中任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。 crontab 是一个很方便的在 unix/linux 系统上定时(循环)执行某个任务的程序。 cron 服务是可以根据时间、日期、月份、星期的组合来调度对重复任务执行的守护进程。linux 的 cron 服 务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d 下面所有的内容。 crond 服务通常被放在/etc/init.d/crond , 这样就可以在系统启动后自动启动 crond 服务。 linux 中的用户使用 crontab 命令来配置 cron 任务. crontab 在/etc 目录下面存在 cron.d,cron.daily,cron.weekly,cron.monthly,cron.hourly 五个目录和 crontab 文件。 cron.d 是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个 目录下面。 如果是按小时,按天,按星期,按月的来执行的话,则可以放到相应的目录下面去。 cron.hourly 是每个小时执行一次的任务 cron.daily 是每天执行一次的任务 cron.weekly 是每个星期执行一次的任务 cron.monthly 是每月执行一次的任务 Linux 下的 Crontab 使用详解 crontab 命令格式: crontab [-u user] file crontab [-u user] { -e | -l | -r } -u 参数的详细说明: 如果使用该选项,就是指定了是某个具体用户的 crontab 文件将被修改。如果不指定该选项,crontab 将 默认是当前操作用户的 crontab ,也就是执行该 crontab 命令用户的 crontab 文件将被修改。 注意: 如果使用了 su 命令再运行 crontab 命令很可能就会出现混乱的情况,因此使用了 su 命令时,最好使 用-u 选项来指定究竟是哪个用户的 crontab 文件。 crontab 常规使用方式 : crontab [-u user] file -用指定的文件替代目前的 crontab crontab [-u user] -l -列出用户目前的 crontab crontab [-u user] -e -编辑用户目前的 crontab crontab [-u user] -r -删除某个用户的 crontab 特别注意: 如果用 crontab -r 就删除了所有的定时任务(需要特别小心) crontab 是通过读取一个 crontab 文件来工作,系统主配置文件是 crontab, /etc/crontab 文件中的 每一行都代表一项任务,crontab 文件有六个域。 crontab 文件的格式是:M H D m d cmd 每个域之间用空格或者 Tab 键分开,前五个域都是整数或者*,基本格式如下(括号里面是取值范围): # Use the hash sign to prefix a comment # +—————- minute (0 - 59) # | +————- hour (0 - 23) # | | +———- day of month (1 - 31) # | | | +——- month (1 - 12) # | | | | +—- day of week (0 - 7) (Sunday=0 or 7) # | | | | | f1 f2 f3 f4 f5 command 分 时 日 月 周 命令 f1 — 分钟,从 0 到 59 之间的任何整数 f2 — 小时,从 0 到 23 之间的任何整数 f3 — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期) f4 — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等) f5 — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等) command — 表示要执行的任务(可以使运行 linux 系统命令,也可以是执行你自行编写的 linux 脚本命 令。) * 的作用: 星号(*)可以用来代表所有有效的值。比如:月份值中的星号,表示在满足其它制约条件后每月都执行该命令。 当 f1 为 * 时表示每分钟都要执行 command,f2 为 * 时表示每小时都要执行任务,其余类推 整数间的短线(-) 的作用 : 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时 都要执行,其余类推 整数间的正斜线(/)可以用来指定间隔频率: 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其 余类推 整数间的逗号(,) 的作用 : 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时 要执行,其余类推 crontab 的常用例子 : #每天早上 7 点执行一次 /bin/ls : 0 7 * * * /bin/ls #每天早上 6 点 10 分 10 6 * * * date #每两个小时 0 */2 * * * date #晚上 11 点到早上 8 点之间每两个小时,早上 8 点 0 23-7/2,8 * * * date #每个月的 4 号和每个礼拜的礼拜一到礼拜三的早上 11 点 0 11 4 * mon-wed date #1 月份日早上 4 点 0 4 1 jan * date linux 系统的 WEB 服务器管理员经常用到 crontab 的例子 : # 在 12 月内, 每天的早上 6 点到 12 点中,每隔 3 个小时执行一次 /usr/bin/backup : 0 6-12/3 * 12 * /usr/bin/backup #每晚的 21:30 重启 apache。 30 21 * * * /etc/init.d/apache2 restart #每月 1、10、22 日的 4 : 45 重启 apache 45 4 1,10,22 * * /etc/init.d/apache2 restart #每周六、周日的 1 : 10 重启 apache。 10 1 * * 6,0 /etc/init.d/apache2 restart #在每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache。 0,30 18-23 * * * /etc/init.d/apache2 restart #每星期六的 11 : 00 pm 重启 apache。 0 23 * * 6 /etc/init.d/apache2 restart #每一小时重启 apache * */1 * * * /etc/init.d/apache2 restart #晚上 11 点到早上 7 点之间,每隔一小时重启 apache * 23-7/1 * * * /etc/init.d/apache2 restart #每月的 4 号与每周一到周三的 11 点重启 apache 0 11 4 * mon-wed /etc/init.d/apache2 restart #1 月 1 日的 4 点重启 apache 0 4 1 jan * /etc/init.d/apache2 restart Linux 下 Diff 命令使用方法 1>Diff 命令的功能 Linux 中 Diff 命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并 显示出两个文件中所有不同的行,不要求事先对文件进行排序。 2>语法 diff [options] file1 file2 该命令告诉用户,为了使两个文件 file1 和 file2 ”一致,需要修改它们的哪些行。如果用 -”表示 file1 或 file2,则表示标准输入。如果 file1 或 file2 是目录,那么 diff 将使用该目录中的同名文件进行比较。 3>[options]主要参数 -a:将所有文件当作文本文件来处理。 -b –或 ignore-space-change  忽略空格造成的不同。 -B–或 ignore-blank-lines  忽略空行造成的不同。 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索。 -I:忽略大小写的变化。 -n –rcs:输出 RCS 格式。 -N–或 new-file  在比较目录时,若文件 A 仅出现在某个目录中,会显示:Only in 目录;文件 A 若使用- N 参数,则 diff 会将文件 A 与一个空白的文件比较。 -r –或 recursive  比较子目录中的文件。 -u,-U<列数> –或 unified=<列数>  以合并的方式来显示文件内容的不同。 4>使用方法的实例说明 例如: diff /usr/xu mine 把目录/usr/xu 中名为 mine 的文件与当前目录中的 mine 文件进行比较。 通常输出由下述形式的行组成: n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 这些行类似 ed 命令把 filel 转换成 file2。字母(a、d 和 c)之前的行号(n1,n2)是 针对 file1 的,其后面的行号(n3,n4)是针对 file2 的。字母 a、d 和 c 分别表示附加、删除和修改操作。 ”在上述形式的每一行的后面跟随受到影响的若干行,以 <” ”打头的行属于第一个文件,以 >”打头的行属于第 二个文件。 diff 能区别块和字符设备文件以及 FIFO(管道文件),不会把它们与普通文件进行比较。 如果 file1 和 file2 都是目录,则 diff 会产生很多信息。 5>diff 最常用的功能 diff 有很多功能平时我们不常用到,最常用的功能莫过于生成 patch 文件了: diff -urN old/ new/ > mysoft.patch 参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,这样新添 加的文件也会出现在 patch 文件中。 然后在需要应用 patch 的地方使用下述命令即可: patch -p0 < mysoft.patch diff 的 -y 命令( –长格式为 side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。许 多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数 就相当有用了。如果要改变左右各部 分的宽度,可以通过 -W (–width)参数来指定。 –ignore-blank-lines 参数可以不检查空白行。这样 DOS 格式和 Unix 格式的文件互相比较时,就不至于 因为换行符不一致而出现大量的差异。 Linux 中 rm 命令的使用方法 在 linux 系统中,用户可以用 rm 命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件 或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保 持不变。 rm 命令的一般形式为: rm [选项] …文件 如果没有使用- r 选项,则 rm 不会删除目录。 该命令的各选项含义如下: - f 忽略不存在的文件,从不给出提示。 - r 指示 rm 将参数中列出的全部目录和子目录均递归地删除。 - i 进行交互式删除。 使用 rm 命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用 i 选项来 逐个确认要删除的文件。如果用户输入 y,文件将被删除。如果输入任何其他东西,文件则不会删除。 Linux 中 netstat 命令的用法详解 功能说明:Netstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的 网络连接情况。 语  法:netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip] 补充说明:利用 netstat 指令可让你得知整个 Linux 系统的网络情况。 参  数: -a –或 all 显示所有连线中的 Socket。 -A<网络类型> –或 <网络类型> 列出该网络类型连线中的相关地址。 -c –或 continuous 持续列出网络状态。 -C–或 cache 显示路由器配置的快取信息。 -e –或 extend 显示网络其他相关信息。 -F–或 fib 显示 FIB。 -g –或 groups 显示多重广播功能群组组员名单。 -h –或 help 在线帮助。 -i –或 interfaces 显示网络界面信息表单。 -l –或 listening 显示监控中的服务器的 Socket。 -M–或 masquerade 显示伪装的网络连线。 -n –或 numeric 直接使用 IP 地址,而不通过域名服务器。 -N–或 netlink –或 symbolic 显示网络硬件外围设备的符号连接名称。 -o –或 timers 显示计时器。 -p –或 programs 显示正在使用 Socket 的程序识别码和程序名称。 -r –或 route 显示 Routing Table。 -s –或 statistice 显示网络工作信息统计表。 -t –或 tcp 显示 TCP 传输协议的连线状况。 -u –或 udp 显示 UDP 传输协议的连线状况。 -v –或 verbose 显示指令执行过程。 -V–或 version 显示版本信息。 -w –或 raw 显示 RAW 传输协议的连线状况。 -x –或 unix ”此参数的效果和指定 -A unix”参数相同。 –ip –或 inet ”此参数的效果和指定 -A inet”参数相同 netstat 的一些常用选项 ·netstat –s 本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如 Web 浏览器)运行速度比较慢,或 者不能显示 Web 页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计 数据的各行,找到出错的关键字,进而确定问题所在。 ·netstat –e 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据 报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统 计一些基本的网络流量)。 ·netstat –r 本选项可以显示关于路由表的信息,类似于后面所讲使用 route print 命令时看到的 信息。除了显示有效 路由外,还显示当前有效的连接。 ·netstat –a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请 (LISTENING)的那些连接。 ·netstat –n 显示所有已建立的有效连接。 文档格式批量转换(doc,txt,pdf 在 Linux 中常常涉及到多种文档格式,如 doc、txt、html、rtf 等等。为了方便文件传递,就可能需要在 各种格式之间进行转换。OpenOffice.Org 可以方便的打开多各文档格式并按需进行转换,但要一次处理大 量文件或要编写脚本进行转换时,仅用 OpenOffice 就难以胜任了。 unoconv 利用 OpenOffice.Org 的 UNO 接口实现了命令行文档格式转换功能,支持所有 OpenOffice 支持 的文件格式,为文档的批量转换提供了可能。 使用方法 单个文件转换 举一个例子:要转换一个 doc 文件为 PDF 格式,只需在命令中执行: $ unoconv -f pdf myDoc.doc 即会生成一个名为 myDoc.pdf 的 pdf 文件。 批量转换 批量转换需要结合 find 命令或脚本使用,使用时需注意最好使用 C/S 模式以加快速度: unoconv --listener & unoconv -f pdf some-document.odt unoconv -f doc other-document.odt unoconv -f jpg some-image.png unoconv -f xsl some-spreadsheet.csv 其它功能简介 附:支持的输出文件格式 bib - BibTeX [.bib] doc - Microsoft Word 97/2000/XP [.doc] doc6 - Microsoft Word 6.0 [.doc] doc95 - Microsoft Word 95 [.doc] docbook - DocBook [.xml] html - HTML Document (OpenOffice.org Writer) [.html] odt - Open Document Text [.odt] ott - Open Document Text [.ott] ooxml - Microsoft Office Open XML [.xml] pdb - AportisDoc (Palm) [.pdb] pdf - Portable Document Format [.pdf] psw - Pocket Word [.psw] rtf - Rich Text Format [.rtf] latex - LaTeX 2e [.ltx] sdw - StarWriter 5.0 [.sdw] sdw4 - StarWriter 4.0 [.sdw] sdw3 - StarWriter 3.0 [.sdw] stw - Open Office.org 1.0 Text Document Template [.stw] sxw - Open Office.org 1.0 Text Document [.sxw] text - Text Encoded [.txt] txt - Plain Text [.txt] vor - StarWriter 5.0 Template [.vor] vor4 - StarWriter 4.0 Template [.vor] vor3 - StarWriter 3.0 Template [.vor] xhtml - XHTML Document [.html] 图形格式: bmp - Windows Bitmap [.bmp] emf - Enhanced Metafile [.emf] eps - Encapsulated PostScript [.eps] gif - Graphics Interchange Format [.gif] html - HTML Document (OpenOffice.org Draw) [.html] jpg - Joint Photographic Experts Group [.jpg] met - OS/2 Metafile [.met] odd - OpenDocument Drawing [.odd] otg - OpenDocument Drawing Template [.otg] pbm - Portable Bitmap [.pbm] pct - Mac Pict [.pct] pdf - Portable Document Format [.pdf] pgm - Portable Graymap [.pgm] png - Portable Network Graphic [.png] ppm - Portable Pixelmap [.ppm] ras - Sun Raster Image [.ras] std - OpenOffice.org 1.0 Drawing Template [.std] svg - Scalable Vector Graphics [.svg] svm - StarView Metafile [.svm] swf - Macromedia Flash (SWF) [.swf] sxd - OpenOffice.org 1.0 Drawing [.sxd] sxd3 - StarDraw 3.0 [.sxd] sxd5 - StarDraw 5.0 [.sxd] tiff - Tagged Image File Format [.tiff] vor - StarDraw 5.0 Template [.vor] vor3 - StarDraw 3.0 Template [.vor] wmf - Windows Metafile [.wmf] xhtml - XHTML [.xhtml] xpm - X PixMap [.xpm] 演示文稿: bmp - Windows Bitmap [.bmp] emf - Enhanced Metafile [.emf] eps - Encapsulated PostScript [.eps] gif - Graphics Interchange Format [.gif] html - HTML Document (OpenOffice.org Impress) [.html] jpg - Joint Photographic Experts Group [.jpg] met - OS/2 Metafile [.met] odd - OpenDocument Drawing (Impress) [.odd] odg - OpenOffice.org 1.0 Drawing (OpenOffice.org Impress) [.odg] odp - OpenDocument Presentation [.odp] otp - OpenDocument Presentation Template [.otp] pbm - Portable Bitmap [.pbm] pct - Mac Pict [.pct] pdf - Portable Document Format [.pdf] pgm - Portable Graymap [.pgm] png - Portable Network Graphic [.png] pot - Microsoft PowerPoint 97/2000/XP Template [.pot] ppm - Portable Pixelmap [.ppm] ppt - Microsoft PowerPoint 97/2000/XP [.ppt] pwp - PlaceWare [.pwp] ras - Sun Raster Image [.ras] sda - StarDraw 5.0 (OpenOffice.org Impress) [.sda] sdd - StarImpress 5.0 [.sdd] sdd3 - StarDraw 3.0 (OpenOffice.org Impress) [.sdd] sdd4 - StarImpress 4.0 [.sdd] sti - OpenOffice.org 1.0 Presentation Template [.sti] stp - OpenDocument Presentation Template [.stp] svg - Scalable Vector Graphics [.svg] svm - StarView Metafile [.svm] swf - Macromedia Flash (SWF) [.swf] sxi - OpenOffice.org 1.0 Presentation [.sxi] tiff - Tagged Image File Format [.tiff] vor - StarImpress 5.0 Template [.vor] vor3 - StarDraw 3.0 Template (OpenOffice.org Impress) [.vor] vor4 - StarImpress 4.0 Template [.vor] vor5 - StarDraw 5.0 Template (OpenOffice.org Impress) [.vor] wmf - Windows Metafile [.wmf] xhtml - XHTML [.xml] xpm - X PixMap [.xpm] 电子表格: csv - Text CSV [.csv] dbf - dBase [.dbf] dif - Data Interchange Format [.dif] html - HTML Document (OpenOffice.org Calc) [.html] ods - Open Document Spreadsheet [.ods] ooxml - Microsoft Excel 2003 XML [.xml] pdf - Portable Document Format [.pdf] pts - OpenDocument Spreadsheet Template [.pts] pxl - Pocket Excel [.pxl] sdc - StarCalc 5.0 [.sdc] sdc4 - StarCalc 4.0 [.sdc] sdc3 - StarCalc 3.0 [.sdc] slk - SYLK [.slk] stc - OpenOffice.org 1.0 Spreadsheet Template [.stc] sxc - OpenOffice.org 1.0 Spreadsheet [.sxc] vor3 - StarCalc 3.0 Template [.vor] vor4 - StarCalc 4.0 Template [.vor] vor - StarCalc 5.0 Template [.vor] xhtml - XHTML [.xhtml] xls - Microsoft Excel 97/2000/XP [.xls] xls5 - Microsoft Excel 5.0 [.xls] xls95 - Microsoft Excel 95 [.xls] xlt - Microsoft Excel 97/2000/XP Template [.xlt] xlt5 - Microsoft Excel 5.0 Template [.xlt] xlt95 - Microsoft Excel 95 Template [.xlt]
还剩22页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 5 人已下载

下载pdf

pdf贡献者

felon

贡献于2011-12-06

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf