培训目的
通过本次培训,对Linux操作系统有一个初步的了解,掌握Linux操作系统的相关基础知识及一些常用的命令,并对系统进行日常的维护。
02
课程目标
- Linux系统介绍
- Linux主要系统分区
- 文件系统管理
文件类型
文件结构
文件目录权限
- 常用的Linux命令
- VI编辑器的使用
- 用户和组的管理
- 网络管理
- 登录Linux系统的常用工具
- Linux系统性能监控工具介绍
linux系统介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、多线程、多CPU的操作系统,它能运行主要的UNIX工具软件、应用程序和网络协议,它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核,系统操作命令基本一样,内部模块稍有不同,如ORACLE Linux,内部就增加对ORACLE数据库的支持,很多操作系统层面的参数已按常规做了预先配置。
常用的Linux版本如下:
登录Linux
Linux是一个真正的多用户操作系统,允许多个用户同时登录
root是linux权限最大的用户,可以执行一切操作,包括删除操作系统本身!
Linux主要系统分区
- / 根目录
所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
- /boot 引导分区
该目录放置系统内核及驱动模块引导程序,需要独立分区
- /SWAP 交换分区
类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,操作系 统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,从而解决内存容量不足的情况。
SWAP SPACE比内存要慢
在安装时,系统会尝试将交换分区安装到磁盘外端
当有多个磁盘控制器时,在每个磁盘上都建立交换分区
尽量将交换分区安装在访问最频繁的数据区附近
[root@OEL64 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 5.3G 70% / --根分区
tmpfs 758M 88K 757M 1% /dev/shm
/dev/sda1 97M 68M 25M 74% /boot --引导分区
[root@OEL64 ~]# free -m
total used free shared buffers cached
Mem: 1514 339 1174 0 101 124
-/+ buffers/cache: 113 1400
Swap: 1535 0 1535 --交换分区
文件类型
在linux中,所有东西都被当成文件
文件权限前的第一个字母用来标识文件类型:
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:连接文件
s:socket文件
[oracle@OEL64 dev]$ ls -al
-rw-r--r--. 1 root root 883Apr 30 2012 zshrc
drwxr-xr-x. 3 root root 60Sep 22 11:16 bus
brw-rw----.1 root floppy 2, 0Sep 22 11:16 fd0
crw-rw----. 1 root video 10, 175Sep 22 11:16 agpgart
lrwxrwxrwx. 1 root root 3Sep 22 11:16 cdrom -> sr0
srw-rw-rw-. 1 root root 0Sep 22 11:16 log
文件特点
Linux将每个文件系统mount在系统目录树中使用。
文件区分大小写。
文件以”.”开头的文件为隐含文件
文件名称最多255个字符(所有字符有效,正斜杠除外)
[oracle@OEL64 ~]$ ls -al
total 152
drwx------. 26 oracle oinstall 4096 Sep 19 15:59 .
drwxr-xr-x. 6 root root 4096 Jun 27 2013 ..
-rw-r--r--. 1 oracle oinstall 685 Sep 18 17:35 .bash_profile
文件结构
- / 根目录
- /root root用户主目录
- /bin 存放最常用的操作命令
- /boot 存放Linux启动的核心文件
- /etc 存放各种配置文件
- /usr 用户程序
- /opt 应用软件安装目录,如数据库等
- /home 用户主目录
- /mnt 设备/文件系统挂载点
- /tmp 临时目录,存放临时文件
- /var 可变信息存放区
- /proc 虚拟文件系统,包含进程信息
- /sbin 系统管理员命令存放目录
- /dev 设备文件
- /lib 最基本的动态链接共享库
文件目录权限
文件或目录的权限位由10位构成,如-rwxr-xr-x。
- 第一位代表文件/目录类型: d代表目录、-代表文件、l代表链接;
- 剩下的9位分成3组,每组3位; 2-4位描述文件所有者的权限,5-7位描述与文件所有者同一用户组的权限,8-10位则是其它用户的权限。
- rwx: 每组的3位分别是: 读权限、写权限、执行权限,对应的数字分别为4,2,1; 如果是-就代表没有这个权限。
例如:
-rwxr-xr-x表示这是个普通文件,文件的所有者可以读、写、执行这个文件
,与文件
常用文件介绍
- /etc/inittab
系统初始化配置文件,init进程需要读取的文件,init进程是所有进程的起点。
- /etc/crontab
定时任务配置文件
- /etc/shadow 、/etc/passwd
用户配置文件、用户密码配置文件
- /etc/group
用户组配置文件
- /etc/sysconfig/network-s/ifcfg-eth0
网络配置文件
- /var/log/messages
系统错误信息
- /etc/services
服务与端口信息
常用的linux命令
- 绝对路径、相对路径
- 绝对路径
以/开头的完整的路径
[oracle@OEL64 oracle]$ cd /u01/app/oracle
[oracle@OEL64 oracle]$ pwd
/u01/app/oracle
- 相对路径
不以/开头,只相对于当前工作目录
[oracle@OEL64 oracle]$ cd /u01/app
[oracle@OEL64 app]$ cd ./oracle
[oracle@OEL64 oracle]$ pwd
/u01/app/oracle
- .. 表示当前目录的上一级目录,即父目录
[root@OEL64 tmp]# cd /u01/app/oracle
[root@OEL64 oracle]# pwd
/u01/app/oracle
[root@OEL64 oracle]# cd ..
[root@OEL64 app]# pwd
/u01/app
- . 表示当前目录
[root@OEL64 app]# pwd
/u01/app
[root@OEL64 app]# cd ./oracle
[root@OEL64 oracle]# pwd
/u01/app/oracle
- pwd 显示当前路径
[oracle@OEL64 oracle]$ cd /u01/app/oracle
[oracle@OEL64 oracle]$ pwd
/u01/app/oracle
- cd 改变当前目录
[oracle@OEL64 oracle]$ pwd
/u01/app/oracle
[oracle@OEL64 oracle]$ cd /etc
[oracle@OEL64 app]$ pwd
/etc
- ls 查看文件或目录
[root@OEL64 u01]# ls -al
total 28
drwxrwxr-x. 4 oracle oinstall 4096 Sep 19 10:44 .
dr-xr-xr-x. 25 root root 4096 Sep 22 11:16 ..
drwxrwxr-x. 4 oracle oinstall 4096 Sep 19 10:45 app
drwxrwxr-x. 2 oracle oinstall 16384 Sep 19 09:33 lost+found
- cp 复制文件
[root@OEL64 oracle]# cp /home/oracle/a.txt /tmp/.
[root@OEL64 oracle]# cd /tmp
[root@OEL64 tmp]# ls -al a.txt
-rw-r--r--. 1 root root 0 Sep 22 16:27 a.txt
- mv 移动或重命名文件
[root@OEL64 tmp]# mv /tmp/b.txt /home/oracle/.
[root@OEL64 tmp]# cd /home/oracle
[root@OEL64 oracle]# ls -al b.txt
-rw-r--r--. 1 root root 0 Sep 22 16:30 b.txt
- touch 创建空文件
[root@OEL64 hanxi]# cd /tmp
[root@OEL64 tmp]# touch c.txt
[root@OEL64 tmp]# ls -al c.txt
-rw-r--r--. 1 root root 0 Sep 22 16:36 c.txt
- file 检查文件类型
[root@OEL64 tmp]# file c.txt
c.txt: ASCII text
- rm 删除文件和目录
[root@OEL64 bin]# cd /tmp
[root@OEL64 tmp]# rm c.txt
rm: remove regular file `c.txt'? Y
注意:此操作慎重使用,特别对于rm –rf,文件和目录一并删除的操作!!
- mkdir 创建新目录
[root@OEL64 tmp]# mkdir test
[root@OEL64 tmp]# ls -al
total 108
drwxrwxrwt. 26 root root 4096 Sep 22 16:45 .
dr-xr-xr-x. 25 root root 4096 Sep 22 11:16 ..
drwxr-xr-x. 2 root root 4096 Sep 22 16:45 test
- rmdir 删除空目录
[root@OEL64 tmp]# cd /tmp
[root@OEL64 tmp]# rmdir test
[root@OEL64 tmp]# ls -al test
ls: cannot access test: No such file or directory
- cat 显示文件内容
[root@OEL64 tmp]# cat /tmp/alert.log
- more 逐屏显示文件内容
[root@OEL64 tmp]# more /tmp/alert.log
- less 逐行显示文件内容
[root@OEL64 tmp]# less /tmp/alert.log
- date 显示当前时间
[root@OEL64 tmp]# date
Fri Sep 22 17:03:47 CST 2017
- cal 显示当前日历
[root@OEL64 tmp]# cal
September 2017
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
- head 显示文件开头部分内容
[root@OEL64 tmp]# head -5 alert.log
Tue Sep 19 13:04:31 2017
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Shared memory segment for instance monitoring created
- tail 显示文件结尾部分内容
[root@OEL64 tmp]# tail -5 alert.log
Completed: ALTER DATABASE OPEN
Fri Sep 22 16:55:43 2017
Starting background process CJQ0
Fri Sep 22 16:55:43 2017
CJQ0 started with pid=22, OS id=5644
- find 查找文件
[root@OEL64 /]# find /tmp -name alert.log
/tmp/alert.log
- wc 作统计
[root@OEL64 /]# cd /tmp
[root@OEL64 tmp]# ls -al *.txt
-rw-r--r--. 1 root root 0 Sep 22 16:27 a.txt
[root@OEL64 tmp]# ls -al *.txt|wc -l
1
- chmod 文件或目录权限修改
[root@OEL64 tmp]# ls -l a1.txt
-rw-r--r--. 1 root root 0 Sep 28 16:45 a1.txt
[root@OEL64 tmp]# chmod +x a1.txt
[root@OEL64 tmp]# ls -l a1.txt
-rwxr-xr-x. 1 root root 0 Sep 28 16:45 a1.txt
- clear 清屏
[root@OEL64 tmp]# clear
- chown 改变文件或目录的所有者和组
[root@OEL64 tmp]# ls -l a.txt
-rw-r--r--. 1 root root 0 Sep 22 16:27 a.txt
[root@OEL64 tmp]# chown oracle:oinstall a.txt
[root@OEL64 tmp]# ls -l a.txt
-rw-r--r--. 1 oracle oinstall 0 Sep 22 16:27 a.txt
- diff 比较文件内容
[root@OEL64 hanxi]# diff a.txt b.txt
2d1
< bbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- grep 过滤文件关键字
[root@OEL64 hanxi]# ps -ef |grep ora
oracle 5543 1 0 16:55 ? 00:00:00 ora_dbrm_orcl
oracle 5545 1 0 16:55 ? 00:00:00 ora_dia0_orcl
oracle 5547 1 0 16:55 ? 00:00:04 ora_mman_orcl
oracle 5549 1 0 16:55 ? 00:00:01 ora_dbw0_orcl
- mount 加载一个硬件设备
[root@OEL64 dev]# mount /dev/cdrom
[root@OEL64 dev]# cd /mnt/cdrom
- su 在不退出登陆的情况下,切换到另外用户
[root@OEL64 dev]# su - oracle
[oracle@OEL64 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
- whoami 显示你自己登陆的用户名
[root@OEL64 tmp]# whoami
root
- whereis/which 查询命令所在目录以及帮助文档所在目录
[root@OEL64 dev]# whereis gzip
gzip: /bin/gzip /usr/bin/gzip /usr/share/man/man1/gzip.1.gz
[root@OEL64 dev]# which gzip
/bin/gzip
- id 显示用户的UID和GID
[root@OEL64 dev]# su - oracle
[oracle@OEL64 ~]$ id
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
- kill 可以杀死某个正在运行的进程
[root@OEL64 dev]# kill -9 30247
- passwd 设置口令
[root@OEL64 dev]# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
- history 查询用户的历史命令
[root@OEL64 dev]# history
50 cd /mnt
51 ls
!! 重复执行最近一次的命令
- gzip/gunzip linux标准的压缩/解压缩工具
[root@OEL64 tmp]# gzip alert.log
[root@OEL64 tmp]# ls -ltr
total 76
-rw-r-----. 1 root root 5997 Sep 22 16:57 alert.log.gz
[root@OEL64 tmp]# gunzip alert.log.gz
[root@OEL64 tmp]# ls -al
total 144
drwxrwxrwt. 25 root root 4096 Sep 22 17:44 .
dr-xr-xr-x. 25 root root 4096 Sep 22 11:16 ..
-rw-r-----. 1 root root 37568 Sep 22 16:57 alert.log
- bzip2/bunzip2 更新的标准压缩/解压缩工具,压缩比更高
[root@OEL64 tmp]# bzip2 alert.log
[root@OEL64 tmp]# ls -al
total 112
drwxrwxrwt. 25 root root 4096 Sep 22 17:45 .
dr-xr-xr-x. 25 root root 4096 Sep 22 11:16 ..
-rw-r-----. 1 root root 6594 Sep 22 16:57 alert.log.bz2
[root@OEL64 tmp]# bunzip2 alert.log.bz2
[root@OEL64 tmp]# ls -al
total 144
drwxrwxrwt. 25 root root 4096 Sep 22 17:46 .
dr-xr-xr-x. 25 root root 4096 Sep 22 11:16 ..
-rw-r-----. 1 root root 37568 Sep 22 16:57 alert.log
- *通配符 将与零个或多个字符匹配
[root@OEL64 tmp]# pwd
/tmp
[root@OEL64 tmp]# ls -al *log*
-rw-r-----. 1 root root 37568 Sep 22 16:57 alert.log
-rw-r--r--. 1 root root 40960 Sep 28 16:09 alert.log.tar
- ?通配符 将与任何单个字符匹配
[root@OEL64 tmp]# pwd
/tmp
[root@OEL64 tmp]# ls a.t?t
a.txt
- []通配符 将与[]中任一字符匹配,类似?
[root@OEL64 tmp]# ls -l a[1-2].txt
-rw-r--r--. 1 root root 0 Sep 28 16:45 a1.txt
-rw-r--r--. 1 root root 0 Sep 28 16:45 a2.txt
- exit 退出当前shell
[root@OEL64 log]# su - oracle
[oracle@OEL64 ~]$ exit
logout
[root@OEL64 log]#
- export 设置、修改和删除环境变量
[[oracle@OEL64 ~]$ export ORACLE_BASE=/u01/app/oracle
[oracle@OEL64 ~]$ echo $ORACLE_BASE
/u01/app/oracle
- ps 显示当前系统运行进程的状态
[root@OEL64 log]# ps -ef |grep ora
oracle 5343 1 0 14:36 ? 00:00:00 ora_pmon_orcl
oracle 5345 1 0 14:36 ? 00:00:00 ora_psp0_orcl
oracle 5348 1 3 14:36 ? 00:00:01 ora_vktm_orcl
oracle 5352 1 0 14:36 ? 00:00:00 ora_gen0_orcl
oracle 5354 1 0 14:36 ? 00:00:00 ora_diag_orcl
- rpm 查看、安装或删除软件包
[root@OEL64 log]# rpm -qa|grep mysql
mysql-server-5.1.66-2.el6_3.i686
mysql-connector-odbc-5.1.5r1144-7.el6.i686
qt-mysql-4.6.2-26.el6_4.i686
mysql-connector-java-5.1.17-6.el6.noarch
- fdisk 硬盘分区命令
[root@OEL64 log]# fdisk -l
255 heads, 63 sectors/track, 3916 cylinders
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000786a
Device Boot Start End Blocks Id System
Partition 1 does not end on cylinder boundary.
Partition 2 does not end on cylinder boundary.
- top 实时显示当前系统运行状态
top - 14:42:55 up 3:56, 1 user, load average: 0.58, 0.60, 0.36
Tasks: 144 total, 1 running, 142 sleeping, 1 stopped, 0 zombie
Cpu0 : 0.3%us, 0.7%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5348 oracle -2 0 774m 13m 11m S 1.0 0.9 0:04.66 oracle
5485 root 20 0 0 0 0 S 0.3 0.0 0:00.07 kworker/0:1 5516 root 20 0 2752 1040 780 R 0.3 0.1 0:00.08 top 1 root 20 0 2948 1440 1224 S 0.0 0.1 0:01.20 init
- shutdown 关机命令
shutdown -r now 关机重启
shutdown -h now 关机并关闭电源
- init Linux下的进程初始化工具
init 0 关机
init 1 重启
- man 在线帮助命令
[root@OEL64 tmp]# man ls
- --help 在线帮助命令
[root@OEL64 tmp]# ls --help
Usage: ls [OPTION]... [FILE]...
。。。
- Info 在线帮助命令
[root@OEL64 tmp]# info ls
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directo\
ry listing
Vi编辑器的使用
- 作为一个编辑器,vi被广泛地运用在各种Unix操作系统上
- Vi是Linux中的标准文本编辑器
- 在Red Hat Linux上,一般采用的是vim(vi improved)
- Vi提供三种模式
- 命令模式
浏览、删除、剪贴、查找等
可以用各种命令进入插入模式
- 插入模式
输入新文档
用<ESC>退出插入模式回命令模式
- EX模式
- 在命令模式下:
:w 保存当前文件
:q 如果未对文件做改动则退出
:wq 保存当前文件并退出
:q! 不保存强制退出
:e 文件名 打开另一文件并开始编辑
用户和组的管理
- groupadd 增加用户组
groupadd –g 540 dba
- groupdel 删除用户组
groupdel dba
- useradd 增加用户
useradd -u 541 -g dba -s /bin/bash oracle
默认创建的用户将会在/home下为该用户创建一个目录,为用户的home目录
- userdel 删除用户
userdel oracle
网络管理
- ifconfig 查看网络配置
[root@OEL64 log]# ifconfig –a
eth4 Link encap:Ethernet HWaddr 00:0C:29:5B:AC:23
inet addr:172.21.110.51 Bcast:172.21.110.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe5b:ac23/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19405 errors:0 dropped:211 overruns:0 frame:0
TX packets:3435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
Interrupt:19 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:452 (452.0 b) TX bytes:452 (452.0 b)
- 查看网卡配置文件
[root@OEL64 log]# cat /etc/sysconfig/network-s/ifcfg-eth4
DEVICE=eth4
IPADDR=172.21.110.51
NETMASK=255.255.255.0
GATEWAY=172.21.110.1
ONBOOT=yes
NAME=eth4
HWADDR=00:0C:29:5B:AC:23
- netstat 查看系统中的服务与对应的端口
[root@OEL64 log]# netstat –antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2313/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2161/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2561/master
tcp 0 0 0.0.0.0:30368 0.0.0.0:* LISTEN 2040/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1962/rpcbind
tcp 0 0 172.21.110.51:22 172.21.110.50:63025 ESTABLISHED 2880/sshd
tcp 0 0 :::22 :::* LISTEN 2313/sshd
tcp 0 0 ::1:631 :::* LISTEN 2161/cupsd
tcp 0 0 ::1:25 :::* LISTEN 2561/master
tcp 0 0 :::13993 :::* LISTEN 2040/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1962/rpcbind
- ping 查看主机之间的网络是否互通
[root@OEL64 log]# ping 172.21.110.50
PING 172.21.110.50 (172.21.110.50) 56(84) bytes of data.
64 bytes from 172.21.110.50: icmp_seq=1 ttl=128 time=0.322 ms
64 bytes from 172.21.110.50: icmp_seq=2 ttl=128 time=0.335 ms
64 bytes from 172.21.110.50: icmp_seq=3 ttl=128 time=0.321 ms
64 bytes from 172.21.110.50: icmp_seq=4 ttl=128 time=0.333 ms
64 bytes from 172.21.110.50: icmp_seq=5 ttl=128 time=0.334 ms
64 bytes from 172.21.110.50: icmp_seq=6 ttl=128 time=0.332 ms
64 bytes from 172.21.110.50: icmp_seq=7 ttl=128 time=0.298 ms
64 bytes from 172.21.110.50: icmp_seq=8 ttl=128 time=0.343 ms
64 bytes from 172.21.110.50: icmp_seq=9 ttl=128 time=0.317 ms
登录Linux系统的常用工具
- SecureCRT工具
- Xshell工具
- Putty工具
- winSCP
Linux系统性能监控工具介绍
- 本文固定链接: https://maimengkong.com/morejc/1211.html
- 转载请注明: : 萌小白 2022年10月2日 于 卖萌控的博客 发表
- 百度已收录