Linux基本知识点整理(持续更新中..)

Posted

tags:

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

基本的一些变量 :

将变量内保存的字符内容表示出来用$符号(也可以加上花括号${###})
注意它和命令优先级符号$()(同反向单引号)的区别:一个内容是变量,一个内容是语句。

SHELL: 用的shell类型    
PS1:命令提示符格式
LANG:语言格式 
PATH:命令搜索路径 
HISTSIZE:内存中输出的历史命令行记录数量(最后的多少行) 保存在/etc/profile
HISTTIMEFORMAT:历史命令的时间格式  
HISTFILE:历史命令记录的文件路径,默认为~/.bash_history  
HISTFILESIZE:历史文件中历史命令行记录数量
HISTINGORE:不记录入历史中的变量
HISTCONTROL:控制记录历史的格式

基本的一些目录,文件等等的位置还有用法:

/proc/meminfo :内存信息位置 可用cat /proc/meminfo
/proc/cpuinfo:CPU信息
/proc/partitions:分区信息
/etc/shells :本机所装的shells 可用cat /etc/shells查看
/etc/profile.d/###.sh:开机存入内存,控制环境变量
> 写在这里可以更改系统提示符PS1
> 还可以更改历史命令的格式HISTTIMEFORMAT,
> 还有就是不记录历史的忽略变量HISTIGNORE
> 以及HISTCONTROL,HISTFILESIZE
> > 注意:这个###.sh是自己建立的文件,环境参数也可以写在/etc/profile 或者 ~/.bash_profile中,但有可能影响其他内容,所以最好自己建一个。

/etc/bashrc:整机配置文件,可以存入alias别名信息,整机有效
~/.bashrc:当前用户家目录下的配置文件,可以存入alias别名信息,只对当前用户有效(~代表当前用户家目录)
/etc/motd :命令行界面登陆后欢迎界面提示字符保存文件 
/etc/issue:命令行界面预登陆(登陆前)显示的字符
/etc/profile:可以修改历史命令行记录数量 HISTSIZE  
~/.bash_history:存储当前保存的历史命令行记录默认文件
/usr/share/man :man帮助文件目录
/etc/os-release:linux发行版本的信息
/etc/centos-release:centos发行版本信息

Linux的哲学思想:

  1. 一切都是一个文件(包括硬件)
  2. 小型,单一用途的程序
  3. 链接程序,共同完成复杂的任务
  4. 避免令人困惑的用户界面
  5. 配置数据存储在文本中

Linux的目录解释:

/根分区

/home 家目录:

多个账号的目录就放在这里面,比如/home/zhang(有些环境中建议将家目录也独立一个分区)

/dev 硬件目录:

/dev/sda /dev/sdb .... 多个硬盘的表示

/dev/sda1 /dev/sda2 .... 一个硬盘的分区

注意:

主分区:一个硬盘,最多有四个主分区(MBR格式),不能再划分为更小的分区了 编号:1--4

扩展分区:可有可无,一块硬盘最多一个,但是如果有了它,和主分区加起来也不能超过4个
主分区+扩展<=4,可以划分更小分区(逻辑分区)编号1--4

逻辑分区:编号5以上,其中扩展分区包含着逻辑分区

/etc 配置文件:

相当于windows下的注册表,不能和根分开,不能独立分区

/data:

自己规划的一个文件目录,希望独立出来一个分区用来存放用户的数据

swap:

它是一个用分区方式来模拟出来一个虚拟内存,像windows里面的页面文件,它并不是一个文件目录,一般分物理内存的2倍左右。

kdump:

这个其实不算分区,主要是为了崩溃的时候存储错误信息用的,看情况自己需要不需要。

更多待更新补充中...

挂载的概念:

mount:就是说把一个分区挂载到一个目录(或者说目标文件夹)上, 比如说把硬盘 sda1分区挂载到 /boot 启动目录上 ,windows上也有挂载的概念。

 /boot  <==  /dev/sda1

但不是所有的目录都可以当做挂载点,比如说 /etc 目录,它不能独立作为一个分区出来,必须和根目录/ 在一起,但是 根分区/ 必须独立挂载一个分区。

 /   <==  /dev/sda2

这样的话根分区/就挂载到一块硬盘的第二个分区,文件就会放在这里面,但是/boot已经挂载到1分区上,所以启动文件会在1分区上面。

装机部分注意事项:

  1. 装机分区的时候至少要把 /boot 根/ /data swap 这4块部分给挂载独立分区
    其他的看情况而定,分块格式老板ext4,新版用xfs
  2. 装机后快照一下,最好直接考盘备份也行。
  3. Ubantu装机别忘了装openssh sever,不然无法远程控制。用空格别用回车。

一些零碎基本知识点:

  • 命令提示符 root用户为#,普通用户为$ ,root账号家目录为 ~ . 命令提示符格式可以更改 ,存储在变量PS1(大写)中.
echo $PS1
PS1="[33[01;35m]A[[email protected]h w]\$[33[00m] "

紫色高亮显示时间,如果只在PS1修改,仅仅是内存中存入,开机无法存入,必须写入文件中,后缀必须sh,文件名可以自己写。

/etc/profile.d/####.sh 
  • 切换图形接口界面和命令行接口界面 ctrl+alt+F1,F2,F3,F4
    相当于增加了多个终端,且每个终端都可以登录同一个账号或者不同账号,linux天生支持多用户登陆。
    但是要注意它并没有关闭图形界面或者任何界面,他仅仅是增加了一个终端。
  • 图形界面的右下角有4个工作区域(centos7),centos6有俩。
  • linux里面的root和user的权限不是看名字决定的,而是看编号名决定,管理员id都是0,user不是0. 可以用 id -u (id -u zhang) 来查看用户ID.
  • 终端:不论用什么界面登陆都需要一个终端。远程基本是虚拟终端/dev/pts/# ,机上基本是/dev/tty#. 可以用tty指令来查看

whoami 可以查看当前账户
who am i可以查看当前账户和终端号等详细信息
who 可以查看当前所有终端和账户信息
w 则还可以查看当前各个终端用户的操作

技术图片

  • shell:也被称为系统编译器(计算机中均为二进制0101存储数据,必须用编译器将人类能理解的字符翻译为机器用的0101底层指令)
    它是linux下的一种交互式接口,也可以用来编程脚本。
    因为开源,所以有很多种shell。linux主要用bash shell, 在sh上的升级版。
    可以用 echo ${SHELL} 来查询本机所用的shell 。(shell大写,花括号可以不敲入)可以用 cat /etc/shells查看本机所装的所有shells.
    不同的shell命令有些不一样,shell集成的命令都是内部命令。

技术图片

  • 内部命令和外部命令,外部命令的速度很快是因为有搜索路径,存储在PATH变量中,可以用echo $PATH 查看。
     优先级:别名》内部命令》外部命令》直接写地址
    内部命令速度快,优先级高,如果有一个外部命令和它重名,也是先执行内部命令。 enable 或者 help可查看内部命令
    外部命令第一次执行是按照PATH来寻找,如果找到了,第一次执行后就把位置存在内存中了(缓存),之后就不再寻找了,这个缓存便存储在hash表中,一但注销便清空hash表,hash本身也是一个命令
  • 别名 alias ~/.bashrc(只对当前用户) /etc/bashrc(所有用户)
  • 硬件时间和系统时间,时区
  • 切换工作模式init: init 3:字符界面 init 5:图形界面 init 0 :关机 init 6:重启
  • screen多用户共同连接工作,远程操作防掉线(这个功能在工作中很常用)或者多用户相互帮助操作。 需要先安装 找到光盘挂载点 然后用 rpm -ivh ........Packages/screen
    注意:必须是连接的同一台电脑,同一个用户账户
  • TAB按键用来补全,一级命令补全,子命令补全(centos7),路径和文件名补全。
    技术图片

  • 命令的格式:
    技术图片

以上是关于Linux基本知识点整理(持续更新中..)的主要内容,如果未能解决你的问题,请参考以下文章

css面试题汇总 (持续更新)

css面试题汇总 (持续更新)

常见 git 需求整理(持续更新中)

持续更新JavaScript常见面试题整理

全部文章分类与整理(算法+数据结构+计算机基础),持续更新

[持续更新]电力电子网络资料整理