自己做网站的选修课,深圳网站建设售后服务,公司名字大全20000个四个字,网站建设及管理工作岗位要求linux基础知识个人总结第一章#xff1a;1. Linux发展史略#xff0c;有代表性的Linux发行版#xff1a;Suse、slackware、ubuntu、RedHat、CentOS2. GNU是Richard Stallman在1983年发起的一项自由软件运动#xff0c;目标是为了创建一套完全自由的操作系统#xff0c;它要… linux基础知识个人总结第一章1. Linux发展史略有代表性的Linux发行版Suse、slackware、ubuntu、RedHat、CentOS2. GNU是Richard Stallman在1983年发起的一项自由软件运动目标是为了创建一套完全自由的操作系统它要求我们可以自由使用自由更改自由发布软件GPL是用来规定如何自由的协议。3. vim、emacs、gcc等4. 略 第二章1. 我们所谓的32位、64位指的是CPU的GPRsGeneral-Purpose Registers通用寄存器的数据宽度。64位的cpu较之32位可以进行更大范围的整数运算可以支持更大的内存。不能因为数字上的变化而简单的认为64bit处理器的性能是32bit处理器性能的两倍。实际上在32bit应用下32bit处理器的性能甚至会更强即使是64bit处理器目前情况下也是在32bit应用下性能更强。而操作系统也是区分32位和64位的目前主流的计算机硬件大多都是64位的cpu所以都支持安装64位的操作系统当然安装32位操作系统也是可以的至于安装32位还是64位系统主要看我们的计算机内存有多大如果超过4G就安装64位否则就安装32位反而会更好。查看系统是32位还是64位使用命令 uname -a 如果显示有X86_64则是64位系统而显示 i386,i586或者i686则是32位系统。2. swap分区也就是windows下面的虚拟内存它的作用主要在于当系统内存不够用时或者说快用完时那么系统会把内存里面的较老的数据临时放到swap中这样就可以腾出一部分内存分配给其他程序使用。一般我们安装系统的时候都要分一部分磁盘空间给swap通常我们分内存大小的2倍给swap但有时您的服务器内存量很大比如说32G甚至64G那么没有必要分内存大小的2倍给swap了因为那样太浪费了。我的建议是当内存不大于8G时就分内存的2倍如果大于8G就分16G即可。3. grub是基于GUN的一个boot loader, 它是一个多操作系统管理器用来引导不同的系统。grub可以管理windows系统也可以管理linux系统。4. 在分区之前在左下角有一个选项“加密系统”如果勾选则设置grub密码。5. 略第三章1. sshd默认监听22端口这个端口我们可以自定义更改更改/etc/ssh/sshd_config配置文件port 22 改为 port 1122 那么sshd就会监听1122端口了。2. PuTTY, SecureCRT, Xshell等3. 需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0, 一般需要修改IPADDR, NETMASK, GATEWAY, DNS1, DNS24. service network restart 或者 /etc/init.d/network restart5. 临时关闭selinux: setenforce 0 永久关闭selinux的方法是 vim /etc/selinux/config 打开这个配置文件后使 SELINUXdisabled6. 查看有几块网卡可以使用 ifconfig -a 查看网卡IP使用 ifconfig7. 使用密钥登录Linux系统会比密码更加安全。第四章1. rmdir -p 不能成功删除非空目录rmdir -p 删除一个不存在的目录时会报错提示“没有那个文件或目录”2. 直接回车不会删除如果输入的不是y 也 不是n也不会删除3. mkdir -p /home/1/2/3/44. 会提示是否要覆盖那个文件5. 一共出现了4次‘root,按n可以向下一行一行的移动按N可以向上移动。6. 因为读一个目录可以说是打开该目录然后才能查看里面的文件这个打开的过程就是在执行这个目录所以必须要有执行权限才能读取到里面的文件。7. 通过umask计算默认权限的公式是 1)目录 (rwxrwxrwx)-(umask)(目录权限本例中umask001--------x),所以目录的权限是(rwxrwxrwx)---------x)rwxrwxrw-7762)文件 (rw-rw-rw-)-(umask)(文件权限本例中umask001--------x),所以文件的权限是(rw-rw-rw-)-(--------x)(rw-rw-rw-)666所以得出结论当umask为001时目录权限是776文件权限是6668. find /var/ -type f -mtime -1find /root/ -type f -mmin -609. find /etc/ -type f ! -mtime -36510. 因为每个目录下面都会有一个.和..也就是说每个目录下面的子目录肯定会有它本身和它上一级目录那么一旦设置了硬链接则会造成一种混乱设置会导致死循环。硬链接的文件并不会占用空间大小它只是复制了该文件的一份inode信息硬链接文件是不可以跨分区创建的。11. 普通文件和二进制文件用-表示目录用d表示链接文件应该说是软连接用l表示块设备用b表示套接字用s表示串行端口设备用c表示。12. chown -R user1:users dira13. 默认目录权限是755文档权限是644目录默认权限rwxrwxrwx)-(umask),文件默认权限rw-rw-rw-)-(umask)14. chmod 750 dirb15. chattr a file 这样就可以使文件只能写不能删除chattr i file 使文件不能被删除、重命名、设定链接接、写入、新增数据16. 一个点表示当前目录两个点表示上级目录。17. cd - 表示进入到上一次所在的目录18. 第二列数值表示有几个文件使用相同的inode如果一个目录的这列为3我们可以通过使用 ls -al dir/ |grep ^d|wc -l 这条命令得到 19. 没有locate命令需要安装mlocate包yum install -y mlocate, 初次使用报错是因为对应的数据库文件还没有生成手动生成的命令是updatedb20. 使用 /bin/cp 进行拷贝 /bin/cp a.txt b.txt21. tail -f file22. chmod 用来更改文件权限find ./ -type f |xargs chmod 64423. echo $HOME24. chmod owt dir25. 软连接可以理解为源文件的快捷方式软连接文件记录的是源文件的路径占用空间非常小。当把源文件删除后那么软连接文件也就变成一个坏文件了不能使用了。硬链接和源文件的inode信息是一模一样的可以说硬链接文件只是复制了一份源文件的inode信息在我们看来硬链接文件和源文件没有什么区别删除任何一个文件对方都不受影响唯一的是少了一份inode硬链接只能在同一个分区下创建而软连接不受限制。硬链接文件和源文件虽然看起来像是两个文件但是只占用一个文件的磁盘空间。26. cat 修改atime, chmod 会更改ctime, vim会更改atime,ctime,mtime, touch也会更改三个时间。第五章1. 查看配置文件/etc/shadow第一行中root账号的第三个字段以:分隔中的数字请算一下这个数字是怎么来的距离1970年1月1日到上次更改密码的时间的间隔天数。例如root密码日期更改时间为2013年9月1日星期日那么配置文件/etc/shadow中root的第三个字段为15949计算如下15949 (2013-1970)*365MOD((2013-1970)/4)(5*312*3028)115695102411159492. 写出一个您认为很强悍的密码.2ZbzHsi4#?fega83. 查资料搞明白 /sbin/nologin 和 /bin/false 的区别您知道他们用在什么场合吗/sbin/nologin 不允许账号登陆但是可以使用在ftp账号上也就是说ftp账号即使设置了该项也可以通过ftp登陆/bin/false 严格禁止用户登录系统禁止使用一切服务4. 请想一想当我们创建一个新的账号时系统会修改哪几个文件呢/etc/passwd/etc/shadow/etc/group/etc/gshadow5. 假如我们已经创建了一个普通用户user1, 默认这个用户的家目录为/home/user1, 做实验证明能否直接修改/etc/passwd配置文件中user1的家目录那个字段而改变user1的家目录呢 提示: 您可以使用 “cd ~ ”命令来进入当前用户家目录的方法来验证[rootuhza006714 ~]# useradd user1[rootuhza006714 ~]# grep user1 /etc/passwduser1:x:502:503::/home/user1:/bin/bash[rootuhza006714 ~]# sed -i s#/home/user1#/tmp# /etc/passwd[rootuhza006714 ~]# grep user1 /etc/passwduser1:x:502:503::/tmp:/bin/bash[rootuhza006714 ~]# su - user1-bash-3.2$ echo $HOME/tmp-bash-3.2$ cd-bash-3.2$ pwd/tmp证明可以通过更改/etc/passwd而更改用户的家目录6. /etc/passwd 文件以:为分隔符第三和第四个字段表示什么含义如果把某一行的第三个字段改为0 会发生什么第三个表示用户id第四个为组id如果把第三个字段改为0则该用户变成root7. 先新增一个组group11然后再新增一个账号user12, 使该账号所属组为刚刚新增的组。groupadd group11; useradd -g group11 user128. 如果删除一个组时报错: “cannot remove the primary group of user aming” 这是什么意思如何解决该问题呢这是因为删除的组内有用户需要先删除该组内的账号再删除组9. 如何删除某个账户时连带这个账户的家目录一并删除userdel -r username10. 如果您的Linux没有命令mkpasswd, 需要安装哪个包yum install -y expect11. 普通账户可以修改自己的密码吗可以修改12. 使用su时后面加了 - 表示什么含义加上- 表示切换用户时使用该用户的所有用户环境变量例如$HOME, $BASH13. sudo的作用是什么呢使用sudo可以使普通账户不用知道root的密码而临时拥有root的权限这是为了提高安全性14. 创建系统账号时帐户名要符合什么样的规范可以是大小写字母、数字、减号不能出现在首位、点以及下划线其他字符不合法。虽然用户名中可以出现点但不建议使用尤其是首位为点时另外减号也不建议使用因为容易造成混淆。15. Linux系统里你知道最大uid能有多大吗默认创建一个普通帐号的uid最小是多少普通用户的uid最大为65535目前的 linux 核心 (2.6.x 版)已经可以最大支持到 4294967295 (2^32-1) 。默认普通账号的最小uid为50016. 请思考一个用户可以同时属于多个用户组吗如果可以如何把一个用户加入到另外的组里 同时加入多个组怎么做可以同时属于多个用户组usermod -G GROUP1,GROUP2,GROUP3 username第六章1. 请查资料了解这些术语/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别/dev/hda, /dev/hdb是IDE接口硬盘的块文件。/dev/hda表示第一块IDE磁盘/dev/hdb表示第二块IDE磁盘。/dev/sda, /dev/sdb是SCSI接口硬盘的块文件。/dev/sda表示第一块SCSI磁盘/dev/sdb表示第二块SCSI磁盘。2. 为什么 du -b /etc/passwd 和 du -k /etc/passwd 所得到的结果不一致呢按道理讲1024b 等于 1k 阿铭的 /etc/passwd 为 1181b 而 使用k为单位表示它竟然是 4k. 因为默认格式化磁盘的块大小是4096字节即4K,即使是一个很小的文件也会分得一个块大小为4k。du -b则会以文件大小的b单位来统计所以结果不一致。3. 请查资料了解磁盘的这些概念 heads, sectors, cylinders.磁头heads: 磁头固定在可移动的机械臂上用于读写数据。现代硬盘都是双面可读写因此磁头数量等于盘片数的2倍。磁头数最大值为 255 (8 个二进制位)。用第几磁头可以表示数据在哪个磁面。扇区sectors: 从磁盘中心向外画直线可以将磁道划分为若干个弧段。每个磁道上一个弧段被称之为一个扇区。扇区是硬盘的最小组成单元通常是512字节。磁道上的扇区数最大为63(6个二进制位)。柱面cylinders: 所有磁片中半径相同的同心磁道构成“柱面。柱面数最大为1023 (10个二进制位)。柱面是磁盘分区的最小单位。4. 请计算磁盘分区的时候每一个柱面空间是多大 阿铭的第二块磁盘是8589 MB 8589934592 bytes总共有1044个柱面。柱面空间大小磁头数*每磁道扇区数*扇区大小255*63*512bytes8225280 bytes5. 查资料了解ide和scsi接口的磁盘有什么不一样scsi 磁盘(sda, sdb最多可以分多少个逻辑分区这个了解即可SCSI硬盘和普通IDE硬盘相比有很多优点接口速度快并且由于主要用于服务器因此硬盘本身的性能也比较高硬盘转速快缓存容量大CPU占用率低扩展性远优于IDE硬盘并且支持热插拔。关于最多可以分多少个逻辑分区的问题了解即可。6. 把磁盘格式化成ext4文件系统时如果指定块大小并不是 1024 2048 4096 会发生什么指定块大小最小是多少最大又是多少 当格式化文件系统时如果指定块大小不是1024、2048、4096这几个标准值会出现下面几种情况 1当指定块小于1024时则提示错误“无效的块大小”不能格式化。 2当指定块大于1024且小于2048时则实际以1024的块大小进行格式化。 3当指定块大于2048且小于4096时则实际以2048的块大小进行格式化。 4当指定块大于4096且小于或等于65536时则提示块值太大是否继续选择y继续则以不大于指定块的4K的整数倍值从4K到32K进行格式化。 5当指定块大于等于65536时则提示块值太大是否继续选择y继续则以65536字节进行格式化。 6当指定块大于65536时则提示错误“无效的块大小”不能格式化。7. 如何查看当前系统里各个分区都是什么类型的文件系统?mount 或者 df -T8. /dev/zero 和 /dev/null 在linux系统中是什么文件有什么作用/dev/zero 是一个造零器它可以源源不断的提供0它可以用于向设备或文件写入字符串0可以用它来创建一个指定长度用于初始化的空文件比如临时交换文件等。/dev/null 它是空设备也称为位桶bit bucket任何写入它的输出都会被抛弃。常用来禁止标准输出和标准错误的输出。如果不想让消息以标准输出显示或写入文件那么可以将消息重定向到位桶。9. Linux下df 和 du 两个命令主要用来做什么df 查看磁盘分区和文件系统信息du 查看目录或文件所占用的磁盘空间大小10. 在Linux系统下用什么命令为一个新磁盘分区呢又用什么命令格式化磁盘fdisk 为新磁盘分区可以使用mkfs.ext2、mkfs.ext3、mkfs.ext4、mke2fs等命令格式化磁盘。11. 如果不能使用mount 挂载磁盘时我们需要使用什么命令获取相关错误信息dmesg12. 当卸载某个磁盘或者分区时报错 “umount: /newdir: device is busy.” 我们如何做报这个错可能是因为当前用户在/newdir目录下可以先退出这个目录来也可以使用命令 umount -l /newdir13. 如何获取某个分区的UUIDblkid 14. 如何使用dd命令生成一个大小为500M的文件dd if/dev/zero of/bigfile bs1024K count50015. 查看内存大小的命令是 如何以M为单位显示free -m16. 如何查看各文件系统的inode数使用情况df -i17. 使用vmware虚拟机分配一块1G的虚拟磁盘并使用fdisk 分区工具给新加的磁盘分3个主分区分别200M然后再分3个逻辑分区分别100M.fdisk /dev/sdb 回车后先按n按p输入1再输入1再输入200M按n按p输入2再回车再输入200M按n按p输入3再回车再输入200M按n按e,接着按两次回车按n接着回车输入100M按n接着回车输入100M按n接着回车输入100M18. 给磁盘分区的时候最多可以分几个主分区最多可以分几个扩展分区扩展分区和逻辑分区的关系时什么最多4个主分区最多一个扩展分区只有划分了扩展分区后才可以在扩展分区内划分逻辑分区也就是说逻辑分区是在扩展分区内的。19. 我使用fdisk -l /dev/sdb 查看磁盘分区状况的时候发现有这么几个分区 sdb1, sdb3, sdb5, sdb6, sdb7 那么请推算一下这个磁盘共有几个主分区和几个逻辑分区一个主分区三个逻辑分区sdb5,sdb6,sdb7)20. 有什么方法可以查看某个分区格式化时指定的块大小为多少1024,2048,4096有两种方法第一个是个笨方法touch 1; echo 1 1; du -sh 1 看看1的大小事几k是1k块大小就是10242k块大小就是2048,4k块大小就是4096第二个方法是tune2fs -l /dev/sda1 |grep Block size第七章1. vi 与 vim 有什么区别呢它们之间有什么关系Vim是从Vi发展出来的一个文本编辑器可以看作是vi的升级版。Vim的主要功能与原始的Vi完全兼容与Vi不同的是vi不会显示颜色而vim会根据文件内容显示不同颜色方便阅读和编辑。而且Vim具有代码补完、编译及错误跳转等方便编程的丰富功能在程序员中被广泛使用。 Vim和Emacs并列成为类Unix系统用户最喜欢的编辑器。2. 如何查看当前系统vim的版本vim --version3. 如果想把文档中出现的全部abc替换成def怎么做又如何只替换每行中出现的第一个abc呢:1,$s/abc/def/g:1,$s/abc/def4. 当搜索某个关键词时光标所定位的关键词所在的行是如何决定的也就是说光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行还是另外的情况如果想从当前关键词移动到下一个关键词怎么操作移动到上一个关键词又怎么操作需要看vim进入文档时光标所在位置定位关键词是依据于光标所在的位置。如果使用/搜索关键词则按‘n向下移动按shift n 向上如果使用搜索关键词和前者正好相反。5. 当编辑完文档后按ESC进入命令模式输入命令 :x 会怎么样输入命令:x后也能保存文件并退出有点类似:wq ,但两者有区别。 :x #写入文件并退出。仅当文件被修改时才写入并更新文件修改时间否则不会更新文件修改时间。 :wq #强制性写入文件并退出。即使文件没有被修改也强制写入并更新文件的修改时间。6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符向右10空格向左10l7. vim filename 表示什么含义 vim 10 filename 将会发生什么vim 进入文档后定位到最后一行vim 10 进入文档后光标定位到第10行8. 用vim打开一个文档后我想让光标跳到第20行怎么做跳到最后一行怎么做跳到20行输入20G最后一行输入G9. vim 打开文档后默认是不显示行号的如何做让它显示行号:set nu10. vim打开文档后我想把20-50行中的第一个abc 替换为 efg 怎么操作如果是想替换所有呢:20,50s/abc/efg 只替换第一个:20,50s/abc/efg/g 替换全部11. vim打开文档后如何快速删除前100行先按gg 到第一行然后输入100d12. vim打开文档后如何复制一行并粘贴到第20行的下面定位到要复制的行然后输入yy然后输入20G再输入p第八章1. gzip, bzip2 能否直接压缩目录呢不能直接压缩目录2. 请快速写出使用gzip和bzip2压缩和解压一个文件的命令。gzip 1.txtgzip -d 1.txt.gzbzip2 1.txtbzip2 -d 1.txt.bz23. tar 在打包的时候如果想排除多个文件或者目录如何操作tar cvf 123.tar --exclude a.txt --exclude b.txt 123/4. 请实验如果不加 - 是否正确 如 tar zcvf 1.tar.gz 1.txt 2.txt ?不加 - 一样没有问题5. 如何使用tar打包和解包 .tar.gz, .tar.bz2 的压缩包tar zcvf 1.tar.gz 1tar zxvf 1.tar.gztar jcvf 1.tar.bz2 1tar jxvf 1.tar.bz26. 找一个大点的文件使用tar 分别把这个文件打成 .tar.gz和.tar.bz2 压缩包比较一下哪个包会更小从而得出结论是gzip压缩效果好还是bzip2压缩效果好理论上.tar.bz2的压缩包小一些但个别时候有相反的情况。但大多时候bzip2压缩效果好。7. 使用tar打包并压缩的时候默认压缩级别为几 想一想如何能够改变压缩级别呢提示tar本身没有这个功能哦可以尝试拆分打包和压缩tar打包压缩时是按照gzip和bzip2的默认压缩级别来的gzip工具默认压缩级别为6bzip2默认压缩级别为9.改变默认压缩级别可以这样来做首先tar打包然后再使用gzip或者bzip2压缩工具来压缩压缩的时候指定压缩级别。如 tar cvf 1.tar 123/; gzip -2 1.tar第九章1. 区分 rpm -qi -qf -ql -qa四个不同选项组合的作用rpm -qi //查询已经安装的某个RPM软件包的信息rpm -qf //查询某个程序文件是由哪个RPM软件包安装的rpm -ql //查询某个RPM软件包的所有安装文件rpm -qa //查询所有已经安装的RPM软件包2. rpm -qi 后面如果跟一个未安装的包名会显示什么信息会提示该软件包没有安装3. 请找出 vim 这个命令是由哪个rpm包安装来的rpm -qf which vim4. 使用rpm安装和卸载某个包的命令是什么rpm -ivh rpm包文件名rpm -e 包名5. rpm安装某个包有依赖关系时如何忽略依赖关系强制安装该包rpm -ivh --nodeps6. 如何使用rpm升级一个包rpm -Uvh 7. 使用yum搜索包含关键词 tidy 的rpm包并安装安装后再使用yum将其卸载。yum list |grep tidyyum install -y tidy tidy-develyum remove -y tidy tidy-devel8. 如何使用yum来下载一个rpm包yum install -y --downloadonly --downloaddir/usr/local/src 9. 请到php的官方网站下载一个php的源码包动手试试编译安装它php官网地址 http://www.php.net/)10. 查资料搞明白 yum upgrade 以及 yum update 两者的区别它们在什么情况下使用yum upgrade与yum update都能更新系统的所有软件包不同的就是upgrade相当一次大规模的升级连带了旧的要淘汰的包也升级。update 和 upgrade 的侧重点不一样update主要是使软件达到最新但upgrade更侧重的是软件功能得到一个很大的提升区别于频繁的发布最新的补丁。upgrade不改变软件设置和系统设置系统版本升级内核不改变update改变软件设置和系统设置,系统版本内核都升级。yum upgrade : 用于大规模的版本升级,更新Linux系统和整个软件版本yum update : 用于安装补丁文件更新内核和软件包到最新11. 如何查看Linux系统中(CentOS是否安装过某个包rpm -qa | grep 包名12. ./configure 完成后并不知道到底有没有成功用什么命令可以验证呢echo $?13. 如果在./configure 这一步出现这样的错误configure: error: no acceptable C compiler found in $PATH 我们该怎么办yum install -y gcc14. 有时你忘记某个编译参数是如何写的你怎么办./configure --help 15. 如何使用光盘构建yum仓库a挂载光盘 mount /dev/cdrom /mntb删除/etc/yum.repos.d目录所有的repo文件 rm -rf /etc/yum.repos.d/*c 创建新文件dvd.repo[rootlocalhost ~]# vim /etc/yum.repos.d/dvd.repo加入以下内容[dvd]nameinstall dvdbaseurlfile:///mntenabled1gpgcheck0d 刷新 repos 生成缓存 # yum makecache 转载于:https://blog.51cto.com/1132818999/1663713