功能:Linux系统中,ls命令只要用于查看指定工作目录的内容,列出指定目录下所含有的文件以及子目录;
实列:
a.列出/mnt目录下的文件及其子目录:
b.“ls –l”命令以详情模式(长格式)列出mnt目录下的内容:
#ls -l 与 ll的效果等同;
各个字段表示的含义如下:
总用量 12 ----->表示的是该目录的大小,以k为单位,目录的大小包括隐藏的文件;
下面我们以第一行为例解释:
从左往右依次表示:
以“-”开头的表示是文件,以“d”开头的表示是目录(表示的是文件的类型);
rw-r—r—表示的是用户该文件的权限(rw-:所有者权限,r–:组用户权限,r–:其他用户权限);
数字“1”表示文件链接数或者子目录数;
第一个root表示用户名;
第二个root表示所属组名;
数字”7“表示的是文件的大小(字节);
”7月 24 03:19“表示的是最后修改时间;
”1.txt“表示文件名
c.单独以详情模式显示/mnt/1.txt文件的信息:
d.单独以长格式显示/mnt/目录的信息(显示目录的长格式需要加一个-d参数):
2.cd命令
功能:切换当前目录到目标目录;
实例:
a.从当前的工作目录/root切换到/mnt目录:
b.跳转到用户的家目录(对于不同的登录用户显示结果可能不同):
c.返回到父目录(上一级目录):
补充:同理,要是想返回上两级目录,则
cd …/…/
d.返回到上一次的工作目录:
从图中可以看出来,一开始工作目录是在/opt/cmatrix,将工作目录切换到/mnt之后,运行“cd -”命令又返回到了/opt/cmatrix目录
3.pwd命令
功能:显示当前所在的工作目录的绝对路径;
实例:
显示当前所在的工作目录的绝对路径:
/opt/cmatrix即是当前所在工作目录的绝对路径
补充内容(相对路径与绝对路径的区别):
a.相对路径:从当前工作目录开始的路径叫相对路径;
b.绝对路径:从根目录开始的路径叫绝对路径;
从上图中我们可以看到,/mnt目录下有三个文件,两个目录,现在以进入ceshi目录为例,区分一下相对路径跟绝对路径:
以相对路径进入ceshi目录:
看红箭头指向的地方,这时候已经进入了ceshi目录,我们已经知道ceshi目录是在/mnt目录下面,所以可以执行命令“cd ceshi/”,这就是从当前工作目录进入ceshi目录,ceshi/这个路径为相对路径;以绝对路径进入ceshi目录:如上图所示,运行命令“cd /mnt/ceshi/”也可以进入ceshi目录,路径是“/mnt/cechi/"这个路径是从”/“开始的,为绝对路径;
4.mkdir命令
功能:创建指定的目录,如果要同时创建多个目录要有空格隔开;
参数:
-p:需要时创建目标目录的上层目录,但即使这些目录已经存在也不当做错误处理;
实例:
a.在当前工作目录下创建data目录:
b.在/mnt目录下创建目录mydata:
c.在/opt/目录下同时创建harry、tom、mike目录:
d. 在mydata目录下创建”one/teo/three/“三层目录:
5.touch命令
功能:创建一个空(长度为0)的新文件,如果要同时创建多个文件要有空格隔开;
实例:
a.在harry目录下创建harry.txt文件:
b.在tom目录下同时创建多个文件tom1.txt、tom2.txt、tom3.txt:
6.mv命令
功能:只要是用来为文件或者目录改名,将文件或者目录移动到其他位置;
实例:
#harry目录跟tom目录都在/opt目录下;
a.将harry目录下的harry1.txt文件改名为aaa.txt:
b.将harry目录下的aaa.txt文件移动到tom目录下:
移动之后harry目录下面就没有aaa.txt文件了:
c.将harry目录下的harry2.txt文件移动到tom目录下并改名为hatom.txt:
d.将harry目录移动到tom目录下面并改名为haha:
7.cat命令
功能:用于连接文件并打印到标准输出设备上(查看文件内容);
参数:
-n:使用-n选项会显示空白行的编号;
-b:使用-b选项不会显示空白行的编号;
#-n跟-b选项都会显示出空白行,都可以显示文件内容的行号,区别是会不会显示空白行的行号;
实例:
a.查看/mnt/1.txt文件的内容:
b.显示/mnt/1.txt文件内容的行号(需要显示空白行的行号):
c.显示/mnt/1.txt文件的内容的行号(不需要显示空白行的行号):
8.cp命令
功能:linux中cp命令只要是用于复制文件或者目录;
参数:
-r(R0):递归复制,复制源目录下的所有子目录和文件;
-p:在复制文件或者目录的过程中保留原来的属性(包括修改时间,权限等);
-f:强制复制,覆盖已经存在的目标文件而不给出提示;
实例:
a.将/mnt目录下的2.txt文件复制到/opt/目录下:
复制过去之后/mnt目录下面的2.txt文件还存在;
b.在/mnt目录下递归创建目录cp/cp1/cp2:
c.将/mnt目录下的cp目录递归复制到/opt:
9.rm命令
功能:删除一个目录中的一个或者多个文件或者目录,想要删除目录,需要加上-r选项;
rm命令是linux系统最危险的命令,没有之一,希望大家在使用的时候慎重;
常用参数:
-r:想要删除目录,需要加上-r选项,递归删除目录及其下面的内容;
-f:强制删除,忽略不存在的文件,不提示确认;
实例:
a.删除/mnt目录下的3.txt文件:
b.删除/mnt目录下的cp目录:
##在操作完之后可以用”ls“命令查看一下想要删除的文件或者目录是否还在;
10.ping命令
功能:通常是用来测试与目标主机的连通性,在排查网络故障的时候是一个非常好的排查工具;
常用的参数:
-c 后面跟着的数字是“ping的次数”,也就是控制发送包的数量;
-i 后面跟着的数字是“控制给目标主机发送包的时间间隔”,默认值是1秒钟发送一个;
-w 后面跟着的数字是“ping连接超时的时间间隔“单位为毫秒,一般跟-c一起使用;
-t 运行ping命令,加上-t参数后,会一直ping,直到手动按Ctrl+c结束;
实例:
#命令说明:
ping目标主机,ip为”192.168.0.10“,ping的次数为5次,每一次ping的间隔时间为3秒,ping连接超时间为0.3秒;
11.wc命令
功能:只要使用于统计指定文档中的字节数、单词数、行数,并将统计结果显示输出到屏幕上,如果没有给文件名,则从标准输入读;
常用的参数:
-c:统计字节数;
-l:统计行数;
-m:统计字符数,要注意-m参数不可以跟-c参数一起使用;
-w:统计字数,显示单词计数;
/mnt/1.txt文件的内容:
实例:
a.统计文件的行数,单词数,字节数:
说明:
5 4 22 1.txt
行数 单词数 字节数 文件名
b.统计文件的字节数:
c.统计文件的行数:
d.统计文件的单词数:
12.grep命令
功能:只要是用于查找文件里符合条件的字符串;
常用的参数:
-c:统计有多少行被匹配;
-i:不区分大小写针对单个字符;
-v:取反,显示不包括查找字符的所有行;
/mnt/1.txt文件的内容:
实例:
a.统计/etc/passwd文件解释器为/bin/bash的行有多少:
b.输出/mnt/1.txt文件中含有数字1 的行:
c.输出/mnt/1.txt文件中不含有数字2的行:
d.不区分大小写找出含有A的行:
补充:grep一般还可以通过”|(管道)“命令操作符跟wc命令一起使用,这种用法在shell脚本里面是非常实用的。
实例:统计/etc/passwd文件中不含有/root的行数:
”|“管道命令操作符说明:简称”管道符“,它仅能处理经由前面一个指令传出的正确输出信息,不能处理错误的输出信息,利用”|“可以将前后两个命令分隔开,管道符左边的正确输出作为管道符右边命令的输入,连续使用管道则同理,第一个命令的正确输出会作为 第二个命令的输入,第二个命令的正确输出又会作为第三个命令的输入,依此类推。
13.head命令
功能:只要是用来显示开头某个数量的区块到标准输出中,默认输出开头的10行;
常用参数:
-n:显示每个文件的除了后面n行的内容
实例:
a.显示/etc/passwd文件的前2行:
或者
b.输出/etc/passwd文件除了后面29行的内容:
14.tail命令
功能:只要是用来显示尾部某个数量的区块到标准输出中,默认输出结尾的10行;
常用参数:
-n:输出最后N行,而非默认的最后10行
实例:
a.输出/etc/passwd文件后面的2行:
或者
b.输出/mnt/1.txt文件从第3行开始显示到最后一行的结果:
补充:head命令跟tail命令一起使用在查找文件内容某一行的时候很方便;
实例:
a.输出/etc/passwd文件的第23行:
#先统计/etc/passwd文件有多少行:
#输出第23行:
15.history命令
功能:只要是用于显示历史记录和执行过的指令命令,history命令单独使用时仅显示历史命令,一般都是加上参数N或者与tail命令一起使用,过滤出自己想要看的历史命令的范围;
常用参数:
-N:显示历史记录中最近的N个记录;
-c:清空当前历史命令;
-d :删除历史记录中的第n个命令;
#还有其他的参数,有兴趣的自己研究,欢迎你给我提出宝贵的建议
实例:
a.查看历史命令:
b.查看历史记录中的后两条:
或者
c.执行历史的第100条命令:
d.执行上一条命令:
16.hostname命令
功能:可以查看主机名和临时修改主机名;
实例:
a.查看当前的主机名:
当前的主机名为ceshi
b.临时修改主机名为haha:
注意:虽然在查看主机名的时候,主机名已经变为”haha“,但是临时修改主机名要重新开一个终端才会显示为新的主机名,也即是要新开一个终端”ceshi“才会变为”haha“;
17.yum命令
功能:基于RPM包管理,能够从指定的服务器自动下载RPM包安装并且安装,可以自动处理依赖关系,并且一次性安装所有的依赖包;
常用命令:
a.更新所有软件的命令:yum update;
b.安装指定软件的命令:yum install (-y) 软件包名;
c.仅更新指定软件的命令:yum update 软件包名;
d.列出所有可安装的软件清单命令:yum list;
e.卸载软件的命令:yum remove 软件包名;
f.知道软件名查找软件包的命令:yum provides 软件名;
g.清除yum缓存命令:yum clean all;
18.date命令
功能:用来显示或者设定系统的日期与时间;
常用参数:
-d:显示指定的时间;
-s:设定系统时间为指定时间;
实例:
a.显示当前时间:
格式化输出时间:
b.格式化输出时间:xxxx-xx-xx(年-月-日):
c.格式化输出时间:xxxx年xx月xx日:
d.格式化输出时间:xx:xx:xx(时-分-秒):
e.格式化输出时间:xxxx年xx月xx日 xx:xx:xx(年月日 时:分:秒):
设定时间:
f.设定日期为”2019年7月25日“:
g.设定时间为”20时51分50秒“:
h.设定日期和时间为”2019年7月25日 20时:54分:00秒“
19.vim/vi命令
功能:vim是从vi发展出来的一个功能强大的文本编辑器,在程序员中被广泛使用,和Emacs并列成为类Unix系统那个用户最喜欢的文本编辑器;
下面是本人制作的一个vim/vi工作模式图:
vim/vi有三种工作模式:分别是”命令模式,输入模式(插入模式),底行模式“,输入模式跟底行模式都是从命令模式进入,输入模式不能直接进入底行模式,底行模式也不能直接进入输入模式;
实例:
#用vim打开/mnt/1.txt文件:
a.用vim/vi打开文件,直接进入”命令模式“
b.从命令模式进入输入模式:只要按下a,i,o就可以进入输入模式,进入输入模式就可以编辑文件了;
b.从命令模式进入输入模式:只要按下a,i,o就可以进入输入模式,进入输入模式就可以编辑文件了;
#下面是vim/vi的基本操作命令图:
d.vim/vi还有创建文件的功能:
实例:
#创建/mnt/harry.txt文件:
用vim/vi命令打开之后保存退出会自动生成自己想要创建的文件,是空文件,也可以先编辑文件内容之后再保存退出,这样创建的文件里面就有内容,不是空文件;
20.alias命令
功能:可以将一些频繁使用而且又过于冗长的命令设置一个简短的别名,以后只要输入一个简短的别名就可以达到同样的作用,但是要注意别名不能和已存在的别名或者命令相同;
实例:
#设置别名的格式为:alias 新命令=‘原命令 选项/参数’;
a.设置临时别名,在命令行上设置即可生效,下次机器重启时失效;
添加一个临时别名”abc“,在命令行运行”abc“可以创建目录”abc“:
b.设置永久别名:在配置文件/root/.bashrc中添加别名;
添加一个永久别名”cdnet“,在命令行运行”cdnet“可以进入目录
/etc/sysconfig/network-scripts/:
在配置文件中添加完成之后要回到命令行重新加载/root/.bashrc文件即可生效:
删除永久别名:进入/root/.bashrc配置文件里面删除自己添加的别名的行:
a.查看当前主机上所有的别名: