Linux常用命令.docx
《Linux常用命令.docx》由会员分享,可在线阅读,更多相关《Linux常用命令.docx(25页珍藏版)》请在冰点文库上搜索。
Linux常用命令
1.Linux常用命令
1.1.进入目录命令cd
cd
cd
把你送回到你的登录目录
cd~
也会把你送回到你的登录目录
cd/
把你带到整个系统的根目录
cd/root
把你带到根用户或超级用户(在安装时创建的帐号)的主目录;你必须是根用户才能访问该目录
cd/home
把你带到home目录,用户的登录目录通常贮存在此处
cd..
向上移动一级目录
cd~其他用户
如果其他用户授予你相应权限了的话,它会把你带到其他用户的登录目录
cd/dir1/subdirfoo
无论你在哪一个目录中,这个绝对路径都会把你直接带到subdirfoo中,即dir1的子目录
cd../../dir3/dir2
这个相对路径会把你向上移动两级,转换到根目录,然后转到dir3,然后转到dir2目录中去
1.2.cp命令
备份:
cpabcabc.bak
复制文件:
cpabc/home/soc
复制目录:
cp-rabc//hom/soc(-r表示将源文件的子目录一同拷贝)
1.3.压缩文件
[root@soclog]#tar-czvflog.tgzraw_log.loginfor_log.log
[root@soclog]#ls-altlog.tgz
-rw-r--r--1rootroot267803-0416:
06log.tgz
-c创建一个新的档案文件
-t查看档案文件的内容
-x分解档案文件的内容
-f指定档案文件的名称
-v显示过程信息
-z采用压缩方式
例:
(1)、tar-czforacle.tar.gz/u01/app/oracle/etc/oratab/home/oracle
该命令将/u01/app/oracle目录下的所有文件、/etc/oratab文件和/home/oracle目录下的所有文件合并到oracle.tar文件中,并采用压缩方式。
(2)、tar-tzforacle.tar.gz:
该命令列出归档文件oracle.tar中的所有文件列表。
(3)、tar–xzvforacle.tar.gz:
该命令将归档文件分解并解压缩到原有文件的路径中。
1.4.安装软件包命令rpm
1基本操作命令
rpm-irpm包名
rpm-Urpm包名
2升级
rpm升级软件包的基本语法如下:
rpm-Urpm包名
例如:
rpm–Utomcat4.rpm
该命令将升级Tomcat软件并进行相关系统配置。
3、查看已安装的软件
有的时候,了解系统中都已经安装了哪些软件包以及它们的用途是很有用的,RPM的查询参数就可以做到这一点。
要想列出已经安装的全部软件包,可以通过以下命令:
rpm-qa
可以使用grep命令指定软件包的名称(或者部分名称)如下所示:
rpm-qa|grep'tomcat'
该命令将列出包名中包含tomcat的软件包。
此外:
要想找出某个特定的文件到底是属于哪个软件包的,可以输入:
rpm-qffilename
其中filename是准备要查找其归属的文件名称。
要想查出某个已经安装的软件包的功能,可以用如下命令:
rpm-qipackagename
其中,packagename是要查找其用途的软件包名称。
4、删除已安装的软件
使用RPM删除软件包就像安装它们一样简单。
大多数情况下,用户只需要输入命令:
rpm-epackagename
其中,ackagename是要查删除的软件包名称。
1.5.删除命令
rm[-i|-r|-f]
[root@socsoc]#rminfor_log.lograw_log.loglog.tgz
rm:
是否删除一般文件“infor_log.log”?
y
rm:
是否删除一般文件“raw_log.log”?
y
rm:
是否删除一般文件“log.tgz”?
y
【y表示确认删除】
1.6.查找命令
(1)locate
locate命令的使用实例:
[root@socsoc]#locatesoc.lic/soc/etc/soc.lic
$locate/etc/sh:
搜索etc目录下所有以sh开头的文件。
$locate~/m:
搜索用户主目录下,所有以m开头的文件。
$locate-i~/m:
搜索用户主目录下,所有以m开头的文件,并且忽略大小写。
(2)find
$find<指定目录><指定条件><指定动作>
-<指定目录>:
所要搜索的目录及其所有子目录。
默认为当前目录。
-<指定条件>:
所要搜索的文件的特征。
-<指定动作>:
对搜索结果进行特定的处理。
$find.-name'my*'
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
$find.-name'my*'-ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
$find.-typef-mmin-10
搜索当前目录中,所有过去10分钟中更新过的普通文件。
如果不加-typef参数,则搜索普通文件+特殊文件+目录。
(3)which
语法:
[root@redhat~]#which可执行文件名称
例如:
[root@redhat~]#whichpasswd
/usr/bin/passwd
which是通过PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件
(4)whereis
语法:
[root@redhat~]#whereis[-bmsu]文件或者目录名称
参数说明:
-b:
只找二进制文件
-m:
只找在说明文件manual路径下的文件
-s:
只找source源文件
-u:
没有说明文档的文件
例如:
[root@redhat~]#whereispasswd
1.7.看java版本
[root@socsoc]#java-version
javaversion"1.4.2"
gij(GNUlibgcj)version4.1.220070626(RedHat4.1.2-14)
Copyright(C)2006FreeSoftwareFoundation,Inc.
Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNO
warranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.
1.8.更改显示字符集为英文
[root@socsoc]#exportLANG=C
1.9.看硬盘空间利用率
df
[root@socsoc]#df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/sda1895G9.4G840G2%/
tmpfs4.0G04.0G0%/dev/shm
[root@socsoc]#
1.10.mv命令
备份:
mvabcabc.bak
复制文件:
mvabc/home/soc
复制目录:
mvabc//hom/soc
1.11.Linux下修改ip地址方法
ifconfigeth0192.168.22.22此种方法立刻生效,但系统重启后就变为以前的,适合于临时修改ip地址。
netconfig或setup命令修改后,不能立刻生效,运行:
servicenetworkrestart后可生效,且重启后不会改变。
直接修改文件vi/etc/sysconfig/network-scripts/ifcfg-eth0在里面可直接修改,不能立刻生效,运行:
servicenetworkrestart后可生效,且重启后不会改变。
1.12.cat命令
(1)cattext该命令显示text这个文件的内容。
(2)catfile1file2该命令依顺序显示file1,file2的内容。
(3)catfile1file2>file3该命令把file1,file2的内容结合起来再重定向>到file3文件中。
1.13.more
more是显示一般文本文件的指令morefile1
1.14.chmod命令,用于改变文件或目录的访问权限
chmod[who][+|-|=][mode]文件名
(1)who一般有U、g、o、a,可以任意一个或者组合。
(2)操作符:
+代表添加权限,—取消权限,=赋予给定权限,并取消其他所有权限。
(3)mode表示的权限有rwx.
1.15.chown命令
chown[用户:
组]文件
chownoracle:
dbatext该命令将text文件的属主和属组分别改为oracle和dba。
1.16.修改时间
(1)比如将系统时间设定成2009年7月14日,命令如下。
#date-s07/14/2009
将系统时间设定成上午10点02分40秒的命令如下。
#date-s10:
02:
40
(2)修改时区
找到相应的时区文件/usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/localtime。
修改/etc/sysconfig/clock文件的内容为:
ZONE=”Asia/Shanghai”
UTC=false
ARC=false
(3)更新BIOS时间
同步更新BIOS时钟,也就是强制把系统时间写入CMOS,命令如下:
#clock-w
(4)查看当前日期
命令如下:
date
1.17.防火墙的开启和关闭
开启:
chkconfigiptableson
关闭:
chkconfigiptablesoff
即时生效,重启后复原
开启:
serviceiptablesstart
关闭:
serviceiptablesstop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在当开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables文件,添加以下内容:
-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
1.18.挂载mount命令
mount[选项]设备目录
(1)其中最常用的选项是
-a把/etc/fstab文件中列出的文件系统都挂装上。
挂装软驱和光驱的命令比较简单,直接输入以下命令即可:
1、以下是挂载光驱的操作过程:
进入dev目录:
cd/dev
查看cdrom是否存在:
ls
在/mnt下创建一个挂载点如:
cd/mntmkdircdrom
2、以下是挂载USB设备的操作过程:
先创建一个目录mkdir/media/usb
使用命令fdisk-l命令查看设备
usb接口的设备是“sd{aorborc.......}+数字”的格式
将查看到的符合格式的设备加载,如:
mount/dev/sdb4/media/usb
usb中的内容便被挂载到/media/usb中
(2)最后进行挂载
mount/dev/cdrom/mnt/cdrom
光盘内容将被挂载到/mnt/cdrom中
umount命令用于卸载一个文件系统,命令的格式如下:
umount[-f]directory
其中,directory是准备卸载的目录名。
umount命令有一个不足之处:
如果文件系统正在使用中(也就是说有人在那个分区上打开了文件),就无法把这个文件系统卸载下来这时可以使用和-f参数强制执行卸载操作,当然这种操作可能会造成用户数据的丢失,如:
1.umount-f/mnt/cdrom
该命令将强制卸载挂装在/mnt/cdrom目录下的文件系统
1.20.Linux网络操作命令
Linux系统常用的网络操作命令包括netstat、nslookup、host、finger和ping。
Ønetstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
Ønslookup命令的功能是查询一台机器的IP地址和其对应的域名。
它通常需要一台域名服务器来提供域名服务,如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
Øhost命令可根据主机名查询主机的IP地址或根据主机IP地址查询主机名;
Øfinger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。
Øping命令用于查看网络上的主机是否在工作。
(1)netstat命令
命令语法:
netstat[选项]netstat的常用参数说明如下:
-a显示所有socket包括正在监听的
-c每隔1秒就重新显示一遍直到用户中断它
-i显示所有网络接口的信息格式同“ifconfig–e”
-n以网络IP地址代替名称显示出网络连接情形
-r显示核心路由表格式同“route–e”
-t显示TCP协议的连接情况
-u显示UDP协议的连接情况
-v显示正在进行的工作
(2)nslookup命令
nslookup命令的功能是查询一台机器的IP地址和其对应的域名。
它通常需要一台域名服务器来提供域名服务。
如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
命令的语法为:
nslookup[IP地址/域名]示例:
在本机执行nslookup命令
DefaultServer:
Address:
192.168.1.99
>
在符号“>”后面输入要查询的IP地址或域名并回车即可。
如果要退出该命令,输入exit并回车即可。
(3)host命令
host命令的功能基本与nslookup相。
同命令的语法为:
host[选项][IP地址/域名/主机名]
host的常用参数如下:
-a显示所查域名或IP地址、域名或主机名的相关信息。
示例:
[root]#hosthuawei-
huawei-hasaddress172.19.1.228
(4)finger命令
Finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。
如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
该命令的一般格式为:
finger[选项][使用者][用户@主机]
finger的常用参数如下:
-s显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、project和.forward文件的内容
-p除了不显示.plan文件和.project文件以外与-l选项相同
(5)Ping命令
ping命令用于查看网络上的主机是否在工作,它向该主机发送ICMPECHO_REQUEST包。
有时我们想从网络上的某台主机上下载文件,可是又不知道那台主机是否开着,就需要使用ping命令查看。
该命令的一般格式为:
ping[选项][主机名/IP地址]
ping的常用参数如下:
-c数目在发送指定数目的包后停止
-d设定SO_DEBUG的选项
-f大量且快速地送网络封包给一台机器看它的回应
-I秒数设定间隔几秒送一个网络封包给一台机器预设值是一秒送一次
-l次数在指定次数内以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)
-q不显示任何传送封包的信息只显示最后的结果
-r不经由网关而直接送封包到一台机器通常是查看本机的网络接口是否有问题
-s字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节
1.21.Linux系统信息及运行状态监控
Linux的文件系统中,有一个特殊目录“/proc”,该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。
在该目录下可以找到许多有意思的东西,例如:
/proc/cpuinfo本机CPU的相关信息;
/proc/meminfo本机内存及交换分区的使用信息;
/proc/modules本机已安装的硬件模块信息;
/proc/mounts本机已挂载mount上的设备信息;
此外,该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。
例如进入名称为“1”的子目录:
cd/proc/1
该目录下文件“cmdline”中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat”文件中存放的时该进程运行的状态信息等。
通过查看“/proc”目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。
事实上,Linux下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。
(1)df命令
用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。
如:
df-k以千字节(KB)为单位显示各分区的信息;
df-a显示所有分区,包括大小为0的分区;
df-T显示分区类型(EXT2或EXT3等)。
(2)du命令
用于查看文件或文件夹的大小。
如:
du-b/home以字节为单位显示“/home”文件夹下各个子文件夹的大小;
du-kshome以千字节(KB)为单位显示“/home”文件夹的总大小;
(3)top命令
用于实时查看系统状态信息。
运行该命令后,屏幕上会显示如下信息:
CPU状态(CPUstates):
包括用户进程占用比率、系统进程占用比率、用户的nice优先级进程占用比率及空闲CPU资源比率等;
内存状态(Mem):
包括内存总量、使用量、空闲量等;
交换分区状态(Swap):
包括交换分区总量、使用量、空闲量等;
每个进程的状态:
包括进程ID、用户名、优先级、CPU和内存使用量,以及运行该进程时执行的命令行;
执行top命令后,每隔5秒,系统会自动刷新一次状态信息,如果要指定刷新间隔,在启动时加入“-d”参数即可。
例如:
top-d1启动top,并且每隔1秒刷新一次。
进入top后,按下如下按钮会有相应功能:
【空格】立即刷新显示信息;
【M】按内存使用量排序;
【N】按进程ID排序;
【P】按CPU使用量排序;
【c】扩展命令行信息,显示完整的命令行;
【?
】显示帮助信息;
【q】退出top程序。
(4)iostat命令
统计并输出CPU使用信息及特定设备或分区的IO信息。
iostat-c仅显示CPU使用情况统计信息;
iostat-d仅显示设备/分区使用情况统计信息;
iostat-d2统计设备/分区使用情况,并每隔2秒刷新一次;
显示的IO统计信息中,各部分说明如下:
tps设备每秒收到的IO传送请求数;
Blk_read/s设备每秒读入的块数量;
Blk_wrtn/s设备每秒写入的块数量;
Blk_read设备读入的总块数量;
Blk_wrtn设备写入的总块数量;
显示的CPU统计信息各部分的含义同top。
2.Linux系统的目录结构
/usr目录包含所有的命令、程序库、文档和其它文件。
这些文件在正常操作中不会被改变的。
这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。
/var目录包含在正常操作中被改变的文件:
假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等
/home目录包含用户的文件:
参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。
这个目录在系统省级时应该保留。
/proc目录整个包含虚幻的文件。
它们实际上并不存在磁盘上,也不占用任何空间。
(用ls–l可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统
/bin系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。
/sbin系统执行文件(二进制),这些文件不打算被普通用户使用。
(普通用户仍然可以使用它们,但要指定目录。
)
/etc操作系统的配置文件目录。
/root系统管理员(也叫超级用户或根用户)的Home目录。
/dev设备文件目录。
LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。
正常情况下,设备会有一个独立的子目 录。
这些设备的内容会出现在独立的子目录下。
LINUX没有所谓的驱动符。
/lib根文件系统目录下程序和核心模块的共享库。
/boot用于自举加载程序(LILO或GRUB)的文件。
当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。
这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。
/opt可选的应用程序,譬如,REDHAT5.2下的KDE(REDHAT6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)
/tmp临时文件。
该目录会被自动清理干净。
/lost+found在文件系统修复时恢复的文件。
3.vi编辑
Vi有三种基本工作模式:
命令行模式,文本输入模式和末行模式。
3.1vi三种模式
(1)命令行模式:
任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使vi进入命令行模式;当在shell环境下输入vi命令启动vi编辑器时,也是处于该模式下。
(2)文本输入模式:
在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。
在文本输入过程中,若想回到命令模式下,按“ESC