-
什么是shell?
在linux系统中shell称为刻,他区别于内核,他可以称为一个接口,用来实现外界软件与内核的交互,它接收用户命令,调用相应的应用程序,同时它作为一宽程序设计软件,设定了一定的参数和变量。
当前系统默认使用shell类型:bash ##GUN Bourne again Shell -
在linux之中如可运行命令
命令 参数 目标
ls -s test
ls --size test注意:
1.参数用来指定命令的某些功能,可以加也可以不加
2.命令和参数和目标之间要用空格分开
3.参数中“-” 表示单词的缩写,“–”表示单词的全拼
4.在执行命令时通常遵循这些规则,特殊情况除外
5.命令必须在行提示符之后输入,没有行提示符的输入时无效的 -
linux系统结构
Linux是一个倒数结构,最大的目录名称叫做’’/’’(根目录) -
linux系统中的二级目录
/bin ###二进制可执行文件,系统常规命令
/boot ###启动目录,存放系统自动启动文件,内核,初始化程序
/dev ###系统设备管理文件
/etc ###大多数系统配置文件存放路径
/home ###普通用户家目录
/lib ###函数库
/lib64 ###64位函数库
/media ###临时挂载点
/mnt ###临时挂载点
/run ###自动临时设备挂载点
/opt ###第三方软件安装路径
/proc ###系统硬件信息和系统进程信息
/root ###超级用户家目录
/sbin ###系统管理命令,通常只有root可以执行
/srv ###系统数据目录
/var ###系统数据目录
/sys ###内核相关数据
/tmp ###临时文件产生目录
/usr ###用户相关信息数据 -
文件管理命令
1.文件建立:touch filename <touch也可以同时建立多个文件>如下图:
注意:touch不仅可以建立文件,也可以修改文件的时间戳,时间戳分为
atime:文件内容被访问的时间
mtime:文件内容被修改的时间
ctime:文件属性或者文件内容被修改的时间
stat file是对文件整体的统计,其中有access访问时间,modify修改时间,change状态改变时间。也可通过stat来查看文件的mtime,ctime,atime等属性。
ls -lc file ###列出文件的ctime(最后的更改时间)
ls -lu file ###列出文件的atime(最后存取时间)
ls -l file ###列出文件的mtime(最后修改时间)
2.目录建立: mkdir directory
mkdir -p dir1/dir2/dir3 ## -p建立递归目录,当上层目录不存在时自动建立
3.文件删除:
rm file
rm -f file ###-f中的f指的是force,指的是强制删除不提示 <如界面途中所显示,如果是rm file则可能会遇到问题所以一般删除文件都要用rm -f file>
4.目录删除
rm -r directory ###-r表示递归删除也就是表示删除目录本身和目录里面的所有内容
rm -r -f dir ###删除目录不提示
rm -rf dir ###在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的
rm -fr dir
5.编辑文件
(1)gedit file ###必须有图形
(2)vim file---->按i进入insert模式---->书写内容---->按esc退出insert模式---->:wq退出保存
【######vim异常退出######
当vim异常退出时会生成.file.swp文件
当再次打开文件时会出现以下情况:
filename:kiosk/Desktop/hello
mofified:YES
username:kiosk hostname:foundation0.ilt.example.com
process ID:31820
if this already,delete the swp file’’.hello.swp’’<此文件中存放的是未保存的数据>
swp file’’.hello.swp’‘already exists
[O] pen read-only, ###只读打开
[E]dit anyway ###继续编辑
[R]ecover ###恢复数据
[D]elete it ###删除swp文件
[Q]uit,[A]bort ###退出
无论按上面任何一个都不会删除文件,那么再次打开文件时还会出出现以上界面,直到按(D),’’.swp’'文件才会被删除,vim恢复正常工作。
6.文件的复制
cp 原文件 目的地文件<如图中所演是如果目的地文件存在的话会显示overwrite因此这个文件的复制的目的地文件应该是不存在的,要不然可能会出现错误>
cp -r 源文目录 目的地目录 <在进行该命令的时候,命令没错误但是在目的地目录之中没有找得到原文目录,尝试重虚拟机再重新登录虚拟机然后在瞧这个命令就没以前的那个问题>
cp 源文件1 源文件2 目的地目录 ###目的地目录必须存在
cp -r 源文目录1 原文目录2 目的地目录 ###目的地目录必须存在
<cp复制时的目的地目录只有一个,原文件目录可以有多个>
7.文件移动
mv 原文件 目的地文件
mv -r 原目录 目的地目录
相同磁盘的文件移动是一个重命名的过程,不同磁盘的文件移动是复制删除的过程
8.文件查看
cat file ###查看文件的全部内容<如果查看的该文件是一个空文件则什么也不会显示直接会显示到下一个命令的输入》
cat -b file ###-b显示行号
less file ##分页浏览
用法:
上|下 ##逐行移动
pageup|pagedown ##逐页移动
/关键字 ##高亮显示关键字,n向下匹配,N向上匹配
v ##进入vim模式 在vim模式中按:wq 退回到less模式
q ##退出
9.文件寻址
(1)文件的地址分为:
相对路径:
相对与当前系统所在目录的一个文件名称的简写,
此名称省略了系统当前所在目录的名称
此名称不以“/”开头
此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径:
绝对路径是文件在系统的真实位置
此命令是以“/”开头的
此命令在命执行时系统不会考虑现在所在位置的信息
注意:
当操作对象是 对象1 空格 对象2 时,
这两个对象之间没有任何关系
豆角 茄子 ##这是2个对象
豆角茄子 ##这是一个对象
亲 ##动作是被系统执行的,不能作为名称出现
“亲” ##用引号的作用是把动作变成名称字符,这种方法叫引用
10.自动补齐
系统中的键可以实现命令的自动补齐
可以补齐系统中存在的命令,文件名称,和部分命令的参数
当一次<TAB>补齐不了时代表以此关键字开头的内容不唯一
可以用<TAB>X2来列出所有以此关键字开头的内容
11.关于路径的命令
(1)显示路径:pwd
(2)切换路径:
cd 目录名称 ##进入到指定目录中
cd - ##当前目录和当前目录值前所在目录之间的切换
cd ~ ##进入当前用户家目录
cd ~user ##进入user家目录
cd … ##进入当前目录的上级目录
(3)查看
ls
ls -l file ##文件属性
ls dir ##目录中包含的内容
ls -d dir ##目录本身
ls -a dir ##所有文件包含隐藏的
ls -S dir ##查看并且按照大小排序
(4)文件查看
cat ##输出文件全部内容
less ##分页浏览 <查看文件的时候可以通过q退出,同时也可以通过:wq退出>
head file ##查看文件前10行
head -n 3 file ##查看文件前3行<也可以写成head -3 file>
tail file ##查看文件后10行
tail -n 3 file ##查看文件后3行<也可以写成tail -3 file>
tail -f file ##监控文件后10行内容的变化
(5)文件的大小统计
wc
wc -l ##行数
wc -w ##单词数
wc -m ##字符数
wc -c ##字节数
12.系统中历史的调用
history ##查看历史
history -c ##清空当前环境中的历史
!数字 ##调用此行历史比如"!5"时执行历史中地5条命令
!test ##执行以test关键字开头的最近一条历史
ctrl +r +关键字 ##调用历史中最近一条含有此关键字的历史
13.在系统中获得帮助
(1)查看命令大用途
whatis 命令 ##查看命令的用途
注意:如果例如敲入whatis less 下面会显示less:nothing appropriate,此时不会显示命令的用途要敲入mandb然后在重新敲入whatis less就不会出错了
(2)查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
[ ] ##标示选项可以加也可以不加
… ##标示选项加入的个数任意
<> ##标示选项是必须要加入的
Userage: ##标示命令用法
Opetions: ##对参数的作用做说明
退出help命令也可以用:wq
(3)man查看命令或文件的说明手册
man 命令
man 5 文件
man的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则
man的基本用法
上|下 ##逐行查看
pgup|pgdn ##分页查看
/关键字 ##高亮显示关键字,n向下匹配,N上向匹配
:q ##退出
man -k 字符串 ##下看当前字符串在系统中拥有的man的级别
/usr/share/doc ##系统中所有安装过的软件
的帮助文档
当输入这个命令的时候显示的是它是一个目录因此要在前面加ls才可以出现相应的帮助文档
14.14.系统中的通用配置符号
“*” ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:space:]] ##单个空格
[[:alnum:]] ##单个数字或字母
[1-9] #1位,这位是1-9的任意数字
[!3-5] #1位,不是3-5的数字
[^3-5] #1位,不是3-5的数字
[a-z] #1位,a-z的任意字母
{1…3} #3个,1 2 3
{1,4,7} #3个1,4,7这三个数
~ #当前用户家目录
~username #指定用户的家目录
~+ #当前目录
~- #进入当前目录之前所在目录