环境变量与常用命令

环境变量PATH

 

变量说明:

PATH这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rm)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。

 PATH=$PATH:/tmp/     将/tmp/加入到环境变量PATH中,tmp下的命令可直接使用而不用使用绝对路径(暂时性)

/etc/profile  :系统开机或者打开终端都会加载这个文件,可将PATH=$PATH:/tmp/写入该文件最后一行,即每次开机或打开终端/tmp/都会加入环境变量中

去掉加入path的/tmp/:

201403_pBYC_3706800.png

上边提到了 alias,也提到了绝对路径的/bin/ls ,然后你意识到没有,为什么我们输入很多命令时是直接打出了命令,而没有去使用这些命令的绝对路径?这是因为环境变量 PATH 在起作用。请输入 echo $PATH,这里的 echo 其实就是打印的意思,而 PATH 前面的$表示后面接的是变量。

201419_xixw_3706800.png

因为/bin 在 PATH 的设定中,所以自然就可以找到 ls 了。如果你将 ls 移动到 /root 底下的话,然后你自己本身也在/root 底下,但是当执行 ls 的时候,他就是不理你?怎么办?这是因为 PATH 没有/root 这个目录,而你又将 ls 移动到 /root 底下了,自然系统就找不到可执行文件了,因此就会告诉你“command not found!”。

201447_ua9L_3706800.pngmv 用来移动目录或者文件,还可以重命名

那么该怎么克服这种问题呢?有两个方法,一种方法是直接将/root 这个路径加入 $PATH 当中!如何增加?可以使用命令 PATH=$PATH:/root :

201514_Lh2p_3706800.png

另一种方法就是使用绝对路径:

201526_JvW6_3706800.png

cp命令

cp(copy),格式为 cp [选项] [ 来源文件 ] [目的文件] ,例如我想把 test1 拷贝成 test2,这样即可cp test1 test2,以下介绍几个常用的选项:
-r : 如果要拷贝一个目录,必须要加-r 选项,否则是拷贝不了目录的, 和 rm 类似。

201605_wfJo_3706800.png

-i : 这是安全选项,和 rm 类似,如果遇到一个存在的文件,会问是否覆盖。在 Redhat/CentOS 系统中,我们使用的 cp 其实是 cp –i

201621_jmh6_3706800.png

下面简单做一个小试验,很快你就会明白-i 选项的作用:

201636_xfM0_3706800.png

例子中的 touch 看字面意思就是“摸一下”,没错,如果有这个文件,则会改变文件的访问时间,如果没有这个文件就会创建这个文件。前面说过“echo”用来打印,在这里 echo 的内容“abc”和“def”并没有显示在屏幕上,而是分别写进了文件 111 和 222, 起写入作用的就是这个大于号“>”在 linux 中这叫做重定向,即把前面产生的输出写入到后面的文件中。而“cat”命令则是读一个文件,并把读出的内容打印到当前屏幕上。

/usr/bin/cp /etc/passwd /tmp/1.txt   直接使用绝对路径cp不会出现cp下的询问选项,因cp=cp –i。

201702_if9d_3706800.png

!$ 表示上一个命令的最后一个参数:

201715_ElwM_3706800.png

cp -i ~ /.bash/  /tmp/bash/ 由于/tmp底下已经存在bash了,加上-i选项后,则在覆盖前会询问使用者是否确定

PS :(复制目录时不会询问是否覆盖,在复制目录时,当目标目录已经存在的时候,它会把原目录放到目标目录下面,如果目标目录不存在,它会把原目录复制过来并更改名字)

mv命令

mv(move),格式为“mv [ 选项 ] [源文件] [目标文件]”,移动和重命名, 下面几个常用的选项。

-i : 和 cp 的-i 一样,当目标文件存在时会问用户是否要覆盖。在 Redhat/CentOS 系统中,我们使用的mv 其实是 mv –i

该命令有几种情况:
(1) 目标文件是目录,而且目标文件不存在;
(2) 目标文件是目录,而且目标文件存在;
(3) 目标文件不是目录不存在;
(4) 目标文件不是目录存在;

 

目标文件是目录,存在和不存在,移动的结果是不一样的,如果存在,则会把源文件移动到目标文件目录中。不存在的话移动完后,目标文件是一个文件。例子:

(1)  目标文件为目录,并且目标目录不存在,相当于把 dira/ 重命名为 dirc/。“”(目录记得加“/”)

201754_N0Xe_3706800.png

