10.Linux 命令详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.Linux 命令详解相关的知识,希望对你有一定的参考价值。

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 手册查找使用方法。

?

?

?

?

以上是关于10.Linux 命令详解的主要内容,如果未能解决你的问题,请参考以下文章

1.10-linux三剑客之sed命令详解及用法

Selenium JavascriptExecutor 详解

Selenium JavascriptExecutor 详解

(转) Java中的负数及基本类型的转型详解

详解Android WebView加载html片段

VSCode自定义代码片段——git命令操作一个完整流程