linux总结

 

Linux的发展史

  • 1991  林纳斯(Linus 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,尝试着在Minix 上做一些开发工作

  • 因为 Minix 只是教学使用,因此功能并不强,林纳斯 经常要用他的终端 仿真器(Terminal Emulator 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!

  • 林纳斯 利用 GNU  bash 当做开发环境,gcc 当做编译工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix

  •  Unix 上跑的应用程序不能在 Linux 上跑,即应用程序与内核之间的接口不一致

  • 一开始 Linux 只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

Linux6和Linux7的区别

(1)桌面系统
[CentOS6] GNOME 2.x
[CentOS7] GNOME 3.x(GNOME Shell)

(2)文件系统
[CentOS6] ext4
[CentOS7] xfs

(3)内核版本
[CentOS6] 2.6.x-x
[CentOS7] 3.10.x-x

(4)启动加载器
[CentOS6] GRUB Legacy (+efibootmgr)
[CentOS7] GRUB2

(5)防火墙
[CentOS6] iptables
[CentOS7] firewalld

(6)默认数据库
[CentOS6] MySQL
[CentOS7] MariaDB

(7)文件结构
[CentOS6] /bin, /sbin, /lib, and /lib64在/下
[CentOS7] /bin, /sbin, /lib, and /lib64移到/usr下

(8)主机名
[CentOS6] /etc/sysconfig/network
[CentOS7] /etc/hostname

(9)时间同步
[CentOS6]
$ ntp
$ ntpq -p

[CentOS7]
$ chrony
$ chronyc sources

(10)修改时间
[CentOS6]
$ vim /etc/sysconfig/clock
   ZONE="Asia/Tokyo"
   UTC=fales
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

[CentOS7]
$ timedatectl set-timezone Asia/Tokyo
$ timedatectl status

(11)修改地区
[CentOS6]
$ vim /etc/sysconfig/i18n
   LANG="ja_JP.utf8"
$ /etc/sysconfig/i18n
$ locale

[CentOS7]
$ localectl set-locale LANG=ja_JP.utf8
$ localectl status

(12)服务相关
1)启动停止
[CentOS6]
$ service service_name start
$ service service_name stop
$ service sshd restart/status/reload

[CentOS7]
$ systemctl start service_name
$ systemctl stop service_name
$ systemctl restart/status/reload sshd

2)自启动
[CentOS6]
$ chkconfig service_name on/off

[CentOS7]
$ systemctl enable service_name
$ systemctl disable service_name

3)服务一览
[CentOS6]
$ chkconfig --list

[CentOS7]
$ systemctl list-unit-files
$ systemctl --type service

4)强制停止
[CentOS6]
$ kill -9 <PID>

[CentOS7]
$ systemctl kill --signal=9 sshd

(13)网络

1)网络信息
[CentOS6]
$ netstat
$ netstat -I
$ netstat -n

[CentOS7]
$ ip n
$ ip -s l
$ ss

2)IP地址MAC地址
[CentOS6]
$ ifconfig -a

[CentOS7]
$ ip address show

3)路由
[CentOS6]
$ route -n
$ route -A inet6 -n

[CentOS7]
$ ip route show
$ ip -6 route show

(14)重启关闭

1)关闭
[CentOS6]
$ shutdown -h now 

[CentOS7]
$ poweroff
$ systemctl poweroff

2)重启
[CentOS6]
$ reboot
$ shutdown -r now

[CentOS7]
$ reboot
$ systemctl reboot

3)单用户模式
[CentOS6]
$ init S

[CentOS7]
$ systemctl rescue

4)启动模式
[CentOS6]
[GUICUI]
$ vim /etc/inittab
  id:3:initdefault:
[CUIGUI]
$ startx

[CentOS7]
[GUICUI]
$ systemctl isolate multi-user.target
[CUIGUI]
$systemctl isolate graphical.target
默认
$ systemctl set-default graphical.target
$ systemctl set-default multi-user.target
当前
$ systemctl get-default

Linux基本命令总结

一、Linux权限的概念
     Linux下有两种用户:普通用户和超级用户()。
     普通用户:在linux下做有限的事情;
     超级用户:可以在linux系统下做任何事情,不受限制。
     普通用户的提示符是“$”,超级用户的命令提示符是“#”。