(2)  目标文件为目录,且目标目录存在,则会把 dirc 移动到 dirb 目录里。

201819_funz_3706800.png

(3)目标文件不是目录,且不存在,则会重命名文件。

201847_kn3R_3706800.png

mv bash mvtest/1 将文件bash移动到目录mvtest下并更名为1

mv test/   test1/ 将目录test更名为test1

PS :(与cp命令相同,如果目标目录存在,则会把原目录放到目标目录下,如果目标目录不存在,则把原目录更名为目标目录名字)

mv mvtest.txt mvtest2.txt   将文件mvtest更名为mvtest2

 

文档查看cat_more_less_head_tail

命令: cat

 

这是比较常用的一个命令,即查看一个文件的内容并显示在屏幕上, 后面可以不加任何选项直接跟文件名,两个常用的选项:

-n: 查看文件时,把行号也显示到屏幕上。

202151_4vjd_3706800.png

上例中出现了一个“>>”这个符号跟前面介绍的“>”的作用都是重定向,即把前面输出的东西输入到后边的文件中,只是“>>”是追加的意思,而用“>”如果文件中有内容则会删除文件中内容,而“>>”则不会。

-A: 显示所有东西出来,包括特殊字符。

202227_IPFY_3706800.png

命令: tac


和“cat” 一样,用来把文件的内容显示在屏幕上,只不过是先显示最后一行,然后是倒数第二行,最后显示的是第一行。

202255_smSX_3706800.png

命令: more

more 也是用来查看一个文件的内容,后面直接跟文件名,当文件内容太多,一屏幕不能占下,而用cat 肯定是看不了前面的内容的,那么使用 more 就可以解决这个问题。当看完一屏后按空格键继续看下一屏。当看完所有内容后就会退出。如果想提前退出,只需按 q 键即可。

(空格键:代表向下翻一页

                                   Enter:代表向下翻一行

                                   /字符串:代表在这个显示内容中,向下搜寻字符串这个关键词

                                   :f    :立刻显示出文件名以及目前显示的行数

                                   q     :代表立刻离开more,不再显示该档案内容

                                   ctrl+b      :代表往回翻页,不过这动作只对档案有用)

命令: less

 

作用跟 more 一样,后面直接跟文件名,但比 more 好在可以上翻,下翻。空格键同样可以翻页,而按j 键可以向下移动(按一下就向下移动一行),按 k 键向上移动。也可以使用快捷键 Ctrl b 和 Ctrl f 分别实现上翻页和下翻页。在使用 more 和 less 查看某个文件时,你可以按一下“/”键,然后输入一个字符串,如“root”,然后回车,这样就可以查找这个字符串了。如果是多个该字符串可以按 n 键显示下一个。另外也可以不按“/”而是按“?”后边同样跟要搜索的字符串来搜索,唯一不同的是, “/”是在当前行向下搜索,而“?”是在当前行向上搜索。按 G 可以快速到文本最末端,然后按 g 可以快速返回到文件首部。如果想中途退出,按 q 键即可。

(空格键:向下翻动一页

                                                         pagedown:向下翻动一页

                                                         pageup:向上翻动一页

                                                         ctrl+b      :代表往回翻页

                                                         ctrl+f      :代表往下翻页

                                                         /字符串:向下搜寻字符串的功能

                                                         ?字符串:向上搜寻字符串的功能

                                                         n      :重复前一个搜寻(与/或?有关)

                                                         N      :反向的重复前一个搜寻

                                                         g      :定位到页首

                                                         G     :定位到页尾

                                                        q      :离开less这个程序)

命令: head

 

head 后直接跟文件名,则显示文件的前十行。如果加-n 选项则显示文件前 n 行。

-n 后可以有空格也可以无空格。

202413_6o7I_3706800.png

head -n -100 后面100行的数据不打印,只打印前面几行

命令: tail

 

和 head 一样,后面直接跟文件名,则显示文件最后十行。如果加-n 选项则显示文件最后 n 行。

202435_mmn1_3706800.png

tail -n +100 只列出100行以后的数据

 

-f: 动态显示文件的最后十行,如果文件是不断增加的,则用-f 选项。如: tail -f /var/log/messages 该选项特别常用,请熟记。表示持续侦测后面所接的档案名,要等到按下ctrl+c才会结束tail的侦测。

 

wc –l test.txt 可以查看文件的行数

转载于:https://my.oschina.net/u/3706800/blog/1555677

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值