目录
一、认识Linux
1. Linux的组成
(1)文件系统(FILE SYSTEMS)
(2)内核
(3)用户接口(Shell)
(4)应用程序
2. Linux的目录结构
二、Linux常用命令
1.命令格式
2. 帮助命令
(1)--help 帮助信息
(2)man手册
3. 目录操作
(1)切换目录(pwd、cd)
(2)查看目录内容(ls)
4. 文件操作
(1)创建文件(touch)
(2)创建目录(mkdir)
(3)删除目录(rmdir)
(4)删除文件(rm)
(5)复制拷贝(cp)
(6)mv(move命令)
5. 文件查看
(1)查看文件内容(cat)
(2)查看文件内容(more)
(3)查看文件内容(less)
(4)查看文件内容(head)
(5)查看文件内容(tail)
6. 组合命令
(1)重定向输出 > 和 >>
(2)管道 “|”
(3)逻辑控制 &&
7. 查看所敲命令历史(history)
8. 打包和解包
(1)打 tar 包
(2)解 tar 包
9. gzip 格式压缩和解压缩
10. bzip2 格式压缩和解压缩
11. 时间日期
(1)显示当前时间(date)
(2)显示非当前时间(date)
(3)设置系统时间(date)
(4)查看日历(cal)
12. 搜索查找(find)
(1)按文件名查找
(2)按照文件特征查找
(3)使用混合查找方式查找文件
13. 过滤查找(grep)
14. 编辑器(vi)
(1)编辑模式(插入模式)
(2)底行模式
① 退出 vim:
② 撤销上次操作(一般模式下)
③ 设置行号(底行模式)
④ 替换文本
⑤ 查找 (一般模式)
(3)命令模式(一般模式)
15. 用户及组管理
(1)添加新用户(useradd)
(2)设置用户密码(passwd)
(3)判断用户是否存在(id)
(4)切换用户(su)
16. 设置Linux普通用户具有root权限(即sudo的使用)
(1)修改配置文件
(2)使用 tom 用户登录,操作管理员命令
17. 查看创建了哪些用户
18. 用户组管理命令
(1) 新增组(groupadd)
(4) 查看创建了哪些组
(5)修改用户(usermod)
19. 文件权限
(1)修改文件权限(chmod)
(2)改变所有者(chown)
(3)改变所属组(chgrp)
20. 系统管理与进程管理
(1)磁盘信息
(2)查看系统中所有进程(ps)
参数说明:
(3)查看系统健康状态(top)
① 第一行信息为任务队列列信息
② 第二行为进程信息
③ 第三行为CPU信息
④ 第四行为物理内存信息
⑤ 第五行为交换分区(swap)信息
(4)终止进程(kill)
21. 显示网络统计信息(netstat)
22. 软件安装(rpm)
(1)rpm包 的 查询命令
(2)rpm包 的 卸载
(3)rpm包 的 安装
23. yum
一、认识Linux
1. Linux的组成
操作系统(Operating System, OS)是软件子系统的一部分,是硬件基础上的 第一层软件,是硬件 与 其他软件的接口,就好似 吃饭的桌子,有了桌子 才能摆放碟子、碗、筷子、勺子等。它控制 其他程序运行,管理 系统资源,提供 最基本的计算功能,如管理及 配置内存、决定 系统资源供需的 优先次序等,同时还提供一些基本的 服务程序,例如:
(1)文件系统(FILE SYSTEMS)
文件系统是 文件存放在 磁盘 等存储设备上的 组织方法,提供 计算机 存储信息的结构,信息存储 在文件中,文件 主要存储 在计算机的 内部硬盘里,在 目录的分层结构中 组织文件。文件系统为 操作系统提供了 组织管理数据的 方式。Linux 支持多种文件系统。
(2)内核
是 系统的心脏,是 运行程序和 管理像磁盘和打印机等 硬件设备的 核心程序。
(3)用户接口(Shell)
是系统的 用户界面,提供了 用户和 内核进行 交互操作的一种 接口。它 接收用户 输入的命令并把 它送入内核去 执行,是一个 命令解释器。但它 不仅是命令解释器,而且 还是高级编程语言,shell 编程。
(4)应用程序
标准的 Linux 操作系统 都会 有一套应用 程序 例如 X-Window,Open Office等。
2. Linux的目录结构
① /boot:系统 引导文件、内核。一些和启动有关的文件。
② /bin: 核心的 二进制文件目录。用户的 基本命令。系统时所需的普通程序。
③ /dev:所有的设备文件。
④ /etc:存放着绝大部分的系统配置文件。
⑤ /home: 普通用户的 家目录。
⑥ /lib:系统库,共享文件 以及内核模块的 文件。存放启动时用到的库文件。
⑦ /root: root 用户(系统管理员)主目录。
⑧ /sbin: 超级 管理员可运行的 基本命令,包含 二进制文件。系统时所需的系统程序。
⑨ /tmp:临时 文件存放地。
⑩ /usr:共享的 只读数据。
⑪ /mnt:临时 文件系统挂载点。存放一些用于安装其它设备的子目录。
⑫ /media: 移动 设备挂载点。
⑬ /opt:第三方 应用程序的 安装位置。
⑭ /srv:系统运行的 服务用到的 数据。
⑮ /var:变量、函数等数据的 存储文件。有一些被系统改变过的数据。
⑯ /proc:用于 输出内核 与 进程信息相关的 虚拟文件系统。
⑰ /sys:用于 输出当前系统上硬件设备 相关信息的 虚拟文件系统。
二、Linux常用命令
1.命令格式
command [-options] [parameter]
注:
- command:命令名,相应功能的英文单词或单词的缩写。
- [-options]:选项,可用来对命令进行控制,也可以省略。
- parameter:传给命令的参数,可以是零个、一个或者多个。
2. 帮助命令
(1)--help 帮助信息
command --help
说明:显示 command 命令的帮助信息。
(2)man手册
man command
说明:查询 command 命令的使用手册。man 时 manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明。
3. 目录操作
(1)切换目录(pwd、cd)
(2)查看目录内容(ls)
4. 文件操作
(1)创建文件(touch)
touch 不存在的文件
功能:创建一个空白文件。
例:
[root@localhost ~]# touch test.txt
补充:
touch 文件名1 文件2 功能:创建多个文件
(2)创建目录(mkdir)
mkdir [-p] 要创建的目录
例:
[root@localhost ~]# mkdir test
[root@localhost ~]# mkdir -p test/test1
(3)删除目录(rmdir)
rmdir 要删除的目录名
例:
[root@localhost ~]# mkdir test2
(4)删除文件(rm)
rm [-参数] 文件/目录
功能:递归删除目录中所有内容。
例:递归删除目录中所有内容
[root@localhost ~]# rm -rf test2
(5)复制拷贝(cp)
通过 cp 实现复制 将指定的文件 或 目录复制到 两一个文件或 目录中。
cp source dest
功能:复制 source 文件到 dest。
cp -r sourceFolder targetFolder
功能:递归复制整个文件夹。
例:
① 复制文件
[root@localhost ~]# cp test.txt test1.txt
② 递归复制整个文件夹
[root@localhost ~]# cp -r abc/tmp
(6)mv(move命令)
通过 mv 命令可以用来 移动文件或目录,也可以给 文件或 目录重命名。
mv oldNameFile newNameFile
功能:重命名。
mv /temp/movefile/targetFolder
功能:递归移动文件。
例:
① 重命名
[root@localhost ~]# mv file1 file11 (把file1文件夹改名为file11)
② 移动文件
[root@localhost ~]# mv file1 test (把file11文件夹放到test文件夹内)
5. 文件查看
(1)查看文件内容(cat)
cat [选项] 要查看的文件
(2)查看文件内容(more)
more 要查看的文件
例:
[root@localhost ~]# more test1.java
(3)查看文件内容(less)
less 要查看的文件
例:
[root@localhost ~]# less test1.java
(4)查看文件内容(head)
(5)查看文件内容(tail)
例:
① 查看文件后10行内容
tail -10 文件名
② 动态追踪文件内容
tail -f 文件名
③ 动态追踪 最后10行内容 且退出
tail -10f 文件名 (ctrl + c退出)
6. 组合命令
(1)重定向输出 > 和 >>
例:
[root@localhost ~]# ifconfig >> 3.txt 说明将ifconfig指令内容追加到 3.txt中
(2)管道 “|”
(3)逻辑控制 &&
7. 查看所敲命令历史(history)
例:
[root@localhost ~]# history
8. 打包和解包
(1)打 tar 包
# 将 一系列文件 打包成 一个大文件
tar -cvf 打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包的文件 1 被打包的文件 2 被打包的文件 3
(2)解 tar 包
# 将一个打包后的分解成一系列小文件,分解位置为当前目录
tar -xvf 打包名.tar
# 将一个打包后的 分解成 一系列小文件,分解位置为指定目录
tar -xvf 打包名.tar -C 解包路径位置
9. gzip 格式压缩和解压缩
# 压缩文件
tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目录路径
10. bzip2 格式压缩和解压缩
# 压缩文件
tar -jcvf 打包压缩文件名.tar.bz2 被压缩的文件/目录
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
# 解压缩到指定路径
tar -jxvf 打包文件.tar.bz2 -C 目录路径
11. 时间日期
(1)显示当前时间(date)
date 功能:显示当前时间)
date +%Y 功能:显示当前年年份)
date +%m 功能:显示当前月份)
date +%d 功能:显示当前是哪一天)
date +%Y%m%d … 功能:显示当前年年月日各种格式
date "+%Y-%m-%d %H:%M:%S” 功能:显示年月日时分秒
(2)显示非当前时间(date)
date -d '1 days ago' 功能:显示前一天日期
date -d yesterday +"%Y -%m-%d" (同上)
date -d next-day +"%Y-%m -%d" 功能:显示明天日期
date -d 'next monday' 功能:显示下周一时间
(3)设置系统时间(date)
date -s 字符串时间
例:
[root@localhost ~]# date -s "2024-09-10 20:52:18"
(4)查看日历(cal)
cal [选项]
功能:不加选项,显示本月日历。
例:
[root@localhost ~]# cal
[root@localhost ~]# cal -9
[root@localhost ~]# cal 2024
12. 搜索查找(find)
基本格式:find path [options]
(1)按文件名查找
find /etc -name yum.conf #在/etc目录下文件yum.conf
find /etc -name 'yum' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符 串‘yum’的文件
find . -name 'yum*' #表示当前目录下查找文件名开头是字符串‘yum’的文件
(2)按照文件特征查找
find / -atime -2 # 查找在系统中最后48小时访问的文件 (Access Time,文件读取访问时间)
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group susan # 查找在系统中属于group为susan的文件
find / -mtime -1 # 查找在系统中最后24小时里修改过的文件 (modify time)
find / -user susan # 查找在系统中属于susan这个用户的文件
find / -size +10000c # 查找出大于10000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k # 查找出小于1000KB的文件
(3)使用混合查找方式查找文件
参数有: !,-and(-),-or(-o)。
find /tmp -size +10c -and -mtime +2 # 在/tmp目录下查找大于10字节并在2天前修改的文件
find / -user root -or -user susan # 在/目录下查找用户是root或者susan的文件文件
find /tmp ! -user susan # 在/tmp目录中查找所有不属于susan用户的文件
13. 过滤查找(grep)
根据文件的内容 进行查找,会对文件的 每一行按照给定的模式(patter)进行匹配查找。
基本格式:grep [options] 范围
例:
[root@localhost aaa]# grep -n 321 4.txt # 说明:查询4.txt文件中的‘321’字段并显示对应行号。
14. 编辑器(vi)
(1)编辑模式(插入模式)
对文本进行输入和修改。
命令模式按下:i、o、a进入编辑模式。
i:光标不动
o:另起一行
a:光标到下一个字符
按ESC退出编辑模式,进入命令模式
(2)底行模式
退出 vim 或者查找、替换功能。
① 退出 vim:
:q 未编辑时退出vim
:q! 编辑后,退出并且不保存
:wq 编辑后,退出且保存
:x 编译后保存
② 撤销上次操作(一般模式下)
u 撤销上一次操作(ctrl + z windows操作)
ctrl + r 恢复上一次被撤销的操作 (ctrl + y windows操作)
③ 设置行号(底行模式)
:set nu 显示行号
:set nonu 不显示行号
④ 替换文本
:s/old/new/ 用 new 替换 old,替换当前行的第一个匹配
:s/old/new/g 用 new 替换 old,替换当前行的所有匹配
:%s/old/new/ 用 new 替换 old,替换所有行的第一个匹配:%s/old/new/g 用new替换old,替换整个文件的所有匹配
⑤ 查找 (一般模式)
/文本 搜索指定文本,高亮显示,按n显示下一个,按N显示前一个
:整数 快捷跳转到指定行
(3)命令模式(一般模式)
通过快捷命令操作数据,打开 vi 默认就是命令模式。
p(pause) 将之前dd或yy的数据粘贴到光标位置
yy 复制光标所在行
5yy 复制光标及下面共5行
dd 剪切当前行
5dd 剪切光标及下面共5行
15. 用户及组管理
(1)添加新用户(useradd)
useradd 用户名
功能:添加新用户。
例:
[root@localhost ~]# useradd hadoop
(2)设置用户密码(passwd)
passwd 用户名
功能:设置用户密码。
例:
[root@localhost ~]# passwd hadoop
(3)判断用户是否存在(id)
id 用户名
例:
[root@localhost ~]# id hadoop
(4)切换用户(su)
su 用户名称 # 功能:切换用户,只能获得用户的执行行权限,不能获得环境变量。
su - 用户名称 # 功能:切换到用户并获得该用户的环境变量及执行权限。
例:
[root@localhost ~]# su hadoop
[root@localhost ~]# su - hadoop
(5)删除用户(userdel)
userdel 用户名 # 功能:删除用户但保存用户主目录。
userdel -r 用户名 # 功能:用户和用户主目录,都删除。
(6)查看登录用户信息(who)
whoami 功能:显示自身用户名称。
who am i 功能:显示登录用户的用户名。
who 功能:看当前有哪些用户登录到了了本台机器器上。
16. 设置Linux普通用户具有root权限(即sudo的使用)
sudo 是 linux 系统管理指令,是 允许系统管理员 让普通用户 执行一些 或者全部 的root 命令的一个 工具,如 halt,reboot,su 等等。这样 不仅减少了 root 用户的 登录 和 管理时间,同样也提高了 安全性。
(1)修改配置文件 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tom ALL=(ALL) ALL
(2)使用 tom 用户登录,操作管理员命令
本质:使用临时管理员权限
# 不切换root用户,也可以完成添加用户的功能
sudo useradd gaozi
sudo passwd gaozi
17. 查看创建了哪些用户
cat /etc/passwd
18. 用户组管理命令
(1) 新增组(groupadd)
groupadd 组名
例:
[root@localhost ~]# groupadd hadoop 说明:添加一个hadoop组。
(2)删除组(groupdel)
groupdel 组名
例:
[root@localhost ~]# groupdel hadoop 说明:删除hadoop组。
(3)修改组(groupmod)
groupmod -n 新组名 老组名
例:
[root@localhost hadoop] # groupmod -n hadoop1 hadoop 说明:修改hadoop组名称为hadoop1
(4) 查看创建了哪些组
cat /etc/group
(5)修改用户(usermod)
usermod -g 用户组 用户名
例:
[root@localhost ~]#usermod -g mygroup hadoop # 将用户hadoop加入mygroup用户组
19. 文件权限
权限分段,每一段代表不同的用户:属主权限:当前文件所属用户的权限,在Linux中每一个文件都有所属的用户属组权限:当前文件的用户所在组的其它成员的权限其它用户权限:跟文件所属用户不在同组的其它用户的权限
(1)修改文件权限(chmod)
例:
[root@localhost tmp]# touch /usr/tmp/1.txt
[root@localhost tmp]# ll
总用量 0
-rw-r--r--. 1 root root 0 7月 24 05:15 1.txt
[root@localhost tmp]# chmod 777 1.txt
[root@localhost tmp]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 7月 24 05:15 1.txt
[root@localhost tmp]# chmod u=rwx,g=rx,o=rx 1.txt
[root@localhost tmp]# ll
总用量 0
-rwxr-xr-x. 1 root root 0 7月 24 05:15 1.txt
(2)改变所有者(chown)
chown 最终用户 # 功能:改变文件或者目录的所有者
例:
[root@localhost test]# chown hadoop 1.txt
(3)改变所属组(chgrp)
chgrp 最终用户组 功能:改变文件或者目录的所属组
例:
[root@localhost test]# chgrp hadoop 1.txt
[root@localhost test]# ll
-rwxr-xr-x. 1 root hadoop 551 4月 23 13:02 test1.java
20. 系统管理与进程管理
(1)磁盘信息
(2)查看系统中所有进程(ps)
ps -aux # 功能:查看系统中所有进程
参数说明:
USER:该进程是由哪个用户产生的。PID:进程的ID号。%CPU:该进程占用 CPU资源的百分比,占用越高,进程越耗费资源。%MEM:该进程占用物理理内存的百分比,占用越高,进程越耗费资源。VSZ:该进程占用虚拟内存的大小,单位KB。RSS:该进程占用实际物理理内存的大小,单位KB。TTY:该进程是在哪个终端中运行行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台。START:该进程的启动时间。TIME:该进程占用CPU的运算时间,注意不是系统时间。COMMAND:产生此进程的命令名。
(3)查看系统健康状态(top)
top [选项]
选项:
① 第一行信息为任务队列列信息
② 第二行为进程信息
③ 第三行为CPU信息
④ 第四行为物理内存信息
⑤ 第五行为交换分区(swap)信息
(4)终止进程(kill)
kill -9 pid进程号 # 说明:选项 -9 表示强迫进程立即停止
21. 显示网络统计信息(netstat)
netstat 命令用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络 连接情况。
常用选项 :
netstat -e 本选项用于显示关于以太网的统计数据。
netstat -r 本选项可以显示关于路由表的信息,类似于后面所讲使用route print 命令时看到的信息。除了显示有效 路由外,还显示当前有效的连接。
netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求 (LISTENING )的那些连接,断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等
netstat -n 显示所有已建立的有效连接。
组合用法:
netstat -anp 查看这个系统目前网络状况
例:
[root@linux121 hadoop-2.7.2]# netstat -anp | grep 22 # 说明:查看端口22的使用情况。
22. 软件安装(rpm)
(1)rpm包 的 查询命令
# 查询已安装的rpm列表
rpm -qa | grep XXX
rpm -qa | less
# 查询软件包信息
rpm -qi 软件全包名
# 查看一个rpm包中的文件安装到那里去了?
rpm -ql 软件全包名
# 查看指定文件归属于那个软件包
rpm -qf 文件的全路径
(2)rpm包 的 卸载
(3)rpm包 的 安装
23. yum
Yum (全称为 Yellow dog Updater, Modified )本质上 也是一个 软件包管理器。 它基于 RPM 包管理,能够从指定的服务器 自动下载、 自动安装、 自动处理依赖性关系