命令: su [用户名]
功能:切换用户
Linux权限管理
1.文件访问者的分类(人)
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其他用户:o—Others
2.文件访问权限的种类
基本权限:
read  对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。
write  对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限。
execute  对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
-  表示不具有该权限。
3.文件权限值得表示方法
r–   只读
-w-  仅可写
–x  仅可执行
rw-  可读可写
-wx  可写可执行
r-x   可读可执行
rwx  可读可写可执行
—   无权限
二、Linux下基本命令
 1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
 常用选项:
 -a :列出目录下的所有文件,包括以 . 开头的隐含文件。
 -d :将目录像文件一样显示,而不是显示其他文件。
 -i  :输出文件的i节点的索引信息。
 -k :以k字节的形式表示文件的大小。
 -l  :列出文件的详细信息。
 -n :用数字的UID,GID代替名称。
 -F :   在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文   件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd ..  返回上一级目录。
cd ../..   将当前目录向上移动两级。
cd -   返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
4.touch命令
格式:touch[选项] 文件名…
功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a  仅改变指定文件的存取时间。
-c  或–no-creat  不创建任何文件。
-m  仅改变指定文件的修改时间。
-d  使用指定的日期时间,而非现在的时间。
-f   此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
5.mkdir命令
格式:mkdir [选项] dirname…
功能:mkdir命令用来创建目录。
常用选项:
-p  –parents 可以是一个路径名称。此时若路竞争的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
-m  –mode=MODE  将新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。
6.rm命令
格式:rm [选项] 文件列表
功能:rm命令删除文件或目录。
常用选项:
-f   –force 忽略不存在的文件,并且不给出提示信息。
-r   -R,–recursive  递归地删除指定目录及其下属的各级子目录和相应的文件。
-i   交互式删除文件。
说明:rm命令删除指定的文件,默认情况下,它不能删除目录。如果文件不可写,则标准输入是tty(终端设备)。如果没有给出选项-f或者–force,rm命令删除之前会提示用户是否删除该文件;如果用户没有回答y或者Y,则不删除该文件。
7.rmdir命令
格式:rmdir [选项] dirname
功能:删除目录。
常用选项:
-p  –parents  递归删除目录 dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。
8.man 命令
格式:man [选项] 命令
功能:man命令格式化并显示某一命令的联机帮助手册页。
常用选项:
-k  根据关键字搜索联机帮助。
num  只在第num章节找。
-a  将所有章节的都显示出来。
说明:面手册分为8章:
1. 一般用户的命令;
2. 系统调用;
3. C语言函数库;
4. 有关驱动程序和系统设备的解释;
5. 配置文件的解释;
6. 游戏程序的命令;
7. 有用的杂类命令,如宏命令包等;
8. 有关系统维护和管理的命令。
9.cp命令
格式:cp [选项] 源文件或目录  目标文件或目录
功能:复制文件或目录。
常用选项:
-f  –force 强行复制文件或目录,不论文件或目录是否已经存在。
-d  复制时保留文件链接。
-i   –interactive覆盖文件之前先询问用户。
-r   递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
-R  或–recursive递归处理,将指定目录下的文件及子目录一并处理。
10.mv命令
格式:mv [选项] 源文件或目录 目标文件或目录
功能:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
常用选项:
-f   force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
-i   若目标文件(destination)已经存在时,就会询问是否覆盖。
11.cat/tac命令
格式:cat [选项] [文件]
功能:查看目标文件的内容。
常用选项:
-b  对非空输出行编号。
-n  对输出的所有行编号。
-s   不输出多行空行。
12.more命令
格式:more [选项] [文件]
功能:more命令显示文件内容,每次显示一屏。
常用选项:
-n  对输出的所有行编号。
-s  将文件中连续的空白行压缩成一个空白行显示。
-num  这个选项制定一个整数,表示一屏显示多少行。
q  退出more。
13.less命令
格式:less [参数] 文件
功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
常用选项:
-i  忽略搜索时的大小写。
-N  显示每行的行号。
14.head命令
格式:head [选项] [文件]
功能:head命令在屏幕上显示指定文件的开头若干行。
常用选项:
-c  –bytes=[-]N  显示每个文件前面N字节。
-n  –lines=[-]N  显示指定文件的前面N行。 
15.tail命令
格式:tail [选项] [文件]
功能:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件。
说明:tail命令从指定点开始将文件写到标注输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f  filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
常用选项:
-f  循环读取。
-n <行数>  显示行数。
16.时间相关的命令
date显示
date 指定格式显示时间:date+%Y:%m:%d
date用法:date:date[OPTION]… [+FORMAT]
%H  小时(00..23)
%M  分钟(00..59) 
%S  秒(00..61)
%X  相当于%H:%M:%S
%d  日(01..31)
%m  月份(01..12)
%Y  完整年份(0000..9999)
%F  相当于%Y-%m-%d
时间戳
时间->时间戳:date+%s
时间戳->时间:Unix时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒。
17.cal命令
格式:cal [参数] [月份] [年份]
功能:用于查询日历等时间信息,如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历。
-j  显示在当年中的第几天(一年日期按天算,从1月1日算起,默认显示当前月在一年中的天数)。
-y  显示当前年份的日历。
18.find命令
格式:find pathname -options
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。
常用选项:
-name 按照文件名查找文件。
19.grep命令
格式:grep [选项] 搜寻字符串文件
功能:在文件中搜索字符串,将找到的行打印出来。
常用选项:
-i  忽略大小写的不同,所以大小写视为相同。
-n  顺便输出行号。
-v  反向选择,亦即显出没有‘搜寻字符串’内容的那一行。
20.zip/unzip命令
格式:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式。
常用选项:
-r  递归处理,将指定目录下的所有文件和子目录一并处理。
21.tar命令
格式:tar [-cxtzjvf] 文件与目录… 参数
功能:打包/解包,不打开它,直接看内容。
-c  建立一个压缩文件的参数指令(create的意思)。
-x  解开一个压缩文件的参数指令。
-t  查看tarfile里面的文件。
-z  是否同时具有gzip的属性?亦即是否需要用gzip压缩?
-j  是否同时具有bzip的属性?亦即是否需要用bzip压缩?
-v  压缩的过程中显示文件。这个常用,不建议用在背景执行过程。
-f  使用档名,请留意,在f之后要立即接档名,不要再加参数。
-C  解压到指定目录。
22.bc命令
bc命令可以很方便的进行浮点运算。
23.uname -r命令
格式:uname [选项]
功能:uname用来获取电脑和操作系统的相关信息。
常用选项:
-a  或-all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
三、Linux系统根目录下各个目录的作用
/bin 二进制可执行命令。该目录下存放着普通用户的命令

