10.Linux 命令详解
课程要求:
1.了解Linux系统的常用命令的使用。
实验器材:
软件:
1.安装了RHEL6的vmware虚拟机。
硬件:
1.PC机一台。
背景知识:
1. Linux命令介绍:
linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux 系统管理的命令是它正常运行的核心,与之前的 DOS 命令类似。linux 命令在系统中有两种类型:内置 Shell 命令和Linux 命令。首先要认识一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如 dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令。需要注意一点,和 dos 命令不同的是,Linux 的命令(也包括文件名等等)对大小写是敏感的。然后来看看什么是"Shell",实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序,将大量 shell 命令组织成一个脚本文件,达到自动化处理的目的。
2. Linux常用命令分类:
(1) 用户管理类命令:useradd、userdel、passwd、su、groupadd、groupdel。
(2) 文件目录类命令:ls、cd、touch、cp、mv、rm、chmod、mkdir、du、pwd。
(3) 压缩打包类命令:gzip、bzip2、tar。
(4) 磁盘管理:mount、umount、df、touch、ln。
(5) 查找类命令:find、grep。
(6) 进程管理类命令:ps、kill、free、top。
(7) 其他常用命令: rpm、|、man、shutdown。
下面请大家通过实验步骤体验这些常用命令的用法。
实验步骤:
用户管理类命令:
1. 添加用户:useradd
格式:useradd [选项] 用户名
范例:useradd david
添加名字为 david 的用户,当用户创建成功后,会在/home/ 目录下生成与用户名同名的目录。
图3-79
useradd 命令
2. 删除用户:userdel
格式:userdel [选项] [用户名]
范例:userdel –r david
删除名为 david 的用户,"-r"选项会使/home 目录下的该用户目录也被删除。
图3-80
userdel 命令
3. 修改密码:passwd格式:passwd [选项] [用户名]范例:passwd davide修改 david 用户的密码。
图3-81
passwd 命令
4. 切换用户:su
格式:su [选项] [用户名]
范例:su – david
切换到 david 用户,并将用户的环境变量同时带入;如图 3-82 所示;当由普通用
户切换为 root 用户时需要输入 root 用户密码。
图3-82
su 命令
5. 添加用户组:groupadd
格式:groupadd [选项] [用户名]
范例:groupadd group1
添加组名为"group1"的用户组;添加用户组之后会在/etc/group 最后一行添加用
户组 group1 的信息。
6. 删除用户组:groupdel
格式:groupadd [选项] [用户名]
范例:groupadd group1
删除组名为"group1"的用户组;删除用户组之后会在/etc/group 删除用户组
group1 的信息。
文件和目录类命令:
7. 查看目录:ls
格式:ls [选项] [目录或文件]
范例:
1.ls /home
显示/home 目录下的文件与目录(不包含隐藏文件)
2. ls –a /home
显示/home 目录下的所有文件与目录(含隐藏文件)
3. ls –l /home
显示/home 目录下的文件与目录的详细信息
图3-83
ls 命令
8. 改变工作目录:cd
格式:cd 目录名
范例:
1. cd /home/
进入/home 目录
2. cd ..
退回到上一级目录
图3-84
cd 命令
9. 文件创建:touch
格式:touch [选项] 文件名
范例:touch test
在/home 目录先创建 test 文件
图3-85
touch 命令
10. 复制文件/目录:cp
格式:cp [选项] 源文件或目录目标文件或目录
范例:
1. cp /home/test /tmp/
将/home 目录下的 test 文件 copy 到/tmp 目录下
2. cp –r /home/smb /tmp/
将/home 目录下的 dir1 目录 copy 到/tmp 目录下
图3-86
cp 命令
11. 改变文件权限:chmod
格式:chmod [who] [+ | -| =] [mode] 文件名
参数:
who:
u 表示文件的所有者。
g 表示与文件所有者同组的用户。
o 表示"其他用户"。
a 表示"所有用户"。它是系统默认值。
mode:
+ 添加某个权限
-取消某个权限
= 赋予给定权限
例:chmod g+w test
图3-87
chmod 命令
12. 创建目录:mkdir
格式:mkdir [选项] 目录名
范例:
1.mkdir /home/workdir
在/home 目录下创建 workdir 目录/home workdir
2. mkdir –p/home/dir1/dri4/dir3/dir2
创建/home/dir1/dir2 目录,如果 dir1 不存在,先创建 dir1
图3-88
mkdir 命令
13. 查看目录:du
格式:du 目录名
范例:du /tmp
图3-89
du 命令
14. 查看当前路径:pwd
格式:pwd
范例:pwd
显示当前工作目录的绝对路径
图3-90
mv 命令使用
压缩打包类命令
在 Linux 环境中,压缩文件的扩展名通常为*.tar; *.tar.gz;
*.tgz; *.gz; *.bz2。而不同后缀名的文件,则需要使用不同的命令来处理。
*.gz<-> gzip 命令压缩的文件
*.bz2<-> bzip2 命令压缩的文件
*.tar<-> tar 命令打包的文件
*.tar.gz<-> tar 打包后,再经过 gzip 压缩的文件
*.tar.bz2<-> tar 命令打包后,再经过 bzip2 压缩的文件
15. 压缩解压:gzip
格式:gzip [选项] 文件名
范例:
1.gzip /root/anaconda-ks.cfg
压缩文件
2. gzip –d /root/anaconda-ks.cfg.gz
解压文件
图3-91
gzip 命令
16. 压缩解压:bzip2
格式:bzip2 [选项] 文件名
范例:
1.bzip2 /root/anaconda-ks.cfg
压缩文件
2. bzip2 –d /root/anaconda-ks.cfg.bz2
解压文件。
图3-92
bzip2 打包并压缩
17. 打包压缩:tar
格式:tar [选项] 目录或者文件
范例:
1. tar cvf tmp.tar /tmp
将 tmp 目录打包为一个文件
2. tar xvf tmp.tar
将打包文件解开
3. tar cvzf tmp.tar.gz /tmp
将 tmp 目录打包压缩为一个文件
4. tar xvzf tmp.tar.gz
将打包压缩文件解压
图3-93
tar 打包命令
图3-94
tar 打包压缩命令
为方便截图,省略了部分打印信息
磁盘管理类命令
18. 加载存储设备:mount
格式:mount [选项] 设备名 挂载目录
范例:mount /dev/cdrom /mnt
挂载/dev/cdrom 到/mnt 目录下
注意:挂载之前要首先在虚拟机配置【VM】-【Settings...】-【CD/DVD(IDE)】-
【Connection】选择使用 RedHat 的镜像;如图 3-96 所示
图3-95
mount 命令
图3-96 VM settings
19. 卸载光盘:umount
格式:umount 挂载目录
范例:umount /mnt
图3-97 umount 命令
重要提示:请在执行 umount 之前,先保证 mnt 目录下已经挂载了镜像,并且用户已经退出了 mnt 目录,否则会导致卸载失败。
20. 查看磁盘:df
格式:df [选项]
范例:df –hl
图3-98
df 命令
21. 文件链接:ln
在 Linux 系统中,存在类似于 windows 中"快捷方式"的链接文件。链接文件又分为"软链接"和"硬链接"。软链接又叫符号链接,这个文件包含了另一个文件的路径名,可以是任意文件或目录,可以链接不同文件系统的文件;对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。硬链接是已存在文件的另一个名字;硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。
硬链接文件有两个限制
1).不允许给目录创建硬链接;
2).只有在同一文件系统中的文件之间才能创建硬链接。
格式:ln [选项] 文件名链接名
范例:
1.ln oldfile hlink
为oldfile文件创建一个硬链接hlink
图3-99
ln 创建硬链接
2.ln –s oldfile slink
为oldfile文件创建一个软链接slink
图3-100
创建软链接
查找类命令
22. 查找文件/目录:find
格式:find 查找路径-name 文件名
范例:
find /root/ -name install.log
在 root 目录下寻找名字为 intall.log 的文件查找到所有网络端口中用于 tftp 的端口情况,如图所示。
图3-101
find 命令
23. 查找字符串:grep
格式:grep "字符串" 路径 [选项]
范例:
1.grep "VolGroup" /root -rn
在当前路径下寻找包含字符串"xml"的文件
2. grep "VolGrou*" /root -rn
在当前路径下寻找包含以"he"开头的字符串的文件
图3-102
grep 命令
进程管理类命令
24. 查看进程:ps
格式:ps [选项]
范例:pa aux。
进程显示信息分为 7 列内容依次为:USER(用户名)、PID(进程 ID)、%CPU(进程的 CPU 占用率)、%MEM(进程所使用的虚存的大小)、RSS(进程使用的驻留集大小或者是实际内存的大小,
Kbytes 字节) TTY(与进程关联的终端)。STAT(进程的状态:进程状态使用字符表示的,R:运行;S:睡眠;I:空闲;Z:僵死;D:不可中断;T:终止;P:等待交换页;W:无驻留页;X:死掉的进程;<:小于高优先级进程;N:低优先级进程;L:内存锁页;s:进程领导者;l:多进程;+:位于后台的进程组) START、(进程启动时间和日期) TIME、(进程使用的总 cpu 时间)、COMMAND(正在执行的命令行命令)。
图3-103
ps 命令
25. 杀死进程:kill
格式:kill [选择] pid
范例:
1.vi hello.c
2.ps aux
3.kill [vi hello.c 进程 PID]
图3-104
kill 命令
26. 查看内存:free
格式:free [选项]
范例:free
Mem 行从左至右依次为 total(物理内存总量),used(已经使用内存数。更
加确切地说,应该是含有数据的内存数),free(空余内存数,没有数据空的内存
数),shared( 共享内存数),buffers(这个其实是写入用的缓存),cached(提
供读取操作用的缓存)。
图3-105
free 命令
27. CPU 占有率:top
格式:top [选项]
范例:top
top 命令动态显示 CPU 的占有率,按【Ctrl】+c 或者【q】退出。
图3-106
top 命令
28. 软件管理:rpm
格式:rpm [选项] [软件包]
范例:
1.rpm –ivh /mnt/Packages/xinetd-2.3.14-34.el6.i686.rpm
安装 xinetd-2.3.14-34.el6.i686.rpm
2. rpm –qa
查看系统中已经安装的所有软件包
3. rpm –exinetd-2.3.14-34.el6.i686
卸载已经安装的 xinetd-2.3.14-34.el6.i686。
图3-107
软件包选择
29. 管道操作符:|
格式:命令 1 | 命令 2
范例:
rpm –qa | grep tar
查询系统中安装的所有软件包,并从中找出带有字符串"tar"的软件包。
图3-108
管道操作符
30. 查看帮助:man
格式:man 命令名
范例:man find
查看 find 命令的用法
图3-109
find 命令帮助文档
31. 关闭 linux 系统:shutdown [选项] 时间
范例:shutdown now
立刻关机
总结:
通过本节课的学习掌握 Linux 下常用命令的基本用法,当遇到新的命令时,学会使用
man 手册查找使用方法。