1、12022-5-23Inspur groupLinux基础培训22022-5-23.目录目录 Linux介绍 Linux系统安装 linux常用命令 linux常用操作3linuxlinux的历史的历史早在 Linux 出现之前的二十年 ( 大约在 1970 年代 ), 就有一个相当稳定而成熟的作业系统存在了!那就是 Linux 的老大哥 Unix 1969 年以前 一个没有完成的梦想 Bell, MIT 与 GE 的 Multics系统 1969 年 Ken Thompson 的小型 file server system 1973 年 Unix 的正式诞生,Ritchie 等人以 C 语言写
2、出第一个正式 Unix 核心 1977 年 重要的 Unix 分支 BSD 的诞生 1979 年 一个措手不及的版权宣告! 1984 年之一 x86 架构的 Minix 诞生 1984 年之二 GNU 与 FSF 计画的成立 1988 年 图形介面 XFree86 计画 1991 年 芬兰大学生 Linus Torvalds 的一则简讯 :1991 年,芬兰的赫尔辛基大学的 Linus Torvalds 在 BBS 上面贴了一则消息, 宣称他以 bash, gcc 等工具写了一个小小的核心程式,这个核心程式可以在 Intel 的 386 机器上面运作,让很多人很感兴趣!从此开始了 Linux
3、不平凡的路程! 4认识认识LinuxLinuxL inux和windows一样,就是一个操作系统,这个操作系统里头含有最主要的 kernel 以及 kernel 提供的工具,他提供了一个完整的作业系统当中最底层的硬体控制与资源管理的完整架构, 这个架构是沿袭 Unix 良好的传统来的,所以相当的稳定而功能强大! 5LinuxLinux的发展史的发展史1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右1994年3月,Linux1.0发布,代码量17万行,Linux的代码中也充实了对不同硬件系统的支持,大大的
4、提高了跨平台移植性1995年,此时的Linux 可在Intel、Digital 以及Sun SPARC处理器上运行了,用户量也超过了50万1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段1997年夏,大片泰坦尼克号在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统1998年是Linux迅猛发展的一年。小红帽高级研发实验室成立。4月Mozilla 代码发布,成为linux图形界面上的王牌浏览器。Redhat 宣布商业支持计划,网络了多名优秀技术人员开始商业运作, Oracle 和In
5、formix 两家数据库厂商明确表示不支持Linux,这个决定给予了Mysql数据库充分的发展机会。同年10月,Intel和Netscape宣布小额投资红帽软件,这被业界视作Linux获得商业认同的信号。1999年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。三月,第一届 LinuxWorld 大会的召开,象征Linux时代的来临。7月IBM启动对Linux的支持服务和发布了Linux DB2,从此结束了Linux得不到支持服务的历史,这可以视作Linux真正成为服务器操作系统一员的重要里程碑2000年初始,Sun公司在Linux的压力下宣布Solari
6、s8降低售价。事实上Linux对Sun造成的冲击远比对 Windows来得更大。 2月Red Hat发布了嵌入式Linux的开发环境,Linux在嵌入式行业的潜力逐渐被发掘出来。在4月,拓林思公司宣布了推出中国首家Linux工程师认证考试,从此使Linux操作系统管理员的水准可以得到权威机构的资格认证,此举大大增加了国内Linux爱好者学习的热情2001年,Oracle宣布在OTN上的所有会员都可免费索取Oracle 9i的Linux版本,从几年前的绝不涉足Linux系统到如今的主动献媚,足以体现Linux的发展迅猛2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux
7、成功进军手机领域2004年的第1月,本着天下事分久必合,合久必分之天理,SuSE嫁到了Novell,SCO继续顶着骂名四处强行化缘 , Asianux, MandrakeSoft也在五年中首次宣布季度赢利6十大十大linuxlinux发行版本发行版本将 Linux 发行版在 Linux 用户群体中的广泛使用度作为衡量的标准,汇集成十大 Linux 发行版。外加上 FreeBSD,总计 11 套系统 十大 Linux 发行版名单如下:RedhatCentOS,fedoraDebianubuntu,linux mintopenSUSE Slackware Linux Gentoo LinuxArc
8、h linux7国内流行版本介绍国内流行版本介绍发行套件版本Redhat/centosopenSuseDebian/ubuntu82022-5-23.LinuxLinux基本命令介绍基本命令介绍 cd,pwd ls cat,more mkdir,rm,mv,cp chmod grep,管道符 vi92022-5-23.cdcd使用方式 : cd dirName说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。另外,表示为 home directo
9、ry 的意思,. 则是表示目前所在的目录,. 则表示目前目录位置的上一层目录。比如:绝对路径:cd /usr/src相对路径:cd ./usr/cd cd .102022-5-23.pwdpwd用于显示当前目录 print work dir例如:rootlocalhost Desktop# pwd/root/Desktop112022-5-23.catcat用于一次显示整个文件。例如:rootlocalhost # cat /usr/share/doc/vim-common-7.2.411/Changelog.rpm * Fri Jul 04 2008 Karsten Hopp 7.1.330
10、-2- new rpm doesnt like zero filled, 3 digit patch numbers* Fri Jul 04 2008 Karsten Hopp 7.1.330-1- patchlevel 330122022-5-23.moremore类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。 132022-5-23.ls ls功能:ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单。语法:ls 选项 目录名常用选项:-
11、a, all 列出目录下的所有文件,包括以 . 开头的隐含文件-d, directory 将目录象文件一样显示,而不是显示其下的文件。-h, human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。这些选项可以组合使用,比如ls ahl /root/ls l=llLs al/ll -a142022-5-23.mkdirmkdir功能:用来创建目录。语法:mkdir -p NEW_DIR-p参数:如果目录路径中的某些部分不存在,该命令会自动创建。152022-5-23.rmrm功能:删除文件
12、。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。常用参数:-d直接把欲删除的目录的硬连接数据删成0,删除该目录。 -f强制删除文件或目录。 -i删除既有文件或目录之前先询问用户。 -r递归处理,将指定目录下的所有文件及子目录一并处理。 162022-5-23.mvmv语法:mv 选项 源文件或目录 目标文件或目录功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),当第二个参数类型是目录时,mv命令将目录重命名或将其移至一个新的目录中。是文件时,mv命令完成文件重命名。参数:-f :force 强制的意思,如果目标文件已经存在
13、,不会询问而直接覆盖。172022-5-23.cpcp语法:cp options 功能:cp命令可以将指定路径下的文件(目录)拷贝到(成)另一文件或目录中。选项:- a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。- f 覆盖已经存在目标文件而不提示。- p 复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。- r 若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。182022-5-23.chmodchmod功能:用于改变文件或目录的访问权限。语法:chmod 选项 目标文件权限:r可读,w可写,x可执行。例如,对文件添加执行权限:chm
14、od +x /root/run.sh192022-5-23.grepgrep功能:grep命令用于查找文件里符合条件的字符串,并把匹配的行打印出来。语法:grep 选项 要查找的字符串 要查找的文件选项:-i 忽略大小写例如:grep -i home /root/test.txt202022-5-23.管道符管道符语法: command1 | command2 功能: 把第一个命令command1执行的结果作为command2的输入传给command2例子:ls /root | grep -i test212022-5-23.vi vivi是linux系统下的一个文本编辑工具,它有2种模式:l
15、一般模式:可以查看、查找、替换、删除等操作(通过”vi 文件名”命令打开文件,默认进入一般模式)dd命令:删除光标所在行;dw命令:删除光标所在的词;yy命令:复制光标所在行;p命令:粘贴所复制的行到光标的下一行;:w命令:保存当前文件;:wq命令:保存文件并退出;:q!命令:不保存退出。l编辑模式:可以编辑文件内容(在一般模式下输入a或i或o等进入编辑模式,按Esc键离开编辑模式,进入一般模式)222022-5-23.linuxlinux常用操作常用操作查看硬件信息磁盘分区、格式化 rpm包的安装与删除网卡驱动安装网络配置服务管理任务管理器232022-5-23.查看硬件信息查看硬件信息查看
16、pci设备信息:lspcirootlocalhost # lspci00:00.0 Host bridge: Intel Corporation Xeon E5/Core i7 DMI2 (rev 07)06:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection08:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 02)lspci -v或者lspci -vv或者lspci -vvv查看更详细的pci
17、信息。242022-5-23.查看CPU信息:cat /proc/cpuinforootlocalhost # cat /proc/cpuinfo processor : 0vendor_id : GenuineIntelcpu family: 6model: 45model name: Intel(R) Xeon(R) CPU E5-2407 0 2.20GHzstepping: 7cpu MHz: 1200.000cache size : 10240 KBphysical id: 0siblings: 4core id: 0cpu cores : 4flags: fpu vme de ps
18、e tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2
19、x2apic popcnt aes xsave avx lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid252022-5-23.查看CPU核心数量:rootlocalhost # cat /proc/cpuinfo |grep processorprocessor: 0processor: 1processor: 2processor: 3262022-5-23.查看内存信息:cat /proc/meminfo freerootlocalhost # cat /proc/meminfo Mem
20、Total: 49539604 kB总内存容量MemFree: 48843460 kBBuffers: 15856 kBCached: 61140 kBSwapCached: 0 kBActive: 48400 kBInactive: 50288 kBActive(anon): 21908 kBInactive(anon): 4 kBActive(file): 26492 kBInactive(file): 50284 kBUnevictable: 0 kBMlocked: 0 kBSwapTotal: 2047992 kBSwapFree: 2047992 kBDirty: 4 kB2720
21、22-5-23.磁盘分区格式化磁盘分区格式化磁盘分区:rootlocalhost # fdisk /dev/sda partedWARNING: DOS-compatible mode is deprecated. Its strongly recommended to switch off the mode (command c) and change display units to sectors (command u).Command (m for help): 282022-5-23.输入p查看当前分区信息:Command (m for help): pDisk /dev/sda:
22、499.3 GB, 499279462400 bytes255 heads, 63 sectors/track, 60700 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0 x000d9e52 Device Boot Start End Blocks Id System/dev/sda1 *
23、 1 2611 20971520 83 Linux/dev/sda2 2611 2866 2048000 82 Linux swap / Solaris292022-5-23.输入n新建分区:Command (m for help): nCommand action e extended p primary partition (1-4)p输入p,新建主分区Partition number (1-4): 3输入分区号,之前有2个主分区了,此处输入3First cylinder (2866-60700, default 2866): 直接回车,默认接着上一个分区开始Using default v
24、alue 2866Last cylinder, +cylinders or +sizeK,M,G (2866-60700, default 60700): +10G输入要分区的大小,默认是剩余硬盘空间302022-5-23.Command (m for help): p 输入p,查看新分区Disk /dev/sda: 499.3 GB, 499279462400 bytes255 heads, 63 sectors/track, 60700 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical
25、/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0 x000d9e52 Device Boot Start End Blocks Id System/dev/sda1 * 1 2611 20971520 83 Linux/dev/sda2 2611 2866 2048000 82 Linux swap / Solaris/dev/sda3 2866 4171 10483013+ 83 LinuxCommand (m for help): w 输入
26、w,将修改写入分区表The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)
27、Syncing disks.312022-5-23.格式化分区格式化分区rootlocalhost # mkfs.ext3 /dev/sda3 mkfs.ext3 /dev/sdaxmke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks655360 inodes, 2620753 blocks131037 blocks (5.00%) reserved for
28、 the super userFirst data block=0Maximum filesystem blocks=268435456080 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Writing inode tables: done Creating journal (327
29、68 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.322022-5-23.格式化分区格式化分区如果格式化提示分区不存在,需要重启系统,让新分区生效。分区(fdisk/parted)-格式化(mkfs.extx -T largefil
30、e)-挂载(mount)332022-5-23.挂载分区挂载分区需要用mount命令挂载,语法:mount -t vfstype -o options device dir 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs 2.-o options 主要用来描述设备或档
31、案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 3.device 要挂接(mount)的设备。 4.dir设备在系统上的挂接点(mount point)。 342022-5-23.rootlocalhost # mount /dev/sda3 /mnt 挂载新创建的sda3rootlocalhost # mount/dev/sda1 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /de
32、v/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext=system_u:object_r:tmpfs_t:s0)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)/dev/sda3 on /mnt type ext3 (rw)以rw形式挂载352022-5-23.开机自动挂载开机自动挂载需要编辑配置文件/etc/fstab
33、,将分区按照格式添加。rootlocalhost # cat /etc/fstab /dev/sda1 / ext4 defaults 1 1/dev/sda2 swap swap defaults 0 0第1列是需要挂载的文件系统或存储设备;第2列是挂载点;第3列指定文件系统或分区的类型;第4列为挂载选项,默认是default;第5列为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。第6列为fsck选项,告诉fsck程序以什么顺序检查文件系统,0为忽略。一般我们只需要根据实际情况添加前3列,最后2列默认就可以。此处添加:/dev/sda3/mnt ext3 defa
34、ults 0 0保存重启后,可实现分区的自动挂载。362022-5-23.rpmrpm包的安装与删除包的安装与删除rpm安装:rootlocalhost # rpm -ivh /media/Packages/parted-2.1-18.el6.x86_64.rpm warning: /media/Packages/parted-2.1-18.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing. # 100%package parted-2.1-18.el6.x86_64 is alrea
35、dy installed其中;-i:安装rpm包;-v:显示安装过程的详细信息;-h:显示安装进度;最后加rpm所在的路径。372022-5-23.rpmrpm包的卸载包的卸载rootlocalhost # rpm -e parted-2.1-18.el6.x86_64-e:erase,卸载rpm包。最后跟rpm包名称,结尾没有.rpm382022-5-23.由于rpm包之间有依赖关系,在安装一个包之前需要将他所依赖的包装上,否则会有错误提示:rootlocalhost # rpm -ivh /media/Packages/sysfsutils-2.1.0-6.1.el6.x86_64.rpm
36、 warning: /media/Packages/sysfsutils-2.1.0-6.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYerror: Failed dependencies:libsysfs.so.2()(64bit) is needed by sysfsutils-2.1.0-6.1.el6.x86_64卸载rpm包跟此相反,需要先卸载顶层rpm包。392022-5-23.配置配置yumyum由于rpm包之间有依赖关系,手动解决依赖关系比较复杂。yum工具可以自动解决依赖关系,将
37、所有依赖包列出并自动安装。yum = Yellow dog Updater主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题402022-5-23.配置软件仓配置软件仓在/etc/yum.repos.d/目录下添加一个以.repo结尾的文件,包含以下内容:rootlocalhost yum.repos.d# cat local.repo local软件仓名称name=local软件仓名称baseurl=file:/media软件仓路径,此处为本地路径gpgcheck=0禁用gpg校验enabled=1启动该软件仓412022-5-23.更新依
38、赖关系:rootlocalhost # yum updateLoaded plugins: product-id, security, subscription-managerUpdating certificate-based repositories.Unable to read consumer identitylocal | 4.0 kB 00:00 . local/primary_db | 3.1 MB 00:00 . Setting up Update ProcessNo Packages marked for Update422022-5-23.rootlocalhost # y
39、um install /media/Packages/sysfsutils-2.1.0-6.1.el6.x86_64.rpm Resolving Dependencies- Running transaction check- Package sysfsutils.x86_64 0:2.1.0-6.1.el6 will be installed- Processing Dependency: libsysfs.so.2()(64bit) for package: sysfsutils-2.1.0-6.1.el6.x86_64- Running transaction check- Packag
40、e libsysfs.x86_64 0:2.1.0-6.1.el6 will be installed- Finished Dependency Resolution自动解决依赖关系Dependencies Resolved= Package Arch Version Repository Size=Installing: sysfsutils x86_64 2.1.0-6.1.el6 /sysfsutils-2.1.0-6.1.el6.x86_64 115 kInstalling for dependencies: libsysfs x86_64 2.1.0-6.1.el6 local 44
41、 kTransaction Summary=Install 2 Package(s)432022-5-23.网卡驱动安装网卡驱动安装此处以igb驱动(适用于intel 82576/i350等网卡)为例,演示驱动安装步骤。解压驱动:rootlocalhost # tar xf igb-4.0.17.tar.gz 编译驱动:rootlocalhost # cd igb-4.0.17/src/rootlocalhost src# make & make installmake -C /lib/modules/2.6.32-279.el6.x86_64/build SUBDIRS=/root/igb-
42、4.0.17/src modulesmake1: Entering directory /usr/src/kernels/2.6.32-279.el6.x86_64 CC M /root/igb-4.0.17/src/igb_main.o CC M /root/igb-4.0.17/src/e1000_82575.o重启后可以新驱动生效,通过命令查看:lsmod | grep igb注意:编译驱动需要gcc,make等工具,如果没有安装,需要按照之前步骤创建软件仓,然后执行yum groupinstall “Development Tools”将所有的开发工具安装后,再进行编译。442022-
43、5-23.服务管理服务管理linux系统下有很多服务,比如network、iptables等。可以通过service命令对服务进行管理:service network start/stop/status/restart例如,rootlocalhost src# service network statusConfigured devices:lo eth0 eth1Currently active devices:lo eth0452022-5-23.通过chkconfig控制服务是否开机自启动:检查当前设置:rootlocalhost src# chkconfig -list |grep n
44、etworknetwork 0:off1:off2:on3:on4:on5:on6:off配置为开机自启动或关闭:rootlocalhost src# chkconfig iptables off462022-5-23.网络配置网络配置用ifconfig -a查看当前的网卡信息;网卡信息保存在配置文件中,通过修改配置文件,可以永久配置 ip信息:rootlocalhost src# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=“eth0“设备名称BOOTPROTO=“static“获取ip方式,分dhcp和staticIPADDR=10
45、.7.11.1NETMASK=255.255.0.0GATEWAY=10.7.255.2ip信息,如果dhcp,这3段是不需要的HWADDR=“D4:3D:7E:06:29:10“mac地址NM_CONTROLLED=“no“是否由NetworkManager管理,建议改为noONBOOT=“yes“是否开机启动472022-5-23.通过ifconfig配置网卡的临时ip,重启network服务或者重启系统后ip失效。格式:ifconfig eth0 10.7.11.1 netmask 255.255.0.0 up配置ip和掩码,并将网卡启动。482022-5-23.更换主板后,需要修改网卡配置文件。删除/etc/udev/rules.d/70-persistent-net.rules将网卡配置文件中的MAC地址行删除,重启后网卡才可以识别正常。492022-5-23.任务管理器任务管理器linux系统下通过top命令监控任务状态,默认是按照CPU占用降序排列:502022-5-23.谢谢!