您的位置:首页 > 运维架构 > Linux

linux学习文档(一)

2017-06-03 14:24 519 查看
很快就要去公司实习了,所以最近在恶补linux操作系统的东西。之前学校有专门的操作系统的课程,从操作系统的发展开始讲起,然后讲解操作系统的进程调度,内存管理,文件系统等等知识。同时也有与之相匹配的操作系统课程设计实验课,做了几个小实验。但现在好多linux的命令都忘光了,趁工作前的几天重新温习一遍。(前几周把自己做的web项目部署到阿里云服务器上,阿里云服务器购买的是9.9元一个月的学生机,我购买了一年,服务器系统为Ubuntu16.04,之后因为ftp服务突然失效,而重新安装ftp服务的时候一直存在依赖问题,我把数据源从阿里云换成了163,折腾了一宿,最后没办法只能重装系统,装了Ubuntu14.04版本的,这样才勉强解决了问题。心疼自己,但更加坚定了自己学习linux的决心。)

我温习的方式主要通过看网易公开课的视频课程为主,然后自己边在虚拟机上练习(为了避免不经意间把阿里云服务器的系统破坏掉,一朝被蛇咬,十年怕草绳)边记笔记。

课程链接:http://study.163.com/course/courseMain.htm?courseId=232007

下面分享一下自己的学习笔记,希望大家一起学习,共同努力。如有不足,请指正。

1.  linux版本分为内核版本和发行版本。内核开源,有专门的团队进行维护以及更新。而发行版本是某些公司编译内核之后加上了某些应用程序以及技术文档,甚至注册了商标进行有偿的服务。目前流行的linux发行版本有Ubuntu,RedHat,CentOs,Debian。

2.  shell,在英语中的意思是“壳”,是用户间接操作内核(kernel)的工具。Kernel是所有上层服务的底层实现,比如说内存管理,进程调度,文件系统,网络通信,磁盘读写等等。Shell包括GUI和CLI。GUI是英文Graphical User Interface的简写,意思是图形化用户界面,这也是大家比较熟悉的windows系列操作系统的主要操作方式,图形化用户界面主要通过点击,拖拽等方式进行操控。而CLI是Command Line Interface的简写,意思是命令行界面。而这是linux操作系统的精髓所在。熟练掌握各种命令,可以大幅度地提高工作效率。

3.  linux中GUI类型的shell一般为GNOME,CLI类型的shell一般为BASH。

4.  Linux命令的组成包括三部分,命令,选项以及参数。

5.  一般的命令列表:

clear:清屏,hostname:主机名字,uname:系统信息,常用参数 –a ,–r

history :可以查看历史命令,ctrl+r:是在历史命令中搜索(切记),

命令+esc+.  :可以自动填充上一命令的选项或参数(经测试如果有多个选项和参数时只能填充最后的一个),

Ctrl+c:是结束进程,ctrl+z:是暂停进程,su -  用户名:可以切换账户,如果用户名没有写,则默认切换到root账户。(su –和su的区别,前者会新建一个终端环境),sudo:是以管理员的身份进行操作。

Id:是显示当前用户的信息,passwd:是修改当前用户的密码,命令+&:表示进程在后台运行,jobs:查看后台的进程,bg+任务编号:把程序放在后台运行,fg+任务编号:把程序放在前台运行。

6.  文件系统的常用命令:(linux文件系统大小写敏感,以.开头的文件是隐藏文件

pwd:显示当前工作目录,touch:创建一个空文件或者更新文件的修改时间,

ls –a:显示当前目录下所有的文件,包括隐藏文件,ls –l:显示详细信息,

ls –R:递归显示当前目录下的所有文件以及其子目录,ls –ld +文件名:显示该文件的详细信息,

file+文件名:查看文件类型,cd -:回到上一个目录,cd ~:回到家目录(在任意目录直接cd都可以回到家目录),

cp –r:递归复制文件夹,还可以加上参数-v,显示复制的进度信息,

mv:可以重命名或移动普通文件和文件夹,rm: -r  递归删除文件夹,-i交互,-f 强制删除,不会提示(谨慎使用),mkdir:创建一个目录,rmdir:只能删除一个空目录

 

7.  linux系统目录

bin目录:可执行的二进制文件目录,也就是我们命令的实现。所有用户都可以运行,

boot目录:系统的引导文件目录,包括内核,引导程序以及各种模块驱动

dev目录:是硬件设备文件的目录,在linux中所有的硬件设备都抽象成一个文件,包括磁盘,显卡,网卡,声卡等

etc:几乎包括了所有的配置文件,包括系统的配置文件以及应用程序的配置文件,

home:是所有非root用户的家目录,每个用户都有对应的与其用户名相对应的目录,root用户家目录单独,

lib:与库文件目录,与windows中的dll文件类似(拓展:动态链接库英文为DLL,是Dynamic Link Library的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32.dll 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于避免代码重用和促进内存的有效使用。 通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。)

lost+found:与文件系统相关

media和mnt:挂载文件系统或者U盘等其他存储设备的挂载目录,media在不同版本的linux中不一定有,而mnt一定存在。

opt:一般拿来装大型的应用软件,比如说oracle数据库。

proc:保存当前系统的实时信息,不存在硬盘中,只存在内存中,

sbin:与bin类似,区别是sbin中的可执行二进制文件只有root用户才能执行,一般都是一些比较危险的操作命令,比如说格式化磁盘。

sys:通常包含一些底层硬件的信息,

tmp:临时文件目录,隔一段时间会自动清理,

usr:普通的应用程序一般都安装在这个目录,

var:可变数据文件的目录,比如说系统日志,收发邮件

之后还会更新linux系列的其他文章。敬请期待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 操作系统