目录
一、Shell
■Linux系统中运行的一种特殊程序
■在用户和内核之间充当“翻译官”
■用户登录Linux系统时,自动加载一个Shell程序
■Bash是Linux系统中默认使用的Shell程序
●文件位于/bin/bash
二、Linux命令的分类
■内部命令与外部命令的区别
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in) 指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shel的一部分 | 属于Shel解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shel加载后才能执行 |
三、linux的哲学思想
优点,优势
1.一切都是一个文件。 (包括硬件)
2.系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
3.当遇到复杂任务,通过不同功能用途的程序组合起来完成。
4.避免令人困惑的用户界面就是没有复杂的图形界面。
5.连配置文件都存储在文本中,方便增删改查。
6.不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
Linux系统里面的各个目录文件夹的大致功能:
主要的目录树的有/、/root、/home、/usr、 /bin 等目录。下面是一 个典型的linux目录结构
/根目录
/bin存放必要的命令
/boot存放内核以及启动所需的文件
/dev存放设备文件
/etc存放系统配置文件
/home普通用户的宿主目录,用户数据存放在其主目录中
/lib存放必要的运行库
/mnt,存放临时的映射文件系统,通常用来挂载使用。
/proc存放存储进程和系统信息
/root超级用户的主目录
/sbin存放系统管理程序
/tmp存放临时文件
/usr存放应用程序,命令程序文件、程序库、手册和其它文档。
/var系统默认日志存放目录
四、Linux命令行的格式
格式
命令字空格[选项]空格[参数]
解释命令字选项参数各自的意思及具体使用方法
1.命令字.
是整条命令中最关键的一部分
唯一-确定一条命令
2.选项
短格式选项:使用“-”符号引导通常一个字母
长格式选项:使用”--”符号引导通常完整的单词
3.参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
五、获得命令帮助的方法
1.内部命令help
●查看Shell内部命令的帮助信息
2.命令的‘“-help"选项
●适用于大多数L inux外部命令
3.使用man命令阅读手册页
●使用“T”、“↓”方向键滚动- -行文本
●使用Page Up和Page Down键翻页
●按Q或q键退出阅读环境
●按“\"键查找内容,
4.百度
六、相对路径与绝对路径
1、绝对路径
绝对路径有三种使用方法:
(1)反斜杠 ‘\’:由于反斜杠 ‘\’ 要用作转义符, 所以如果要使用反斜杠表示路径,则必须使用双反斜杠,例子: ‘C:\Users\Administrator\Desktop\image\image1.jpg’
(2)原始字符串 r’’:可以使用原始字符串+单反斜杠‘\’的方式表示路径,例子:
r’C:\Users\Administrator\Desktop\image\image1.jpg’
(3)斜杠‘/’:为了避免转义符 ‘\’ 和 原始字符串的麻烦,可以直接用 斜杠‘/’,python中是承认‘/’用于路径分割符号的,例子:C:/Users/Administrator/Desktop/image/image1.jpg’
2、相对路径
./Image 表示当前目录下的 Image文件夹
…/Image 表示当前目录的上一层目录下的Image文件夹
/Image 表示项目根目录
相对路径的表现形式
表现形式 | 说明 | 示例 |
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号"."开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号".."开头 | 表示以当前目录的上一级目录(父目录)作为起点 | ./vmlinuz |
以"~用户名"形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
七、命令讲解
-代表普通文件 l代表连接文件 b代表块文件 c 代表字节文件 p 代表管道文件 s代表套接字文件
黑色是普通文件 绿色是可执行文件 红色的是压缩包文件 蓝色是文件夹 天蓝色是连接文件
-l 以长格式显示 -a显示所有文件包括隐藏文件 -A不显示隐藏文件 -d只显示指定目录 -h友好显示 -R递归将当前目录下的子目录文件显示出来
符号 | 效果 |
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配"."开头的文件,即隐藏文件 |
{1..10} | 1到10 |
{a..z} | abC...z |
{A..Z} | ABC ....z |
[123] | 取其中之一有就显示没有也无所谓 |
[0-9] | 匹配数字范围 |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示a-z |
[[:upper:]] | 大写字母表示A-Z |
[[^zhou]] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
设置别名-alias
■通过别名机制简化常用的、比较长的命令 alias 命令别名=命令
■示例
●设置myls为Is -alh的别名
alias myIs='ls -alh'
修改当前用户的 家目录下的. bashrc文件只对当前用生效
创建新的空目录
mkdir [选项]目录位置及名称...
示例
●在当前目录下创建名为public_ html 的子目录
mkdir public_html
●创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb
目录下创建子目录cc
mkdir -p /aa/bb/cc
1.文件名最长255个字节^C
2.可以使用特殊字符除了/和空字符^C
创建空文件-touch命令
■更新文件的时间标记
■经常用于创建多个新的空文件
touch文件...
■示例
●创建两个空文件,文件名分别为aa和bb
touch aa bb
创建链接文件-In
■为文件或目录建立链接文件,类似于Windows系统的快捷方式
■链接文件类型
●软链接(又称为符号链接)
●硬链接
创建软链接
In [-s]源文件或目录...链接文件或目标位置
■示例
In -s /bin/bzip2 /bin/wx
复制文件或目录-cp
■将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项]...源文件或目录...目标文件或目录...
■常用选项
选项 | 说明 |
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
i优先级高于f
删除文件或目录-rm
■删除指定的文件或目录
rm [选项]要删除的文件或目录...
■常用选项
●-f、-i、-r
■示例
rm -rf public_ html/grub/
rm -i public_html/apg.conf
移动文件或目录-mv
■将指定的文件或目录转移位置
D
■如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项]... 源文件或目录...目标文件或目录
■示例
mv mytouch mkfile
mv mkfile public_ _htmI/
批量改名
rename 旧名字新名字源文件名
查找命令/文件存放目录-which
■搜索范围由环境变量PATH决定(echo $PATH)
which命令|程序名
或
which -a命令|程序名
■示例
which Is
which cd
Locate *.cfg
查找.cfg的文件 特点:不是即时的,是从你的系统数据库中查找
查找文件或目录-find2-1
■采用递归方式,根据目标的名称、类型、大小等不同属
性进行精细查找
find [查找范围] [查找条件表达式]
find 优点:及时查找 精确查找 支持 查找的条件比较多
缺点:慢
find /etc -name passwd
命令字 查找范围 匹配条件 文件名
/home 是非管理员用户的家目录
Find /home/ -nouser 寻找没有主人的用户
大于1G 或者约等于1G
find -size +1k
/dev/zero /dev/null
黑洞
>>追加 >覆盖
+大于 -小于 如果你不+- 他代表一段范围
100-1=99
查找1G的文件
find -size 1024M
使用find命令实现多个查找条件
■各表达式之间使用逻辑运算符
-a表示而且(and)
-o 表示或者(or)
■示例
find /boot -size +1024k -a -name "vmlinuz
find /boot -size +1024k -0 -name "vmlinuz*"
八、总结
主要学习Linux的命令与shell,需要熟练掌握Linux的命令和shell的概念才能学好Linux