/dev 系统的设备文件,即设备的驱动程序

/home 存放用户文件的主目录,用户数据

/lib 存放着和系统运行相关的库文件

/mnt 存放临时的映射文件,通常是一些用来安装其他设备的子目录

/boot 存放启动linux的核心文件

/media 存放着可移除的设备,比如软盘,光盘

/misc 储存着一些特殊的字符的定义

/net 存放着和网络相关的一些文件

/proc 存放着用户与内核的交互信息

/sbin 系统的管理命令,这里存放的是系统管理员使用的程序

/srv 系统启动服务时可以访问的数据库目录

/tmp 临时文件,重启后自动清空

/var 存放系统产生的经常变化的文件

/etc 系统所有的配置文件都在这个目录中

/opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置

/root 超级用户的目录

/selinux 主要用来加固操作系统,提高系统的安全性

/sys 管理设备文件

/usr 最大的目录,存放着应用程序和文件

/lost-found 这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里

Linux面试题

1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。
参考答案:
Linux通过i节点表将文件的逻辑结构和物理结构进行转换。
i 节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i节点表中最重要 的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行 连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。

2.简述进程的启动、终止的方式以及如何进行进程的查看。
参考答案:
在Linux中启动一个进程有手工启动和调度启动两种方式:
(1)手工启动
用户在输入端发出命令,直接启动一个进程的启动方式。可以分为:
①前台启动:直接在SHELL中输入命令进行启动。
②后台启动:启动一个目前并不紧急的进程,如打印进程。
(2)调度启动
系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。
经常使用的进程调度命令为:at、batch、crontab。
3. 简述DNS进行域名解析的过程。
参考答案:
首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
(4)若没有找到,则返回错误信息。

