linux 基础

128 阅读5分钟

基础

linux的哲学思想

  • 一切都是一个文件。(包括硬件,文本,二进制,源代码)
  • 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
  • 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
  • 避免令人困惑的用户界面就是没有复杂的图形界面。
  • 连配置文件都存储在文本中,方便增删改查。
  • 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。

sell

shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。

image.png 用户使用应用程序发布指令,比如使用浏览器访问网页;

shell去通知操作系统需要进行什么样的操作(相当于解释层);

内核相当于操作系统去指挥硬件;

硬件才能工作,否则无法交互。

[root@localhost las]$ 
root       //表示用户 
localhost  //主机名
~          //家目录
#          //管理员用户
$          //普通用户
las        //当前所在目录

#关机命令:
1、halt                  //立刻关机
2、poweroff              //立刻关机
3、shutdown -h now       //立刻关机(root用户使用)
4、shutdown -h 10        //10分钟后自动关机

#重启:
reboot
init6
shutdown -r now

sh         //切换shell环境

pstree     //查看使用过的shell环境

shell与内、外部命令

shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令。

内部命令外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分属于Shell解释器程序之外的命令
没有单独对应的系统文件每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用必须知道其对应的文件位置,由Shell加载后才能执行
一般内部命令存储在 PATH 中
echo $PATH         //查看所有PATH路径

PATH默认为下列目录
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

可以用type命令来区分内外命令
[root@localhost /]# type cd cd 是 shell 内嵌 // 内嵌代表内部命令 
[root@test1 /]# type -a ls 
ls 是 `ls --color=auto' 的别名 //别名代表外部命令 
ls 是 /usr/bin/ls //外部命令会有程序路径

ash 缓存空间

hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。

当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。

命令选项

选项说明
-d<指令>在哈希表中清除某个命令记录
-r清除哈希表中的所有记录
-l显示哈希表中的命令
-p<指令>将具有完整路径的命令加入到哈希表中
-t<指令>显示哈希表中命令的完整路径

将缓存的外部命令移到其他默认的目录中,无法再次使用,需要清掉hash值之后 ,才可以继续使用。

命令格式

命令字 空格 [选项] 空格 [参数] image.png

  1. 命令字 是整条命令中最关键的一部分 唯一确定
  2. 选项 短格式选项:使用“-”符号引导 通常 一个字母 长格式选项:使用“--”符号引导 通常完整的单词
  3. 参数 命令字的处理对象 可以是文件名、目录(路径)名或用户名等内容 个数可以是零到多个 ;可以隔开命令,执行多个命令

命令行快捷键

快捷键功能
Tab键自动补齐(两次可以显示所有选项)
反斜杠“\”强制换行或转义
Ctrl+a光标移到最前
Ctrl+e光标移到最后
Ctrl+U清空至行首不包括当前光标处的 字符
Ctrl+K清空至行尾包括当前光标处的字符
Ctrl+w从当前光标删除到开头
ALT+d从当前光标删除末尾
Ctrl+l清屏
Ctrl+c取消本次命令编辑
Ctrl+s/Ctrl+q锁屏/解锁
向上下箭头回看执行过的命令

帮助命令

help 内部命令     //查看内部命令帮助
--help 外部命令   //查看外部命令帮助

man 命令         //查看命令结构

man分九个章节默认打开第一章节
查找区段的顺序。具体区段划分如下 所示: 
区段1:用户指令 
区段2:系统调用 
区段3:程序库调用 
区段4:设备 
区段5:文件格式 shadow passwd fstab 
区段6:游戏 
区段7:杂项 
区段8:系统指令 
区段9:内核内部指令 
区段n:Tcl或Tk指令

info 命令         //也可以查看相关的帮助信息

七类常见的 linux 的文件

第一个字符*文件类型*
-普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d目录,类似 Windows 系统中的文件夹。
b块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c字符设备文件,例如键盘、鼠标等。
s套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l链接文件,类似 Windows 系统中的快捷方式。

根下文件及作用

bin  普通用户二进制 命令

etc  默认配置文件

mnt 挂载点文件夹

opt  第三方软件

root 超级管理员的家目录 ~ 当前用户的家目录

sbin 超级管理员使用的二进制命令

tmp 系统临时文件tmp

/var/log  日志

boot 开机启动必须的一些文件

dev  硬件 硬盘

proc 主要保存系统的内核、进程、外部设备状态和网络状态等

sys  系统

usr  应用程序和操作系统相关的文件