1.环境变量

            按字面意思理解,环境可以理解为整个linux系统的环境,而变量则是一个可以变化的量或是一个命令。

           那么,我们就可以理解为linux的环境变量,就是针对于linux的整个系统而言的,文件或命令

            既然是环境,那么自然就可以理解为一个路径,以及在这个路径目录下存在的文件或命令。

        那我们就可以总结为:

         1,环境变量,是整个系统都可以用的。

         2,环境变量,是储存在系统某个(路径)目录下的文件或命令。

     a 如查看环境变量;

        echo $PATH

          如:

nfyx@nfyx:~$ echo $PATH
/home/nfyx/bin:/home/nfyx/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

         那么,上面所显示的路径(目录),下的所有文件,都可以在系统的任何地方使用。

    (好处,就是不需要再输入绝对路径来执行某条命令了,跟alias 有点相似)

当你输入一个命令时,它会自动去这个路径下搜索,若有就直接执行,若没有,就会弹出(未找到命令)如:

nfyx@nfyx:~$ ddadasd
ddadasd:未找到命令
nfyx@nfyx:~$

若我们自己有一些命令文件,需要当成环境变量来使用呢?

那么,我们就得把这些命令文件的路径(目录),加入到环境变量的路径中去;

如:(我们把一个cp 命令改成一个cpp命令)

nfyx@nfyx:~$ cp /bin/c   (把bin下的cp 复制到test目录下)
cat    chacl  chgrp  chmod  chown  chvt   cp     cpio   
nfyx@nfyx:~$ cp /bin/cp ./test/    (把bin下的cp 复制到test目录下)

nfyx@nfyx:~$ cd test/
nfyx@nfyx:~/test$ ls      (进入并查看)
66  77  cp
nfyx@nfyx:~/test$ cp -r ./66 ./88   ( 复制66 目录为88目录)

nfyx@nfyx:~/test$ ls
66  77  88  cp
nfyx@nfyx:~/test$ mv cp ccp  (把cp  改名为ccp)
nfyx@nfyx:~/test$ ls                    (查看)

66  77  88  ccp
nfyx@nfyx:~/test$ ccp                 (运行改过后的命令)
未找到 'ccp' 命令,有28 个相似命令
ccp:未找到命令

nfyx@nfyx:~/test$ pwd
/home/nfyx/test

nfyx@nfyx:~/test$ export PATH=$PATH:/home/nfyx/test(把环境变量后面加一个当前路径,并广播)
nfyx@nfyx:~/test$ ccp                (再运行,显示的效果就不一样了)
ccp: 缺少了文件操作数
Try 'ccp --help' for more information.
nfyx@nfyx:~/test$ ls              
66  77  88  ccp
nfyx@nfyx:~/test$  ccp -r 88 99    (这样子我们就可以直接运行ccp 命令了)
nfyx@nfyx:~/test$ ls
66  77  88  99  ccp
nfyx@nfyx:~/test$

但以上操作只是暂时,把环境变量多加一个目录或路径,一旦重启,就会消息。

若要永久加入,得进行以下操作:

a:

vim /etc/profile    在适当位置添加

PATH=$PATH:/home/nfyx/test

b:

添加一个

customer.sh 文本文件到

/etc/profile.d/目录下,打开它并写入

export PATH=$PATH:/home/nfyx/test

保存退出,若要立即生效输入

source /etc/profile

这样子保存后,就会一直生效,并且对此操作系统的所有用户。

c:

若是只针对某一个用户,那就进行以下操作

vim  ~/.bash_profile

在PATH里面的后面加入/home/nfyx/test

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/nfyx/test
export PATH

保存退出就可以了


cp 命令 (复制文件或目录)

复制文件:

cp soure   destination  (soure= 源文件,destination=目标文件 )

cp  file1  file2 

复制目录带参数 -r(单个或多个)

cp soure soure1 ...  destination

cp -r  dir1 dir2     (单个)

cp -r dir1 dir2 ...    dest_dir (多个)

扩展两台linux机器之间的数据传输:

scp 命令:-P 端口 -r  dir

scp -P 端口 /source_file  username@www.xxxxx.com:/dest_dir

scp  -P username@www.xxxx.com:/filename  ./dest_dir


mv  命令 (移动或改名)

若在当前文件下移动,就可理变相的改名。

比如:

nfyx@nfyx:~/test/99$ ls
77  88  aa  bb  cc
nfyx@nfyx:~/test/99$ mv 77 66     (这里把77改名为66)
nfyx@nfyx:~/test/99$ ls
66  88  aa  bb  cc
nfyx@nfyx:~/test/99$ mv aa ./66      (这里把aa移动到66下面)
nfyx@nfyx:~/test/99$ ls ./66
aa
nfyx@nfyx:~/test/99$ ls
66  88  bb  cc
nfyx@nfyx:~/test/99$
这个命令相对来说比较简单。

cat  more less head tail  命令

这个是命令都是查看文件的命令(但cat 命令经常和more 或者less同共使用)

如:

cat /etc/passwd

这样子是显示整个全部,无法看以部分,若要看到部分则需要和more 或 less共同使用

比如: cat /etc/passwd | less  或者  cat /etc/passwd | more
这样子就可以一屏一屏的看。

而 head 和 tail 功能相对来说要强一点

head  命令看一文件的前面的行数(默认为10行)。

如:

head /etc/passwd

nfyx@nfyx:~/test/99/88$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin


若要看多行,则可以用

head -# /etc/passwd  (#=数字)

如:

nfyx@nfyx:~/test/99/88$ head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync


tail 命令和head 命令相反,是看一个文件的后面的行数

如:

nfyx@nfyx:~/test/99/88$ tail /etc/passwd
dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/bin/false
colord:x:113:123:colord colour management daemon,,,:/var/lib/colord:/bin/false
speech-dispatcher:x:114:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/false
hplip:x:115:7:HPLIP system user,,,:/var/run/hplip:/bin/false
kernoops:x:116:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
pulse:x:117:124:PulseAudio daemon,,,:/var/run/pulse:/bin/false
rtkit:x:118:126:RealtimeKit,,,:/proc:/bin/false
saned:x:119:127::/var/lib/saned:/bin/false
usbmux:x:120:46:usbmux daemon,,,:/var/lib/usbmux:/bin/false
nfyx:x:1000:1000:nfyx,,,:/home/nfyx:/bin/bash

同理

tail  -# /etc/passwd  (#=数字)

也是一样的。

到些,这几个简单的命令,就可以拿来使用了。

2017.10.25