前言
在我们的运维工作过程中,不可避免的会接触到Linux系统,要想从容应对出现的问题,势必要搞清楚Linux的运行过程,首先最基础的是需要从业人员牢牢掌握Linux的基本命令,今天带着大家回顾一下基础命令以及回忆一下何谓shell脚本。
目录
1.shell脚本介绍
其实说到Linux的时候,势必会提到shell脚本,这是一种在Linux中运行的特殊程序,其作用是在用户和内核(操作系统)中充当"翻译官",它是在加载Linux时自动开启的程序,通过Linux中的bash文件运行,bash是Linux中默认使用shell文件的,bash文件的位置位于/bin/bash。 如图所示: shell及承接用户以及操作系统的中间工具,举个例子:假设用户输入的语言是矿石,shell脚本就是熔炼铁矿石的工厂熔炼出内核需要的"钢铁"。
2.Linux命令分类
如图表示所示: 展示内部命令与外部命令区别 我们可以在模拟器上通过’type" 判别命令是内部还是外部: 其中外部命令有个显著特点,即“别名”。 注意:譬如类似这种未出现别名的也是外部文件,因为它对应系统中的一个文件。 外部命令一般存放于 $PATH文件中,并且外部命令只要使用过后就会被记录在内存,下次再使用加载就会快很多。就像东西第一次使用要找半天,但是使用一次后就会被放入收纳箱下次很快就能找到了。在脚本命令中显示为“哈希”,即被内存收录,如下图。 要想清楚已被哈希的文件也很简单,如图:hash -r即可,2次哈希的文件即为空。 tips:想查询也可输入enable,出现的都是内部命令。但是我个人感觉还是type更方便一点点。
①.Linux命令行的格式
格式 = 命令字 + 选项 + 参数 命令字:操作; 选项:功能; 参数:对象 命令字:整条命令中最关键的一部分,唯一确定一条命令。 选项:短格式选项:使用“-”符号引导 长格式选项:使用“–”符号引导 即:ls -l /opt 由命令字+选项+参数组成 选项中:-添加字母 –添加单词 参数:命令字的处理对象 可以是文件名,目录(路径)名或用户名等内容 个数可以是0或多个 举例:ls -l /home 显示home目录下的用量为0
②编辑Linux命令行
编辑Linux命令行 编辑Linux命令行的辅助操作
Tab键:自动补齐 如Tab后面不显示新单词再次tab 反斜杠“\”: 强制换行 Ctrl+U组合键:清空至行首 Ctrl+K组合键:清空至行尾 Ctrl+L组合键:清屏 Ctrl+C组合键:取消本次命令编辑
③获得命令的帮助方法
内部命令help:多查shell内部命令 命令的“–help”选项:多事Linux外部命令 man命令是进入阅读手册:命令 man cd 进入阅读即可翻页是page up page down q是退出 ’ /’ 是查找内容 shift -n 向下 N向上 /-i #(查找的功能选项)
3.Linux的命令(部分)
①pwd: 1、英文全称:print working directory 2、中文含义:显示当前工作目录的绝对路径 3、案例 显示当前工作的绝对路径 [root@localhost~]#pwd /root 图:电脑修好再添加
②cd: 切换工作目录 将用户的工作目录更改道其他位置 格式 说明 cd目标位置 切换到目标位置 cd~ 若不指定目标位置,切换到当前用户的宿主目录 cd cd- 切换到上一次执行cd命令之前所在的目录 绝对路径:“/”起始的都是绝对路径,每个文件或者文件夹只有一个绝对路径 相对路径:相对路径是指相对于当前文件的路径,
③ls: ls:列表显示目录内容 显示目录中内容,包括子目录和文件的相关属性信息 ls [选项】 【文件或目录。。。】 常用选项 -l:#将文件信息属性详细列出,通常直接使用,因为设置了别名。 -R:#递归显示,比如一个人目录下还有文件,则把那个文件也一起列出。 -d:#查看目录本身信息,不显示目录下的内容 -i:#显示inode值 -h:友好显示 -a:遍历所有文件及目录(ls内定将文件名或目录名称开头为“.”的视为隐藏档,不会列出) -A:#-a唯一不同的是不列出当前目录和上一层目录。 结合通配符 “?”:匹配文件名中的一个未知字符 “*”:匹配文件名中任意多个字符 ④alias: alias:设置别名 通过别名机制简化常用的,比较长的命令 alias命令别名(新名字)=命令(旧名字) 示例 设置myls为ls-alh的别名 alias myls=‘ls-alh’ alias只是暂时的,重启之后就没了,需要用到命令:vim /root/bash添加设置以后,需要重启或者刷新配置(命令:source /root/bash )。
⑤du: 统计目录及占用文件的情况- 统计指定目录(或文件)所占用磁盘空间的大小 du [选项】 【文件或目录。。。】 常用选项 -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 -h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 -s:只统计所占用空间的大小,而不是统计每个子目录,文件的大小 示例: 统计出/var/log 目录所占用空间的大小 du -sh/var/log/
⑥mkdir: 创建新的空目录 mkdir [选项】目录位置及名称。。。 示例:在当前目录下创建名public_html的子目录 mkdir public_html 穿件目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc mkdir -p /aa/bb/cc 示例2:在aa下创建四个文件夹1,2,3,4 mkdir aa/{1,2,3,4} ls -R aa可以显示递归 示例3:另一种表示在aa下创建四个文件夹1,2,3,4的方式 切换进入aa文件:cd aa/ ls 1 2 3 4 bb mkdir 1 2 3 4即可 和上面一样
⑦Tips: 一条很好用的命令yum install tree -y:利用yum安装tree命令
⑧touch: 2、指令意思:创建空文件 3、基本语法:touch 文件名称 4、案例1:创建1-5 touch{1,2,3,4,5} 或者touch{1…5} 5、案例2:创建a-z touch{a…z} 6、案例3:强制删除a-z rm -rf{a…z}
⑨ln: ln:为文件或目录建立链接文件,类似于Windows系统的快捷方式 链接文件类型 软链接:快捷方式 ln -s创建软件链接,相当于创建一个快捷方式 删除原文件,则快捷方式无法运行 硬连接:复制文件 ln 创建硬链接,相当于复制了一个副本 删除原文件,副本依旧可以打开运行 软链接举例:echo “this is shizhi”>demo.txt ls demo.txt ln -s demo. txt test. txt demo.txt原文件 test.txt目标文件 rm -rf demo.txt 删除原文件之后就看不到原文件 恢复之后就可以看到原文件echo “this is shizhi”>demo.txt 硬链接举例:ln aa.txt demo.txt rm -rf aa.txt 副本一样可以运行 ⑩: cp: 1、英文全称:copy 2、中文翻译:复制 3、基本语法:CP [选项] source dest -f:覆盖目标同名文件或目录时不进行提醒,直接强制复制 -i:覆盖目录同名文件或目录时提醒用户确认 -p:复制时保持源文件的权限。属主及时间时间标记等属性不变 -r:复制目录时必须选用此项,表示递归复制所有文件及子目录
十一: rm: 1、中文含义:删除 2、英文全称:remove 3、基本语法:rm [选项] 要删除的文件或者目录 4、选项: -f:删除目标同名文件或目录时不进行提醒,直接强制复制 -i:删除目录同名文件或目录时提醒用户确认 -p:删除时保持源文件的权限。属主及时间时间标记等属性不变 -r:删除目录时必须选用此项,表示递归复制所有文件及子目录 重点:rm -ir会提示 rm-rf不提示直接删除
十二: mv: 移动文件或目录-MV 将指定的文件或目录转移位置 如果目标位置与源位置相同,则相当于执行重命名操作 mv【选项】。。。源文件或目录。。。目录文件或目录 示例 mv mytouch mkfile mv mkfile public_html/
十三: 八、which命令 2、指令翻译:搜索范围由环境变量PATH决定(echo$PATH) which 命令|程序名 which-a 命令|程序名 4、案例:which is which cd
十四: find: 采用递归方式,根据目标名称,类型,大小等不同属性进行精细查找 find【查找范围】【查找表达条件】 选项 —name:按名称查找 其中包括“?”“” —user:按指定用户查找 —size:按文件大小查找 —type:按类型查找。其中包括:d是目录,L是链接,c是字符设备,B是块设备 举例:寻找以“txt”结尾的文件 find /home/ -name ".txt" 列2:寻找/etc/下文件大小大于5M的文件 find /etc/ -size +2M 取反的话就是:find /home/! -size -5M 例3:在/home/目录下,将五天内的以“.Txt”结尾的文件详细地友好地调用进{}中,采用名称查询(“+5”是6天前) finds ./ -name ".txt’ -mtime -1 -exec ls -lh{}\(借鉴)
总结:
和命令的话先总结这么多吧,还有一些因为时间问题,下次再为大家总结。
|