1.shell与linux的关系
1,LIUNX系统中运行的一种特殊程序
2,在用户和内核之间充当翻译官
3,用户登录linux系统时,自动加载一个shell程序
4,Bash是Linux系统中默认使用的Shell程序
shell文件位于/bin/bash 下
补充:
内核到硬件是通过驱动
装内核环境就是字符界面(最小化安装)
2.Linux命令的分类
2.1Linux命令分为两种,为:内部命令,外部命令
内部命令 | 外部命令 |
---|---|
集成于shell解释器内部的一种特殊命令也称为内建(built-in指令) | Linux系统中能够完成特定的脚本文件或二进制程序 |
属于shell的一部分 | 属于解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了额系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
内部命令与外部命令的区别
内部命令:伴随内核而自带的命令,没有独立文件存在,在早期版本6.0之前,cd命令就是内部命令
外部命令:不伴随内核自带,需要额外安装才能够使用,有独立文件,命令文件路径会指定在环境变量中 $PATH
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2.2常用的linux有以下七种:
bash :大多数linux默认使用的shell,所包含的功能几乎可以涵盖shell所具有的功能
csh :使用的是类C语法,其内部命令有52个,较为庞大,并已被/bin/tcsh取代
tcsh :语法与Brourne相同,同时具备了C shell的易用特点
ksh :是csh的增强版,与C shell 完全兼容
sh :是一个快捷方式,已经被/bin/bash所取代
nologin :指用户不能登录
zsh :目前Linux里面最庞大的一种shell,他有84个内部命令,使用起来较为复杂,一般情况下,不会使用
2.3 常用的bash路径命令为:
root@server1 ~]# which bash /找命令的路径
/usr/bin/bash
3.Linux命令行格式
通用的命令行使用格式
命令字 {选项} {参数}--英文字符区分大小写
命令字
是整条命令中最关键的一部分
唯一确定一条命令
选项:+ 短格式选项: 使用“-”符号引导
+ 长格式选项:使用“--”符号引导
参数 + 命令字的处理对象
+ 可以是文件名,目录(路径)名或用户名等内容
+ 个数可以是零到多个
例如: ls -l /root 查看 root , ls --help 查看命令解释
<font color ="red">注意:命令区分大小写</font>
4.编辑命令行
编辑命令行的辅佐操作有以下几种快捷方式
Tab 键:自动补齐
反斜杠\:强制换行
Ctrl+U:清空至行首
Ctrl+K: 清空至行尾
Ctrl+L : 清屏
Ctrl+C: 取消本次命令编辑
5.获得命令帮助的方法
内部命令 help :查看shell内部命令的帮助信息
命令的“--help”选项 :适用于大多数Linux外部命令
使用man命令阅读手册页
使用“↑”、“↓”方向键滚动一行文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境
按“\”键查找内容
会逐个解释参数的作用以及用法
6.基础命令
6.1查看当前工作目录-pwd
显示用户当前所在的工作目录位置 (绝对路径)
pwd命令用于显示用户当前所在的工作目录位置,工作目录是用户操作文件或其他子目录的默认位置起点。使用pwd命令可以不添加任何选项或者参数。例如,root用户在/root目录下执行pwd命令时若输出信息为“/root”,则标识当前的工作目录位于/root
[root@server1 bin]# pwd
/bin
6.2切换工作目录 -cd
将用户的工作目录更改到其他位置
格式 | 说明 |
---|---|
cd目标位置 | 切换到目标位置 |
cd ~ / cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
绝对路径;完整路径(从根目录开始的路径)
相对路径:从当前路径出发到达目标路径
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录,文件的位置 | grub.conf |
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
6.3列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关属性信息
ls {选项} {文件或目录...}
常用选项
-l -a -A -d -h -R -color
结合通配符
?:匹配文件名中的一个未知字符
* : 匹配文件名中的任意多个字符
ls命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。使用的参数可以时目录名,也可以是文件名,允许在同一条命令中同时使用多个参数。
-l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不适用-l选项时,ls命令默认以短格式显示目录名或文件名信息。
-a:显示所有(ALL)子目录和文件的信息,包括名称以“.”和“…”开头的隐藏目录和隐藏文件。
-A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即标识当前目录的“.”和表述父目录的“…”。
-d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用。
-R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
-r:倒序显示文件内容
–color:在字符模式中以颜色区分不通的文件,如果使用“–color=tty”,在表示使用终端预定义的颜色方案。通常情况下,蓝色表示目录,天蓝色表示软链接,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件,黑色表示数据文件。
6.4设置别名-alias
通过别名机制简化常用的,比较长的命令
格式: alias 命令别名 = 命令文件名
例如: 将文件abc 的别名设置为 def
[root@server1 ~]# ls -ln
[root@server1 ~]# alias def="abc" //将别名设置为def
[root@server1 ~]# alias -p //显示设置的别名
alias def='abc'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
[root@server1 ~]# alias def //查看某个别名代表的含义
root@server1 ~]# unalias def //删除当前设置的别名,此方法只针对当前状态下 的设置,如果退出再进入则无效
6.5指定目录或文件所占用磁盘空间大小du
du 【选项】 【文件或目录…】
du -a : 统计磁盘空间占用时包括所有文件,而不仅仅只统计目录
du -h: 以更人性化的方式(默认以B计数,但不显示单位)显示出统计结果
du -s :只统计所占用空间总的(Summary)大小,而不是统计每个子目录,文件的大小
[root@server1 ~]# du -sh /var/log/ //统计磁盘所占用的空间大小
6.7M /var/log/
[root@server1 ~]# du -ah /var/log/ //统计磁盘所每个文件及目录所占用的空 间大小并列出来,这里只展示了其中一部分
0 /var/log/tallylog
8.0K /var/log/grubby_prune_debug
50K /var/log/lastlog
30K /var/log/wtmp
2.0K /var/log/btmp
6.6创建新目录 mkdir
格式
mkdir abc 在当前目录下创建 abc
mkdir /abc/bbb 在abc目录下创建bbb
-p:创建多层文件夹(两层未存在)
6.7创建新文件 touch
格式: touch 文件 名
更新文件的时间标记
经常用于创建多个新的文件
示例
touch aa bb
创建文件三种方式:
1.屏幕内容捕捉生成新文件:
系统中:
重定向符号 >:把屏幕中输出的内容写入到新文件中,或者覆盖同名文件内容 (高危命令) 在屏幕中输出的内容都可以借助 > 写入到一个新文件中(实现备份),所以它经常用来备份(grep、ps aux等都可以)
追加符号>>:在指定文件末尾加入内容
导入符号< :使用场景:mysql 数据库脚本导入使用
2.开发语言中:
>> << 位运算符号
3.vi编辑器生成新文件:
vim和vi比,能自动检查语法,语法错了变颜色提醒,可以写shell和python脚本
vim新文件后什么也不写:
q–不保存退出,没动过这个文件,不会生成这个新文件
wq–保存退出,会生成新文件(空的)
借助文件流IO(字符流(文本),字节流(图片))底层原理生成文件
6.8创建连接文件 -ln
为文件或目录建立链接文件,类似于windows系统的快捷方式
连接文件类型
软连接 又称为符号连接,创建连接的时,会创建一个访问的快捷方式,当删除链接时软连接失效
硬链接 :创建连接时,会创建一个文件,删除连接对文件没有影响
6.9复制文件或者目录 - cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或者目录
格式为: cp [选项】… 源文件或目录 … 目标文件或目录
常用选项
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限,属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
6.10删除文件或目录 - rm
格式 :rm 删除的文件或目录
常用选项 :-f(忽略不存在的文件和参数,不提示) , -i (移除前提示), -r(递归删除目录及其文件
6.11移动文件或目录- mv
格式:mv 源文件或目录 目标文件或目录
6.12查找命令 /或文件目录存放目录-which
格式:which 文件或者目录名
6.13查找文件或目录 -find
格式:find 查找范围 查找条件
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目录文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 一般使用“+”,“-”号设置超过或小于指定的大小作为查找条件 |
按文件属主 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找,文件类型包括普通文件(f),目录(d)块设备文件(b)字符设备文件(c)等 |