1、Linux基础知识(详细)-PPT课件课程目的n通过本次培训,对Linux操作系统有一个初步的了解,掌握Linux操作系统的相关基础知识及一些常用的命令,并对系统进行日常的维护。课程目标nLinux系统介绍nLinux主要系统分区n文件系统管理n文件类型n文件结构n文件目录权限n常用的Linux命令nVI编辑器的使用n用户和组的管理n网络管理n登录Linux系统的常用工具nLinux系统性能监控工具介绍Linux系统介绍nLinux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、多线程、多CPU的操作系统,它能运行主要的UNIX工具软件、应用程序和网络协议,它支持32位和6
2、4位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。nLinux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux系统介绍nLinux存在着许多不同的Linux版本,但它们都使用了Linux内核,系统操作命令基本一样,内部模块稍有不同,如ORACLE Linux,内部就增加对ORACLE数据库的支持,很多操作系统层面的参数已按常规做了预
3、先配置。n常用的Linux版本如下:Linux系统介绍n登录LinuxLinux是一个真正的多用户操作系统,允许多个用户同时登录root是linux权限最大的用户,可以执行一切操作,包括删除操作系统本身!Linux主要系统分区/bin/sbin/usr/var/etc/lib/tmpbinlocalsrcrc.dnamedhttpdrc5.drc3.dinit.dbinLinux主要系统分区n/根目录 所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。n/boot 引导分区 该目录放置系统内核及驱动模块引导程序,需要独立分区n/SWAP 交换分区 类似于W
4、indows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,操作系 统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,从而解决内存容量不足的情况。SWAP SPACE比内存要慢在安装时,系统会尝试将交换分区安装到磁盘外端当有多个磁盘控制器时,在每个磁盘上都建立交换分区 尽量将交换分区安装在访问最频繁的数据区附近Linux主要系统分区rootOEL64#df-hFilesystem Size Used Avail Use%Mounted on/dev/sda3 19G 12G 5.3G 70%/-根分区tmpfs 758M 88K 757M 1%/dev
5、/shm/dev/sda1 97M 68M 25M 74%/boot -引导分区 rootOEL64#free-m total used free shared buffers cachedMem:1514 339 1174 0 101 124-/+buffers/cache:113 1400Swap:1535 0 1535 -交换分区文件类型n在linux中,所有东西都被当成文件n文件权限前的第一个字母用来标识文件类型:-:一般文件 d:目录文件 b:块设备文件 c:字符设备文件 l:连接文件 s:socket文件文件类型oracleOEL64 dev$ls-al-rw-r-r-.1 roo
6、t root 883Apr 30 2012 zshrcdrwxr-xr-x.3 root root 60Sep 22 11:16 busbrw-rw-.1 root floppy 2,0Sep 22 11:16 fd0crw-rw-.1 root video 10,175Sep 22 11:16 agpgartlrwxrwxrwx.1 root root 3Sep 22 11:16 cdrom-sr0srw-rw-rw-.1 root root 0Sep 22 11:16 log文件特点nLinux将每个文件系统mount在系统目录树中使用。n文件区分大小写。n文件以”.”开头的文件为隐含文件
7、n文件名称最多255个字符(所有字符有效,正斜杠除外)oracleOEL64$ls-altotal 152drwx-.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文件结构n/根目录n/root root用户主目录n/bin 存放最常用的操作命令 n/boot 存放Linux启动的核心文件n/etc 存放各种配置文件n/usr 用户程序n/opt 应用软件安装目录,如数据库等n
8、/home 用户主目录n/mnt 设备/文件系统挂载点n/tmp 临时目录,存放临时文件n/var 可变信息存放区n/proc 虚拟文件系统,包含进程信息n/sbin 系统管理员命令存放目录n/dev 设备文件n/lib 最基本的动态链接共享库文件目录权限n文件或目录的权限位由10位构成,如-rwxr-xr-x。第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;剩下的9位分成3组,每组3位;2-4位描述文件所有者的权限,5-7位描述与文件所有者同一用户组的权限,8-10位则是其它用户的权限。rwx:每组的3位分别是:读权限、写权限、执行权限,对应的数字分别为4,2,1;如果是-就代
9、表没有这个权限。例如:-rwxr-xr-x表示这是个普通文件,文件的所有者可以读、写、执行这个文件,与文件所有者同组的用户以及其他用户都可以读、执行这个文件,但没有写的权限。文件目录权限 常用文件介绍 n/etc/inittab 系统初始化配置文件,init进程需要读取的文件,init进程是所有进程的起点。n/etc/crontab定时任务配置文件n/etc/shadow、/etc/passwd 用户配置文件、用户密码配置文件n/etc/group用户组配置文件n/etc/sysconfig/network-scripts/ifcfg-eth0网络配置文件n/var/log/messages系
10、统错误信息n/etc/services服务与端口信息常用的Linux命令n绝对路径、相对路径绝对路径 以/开头的完整的路径 oracleOEL64 oracle$cd/u01/app/oracle oracleOEL64 oracle$pwd /u01/app/oracle 相对路径 不以/开头,只相对于当前工作目录 oracleOEL64 oracle$cd/u01/app oracleOEL64 app$cd./oracle oracleOEL64 oracle$pwd /u01/app/oracle常用的Linux命令n.表示当前目录的上一级目录,即父目录rootOEL64 tmp#cd
11、/u01/app/oraclerootOEL64 oracle#pwd/u01/app/oraclerootOEL64 oracle#cd.rootOEL64 app#pwd/u01/app n.表示当前目录 rootOEL64 app#pwd/u01/approotOEL64 app#cd./oraclerootOEL64 oracle#pwd/u01/app/oracle常用的Linux命令npwd 显示当前路径oracleOEL64 oracle$cd/u01/app/oracle oracleOEL64 oracle$pwd/u01/app/oracle ncd 改变当前目录 orac
12、leOEL64 oracle$pwd/u01/app/oracleoracleOEL64 oracle$cd/etcoracleOEL64 app$pwd/etc常用的Linux命令nls 查看文件或目录rootOEL64 u01#ls-altotal 28drwxrwxr-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 appdrwxrwxr-x.2 oracle oinstall 163
13、84 Sep 19 09:33 lost+found ncp 复制文件 rootOEL64 oracle#cp/home/oracle/a.txt/tmp/.rootOEL64 oracle#cd/tmprootOEL64 tmp#ls-al a.txt-rw-r-r-.1 root root 0 Sep 22 16:27 a.txt 常用的Linux命令nmv 移动或重命名文件rootOEL64 tmp#mv/tmp/b.txt/home/oracle/.rootOEL64 tmp#cd/home/oraclerootOEL64 oracle#ls-al b.txt-rw-r-r-.1 ro
14、ot root 0 Sep 22 16:30 b.txtntouch 创建空文件 rootOEL64 hanxi#cd/tmprootOEL64 tmp#touch c.txtrootOEL64 tmp#ls-al c.txt-rw-r-r-.1 root root 0 Sep 22 16:36 c.txt n file 检查文件类型 rootOEL64 tmp#file c.txtc.txt:ASCII text常用的Linux命令nrm 删除文件和目录rootOEL64 bin#cd/tmprootOEL64 tmp#rm c.txtrm:remove regular file c.txt
15、?Y注意:此操作慎重使用,特别对于rm rf,文件和目录一并删除的操作!nmkdir 创建新目录 rootOEL64 tmp#mkdir testrootOEL64 tmp#ls-altotal 108drwxrwxrwt.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 n rmdir 删除空目录rootOEL64 tmp#cd/tmprootOEL64 tmp#rmdir testrootOEL64 tm
16、p#ls-al testls:cannot access test:No such file or directory常用的Linux命令ncat 显示文件内容rootOEL64 tmp#cat/tmp/alert.lognmore 逐屏显示文件内容 rootOEL64 tmp#more/tmp/alert.lognless 逐行显示文件内容 rootOEL64 tmp#less/tmp/alert.log常用的Linux命令ndate 显示当前时间rootOEL64 tmp#dateFri Sep 22 17:03:47 CST 2017ncal 显示当前日历 rootOEL64 tmp#c
17、al 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常用的Linux命令nhead 显示文件开头部分内容rootOEL64 tmp#head-5 alert.logTue Sep 19 13:04:31 2017Starting ORACLE instance(normal)LICENSE_MAX_SESSION=0LICENSE_SESSIONS_WARNING=0Shared memory segment
18、for instance monitoring createdntail 显示文件结尾部分内容rootOEL64 tmp#tail-5 alert.logCompleted:ALTER DATABASE OPENFri Sep 22 16:55:43 2017Starting background process CJQ0Fri Sep 22 16:55:43 2017CJQ0 started with pid=22,OS id=5644常用的Linux命令nfind 查找文件rootOEL64/#find/tmp-name alert.log/tmp/alert.lognwc 作统计root
19、OEL64/#cd/tmprootOEL64 tmp#ls-al*.txt-rw-r-r-.1 root root 0 Sep 22 16:27 a.txtrootOEL64 tmp#ls-al*.txt|wc-l1常用的Linux命令nchmod 文件或目录权限修改rootOEL64 tmp#ls-l a1.txt-rw-r-r-.1 root root 0 Sep 28 16:45 a1.txtrootOEL64 tmp#chmod+x a1.txtrootOEL64 tmp#ls-l a1.txt-rwxr-xr-x.1 root root 0 Sep 28 16:45 a1.txtnc
20、lear 清屏rootOEL64 tmp#clearnchown 改变文件或目录的所有者和组rootOEL64 tmp#ls-l a.txt-rw-r-r-.1 root root 0 Sep 22 16:27 a.txtrootOEL64 tmp#chown oracle:oinstall a.txtrootOEL64 tmp#ls-l a.txt-rw-r-r-.1 oracle oinstall 0 Sep 22 16:27 a.txt常用的Linux命令ndiff 比较文件内容rootOEL64 hanxi#diff a.txt b.txt2d1 bbbbbbbbbbbbbbbbbbb
21、bbbbbbbbbbngrep 过滤文件关键字rootOEL64 hanxi#ps-ef|grep oraoracle 5543 1 0 16:55?00:00:00 ora_dbrm_orcloracle 5545 1 0 16:55?00:00:00 ora_dia0_orcloracle 5547 1 0 16:55?00:00:04 ora_mman_orcloracle 5549 1 0 16:55?00:00:01 ora_dbw0_orcl常用的Linux命令nmount 加载一个硬件设备rootOEL64 dev#mount/dev/cdromrootOEL64 dev#cd/
22、mnt/cdromnsu 在不退出登陆的情况下,切换到另外用户rootOEL64 dev#su-oracleoracleOEL64$echo$ORACLE_HOME/u01/app/oracle/product/11.2.0/db_1常用的Linux命令nwhoami 显示你自己登陆的用户名rootOEL64 tmp#whoamirootnwhereis/which 查询命令所在目录以及帮助文档所在目录rootOEL64 dev#whereis gzipgzip:/bin/gzip/usr/bin/gzip/usr/share/man/man1/gzip.1.gzrootOEL64 dev#w
23、hich gzip/bin/gzipnid 显示用户的UID和GIDrootOEL64 dev#su -oracleoracleOEL64$iduid=54321(oracle)gid=54321(oinstall)groups=54321(oinstall),54322(dba)常用的Linux命令nkill 可以杀死某个正在运行的进程rootOEL64 dev#kill-9 30247npasswd 设置口令rootOEL64 dev#passwd oracleChanging password for user oracle.New password:Retype new passwor
24、d:passwd:all authentication tokens updated successfully.nhistory 查询用户的历史命令rootOEL64 dev#history 50 cd/mnt 51 ls 52 tar-zxvf VMwareTools-9.2.3-1031360.tar.gzn!重复执行最近一次的命令常用的Linux命令ngzip/gunzip linux标准的压缩/解压缩工具rootOEL64 tmp#gzip alert.logrootOEL64 tmp#ls-ltrtotal 76-rw-r-.1 root root 5997 Sep 22 16:57
25、 alert.log.gzrootOEL64 tmp#gunzip alert.log.gzrootOEL64 tmp#ls-altotal 144drwxrwxrwt.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常用的Linux命令nbzip2/bunzip2 更新的标准压缩/解压缩工具,压缩比更高rootOEL64 tmp#bzip2 alert.logrootOEL64 tmp#ls-altot
26、al 112drwxrwxrwt.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.bz2rootOEL64 tmp#bunzip2 alert.log.bz2rootOEL64 tmp#ls-altotal 144drwxrwxrwt.25 root root 4096 Sep 22 17:46.dr-xr-xr-x.25 root root 4096 Sep 22 11:16.-rw-r-.1 root
27、 root 37568 Sep 22 16:57 alert.log常用的Linux命令n*通配符 将与零个或多个字符匹配 rootOEL64 tmp#pwd /tmp rootOEL64 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.tarn?通配符 将与任何单个字符匹配 rootOEL64 tmp#pwd /tmp rootOEL64 tmp#ls a.t?t a.txtn通配符 将与中任一字符匹配,类似?root
28、OEL64 tmp#ls-l a1-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 常用的Linux命令nexit 退出当前shellrootOEL64 log#su-oracleoracleOEL64$exitlogoutrootOEL64 log#nexport 设置、修改和删除环境变量oracleOEL64$export ORACLE_BASE=/u01/app/oracleoracleOEL64$echo$ORACLE_BASE/u01/app/ora
29、cle常用的Linux命令nps 显示当前系统运行进程的状态rootOEL64 log#ps-ef|grep oraoracle 5343 1 0 14:36?00:00:00 ora_pmon_orcloracle 5345 1 0 14:36?00:00:00 ora_psp0_orcloracle 5348 1 3 14:36?00:00:01 ora_vktm_orcloracle 5352 1 0 14:36?00:00:00 ora_gen0_orcloracle 5354 1 0 14:36?00:00:00 ora_diag_orclnrpm 查看、安装或删除软件包rootOE
30、L64 log#rpm-qa|grep mysqlmysql-server-5.1.66-2.el6_3.i686mysql-connector-odbc-5.1.5r1144-7.el6.i686qt-mysql-4.6.2-26.el6_4.i686mysql-connector-java-5.1.17-6.el6.noarch常用的Linux命令nfdisk 硬盘分区命令 rootOEL64 log#fdisk-lDisk/dev/sda:32.2 GB,32212254720 bytes255 heads,63 sectors/track,3916 cylindersUnits=cyl
31、inders of 16065*512=8225280 bytesSector size(logical/physical):512 bytes/512 bytesI/O size(minimum/optimal):512 bytes/512 bytesDisk identifier:0 x0000786aDevice Boot Start End Blocks Id System/dev/sda1 *1 13 102400 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 13 209 1572864 82 Lin
32、ux swap/SolarisPartition 2 does not end on cylinder boundary./dev/sda3 209 2611 19295232 83 Linux/dev/sda4 2611 3916 10483750 83 Linux常用的Linux命令ntop 实时显示当前系统运行状态 top-14:42:55 up 3:56,1 user,load average:0.58,0.60,0.36Tasks:144 total,1 running,142 sleeping,1 stopped,0 zombieCpu0 :0.3%us,0.7%sy,0.0%ni
33、,99.0%id,0.0%wa,0.0%hi,0.0%si,0.0%stMem:1550364k total,1119620k used,430744k free,78572k buffersSwap:1572860k total,0k used,1572860k free,821616k cached 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 kw
34、orker/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 常用的Linux命令nshutdown 关机命令shutdown-r now 关机重启shutdown-h now 关机并关闭电源ninit Linux下的进程初始化工具init 0 关机init 1 重启常用的Linux命令nman 在线帮助命令rootOEL64 tmp#man lsn-help 在线帮助命令rootOEL64 tmp#ls-helpUsage:ls OP
35、TION.FILE.。nInfo 在线帮助命令 rootOEL64 tmp#info ls File:coreutils.info,Node:ls invocation,Next:dir invocation,Up:Directo ry listingVi编辑器的使用n作为一个编辑器,vi被广泛地运用在各种Unix操作系统上nVi是Linux中的标准文本编辑器n在Red Hat Linux上,一般采用的是vim(vi improved)Vi编辑器的使用nVi提供三种模式n命令模式 浏览、删除、剪贴、查找等 可以用各种命令进入插入模式n插入模式 输入新文档 用退出插入模式回命令模式nEX模式Vi
36、编辑器的使用n在命令模式下::w 保存当前文件 :q 如果未对文件做改动则退出:wq 保存当前文件并退出:q!不保存强制退出:e 文件名 打开另一文件并开始编辑用户和组的管理ngroupadd 增加用户组 groupadd g 540 dbangroupdel 删除用户组 groupdel dbanuseradd 增加用户 useradd -u 541-g dba -s/bin/bash oracle默认创建的用户将会在/home下为该用户创建一个目录,为用户的home目录 nuserdel 删除用户 userdel oracle网络管理nifconfig 查看网络配置 rootOEL64 l
37、og#ifconfig aeth4 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 er
38、rors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4387356(4.1 MiB)TX bytes:1095534(1.0 MiB)Interrupt:19 Base address:0 x2024 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 error
39、s: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)网络管理n查看网卡配置文件 rootOEL64 log#cat/etc/sysconfig/network-scripts/ifcfg-eth4DEVICE=eth4IPADDR=172.21.110.51NETMASK=255.255.255.0GATEWAY=172.21.110.1ON
40、BOOT=yesNAME=eth4HWADDR=00:0C:29:5B:AC:23网络管理nnetstat 查看系统中的服务与对应的端口 rootOEL64 log#netstat antpActive 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:*LIST
41、EN 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
42、0 0:1:25 :*LISTEN 2561/master tcp 0 0:13993 :*LISTEN 2040/rpc.statd tcp 0 0:111 :*LISTEN 1962/rpcbind 网络管理nping 查看主机之间的网络是否互通 rootOEL64 log#ping 172.21.110.50PING 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 ms64 bytes from 172.21.110.50:i
43、cmp_seq=2 ttl=128 time=0.335 ms64 bytes from 172.21.110.50:icmp_seq=3 ttl=128 time=0.321 ms64 bytes from 172.21.110.50:icmp_seq=4 ttl=128 time=0.333 ms64 bytes from 172.21.110.50:icmp_seq=5 ttl=128 time=0.334 ms64 bytes from 172.21.110.50:icmp_seq=6 ttl=128 time=0.332 ms64 bytes from 172.21.110.50:icmp_seq=7 ttl=128 time=0.298 ms64 bytes from 172.21.110.50:icmp_seq=8 ttl=128 time=0.343 ms64 bytes from 172.21.110.50:icmp_seq=9 ttl=128 time=0.317 ms 登录Linux系统的常用工具nSecureCRT工具nXshell工具nPutty工具nwinSCP Linux系统性能监控工具介绍nZabbix工具nNagios工具 ncacti工具 谢谢!