linux常用命令.docx
- 文档编号:4664345
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:25.58KB
linux常用命令.docx
《linux常用命令.docx》由会员分享,可在线阅读,更多相关《linux常用命令.docx(10页珍藏版)》请在冰豆网上搜索。
linux常用命令
Linux(Unix)常用命令操作
Linux(Unix)常用命令操作
EASBOS测试部申杨勇
2009-9-15
在以前的工作中我接触Linux/Unix操作系统比较多,测试环境都是在Linux/Unix上,测试执行大部分也在Linux/Unix上操作。
本文是小结一下平时工作中常用到的一些Linux/Unix命令,让刚接触Linux/Unix系统的人了解首先要掌握哪些命令。
Linux/Unix命令一般都带有很多参数,本文说的每一个命令,不会讲的很详细,只讲常用的。
本文分一下四个部分:
1、Linux/Unix简介。
2、Linux/Unix系统目录。
3、Linux/Unix的文件系统。
了解它们的文件系统特点是我们使用Linux/Unix的前提。
4、Linux/Unix常用命令。
一、Linux/Unix简介
Unix操作系统是一种强大的多任务、多用户操作系统。
Unix操作系统通常被分成三个主要部分:
内核(Kernel)、Shell和文件系统。
内核是Unix操作系统的核心,直接控制着计算机的各种资源,能有效地管理硬件设备、内存空间和进程等,使得用户程序不受错综复杂的硬件事件细节的影响。
Shell是Unix内核与用户之间的接口,是Unix的命令解释器。
目前常见的Shell有BourneShell(sh)、KornShell(ksh)、CShell(csh)、Bourne-againShell(bash)。
文件系统是指对存储在存储设备(如硬盘)中的文件所进行的组织管理,通常是按照目录层次的方式进行组织。
每个目录可以包括多个子目录以及文件,系统以/为根目录。
常见的目录有/etc(常用于存放系统配置及管理文件)、/dev(常用于存放外围设备文件)、/usr(常用于存放与用户相关的文件)等。
Linux是基于Unix开发的,Linux是一种外观和性能与UNIX相同或更好的操作系统,但,Linux不源于任何版本的UNIX的源代码,并不是UNIX,而是一个类似于UNIX的产品,Linux产品成功的模仿了UNIX系统和功能。
二、Linux/Unix系统目录
Linux/Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。
该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。
/vmlinuz该目录中存放的是系统内核
/bin该目录中存放Linux/Unix的常用命令,在有的版本中是一些和根目录下相同的目录。
/boot该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux/Unix时,会用到这里的一些信息
/dev该目录包含了Linux/Unix系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。
/etc该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、系统配置文件、设备配置信息、设置用户信息等。
/sbin该目录用来存放系统管理员的系统管理程序。
/home如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
/lib该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
/lost+found该目录在大多数情况下都是空的。
但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
/mnt该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。
/proc可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的
/root如果你是以超级用户的身份登录的,这个就是超级用户的主目录
/tmp用来存放不同程序执行时产生的临时文件
/usr用户的很多应用程序和文件都存放在该目录下
必须要记住的目录操作:
根目录:
也就是目录的最起点,其他目录都从这个目录开始。
到根目录的命令为cd/
使用pwd命令查看当前目录位置。
家目录:
Linux/Unix中建立一个用户后,会在根目录的home目录下有一个对应的目录,用来存放该用户的主目录,一般情况下,用户登录后就会在自己的家目录下。
到家目录的命令就是cd或cd~。
如root用户
父目录(上一级目录):
Linux/Unix中一个点表示当前目录,两个点表示上一级目录,见下图:
回到上上级目录可以用cd../../依次类推
三、Linux/Unix的文件系统
1、Unix文件系统分类
Linux/Unix文件系统主要分为两大类:
根文件系统和附加文件系统。
根文件系统是Linux/Unix系统至少应含有的一个文件系统,它包含了构成操作系统的有关程序和目录,由“/”符号来表示。
附加文件系统是除根文件系统以外的其它文件系统,它必须挂(mount)到根文件系统的某个目录下才能使用。
2、Linux/Unix文件类型
在Linux/Unix中文件共分为四种:
(1)普通文件(-):
又分为文本文件、二进制文件、数据文件;
(2)目录文件(d);
(3)设备文件(l);
(4)链接文件(b/c):
又可分为块设备文件、字符设备文件。
普通文件中的文本文件主要包括ASCII文本文件、英文文本文件和一些可执行的脚本文件等;二进制文件主要是32位的可执行文件等;数据文件主要是系统中的应用程序运行时产生的文件。
目录文件是用来存放文件目录的。
设备文件代表着某种设备,一般放在/dev目录下。
它分为块设备文件和字符设备文件,块设备文件以区块为输入输出单元,如磁盘;字符设备文件是以字符作为输入输出单元,如串口。
链接文件类似于Windows系统中的快捷方式,它指向链接文件所链接着的文件。
值得注意的是,与Windows系统不同,Unix系统中目录本身就是一个文件,另外文件类型与文件的后缀名无关。
不同类型的文件有着不同的文件类型标识(可使用“ls-l”命令来进行查看),它们使用下列符号来表示相应的文件类型:
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
l 链接文件
使用ls–l查看命令后可以看到如下显示的内容
一定要知道文件的这些属性,文件的类型和文件的权限必须要知道。
第一列最前面的一个字母表示这个未见的类型。
如d表示的是目录文件。
rwxr-xrwx是这个文件的权限标志,前面三个字母表示该文件属主(user)所拥有的权限,中间三个字母表示该文件属主所在的组(group)中其他成员拥有的权限,后面三个字母表示其他用户(other)拥有的权限。
r读,对应的权限数字是4
w写,对应的权限数字是2
x 执行(对文件而言)或可进入(对目录而言)权限,对应的权限数字是1
权限数字可以累加,3就是wx,5就是rx,6就是rw,7就是rwx
修改文件权限的命令格式:
chmod 加或减权限 需要修改的文件
加权限用+,减权限用-,可以使用rwx,或对应的权限数字。
如,chmod111file 那么这个文件file的权限就是--x--x--x
第二列指出连接到此文件的连接的数量,我们都知道,在win系统上,我们可以创建快捷方式,比如在桌面上创建一个快捷方式,指向某个文件,UNIX的连接也大致是一样的概念。
第三列是所有者名称,
第四列是所属组名称,
第五列是文件大小,注意这里显示的数据是以字节为单位的,如果要转换成Windows下的MB,需要除以(1024X1024)。
第六列是文件修改时间(如Sep118:
18表示今年的9月1号18:
18)
第七列是文件名
四、Linux/Unix常用命令
Linux/Unix的命令一般都带有参数,常用的要记熟练,格式:
命令–参数
Linux/Unix的命令区分大小写。
工作中经常涉及的Linux/Unix命令操作有:
1、搭建平台:
解压安装包,查看端口,查看磁盘空间,系统资源,修改配置文件,修改文件权限,执行命令文件等等。
2、平常自己建立目录和文件。
3、查看日志。
4、写shell脚本时用到一些命令。
5、性能测试时,查看系统资源使用情况。
登录Linux/Unix系统后,可以用uname查看一下这个系统的机型,用hostname看看这个主机取的是什么名字,可以用who,whodo,finger看看还有谁在使用这个服务器,如果忘记刚才用什么用户名登录了,就用id,logname,whoami查一下。
要是你还知道这个服务器上的另一个用户名和密码,就用su命令切换用户玩一下,修改密码用passwd。
uname:
查看机型,常用的参数是-a,uname–a。
hostname:
查看主机名。
who:
看还有谁在这个服务器上。
whodo:
看其他用户在做什么,当然,这个看的肯定不详细。
finger:
查看本地所有用户信息,格式finger[用户名][@主机名或IP地址]
如,fingersss查看用户sss的信息,
Finger查看
id:
查看账号的一些信息
logname:
查看登录名,当你用su切换了很多次用户后可能忘记刚才是用什么用户名登录时就用这个命令查看一下。
whoami:
我是谁
su:
切换用户,格式su–用户名
passwd:
修改密码
注意:
个别命令会因为Linux/Unix的区别,或机型的不同而有区别,或者该系统上缺少这个命令文件。
如whodo命令在
uname在某些shell脚本中会用来判断机型,然后根据机型执行对应的操作。
下面就讲一些使用最频繁的命令。
第一个当然是用ls列出当前目录下的文件了,常用的两个参数,-a和-l,如ls–al。
以ls–l形式列出文件后,一定要知道文件的这些属性,前面已经讲过了。
-a表示把隐藏的文件也显示出来
-l表示以列表的形式把文件各项属性都显示出来
修改文件权限的命令格式:
chmod 加或减权限 需要修改的文件
加权限用+,减权限用-,
如我们在Linux下安装EAS,如果执行文件缺少可执行权限:
会提示
使用chmod命令给它加上可执行权限
u表示用户属主,g表示用户组,o表示其他用户。
可以使用rwx,或对应的权限数字。
如,chmod111file 那么这个文件file的权限就是--x--x--x
Chmod777file表示给该文件加上全部的权限。
pwd查看当前目录路径
cd就是changedirectory,改变目录路径,直接执行cd就是到家目录
cd..到前一个目录
cd/到根目录
mkdirfile 建立一个名字为file的目录,
删除目录用rmdirfile
如果当前目录下有较多的目录,有些是空的,有些不是空的,你要删除空目录,但是又不知道哪些是空的,哪些不是空的,又懒得去一个一个打开看,就使用rmdir–p接上当前目录下所有的目录名,那么就会把空的目录删除了,非空的不会删除。
rm 删除文件和目录,删除普通文件,就直接rm文件名,删除目录需要rm–r目录名
参数f就是不进行任何提示的情况下删除,所以在使用rm-rf*的时候要小心使用,别把平台文件也删除了,如果不能恢复或复制,那么就要重新搭建平台了。
cp复制命令,如cpssszzz把普通文件sss复制一份,取名叫zzz,在复制目录的时候,如果目录不是空的,那么要加参数r才能将目录里的所有文件也一起复制了,如cp-ryyhh把目录yy及目录里的所有文件复制一份,复制后的目录名称叫hh
cp普通文件目录文件,就是把这个普通文件复制到这个目录下面,
cp–i普通文件目录文件,就是,如果这个目录下如果存在一个相同名称的普通文件,那么就提示是否覆盖,按y则覆盖,按其他则取消不复制了。
mv命令,有两个功能,移动文件和重命名文件。
mv普通文件目录文件,就是把这个普通文件移动到这个目录下面,
加一个参数-i就同cp-i一样,有提示作用。
mv文件1文件2,如果这两个文件的类型相同,那么就是给文件1重命名位文件2。
ln 建立链接文件。
netstat查看网络连接,路由表,端口信息等。
通常结合grep命令来过滤查看。
grep字符查找,如grepcakefile在普通文件file中查找是否含有cake这个单词。
这个命令要熟练掌握了,平常用的时候就是搭建环境时和netstat搭配看看环境的端口,
最常用的就是netstat-an|grep5600查看5600端口是否已经被人使用了。
这里顺便说一下这个竖线“|”,在Linux/Unix里叫管道,就是竖线右边的结果作为左边的输入参数,netstat-an|grep5600的意思就是,netstat–an会得出这个服务器的很多网络和端口信息,因为太多了,我们看不过来,就使用grep5600查看一下信息中是否含有5600。
grep命令在shell脚本中会经常用到。
顺便再把>和>>说一下,就是重定向和追加,如,使用ls-al>file那么就会在当前目录下产生一个文件file,里面写了ls-al显示出来的信息,你再使用pwd>file,再看file文件的时候,发现原来ls-al显示出来的信息没有了,里面写了当前目录的路径,然后再使用ls-al >> file,你就会发现file文件里开始写的当前目录路径信息没有消失,在下面又写了ls-al显示出来的信息。
也就是说>重新写,>>是在原有的基础上继续写,就是追加。
>和>>在shell脚本中会经常用到。
touch命令,有两个作用,建立一个普通文件和修改文件时间属性。
当touch后面接的文件名在当前目录下不存在的时候,就是新建这个文件,当touch后面接的文件名在当前目录下存在的时候,就是修改文件的时间属性,把这个文件的时间改为当前时间。
touch07fine把文件fine的时间属性改为97年7月1号0时0分。
查看文件的命令:
cat直接接文件名,从文件的第一行开始阅读,cat-n就是显示行号
tac这个是cat的反写,从文件的最后一行开始阅读,-n也是显示行号
more一页一页显示文件
less作用和more一样,但比more多一个优点,less可以使用上下箭头↑↓来回看
head一般要加参数n,如head-n7file查看文件file的前7行
tail如tail-n7file查看文件file的后7行
nl显示文件内容的时候顺便把行号显示出来
od以二进制的方式查看文件,你可以试试看看
pg分页的方式查看文件。
vi命令也可以查看文件,同时也编辑修改文件,在切换命令时,使用Esc键,vi命令有很多参数和使用方法,但是没必要浪费时间取全部记下来,我用了两年多的vi,用以下命令已经足够编辑操作了:
:
wq保存退出 :
wq!
强制保存退出 :
q退出 :
q!
强制退出
a在光标的右边开始编辑,i 在光标的左边开始编辑
r 修改光标所在的字符,x 删除光标所在的字符
dd 删除光标所在的行,:
setnu显示行号,取消行号就是nonu
:
setic忽略大小写,取消忽略大小写就是noic
查找字符使用斜杠\
快捷往下翻页ctrl+d
回到第一行开头,使用Esc键切换到命令模式,输入 :
1 然后按enter
回到最后一样结尾,使用Esc键切换到命令模式,输入
然后按enter
文件查询命令,文件查询有4个命令可以使用:
which,查找可执行文件,whichfile如果文件file的属主没有可执行权限,就算file存在,执行命令后,也会提示找不到文件,你可以试试。
whereis,查找文件,文件名全匹配,whereisfile查找文件file,多一个或少一个字符都不行。
locate,查找文件,模糊匹配,whereisfile只要文件名里含有file,就给你列出来。
find,相对上面三个命令来讲,find的查找性能是最低的,因为find要通过搜索磁盘去查询文件名,find的使用方法也很多。
find的使用格式:
find[从什么目录开始查找][按什么查找][查找的文件]
单独一个点号.表示当前目录
/表示根目录
~表示家目录,你还可以指定目录
按什么查找就有十多种了,一般是按文件名查找,其他的十多种这里就不讲了。
文件名可以指定全部,也可以使用匹配。
例如:
find.-namefile在当前目录下查找文件file
find.-name‘[A-Z]*’在当前目录下查找所有以大写字母开头的文件。
压缩、解压缩命令,有很多。
compress命令压缩后的压缩包是以.Z结尾的,使用uncompress解压
gzip压缩后的压缩包是以.gz结尾的
常用的还有tar。
如果当前目录下有一个目录breeze
tarcvfbreeze.tarbreeze把这个目录打包,得到的包是breeze.tar,这里要说明一下的是tar命令打包时并没有对文件进行压缩,只是打包。
tar-xvfbreeze.tar解包
tar cvf file.tar log bin 打包,file.tar包里包括了log和bin两个文件(或目录)
有时候不想解压压缩包,但是又想知道里面有些什么东西,可以使用tar查看
tartvfbreez.tar就会显示包里的文件信息。
后缀.tar.gz的也可以,其他的你也可以试试。
tar-cvf-breeze|gzip-f >压缩成.tar.gz后缀的压缩包
gzip-cfd|tar-xvf-解压
其他:
zcat-cf *.tar.Z|tar-xvf-
uncompress-cf *.tar.Z|tar-xvf-
ftp命令,一般用来不同服务器之间传输文件。
ftp连接到,然后输入用户名密码。
bin二进制格式传输文件
asc文本格式传输文件
get/put取得/传出单个文件
mget/mput取得/传出多个文件
ps命令,查看进程。
ps-u显示某用户的进程
ps-e显示所有正在运行的进程信息
ps-f长列表显示每个进程信息
kill-9PID杀死指定PID进程号的进程
网上查的资料
1)psa显示现行终端机下的所有程序,包括其他用户的程序。
2)ps-A显示所有程序。
3)psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps-e此参数的效果和指定"A"参数相同。
5)pse列出程序时,显示每个程序所使用的环境变量。
6)psf用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps-H显示树状结构,表示程序间的相互关系。
8)ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。
9)pss采用程序信号的格式显示程序状况。
10)psS列出程序时,包括已中断的子程序资料。
11)ps-t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)psu 以用户为主的格式来显示程序状况。
13)psx 显示所有程序,不以终端机来区分。
最常用的方法是ps-aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
系统资源查看命令:
vmstat n 这里n是正整数,单位是秒,就是每个n秒显示一次系统的内存、数据交换情况、输入输出、CPU使用情况等,不会自动停止,使用ctrl+c退出显示。
如在
sar n m这里n、m都是正整数,n的单位是秒,m的单位是次数,就是每隔n秒显示一次CPU的使用情况,一共显示m次,然后给你一个平均数据,显示完m次后,自动停止显示。
(在
top显示任务数,CPU、内存、进程、数据交换情况,按q退出
free显示内存、数据交换、缓存等信息
df显示可用的磁盘空间
du显示文件对磁盘的占用情况
du–h可以直接转换为MB单位进行查看,下图:
工作中常用到的命令就是上面这些了,其他的还有:
date查看系统当前时间、日期
time不完全是显示时间
cmpfile1file2比较两个文件的内容
dircmpdir1dir2比较两个目录
difffile1file2比较两个文件的不同之处
chown修改文件属主
chgrp修改文件用户组
管理员用户:
添加用户、添加用户组的命令
创建新的用户useradd
修改用户信息usermod
删除用户命令userdel
新建新的组群groupadd
修改群组信息groupmod
删除群组命令groupdel
成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下:
〔用户名〕:
〔密码〕:
〔UID〕:
〔GID〕:
〔身份描述〕:
〔主目录〕:
〔登陆Shell〕
其中个字段被冒号“:
”分成7各部分。
关机shutdown
重新启动reboot
shell脚本编程中常用到的命令:
grep、sort、sed、awk、uniq、cut、wc、file、echo、expr等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 常用命令