目录
一.Shell的意义
Linux系统中运行的一种特殊程序
在用户和内核之间充当"翻译官“
用户登录Linux系统时,自动加装一个shell程序
Bash是Linux系统中默认使用的Shell程序
二. Linux命令的分类
内部命令和外部命令的区别
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊命令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
执行命令顺序,别名>内部命令>缓存>外部命令
三.Linux优点
1.一切都是文件(包括硬件)
2.系统中的拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
3.当遇到复杂任务,通过不同功能用途的程序组合起来完成。
4.避免令人困惑的用户界面就是没有复杂的图形界面。
5.连配置文件都存储在文本中,方便增删改查。
6不在乎后缀名,有没有无所谓,不是通过后缀名来定义文件的类型
四.基本命令
[root@localhost bin]#
root:当前用户 localhost:主机名称 bin:目前所在目录 #管理员 $普通用户 ~家目录
关机命令
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
[root@localhost~]# init 0
#关机,也就是调用系统的 0 级别
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
[root@localhost ~】# init 6
#重启,也就是调用系统的 6 级别
注:如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
五.格式
命令字 空格 【选项】空格 【参数】
命令字
是整条命令中最关键的一部分
唯一确定一条命令
选项
短格式选项:使用“-”符号引导 通常一个字母
长格式选项:使用"--“符号引导 通常完整的单词
参数
命令字的处理对象
可以是文件名、目录(路径名)或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
六.编辑Linux命令好的辅助操作
快捷键 | 功能 |
TAB键 | 自动补齐(两次可以显示所有选项) |
\ | 强制换行 |
CTRL+a | 光标移到最前 |
CTRL+e=end键 | 光标移到最后 |
CTRL+u | 清空至行首 |
CTRL+k | 清空至行尾 |
CTRL+w | 从当前光标删除到开头 |
CTRL+d | 从当前光标删除到末尾 |
CTRL+l | 清屏 |
CTRL+c | 取消本次命令编辑 |
CTRL+s/CTRL+q | 锁屏/解锁 |
上下箭头 | 回看执行过的命令 |
七. 获得命令帮助的方法
1.内部命令HELP
查看Shell内部命令的帮助信息
命令的”--help“选项
适用于大多数Linux外部命令
2.使用man命令阅读手册页
使用上下方向键滚动一行文本
使用page up和page down 键翻页
按Q和q键退出阅读环境
按"\”键查找内容
八.查询命令
1.查看该文件的路径命令
pwd
注意:绝对路径 "/“是唯一主路径口
相对路径 非”/“进入的
.文件名 隐藏文件
. 代表本地目录
.. 代表上一级目录
2.cd用来切换工作目录
命令的基本格式如下:
[root@localhost ~]# cd [相对路径或绝对路径]
特殊符号 | 作 用 |
---|---|
~ | 代表当前登录用户的主目录 |
~用户名 | 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
.. | 代表上级目录 |
3.列表显示目录内容-ls
显示目录中的内容,包括子目录和文件相关属性信息
ls [选项] [文件或目录]
-l | 长格式显示 |
-a | 显示所有文件,包括隐藏文件 |
-A | 显示正常文件 |
-d | 显示目录 |
-lh | 显示文件大小方式 |
-R | 递进式显示文件夹内容 文件夹→文件夹里面的内容 |
--color | 显示文件类型用颜色标识 |
ls一般不单独使用,结合通配符,通配符只匹配文件名,
“?”:匹配文件名中的一个未知字符 f?.TXT
“*”:匹配文件名中的任意多个字符 不包括以.开头的文件即隐藏文件
{1..10}1 到10
{a..z}a到z
{A..Z}A到Z
[123]取其中之一有就显示没有也无所谓
[0-9]匹配数字范围 可以叠加
[a-z]按大小排列列出a-z除了Z以外所有文件
\转义符,表示原来的意思
[^zhou]匹配列表中的所有字符以外的字符,不显示z h o u 字母的
[[:lower:]]; 小写a-z
[[:upper:]]:大写A-Z
[[:digit:]]:任意数字,相当于0-9
d 文件夹 目录 - 普通文件 rw读写权限 2 连接次数 root 属主 root 属组 6代表大小
1按提示符分类:d目录 -普通文件 l代表连接文件 b块文件 c字节文件 p管道文件,s 套接字文件
2按颜色分类:黑色普通文件,绿色可执行文件,红色压缩包文件 蓝色文件夹 天蓝链接文件
4.alias设置别名
通过别名机制简化常用的、比较长的命令
alias 命令别名=命令或‘长命令’
修改是重启后失效,如果长期生效得去~家目录下修改bashrc文件
取消别名 :用“\”+别名
5.du 统计目录及文件空间占用情况
-a 显示所有文件大小
[root@localhost /]# du -a /opt
0 /opt/rh
0 /opt/A.TXT
0 /opt/cc
4 /opt/2.txt
4 /opt/zy.tar.gz
8 /opt
-h 显示方式不同 以4k方式
[root@localhost /]# du -h /opt
0 /opt/rh
8.0K /opt
-s 只显示总量
[root@localhost /]# du -s /opt
8 /opt
-- max-depth=n 最大显示第n层
[root@localhost etc]# du --max-depth=2
20 ./fonts/conf.d
28 ./fonts
九.创建命令
1.创建新目录mkdir
创建新的空目录
mkdir [选项] 目录位置及名称....
1.文件名最长255个字节
2.可以使用特殊字符,除了/和nul(空字符)
-p 多级创建,一级一级创建
[root@localhost /]# mkdir -p /opt/zy
[root@localhost /]# cd /opt
[root@localhost opt]# ls
2.txt A.TXT cc rh zy zy.tar.gz
2.touch 创建新文件
1)touch
可以为空文件,大小为0k
[root@localhost zhou]# ls
1.txt 2.txt
[root@localhost zhou]# touch {a..z}.txt
[root@localhost zhou]# ls
1.txt b.txt e.txt h.txt k.txt n.txt q.txt t.txt w.txt z.txt
2.txt c.txt f.txt i.txt l.txt o.txt r.txt u.txt x.txt
a.txt d.txt g.txt j.txt m.txt p.txt s.txt v.txt y.txt
对已存在文件刷新文件时间
[root@localhost zhou]# touch a.txt
[root@localhost zhou]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 9月 1 15:00 1.txt
-rw-r--r--. 1 root root 0 9月 1 15:08 2.txt
-rw-r--r--. 1 root root 0 9月 3 19:53 a.txt
-rw-r--r--. 1 root root 0 9月 3 19:52 b.txt
2)vim
3) > 输出重定向 ,传向某处
3.创建链接文件-ln
为文件或目录建立链接文件,
软链接 ln -s 源文件或目录。。。链接文件或目标位置
软链接依托于源文件,源文件没有了,那软链接也就失效了,必须使用绝对路径
[root@localhost opt]# ln -s /mnt/zhou/z.txt /opt
[root@localhost opt]# ls
2.txt A.TXT cc rh zhou z.txt zy zy.tar.gz
自行安装软件系统不识别,1.用软链接到$PATH 2.将程序复制到$PATH 路径/user/bin。3.修改$PATH路径
硬链接ln
同一个文件取不同的名或者叫多个名字
无法对文件夹做硬链接,无法跨分区建立连接几乎很少用
对比项 | 硬链接 | 软链接 |
本质 | 同一个文件 | 不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问链接文件 |
文件类型 | 和源文件相同 | 链接文件和源文件无关 |
文件大小 | 和源文件相同 | 源文件路径的长度 |
4.复制文件或目录- cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项] 源文件或目录 目标文件或目录
常用选项
-f 强制复制 在cp前加\
-i 覆盖时如果同名提醒用户确认 优先级高于-f,默认是有i的
-p 复制时,基本属性不变
-a 复制时,连软链接也能复制
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
第一次改名,第二次复制到子目录,第三次就是覆盖
复制多个文件,只能复制到已存在的文件夹或者目录当中
[root@localhost opt]# cp /mnt/zhou/[u,o].txt /opt
[root@localhost opt]# ls
1.txt 2.txt A.TXT cc c.txt e.txt o.txt rh u.txt zhou zy zy.tar.gz
5.删除指定的文件或目录-rm
rm [选项] 要删除的文件或目录
-f -i -r 同cp
[root@localhost opt]# ls
2.txt A.TXT cc rh zhou z.txt zy zy.tar.gz
[root@localhost opt]# rm -f z.txt
[root@localhost opt]# ls
2.txt A.TXT cc rh zhou zy zy.tar.gz
6.移动指定文件或目录-mv
mv [选项] 要移动的文件或目录
如果目标名称和源目标在同一路径相当于改名不能批量改名
[root@localhost opt]# ls
1.txt 2.txt A.TXT cc c.txt e.txt o.txt rh u.txt zhou zy zy.tar.gz
[root@localhost opt]# mv /mnt/zhou/y.txt /opt
[root@localhost opt]# ls
1.txt A.TXT c.txt o.txt u.txt zhou zy.tar.gz
2.txt cc e.txt rh y.txt zy
删除文件无法释放空间,可用以下命令
echo " ">删除的文件
7批量改名rename
rename 旧名字 新名字 源文件
总结
Shell的定义
linux的优点
liuux的基本命令,格式,各个符号的含义
创建文件,移除文件,查看文件