02linux基本指令
linux的基本指令格式:
#指令主体(空格)[选项](空格)[操作对象]
需要注意的是[]里面的选项是可以不写的
同时一个指令可以有多个操作对象,也可以有多个选项
一、ls指令
用法1:#ls
作用:列出当前目录下的所有文件/文件夹的名称
该命令的结果就是列出了~目录下的所有文件和文件夹。其中~表示root目录
用法2:#ls 路径
作用:列出指定路径下所有文件/文件夹的名称
列出根目录下home目录下的gzk目下的所有文件和文件夹
其中目录分为两种:
1、相对路径:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。
2、绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;就和我们刚才上面写的命令一样,/home/gzk其中/home表示根目录下的home
主要有以下根目录:
用法3:#ls 选项 路径
作用:列出制定路径下的文件夹和文件的名称,并以指定的格式进行显示
常见的语法有:
1、#ls -l 路径
2、#ls -la 路径
解释:-l表示list,以详细列表的信息进行展示
-a表示显示所有的文件和文件夹,包括隐藏的文件和文件夹
其中文件前面带点的为隐藏文件,并且列表的第一列中表示文档的类型,其中“-”表示文件类型是文件,“d”表示文件类型是文件夹
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只 有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
用法4:#ls -lh 路径
作用:上面我们知道了ls -l 可以查看目录的文件的大小,但是都是以byte来表示的,我们不容易理解,为了让显示更人性化,就要用到上面的指令。会自动换算单位以kb或者M来显示。
通过上面展示的内容我们可以发现所有的文件夹大小都是4K,这是因为我们在创建文件夹的时候,默认分配的都是4K,这个不包含文件夹里面的内容。同样有相应的查看文件夹所占空间大小的命令,将会在下面说明。
二、pwd指令
用法:#pwd
作用:打印当前工作目录
三、cd指令
用法:#cd 路径
作用:改变当前所在目录位置
案例1、在当前根目录/下,切换到usr/local目录下
案例2、在非根目录下比如/home/gzk目录下,切换到usr/local目录下,则需要使用绝对路径来切换
或者用相对路径的方法从/home/gzk目录下,切换到usr/local目录下,可以用../../usr/local,其中第一个../表示从gzk目录中切换到home,第二个../表示从home目录中切换到了根目录中,然后再从根目录到达了usr/local,因为usr是根目录下面的目录
补充一下:如果在任何路径下直接输入cd会到达~目录下,这个目录也就是root家目录,cd、cd ~和cd /root的效果一样
四、mkdir指令
语法1:#mkdir 路径(相对或者绝对)
作用:在路径上创建一个文件夹
案例在/home/gzk目录下创建一个myself文件夹
其中文件夹的颜色为蓝色,黑色的表示文件。
语法2:#mkdir -p 路径
作用,当我们需要再创建多个包含文件夹的时候,就要用到递归创建。
如我们需要在gzk目录下创建文件夹a,文件夹a里面创建文件夹b,文件夹b里面创建文件夹c,就会用到该命令
语法3:#mkdir 路径1 路径2 路径3 .……
作用:一次性创建多个文件夹
在我们创建的c文件夹下,创建 a b c d
五、touch指令
语法:#touch 路径(路径可以是文件名字也可以是路径)
作用:mkidr的作用是创建一个文件夹,touch的作用就是在文件夹中创建一个文件
1、比如在当前root目录下创建一个linux.txt文件
2、在当前目录下创建多个文件
3、在root目录下给gzk目录下创建文件liinux.txt
(1)用绝对路径方式
(2)用相对路径方式创建的是linux1.txt
六、cp指令
语法:cp 被复制的文档路径 文档被复制到的路径
作用:复制一个文件或者文件夹到别的路径下
1、复制gzk目录下的linux.txt到root路径下
同时在复制的时候可以该名字,复制gzk目录下的linux.txt到root路径下并改名为linux3.txt
语法2:#cp -r 要被复制的文件夹路径 准备复制到的文件夹的路径
作用:将一个非空的文件夹和文件夹里面的内容复制到别的路径下,
2、比如将前面子啊gzk中创建的a文件夹和里面的内容复制到root目录下
七、mv指令
语法:#mv 需要移动的文档路径 需要保存的位置路径
作用:相当于windows中的剪切
1、使用mv移动一个文件比如将gzk目录下的linux.txt移动到root目录并改名字为linux4.txt,也可以不改名字,因为root目录下已经存在linux.txt所以改名字。
2、使用mv移动一个带有内容的文件夹的时候,不用使用-r做迭代移动,比如将gzk目录下的a文件夹移动到root目录下的a文件下
语法:mv 文件/文件夹名字 文件/文件夹名字
作用:重命名
将文件夹a的名字改为了c
8、rm指令
语法:#rm 文件/文件夹路径
作用:删除文件或者文件夹
注意如果直接使用rm的时候,会弹出提示是否删除,如果确认删除不想弹出提示,可以使用rm -f 文件或文件夹名字
语法:#rm -rf 文件夹
作用:如果想要删除的文件夹中有内容需要使用迭代删除
案例:删除多个文档
案例:删除后缀名全部是txt的文件,需要用到*通配符号
九、vim指令
指令:vim (vim是一款文本编辑器)
语法:#vim 文件的路径
作用:打开一个文件(可以不存在,也可以存在)
案例:使用vim来打开文件
退出打开的文件:在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可
十、输出重定向
前面我们的命令输出结果都输出到了屏幕的终端中,有时候需要将命令执行的结果保存到文件中进行后续的分析和统计,这个时候需要用到重定向的功能。
重定向的指令公有两个:
1、> :该命令表示将输出结果保存到文件中,如果文件中本来有内从,那么会覆盖原来的内容
2、>> :该命令也是将结果保存在文件中,但是如果文件中有内容,会将结果添加再原来内容的后面
案例1:使用>进行输出重定向
(1)原来文件中没有内容,将结果输出到a.txt中
在/root/a/目录中有c这个文件夹,如果我们ls的时候会在命令行终端显示c
我们将不想将c通过命令行显示,希望将输出结果保存到a.txt中则可以用>功能,此时a.txt中没有任何内容
此时将a.txt内容修改如下:
再重复操作后
可以发现里面的内容被全部覆盖,就只剩c
案例2:使用>>进行重定向
还是再原来a.txt上有c的基础上进行重定向
可以发现原来的内容没有被覆盖,并在原来内容的后面加了一个c也就是输出的结果放在原来内容的后面(下一行)
注意:文件可以不存在,不存在则新建
十一:cat指令
作用1:cat有直接打开一个文件的功能,cat 打开一个文件,显示在命令行中,也就是读取完直接输出在命令行中。只查看不编辑,vim打开一个文件后,就进入文件里面。
语法1:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
例如,合并3个文件,并存到一个文件中【配合输出重定向使用】
比如a.txt内容是aaa,b.txt内容是bbb,c.txt内容是ccc,d.txt里面没有内容