4.系统管理员的职责包括那些?管理的对象是什么?
参考答案:
系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。
5.简述安装Slackware Linux系统的过程。
参考答案:
(1)对硬盘重新分区。 (2)启动Linux系统(用光盘、软盘等)。
(3)建立Linux主分区和交换分区。(4)用setup命令安装Linux系统。
(5)格式化Linux主分区和交换分区(6)安装Linux软件包
(7)安装完毕,建立从硬盘启动Linux系统的LILO启动程序,或者制作一张启动Linux系统的软盘。重新启动Linux系统。
6.什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
参考答案:
静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合,且网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变化后必须由网络管理员修改路由表。
动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容。动态路由可以自动学习网络的拓朴结构,并更新路由表。其缺点是路由广播更新信息将占据大量的网络带宽。
87.进程的查看和调度分别使用什么命令?
参考答案:
进程查看的命令是ps和top。
进程调度的命令有at,crontab,batch,kill。
8.当文件系统受到破坏时,如何检查和修复系统?
参考答案:
成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。
使用命令fsck对受到破坏的文件系统进行修复。fsck检查文件系统分为5步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node。
9.解释i节点在文件系统中的作用。
参考答案:
在linux文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i节点对一个文件进行索引。I节点包含了描述一个文件所必须的全部信息。所以i节点是文件系统管理的一个数据结构。
10.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
参考答案:
链接分硬链接和符号链接。
符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。
硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。
11.在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则。
参考答案:
磁盘簇(或i节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调度磁盘空间效率。当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些。通常使用经验值。
12.简述网络文件系统NFS,并说明其作用。
参考答案:
网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享。对于用户而言可以通过 NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分。采用NFS之后省去了登录的过程,方便了用户访问系统资源。

13.某/etc/fstab文件中的某行如下:
/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2
请解释其含义。
参考答案:
(1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的安装点;
(3)第三列:文件系统的类型;(4)第四列:设置参数;
(5)第五列:供备份程序确定上次备份距现在的天数;
(6)第六列:在系统引导时检测文件系统的顺序。
14.Apache服务器的配置文件httpd.conf中有很多内容,请解释如下配置项:
(1)MaxKeepAliveRequests 200 (2)UserDir public_html
(3)DefaultType text/plain (4)AddLanguare en.en
(5)DocumentRoot“/usr/local/httpd/htdocs”
(6)AddType application/x-httpd-php.php.php.php4
参考答案:
(1)允许每次连接的最大请求数目,此为200;(2)设定用户放置网页的目录;
(3)设置服务器对于不认识的文件类型的预设格式;
(4)设置可传送语言的文件给浏览器;(5)该目录为Apache放置网页的地方;
(6)服务器选择使用php4。
15.某Linux主机的/etc/rc.d/rc.inet1文件中有如下语句,请修正错误,并解释其内容。
/etc/rc.d/rc.inet1:
……
ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1
ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1
参考答案:
修正错误:
(1)ROUTE应改为小写:route;(2)netmask 255.255.0.0应改为:netmask 255.255.255.0;
(3)缺省路由的子网掩码应改为:netmask 0.0.0.0;
(4)缺省路由必须在最后设定,否则其后的路由将无效。
解释内容:
(1)route:建立静态路由表的命令;(2)add:增加一条新路由;
(3)-net 192.168.1.0:到达一个目标网络的网络地址;
(4)default:建立一条缺省路由;(5)gw 192.168.0.101:网关地址;
(6)metric 1:到达目标网络经过的路由器数(跳数)。

16.试解释apache服务器以下配置的含义:
(1)port 1080 (2)UserDir userdoc
(3)DocumentRoot “/home/htdocs”
(4)<Directory /home/htdocs/inside>;
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
allow from 192.168.1.5
</Directory>;
(5)Server Type Standlone
参考答案:
Apache服务器配置行含义如下:
(1)将apache服务器的端口号设定为1080;
(2)设定用户网页目录为userdoc;
(3)设定apache服务器的网页根目录:/home/htdocs;
(4)在此apache服务器上设定一个目录/home/htdocs/inside,且此目录只允许IP地址为192.168.1.5的主机访问;
(5)定义apache服务器以独立进程的方式运行。
17.简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
参考答案:
(1)ftp有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何合法email地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码。
区别:使用匿名登录只能访问ftp目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可。
(2)ftp文件传输有两种文件传输模式:ASCII模式和binary模式。ASCII模式用来传输文本文件,其他文件的传输使用binary模式。
(3)常用的ftp文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye

 


 

posted @ 2020-02-17 12:19  今天又瘦了嘛  阅读(151)  评论(0编辑  收藏  举报