REDHAT 常用命令

名称 : ls
使用权限 : 所有使用者
使用方式 : ls [-alrtAFR] [name...]
说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数:
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出

-S 以文件大小排序 ll -t 是降序, ll -t | tac 是升序


范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
按大小排序
[root@localhost ~]# ll -Sh

按时间排序
[root@localhost ~]# ll -rt
名称:more
功能:在终端屏幕按屏显示文本文件。
语法: more [ 选项 ] 文件
说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出 “-- More --”,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。若要退出,按 q 或 Q。
参数:
-p 显示下一屏之前先清屏。
-c 作用同- p基本一样。
-d 在每屏的底部显示更友好的提示信息:
-- More -- (XX%)[Press space to contiune , ‘q’ to quit . ]
而且若用户输入了-个错误命令则显示出错信息,而不是简单地鸣响终端。
-l 不处理 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了
一个包含有 Ctrl+l 字符的行后将暂停显示,并等待接收命令。
-s 文件中连续的空白行压缩成一个空白行显示。
例:
more example1.c% 用分页的方式显示一个文件的内容。
more -c -10 example1.c% 执行该命令后,先清屏,然后将以每十行每十行的方式显示文件example.c的内容。

名称:rm
使用权限:所有使用者
使用方式:rm [options] name...
说明:删除档案及目录。
参数:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c
将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished

名称:rmdir
使用权限:于目前目录有适当权限的所有使用者
使用方式: rmdir [-p] dirName
说明: 删除空的目录。
参数:
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
解压文件命令
tar zxvf *.gz

