df
用途说明
df命令是用来查看磁盘空间的使用情况的。另外一个相关的命令就是du,请参考本系列--我使用过的Linux命令之du 。
常用参数
-T 打印文件系统类型。
-h 以友好格式显示数值。
-H 也是以友好方式显示数值,但1K是以1000计算的,而不是1024。
-l 只显示本地文件系统。
-a 显示全部文件系统。
________________________________________________________
du命令是用来查看磁盘空间占用情况的,在Linux系统维护时常会用到,并且通常与df命令搭配使用。首先使用df看一下各个磁盘分区的占用情况,如果某个分区的占用超过一定百分比(比如80%),就认为该分区应该清理一下了。如果不太确定从哪里下手清理,就可以使用du来统计一下各个目录的磁盘占用情况,找到磁盘占用大的目录。一般情况下,程序日志占用的空间会比较多,Web上传产生的临时文件,导出数据时生成的数据文件,还有就是数据库也会随着时间而不断增长。
常用参数
-s 显示总数量。
-h 显示的数量更好看些,比如用K/M/G表示大小。
--max-depth=N 统计的目录深度。当N=0时等同于-s,所以和--s参数不能同时出现。
-b 显示为字节数。
-k 显示为K字节数。
-m 显示为兆字节数。
_________________________________________________________________
用途说明
env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令。下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的变量;env命令显示当前用户的变量;export命令显示当前导出成用户变量的shell变量。每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。(注:此处来自资料1)
常用方式
格式:env
打印当前用户的环境变量。
格式:env -i NAME1=VALUE1 NAME2=VALUE2 <command-line>
使用指定的环境变量执行命令行<command-line>。
___________________________________________________
用途说明
free命令用来显示内存使用情况。display information about free and used memory on the system。
常用参数
b 以字节为单位显示。
-k 以K字节为单位显示。默认显示。
-m 以兆字节为单位显示。
-s <seconds> 每隔多少秒重复执行。可编写一个脚本用于监控。
用途说明
hostname命令可以用来显示或者设置主机名(show or set the system’s host name)。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。某些依赖于系统主机名的软件,在修改主机名之后可能会出现问题,比如为mysql配置了同步复制时,修改主机名前最好先停止其运行(经验之谈,本人就因此折腾了很久)。
常用参数
不带参数时显示主机名。
格式:hostname
带上-i参数时显示ip地址。
格式:hostname -i
带上-f参数时显示全域名(FQDN,Fully Qualified Domain Name)。
格式:hostname -f
修改主机名时,后面跟上新的主机名即可。(注意此方法立即生效,但不会永久保存,详见后面的示例)。
格式:hostname newhostname
____________________________________________________________
用途说明
jobs命令用于显示当前终端关联的后台任务情况。
命令后面跟上& 用于将命令在后台执行。
Ctrl+Z用于将当前正在运行的前台进程暂停,变成后台进程。
bg [%n]用于将后台暂停的进程继续运行。
fg [%n]用于将后台执行的进程变成前台进程。
kill %n用于杀掉指定的任务。
常用参数
-l 显示进程组ID和作业在运行的目录。
-n 只显示上次显示过的已经停止的或已经退出的作业。
-p 只显示选定作业的进程组的进程ID.
__________________________________________________________
用途说明
stat命令可以用来显示文件或文件系统状态信息(display file or file system status),它显示的信息比ls -l命令显示出来的更多些。
常用方式
格式:stat <file>
显示指定文件<file>的状态信息。
格式:stat -f <file>
显示<file>所在文件系统的状态信息。
格式:stat -t <file>
以简明格式显示<file>的状态信息。
使用示例
示例一
[root@jfht ~]# ls -l myfile
-rw-r--r-- 1 root root 0 2010-10-09 myfile
[root@jfht ~]# stat myfile
File: “myfile”
Size: 0 Blocks: 8 IO Block: 4096 一般空文件
Device: fd00h/64768d Inode: 194805815 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-12-12 12:22:35.000000000 +0800
Modify: 2010-10-09 20:44:21.000000000 +0800
Change: 2010-10-09 20:44:21.000000000 +0800
_________________________________________________________
用途说明
uname命令用来打印系统信息(print system information),包括系统名称、内核版本等重要信息。美中不足的是无法打印Linux发行版本的名称,比如打印RHEL5.5或CentOS5.5之类的,另外一个命令lsb_release可以打印这些。相关资料【2】中提供了一些别的方法可以取得系统版本信息。
常用参数
-a 打印全部系统信息。
-r 打印内核发行版本。
在脚本中可以使用 `uname -r` 或者 $(uname -r) 取得内核发行版本,比如2.4.18。
____________________________________________________________
用途说明
添加用户,与useradd是同一命令。需要root权限才能执行(有root權限)。
常用参数
-d home_dir 设定使用者的主目录为 home_dir
-p passwd 指定用户的登录密码。RHEL4支持此参数,RHEL5已经去掉这个参数了。
-g group 指定用户所在的群组。
_________________________________________________________________
用途说明
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。
curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。
常用参数
curl命令参数很多,这里只列出我曾经用过、特别是在shell脚本中用到过的那些。
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-m/--max-time <seconds> 指定处理的最大时长
-H/--header <header> 指定请求头参数
-s/--slient 减少输出的信息,比如进度
--connect-timeout <seconds> 指定尝试连接的最大时长
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
-T/--upload-file <file> 指定上传文件路径
-o/--output <file> 指定输出文件名称
-d/--data/--data-ascii <data> 指定POST的内容
--retry <num> 指定重试次数
-e/--referer <URL> 指定引用地址
-I/--head 仅返回头部信息,使用HEAD请求
__________________________________________________________