一、shell
1.shell是什么?
(1)Shell是Linux系统中运行的一种特殊程序
(2)在用户和内核之间充当翻译官
(3)用户登录Linux系统时,自动加载一个Shell程序
(4)Bash是Linux系统中默认使用的Shell程序,程序位于bin/bash目录下
2.shell的工作原理(用自己理解话解释)
用户在交换页面输入一个命令(比如使用浏览器访问网页),shell会把命令翻译成计算机可以识别的二进制语言发送给内核(去通知系统需要进行什么样的操作,相当于解释层)。内核会执行并调用硬件,硬件才能工作,否则无法交互。
二、Linux命令分类
1.Linux命令的分类
内部命令 | 外部命令 |
集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
是属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
(1).内部命令的使用
###查看内部命令的命令
help / enable / type 这三个都可以查看shell的内部命令
禁用内部命令 :enable-n
[root@localhost/]# type cd
cd是shell 内嵌 //内嵌代表内部命令
(2).外部命令
[root@test1/#] type - a ls
ls 是 'ls --color=auto'的别名 //别名代表外部命令
ls 是 /usr/bin/ls //外部命令会有程序路径
[root@localhost/]#where is //where is 可以查看命令具体位置所在
外部命令存放于echo $ PATH 一个一个找,找到为止,找不到报无命令
[root@localhost/] # echo $ PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
[root@localhost ~] # type useradd
useradd是 /usr/sbin/useradd
[root@localhost ~] # useradd wu
[root@localhost ~]# type useradd
useradd 已被哈希 (/usr/sbin/useradd)
[root@localhost ~]# hash // 或者使用hash
命中 命令
1 /usr/bin /dd //前面数字代表用过几次
2 /usr/sbin/useradd
1 /usr/‘bin/whoami
3 /usr/bin/ls
[root@localhost ~]# hash -d dd //清除dd命令缓存 -r 全清
[root@localhost ~]# hash
[root@localhost ~]# which ping //外部命令的磁盘路径 -a 所有
/usr/bin
[root@localhost ~]# which help // 内部命令找不到
/usr/bin/which: no help in (usr/local/sbin; /usr/local/bin ; /root/bin)
[root@localhost ~]# where is echo //相关文档的帮助命令
三、Linux命令行
1.通用的命令行使用格式
【命令行】- 【选项】 - 【参数】
命令字 :是整条命令中最关键的一部分,唯一确定一条命令
选线 : 短格式选项 ;使用‘-’ 符号引导 长格式 ;使用“--”符号引导
参数: 就是命令字处理的对象 可以是 文件名,目录(路径)名或用户名等内容个数可以说零个到多个
2.Linux命令行的辅助操作
Tab键:自动补齐
反斜杠\ :强行换行
ctrl+u组合键:清空至行首
ctrl+K组合键:清空至行尾
ctrl+L组合键:清屏
ctrl+C组合键:取消本次命令
ctrl+A组合键:光标跳到行头
ctrl+E组合键:光标跳到行尾
3.获得命令的帮助方法
###help命令的使用
外部命令使用方法 useradd --help 字母用- 单词用 --
内部命令使用方法 help cd
使用man命令阅读手册页
使用上下箭头方向键滚动一行文本
使用page up 和 page down 键翻页
使用q或Q键退出阅读环境
按\ 键查找内容。
空格键是一页一页的浏览 n朝下 N朝上
回车键是一行一行
四、Linux常用命令
1 查看当前工作目录 -pwd
示例
[root@localhost ~]# pwd
/root //
[root@localhost ~]# su-kgc
[root@localhost ~]# pwd
/root/kgc
2.切换到工作目录 -cd
cd /目标位置/ //切换到目标位置
cd~ | cd //找不到指定目标位置 ,切换到当前用户的宿主目录
cd - //切换到上一次执行cd命令之前所在的目录
cd ../ 切换到上层目录 ../../上两层
cd + 空格 //切换到用户的家目录
cd ~user //切换到某一个用户的家目录,只有root才行,别的用户只能在自己家
绝对路径:以跟开头的是绝对路径 比如 /home/kgc
相对路径:
(1)直接使用目录或文件名 表示当前工作目录中的子目录,文件的位置 示例 grub。conf
(2)以一个点号开头 . 表示以当前的工作目录作为起点 ./grub.conf
(3)一两个点开头.. 表示以当前目录的上一级目录(父目录)作为起点 ..//vmlinuz
(4)以~用户名形式开头 表示以指定用户的宿主目录为起点 ~student
3. 列表显示目录内容-ls(常用选项 可结合通配符)
显示目录中内容,包括目录和文件相关属性信息
命令字 【选项】 【参数】
操作 功能 要执行的对象
-l //将文件信息属性详细列出,通常直接使用ll,因为设置了别名
-R //递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d // 查看目录本身的信息,不显示目录下的内容
-i //显示inode 值
-h //友好显示文件大小
-a //遍历所有文件及目录
-A //跟小 a唯一不同是不列出当前目录和上一层目录
-t // 以时间来查找目录内容
“?” //匹配文件名中的一个未知的字符
“*" //匹配文件名中的任意多个字符
ls -lh 扩充
- 普通文件
d 目录文件 directory
b 块设备文件 block
p管道文件 pipe
s套接字文件 socket
l符号链接文件link
5.颜色的区别
白色数据文件 txt
绿色 可执行文件
黄色 块设备文件
红色 压缩包
蓝色 文件夹
天蓝色 连接文件 (快捷方式)
[root@localhost mnt]# ll
#长格式 总用量 0
drwxr-xr-x 3 root root 152 8 月 17 9:18 asd
第一个字段 d代表文件类型比如 d是目录-是普通文件
第2-9 (rwxr-xr-x)字母表示该文件的权限
root文件所有者
root 文件所属组
152 文件大小
17 9:18文件最近使用时间
asd 文件或目录名称