du命令 (用法:du -shc var/*)
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项] [Names…]
说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。
该命令的各个选项含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-h 以M为单位
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。

df命令(df -h)
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df [选项]
说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以k字节为单位显示。
-h 以M为单位
-i 显示i节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T 显示文件系统类型。


修改启动方式(命令/图形)
vi /etc/inittab修改启动参数为3
启动图形界面
01. startx
02.#xinit
#startkde
重启/关闭
shutdown -r/h(init 0为关机﹐init 1为重启)

find / -name *.* 查询文件
useradd oracle :增加用户
passwd参数:设置密码,超级管理员可加参数(如:oracle)设置其他用户
tar zxvf*.gz:解压文件
tar xjvf*.bz2 :解压文件
tar czvf*.tar.gz /path:压缩文件
tar cjvf*.tar.bz2 /path
rm -rf 目录名删除目录含子目录
less命令 (显示文件内容)
less命令的功能几乎和more命令一样,也是按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。
? 向前翻:按b键;
? 向后翻:按p键;
? 指定位置:输入百分比
? 退出:q
我经常使用more和less,几乎不使用cat查看文件。

vi (编辑文件)
Linux中有许多文字编辑工具,其中最常用的应该是vi,这是一个广泛应用于所有UNIX系统的编辑器。它的使用有些特别:
首先,可以使用命令“vi 文件名”打开一个文件。
刚启动的时候,vi处于命令状态,不能够输入任何字符。在这个状态下,可以使用方向键进行移动,而需要输入内容时,你需要输入“i”或“a”命令进入编辑状态。编辑完成后,你需要按下“ESC”键回到命令状态。
在命令状态下,你可以输入“:q!”不存盘退出,输入“:wq”存盘退出。

cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl显示的时候,顺道输出 行号!
od以二进制的方式读取档案内容!
more
语法:[root @test /root ]# more [檔名]
参数说明:
范例:
[root @test /root]# more ~/.bashrc <==一页一页的显示档案内容
[root @test /]# ls -al | more <==一页一页的将 ls 的内容显示出来
find 这个寻找的指令时,可以同时使用 |more ,则搜寻结果可以一页一页的列出


find / -name *.*1.查询文件

find 2. 删除指定日期之前的文件
要删除系统中就的备份文件,就需要使用命令了:
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
假如在一个目录中保留最近30天的文件,30天前的文件自动删除
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
/tmp --设置查找的目录;
-mtime +30 --设置时间为30天前;
-type f --设置查找的类型为文件;
-name *.sh[ab] --设置文件名称中包含sha或者shb;
-exec rm -f --查找完毕后执行删除操作;
提示:将此命令写入crontab后即可自动完成查找并删除的工作
另外的方法大同小异
#find . -mtime +30 -type f | xargs rm -rf
我的操作是:先ls -ltr 查看时间,没有太久的所以就用 -cmin n查找系统中最后N分钟被改变文件状态的文件。具体命令:$ find /home/oracle/test6 -cmin +20 -type f -name *.xml -exec rm -f { } \;
另外的方法大同小异
#find . -mtime +30 -type f | xargs rm -rf
$find . -type f -cmin +10 -exec rm -rf *.xml {} \;
find . type f -name "debug*" -atime +3 -exec rm -f {} \;
首先cd进入目录:
find . -name "*~" -exec rm {} \;
find . -ctime +n -exec -exec rm -vi {} \;
这里的+n是指多少天以前,比如:+7
find . -ctime +7 -exec -exec rm -vi {} \;
如果不想手动确认,把命令中的-vi改成-fv
请详查find命令。
使用find时要区分清楚atime,ctime,mtime的区别,一般都使用mtime来查找,因为在ls -al显示出来的就是mtime时间戳,可以使用: # find $PAHT -mtime +3 -ok rm {} \;

chgrp
该变文件的组所有权。一些chgrp命令的选项有长短两种选项格式。我们这里只列出这些选项的短表示方式。详细资料请参看manpages。
语法:
chgrp[参数]组文件
-c只有在文件的所有权确实改变时才进行详细地说明。
-f不打印所有权不能该变的文件的错误信息。
-v详细说明所有权的变化。
-R递归改变目录及其内容的所有权
--help在标准输出上打印使用信息并退出。
--version在标准输出行上打印版本信息并退出。
group要改变的组。可以是GID,也可以是有效组名。
files要改变组所有权的文件列表,以空格分开。
若不是文件的所有者或root,则不能修改文件的组所有权。

chmod
改变文件的模式。文件模式控制了与该文件相关的访问权限,Linux有三个安全级别:所有者级、组访问级和其它用户级。在这三个级中,有三种权限:读、写和执行。对于标准文件,读权限意味着可以浏览文件的内容,写权限可以修改文件,执行权限可以运行该文件。目录形式有所不同。读权限可以浏览该目录下的内容,写权限可以在目录下创建文件或删除文件。执行权限意味着可以从一个目录转变到另一个目录。
语法:
chmod[参数]保护模式文件或目录
-c只有在文件的权限确实改变时才进行详细地说明。
-f不输出权限不能改变的错误信息。
-v详细说明权限的变化。
-R改变本目录及其所有子目录的文件的权限。
--help在标准输出上输出帮助信息并退出。
--version在标准输出上输出版本信息并退出。
保护模式格式为[ugoa…][[+-=][rwxXstugo…]…][,…]

cp命令
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
例子:
Cp -i file1 file2 (将文档 file1 复制成 file2 . –i为提示确认。)
cp file1 dir1 将文档 file1 复制到目录 dir1 下,文件名仍为 file1.
cp /tmp/file1 . 将目录 /tmp 下的文档 file1复制到现行目录下,档名仍为 file1.
cp /tmp/file1 file2 将目录 /tmp 下的文档 file1现行目录下,档名为file2
cp -r dir1 dir2 (recursive copy) 复制整个目录.若目录 dir2 不存在,则将目录dir1,及其所有文档和子目录,复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在,则将dir1,及其所有文档和子目录,复制为目录 dir2.

--version在标准输出上打印版本信息并退出。

mv
移动或更名文件和目录
语法:
nv[参数]源文件目标文件
-b为移动的文件制作备份。
-f强制覆盖已有文件。
-i在覆盖已有文件前提示用户。
-u在目标文件的时间比原文件新时不覆盖目标文件。
-v在移动文件时输出相关信息。

redhat的时间修改
1.基础知识
Linux/Unix有两个系统时间
1)硬件时间,也即cmos时间
2)操作系统时间,即Linux/Unix系统时间
每次开机,os时间与硬件时间同步一次,即os从cmos取得系统时间
2.命令行
1)修改硬件时间,hwclock
2)修改系统时间,date
查看系统时钟的操作:
# date
设置系统时钟的操作:
# date 091713272003.30
通用的设置格式:
# date 月日时分年.秒
2.使用hwclock或clock命令查看和设置硬件时钟
查看硬件时钟的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13时24分11秒 -0.482735 seconds
3.例子
比如,哦的机器时间老慢
所以
1)修改cmos时间 hwclock --set --date="mm/dd/yy hh:mm:ss"(hwclock --set --date="10/20/2009 13:42:00")
2)同步系统时间 hwclock --hctosys
.同步系统时钟和硬件时钟
硬件时钟与系统时钟同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系统时钟和硬件时钟同步:
# hwclock --systohc
或者
# clock --systohc

4.释疑
明白上述道理,也就明白
为什么date修改以后,几天以后时间又变回去了的原因

硬件同步
查看crontab -l
编辑 crontab -e(删除:crontab–r)
加一行: 18 18 * * * hwclock–systohc
现时同步:hwclock–systohc
利用命令修改时间
date–s 03/31/2007 //修改日期
date–s 21:00:03//修改时间
clock–w//写进CMOS


ifconfig(Redhat如何查看和修改IP地址 )

1.显示当前启动的网络接口命令:
ifconfig
2.查看当前所有网络接口命令:
ifconfig -a
3.查看指定网络接口命令:
ifconfig eth0
在LINUX下修改IP分为二种情况,
1.调试时修改IP,仅在当前生效,重启后恢复为原有IP
ifconfig eth0 192.168.63.27 netmask 255.255.255.0 route add default gw 192.168.63.1 up
2.永久生效(即重启后也能生效)
方法1:配置网卡的配置文件
修改/etc/sysconfig/network-scripts/ifcfg-eth0
然后重启服务service network restart生效,或者/etc/init.d/network restart生效
方法2:
将ifconfig eth0 192.168.63.27 netmask 255.255.255.0 route add default gw 192.168.63.1 保存在/etc/init.d/rc.local文件中

route -n查看dns的命令:(destination Genmask都是0.0.0.0的那个)
netstat –r 查看网关
lsb_release 查看系统版本
[root@localhost ~]# lsb_release -a
LSB Version::core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:Red Hat Enterprise Linux Server release 5.2 (Tikanga)
Release:5.2
Codename:Tikanga
[root@localhost ~]#



env命令Linux系统里的 可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令
常见的环境变量

对于 PATH和HOME等 环境变量 大家都不陌生。 PATH能够指定命令的搜索路径,那么 动态链接库 的路径用什么变量指定呢?或者就是在 PATH里面? 比如有一个程序需要/usr/local/lib下面的一个库文件,应该怎么指定其路径呢? 经常看到有些 变量 如 LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他们之间有什么不同和关系? 除此之外,还有下面一些常见环境变 量。
◆ HISTSIZE是指保存历史命令记录的条数。
◆ LOGNAME是指当前用户的 登录名 。
◆ HOSTNAME是指主机的名称,许多应用程序如果要用到 主机名 的话,通常是从这个 环境变量 中来取得的。
◆ SHELL是指当前用户用的是哪种Shell。
◆ LANG/LANGUGE是和语言相关的 环境变量 ,使用多种语言的用户可以修改此环境变量。
◆ MAIL是指当前用户的邮件存放目录。
◆ PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此 环境变量 来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt ”。
# PS1=" Hello,My NewPrompt "
Hello,My NewPrompt
除了这些常见的 环境变量 ,许多应用程序在安装时也会增加 一些环境变量,比如使用Java就要设置JAVA_HOME和CLASSPATH等,而安装五笔输入法会增加环境变量"XMODIFIERS=@im=fcitx"等。
定制环境变量
环境变量 是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设 定或切换到其它的 Shell。 环境变量 是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可 以通过 变量 名来访问相应的 环境变量 ,通过export来设置环境变量。
示例
1. 显示环境变量HOME
$ echo $HOME
/home/terry
2. 设置一个新的环境变量WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. 使用env命令显示所有的环境变量
$ env
HOSTNAME=terry
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000

scp
帮助命令: man scp
scp功能: 下载远程文件或者目录到本地, 如果想上传或者想下载目录,最好的办法是采用tar压缩一下,是 最明智的选择.
从远程主机 下载东西到 本地电脑 拷贝文件命令 scp user@host:/path/file /localpath 即 scp 用户名@IP:/文件路径/本地文件路径 如果拷目录就 scp -r user@host:/dirpath /localpath 即 scp -r 用户名@IP:/目录路径/本地文件路径

从本地 上传文件 或目录 到 远程主机 从本地上传文件 到 远程主机scp localfile user@host:/dirpath 即 scp 文件路径远程主机用户名@ip:/存放文件的路径
从本地上传目录 到 远程主机scp -r localdir user@host:/dirpath 即 scp -r本地目录路径远程主机用户名@ip:/存放文件路径

-----------------------------------------------------------------------
sftp
sftp> help获得帮助 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。 下边就简单介绍一下
如何远程连接主机,进行文件的上传和下载,以及一些相关操作。 举例,如远程主机的 IP 是 202.206.64.33或者是域名www.hebust.edu.cn,用户名是fyt ,在命令行模下:
sftp fyt@202.206.64.33 或者fyt@www.hebust.edu.cn 回车提示输入密码。进入提示符 sftp>

如果登陆远程机器不是为了上传下载文件,而是要 修改远程主机上的某些文件。可以 sshfyt@202.206.64.33 (其实sftp就是ssh 的一个程式。)
在sftp中get表示下载即得到;put表示上传即放置 sftp> get 远程主机下文件的路径将文件保存到本地电脑的路径 sftp> put 本地文件的路径 将文件版保存到远程主机的路径



sftp> get /var/www/fuyatao/index.php/home/fuyatao/ 将从远程主机的/var/www/fuyatao/目录下将 index.php 下载到本地/home/fuyatao/目录下。

sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/ 把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下


【REDHAT 常用命令】

    推荐阅读