一、环境变量
环境变量其实就是$PATH:
[root@iZ25lzba47vZ ~]# echo $PATH/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
包含在环境变量里的命令不需要写全路径,只需要写文件名就可以了:
[root@iZ25lzba47vZ ~]# which lsalias ls='ls --color=auto'/usr/bin/ls
我们经常用的ls命令其实就是执行的/usr/bin/ls,因为/usr/bin在环境变量里,所以直接可以执行ls。
如果我们想在环境变量里增加路径,可以用两种方法:
1.临时修改
[root@iZ25lzba47vZ ~]# PATH=$PATH:/tmp/[root@iZ25lzba47vZ ~]# echo $PATH/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/
2.永久修改
/etc/profile文件会在每次打开终端或者重启时执行,所以可以加在这里:
[root@iZ25lzba47vZ ~]# echo 'PATH=$PATH:/tmp/' >> /etc/profile[root@iZ25lzba47vZ ~]# tail /etc/profileelse. "$i" >/dev/nullfifidoneunset iunset -f pathmungeexport PATH=/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/node/bin:$PATHPATH=$PATH:/tmp/
二、cp命令
cp命令用来复制文件或者目录。
复制文件:
[root@iZ25lzba47vZ 3]# ls1 a.txt[root@iZ25lzba47vZ 3]# cp a.txt b.txt[root@iZ25lzba47vZ 3]# ls1 a.txt b.txt
复制目录:
[root@iZ25lzba47vZ 3]# ls1 a.txt b.txt[root@iZ25lzba47vZ 3]# cp -r 1 1.bak[root@iZ25lzba47vZ 3]# ls1 1.bak a.txt b.txt
注意,在复制目录时,如果目标目录存在,会把复制的目录复制到存在的目录下面:
[root@iZ25lzba47vZ 3]# cp -r 1 1.bak/[root@iZ25lzba47vZ 3]# tree 1.bak/1.bak/└── 11 directory, 0 files
常用命令:
!$,上一条命令的最后一个单词,比如上面的cp -r 1 1.bak/里的1.bak。
如果还想使用上一条命令,可以:
tree !$
我们which cp看一下:
[root@iZ25lzba47vZ ~]# which cpalias cp='cp -i'/usr/bin/cp
发现cp是cp -i的缩写。-i的意思就是说,如果复制目标文件和那个目录下有重名有提示:
[root@iZ25lzba47vZ ~]# cd 2[root@iZ25lzba47vZ 2]# lsa.txt demo[root@iZ25lzba47vZ 2]# cd ..[root@iZ25lzba47vZ ~]# ls11.ipt 3 4Application iptables.bak oneinstack shellscripts1.cap 233.txt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh[root@iZ25lzba47vZ ~]# cp 1.cap 2/a.txtcp: overwrite ‘2/a.txt’? y
如果不要提示,直接用绝对路径:
[root@iZ25lzba47vZ ~]# /usr/bin/cp 1.cap 2/a.txt [root@iZ25lzba47vZ ~]#
三、mv
mv命令用来移动文件或者目录。它的语法和cp大致一样,只是它是“剪切”,如果在同一个目录下移动,那么它就是“重命名”。
重命名:
[root@iZ25lzba47vZ ~]# ls11.ipt 3 4Application iptables.bak oneinstack shellscripts1.cap 233.txt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh[root@iZ25lzba47vZ ~]# mv 3 5[root@iZ25lzba47vZ ~]# ls11.ipt 33.txt 5Application iptables.bak oneinstack shellscripts1.cap 24 a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
移动文件:
[root@iZ25lzba47vZ ~]# tree 440 directories, 0 files[root@iZ25lzba47vZ ~]# mv 33.txt 4/[root@iZ25lzba47vZ ~]# tree 44└── 33.txt
移动目录:
[root@iZ25lzba47vZ ~]# tree 110 directories, 0 files[root@iZ25lzba47vZ ~]# ls11.ipt 4 a.php Document.pdf npm-debug.log ruanwenwusyncwithgit.sh1.cap 25 Application iptables.bak oneinstackshellscripts[root@iZ25lzba47vZ ~]# mv 4 1/[root@iZ25lzba47vZ ~]# tree 11└── 4└── 33.txt
同样,我们可以看看which mv:
root@iZ25lzba47vZ ~]# which mvalias mv='mv -i'/usr/bin/mv
发现和cp一样有个-i参数,代表重复的话就提示:
[root@iZ25lzba47vZ ~]# cp a.php 5/[root@iZ25lzba47vZ ~]# tree 55├── 1│ └── t.txt├── 1.bak│ └── 1├── 2│ └── 1│ └── t.txt├── a.php├── a.txt└── b.txt5 directories, 5 files[root@iZ25lzba47vZ ~]# mv a.php 5/mv: overwrite ‘5/a.php’?
四、cat
cat用来查看全部文件,没什么好说的:
[root@iZ25lzba47vZ ~]# cat a.txt i love linux!
五、more
more用来一屏一屏的看文档,在查看比较长的文档时用,不过它完全可以被less代替。
[root@iZ25lzba47vZ ~]# more /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinlibstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologinntp:x:38:38::/etc/ntp:/sbin/nologinabrt:x:173:173::/etc/abrt:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinchrony:x:997:996::/var/lib/chrony:/sbin/nologinnscd:x:28:28:NSCD Daemon:/:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinmysql:x:1000:1000::/home/mysql:/sbin/nologinwww:x:1001:1001::/home/www:/sbin/nologinmemcached:x:1002:1002::/home/memcached:/sbin/nologinsystemd-bus-proxy:x:996:994:systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:995:993:systemd Network Management:/:/sbin/nologinsaslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologinruanwenwu:x:1003:1003::/home/ruan
按空格向下翻,按ctrl+b往上翻。
六、less
上面已经说了,less可以代替more,它的功能有上下翻页,搜索,一行一行上翻下翻。
上翻:ctrl+b
下翻:ctrl+f / 空格
方向键:一行一行翻
/keyword 搜索关键词,n向下翻查找,N向上翻查找
?keyword搜索关键词,n向上翻查找,N向下翻查找
七、head
查看头10行,可以查看头任意行:
[root@iZ25lzba47vZ ~]# head -n 3 !$head -n 3 /etc/f[client]port = 3306socket = /tmp/mysql.sock
八、tail
查看结尾10行,也可以查看尾任意行:
[root@iZ25lzba47vZ ~]# tail -n 3 !$tail -n 3 /etc/fsort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4M
tail还可以动态的查看文件的写入:
[root@iZ25lzba47vZ ~]# tail -f !$tail -f /etc/f[mysqldump]quickmax_allowed_packet = 100M[myisamchk]key_buffer_size = 8Msort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4M