Linux学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记相关的知识,希望对你有一定的参考价值。

1. Linux关机

正确的关机流程为: sync>shutdown>reboot>halt
关于关机的相关命令:

  • sync 将数据由内存同步到硬盘中
  • shutdown 关机指令,可以 man shutdown 查看帮助文档
  • shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
  • Shutdown –h now 立马关机
  • Shutdown –h 20:25 系统会在今天20:25关机
  • Shutdown –h +10 十分钟后关机
  • Shutdown –r now 系统立马重启
  • Shutdown –r +10 系统十分钟后重启
  • reboot 就是重启,等同于 shutdown –r now
  • halt 关闭系统,等同于shutdown –h now 和 poweroff

不管是重启系统还是关闭系统,首先要运行sync命令,将内存中的数据写到磁盘中。

2. 系统目录结构

技术分享

  • /bin bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  • /boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root 该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /selinux 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /srv 该目录存放一些服务启动之后需要提取的数据。
  • /sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp 这个目录是用来存放一些临时文件的。
  • /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录.
  • /usr/bin 系统用户使用的应用程序。
  • /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

在Linux系统中,有几个目录是比较重要的,如下:

  • /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
  • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
  • /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

3. Linux远程登录

Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为22。
使用密钥认证机制远程登录Linux
SSH是Secure Shell的缩写,由IETF的网络工作小组所制定。
SSH是建立在应用层和传输层协议基础上的安全协议。

4. Linux文件基本属性

在Linux中我们可以使用ll或者ls -l命名来显示一个文件的属性以及文件所属的用户和组。
更改文件属性

  • chgrp:更改文件属组
  • chown:更改文件属主,也可以同时更改文件属组
  • chmod:更改文件9个属性

5. Linux文件与目录管理

处理目录常用命令:

  • ls:列出目录
  • cd:切换目录
  • pwd:显示当前目录
  • mkdir:创建一个新目录
  • rmdir:删除一个空的目录
  • cp:复制文件或目录
  • rm:移除文件或目录

Linux文件内容查看:

  • cat:由第一行开始显示文件内容
  • tac:由最后一行开始显示文件内容
  • nl:显示的内容,顺道输出行号
  • more:一页一页的显示文件内容
  • less与more类似,但是比more更好的是,它可以往前翻页
  • head:只看头几行
  • tail:只看尾巴几行

6. Linux用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须要首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加,删除和修改
  • 用户口令的管理
  • 用户组的管理

Linux系统用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加,修改和删除。

  1. 添加用户账号: useradd 选项 用户名 , 就是在系统中创建一个账号,然后用新账号分配用户号,用户组,主目录和登录Shell等资源,刚添加的账号是锁定的,无法使用。
  2. 删除账号: userdel 选项 用户名
  3. 修改账号: usermod 选项 用户名
  4. 用户口令的管理: passwd 选项 用户名

Linux系统用户组的管理
每一个用户都有一个用户组,系统可以对一个用户组中的所有用户集中管理。不同Linux系统对用户组的规定有所不同。
用户组的管理涉及到用户组的添加,删除和修改。组的增加,删除和修改实际上就是对/etc/group文件的更新。

  1. 增加新的用户组使用groupadd命令,groupadd 选项 用户组
  2. 删除已有的用户组使用groupdel命令,groupdel 用户组
  3. 修改用户组使用groupmod命令,groupmod 选项 用户组
  4. 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp root

与用户账号有关的系统文件
完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。
/etc/passwd/文件是用户管理工作涉及的最重要的一个文件,Linux系统中的每个用户都在改文件中有一个对应的记录行,它记录了这个用户的一些基本属性。具体格式为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

7. Linux磁盘管理

Linux磁盘管理常用三个命令为df,du和fdisk。

  1. df:列出文件系统的整体磁盘使用量
  2. du:检查磁盘空间使用量
  3. fdisk:用于磁盘分区

8. Linux vi/vim

所有的Unix Like系统都会内建vi文本编辑器,其他的文本编辑器则不一定会存在,vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vim是从vi发展出来的一个文本编辑器,代码补全,编译及错误跳转等方便编程的功能特别丰富,在程序中被广泛使用。
技术分享
vim共分为三种基本模式,分别是一般模式,编辑模式与指令命名模式。

  1. 一般模式:以vi打开一个档案就直接进入一般模式了。
  2. 编辑模式:在一般模式中可以进行删除,复制,贴上等等的动作,但是却无法编辑文件内容的,要等你按下【i,I,o,O,a,A,r,R】等任何字母之后才能进入编辑模式。
  3. 指令列命名模式: 在一般模式当中,输入【:/?】三个中的任何一个按钮,就可以将光标移动到最低下那一行。

9. Linux yum命令

yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐的一次次下载,安装。
yum提供了查找,安装,删除某一个,一组甚至全部软件包的命令,而且命令简介而又好记。
yum语法
yum [options][command][package...]

  1. options:可选,选项包括-h(帮助),-y(当安装过程中提示选择全部为yes),-q(不显示安装过程)等等
  2. command:要进行的操作
  3. package:操作的对象

yum常用的命令

  1. 列出所有可更新的软件清单命令: yum check-update
  2. 更新所有软件命令: yum update
  3. 仅安装指定的软件命令: yum install<package_name>
  4. 仅更新指定的软件命令: yum update<package_name>
  5. 列出所有可安装的软件清单命令: yum list
  6. 删除软件包命令: yum remove <package_name>
  7. 查找软件包命令: yum search<keyword>
  8. 清楚缓存命令:
    • yum clean packages:清楚缓存目录下的软件包
    • yum clean headers:清楚缓存目录下的headers
    • yum clean oldheaders:清楚缓存目录下的旧的的headers
    • yum clean,yum clean all:清楚缓存目录下的软件包及旧的headers
































以上是关于Linux学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

DOM探索之基础详解——学习笔记

学习笔记 链接

ReactJs学习笔记01

OpenCV 学习笔记(颜色直方图计算 calcHist)

JSP 学习笔记