在linux中,PATH环境变量保存了一系列用户在输入的时候搜索命令。PATH变量的值有多个绝对路径,用:分割。在这些路径下面的命令能够直接敲出来,省略掉目录路径。每一个用户都有特定的PATH环境变量(由系统级的PATH变量初始化)linux
查看用户环境变量:vim
1: echo $PATHbash
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binless
2: env | grep PATH编辑器
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binspa
修改环境变量PATH方法:.net
修改方法一:日志
export PATH=$PATH:/tmp 或 PATH=$PATH:/递归
//配置完后能够经过echo $PATH查看配置结果。ip
生效方法:当即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户
修改方法二:
经过修改.bashrc文件:
vim ~/.bashrc
//在最后一行添上:
export PATH=$PATH:/tmp
生效方法:(有如下两种)
一、关闭当前终端窗口,从新打开一个新终端窗口就能生效
二、输入“source ~/.bashrc”命令,当即生效
有效期限:永久有效
用户局限:仅对当前用户
修改方法三:
经过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=$PATH:/tmp
生效方法:系统重启
有效期限:永久有效
用户局限:对全部用户
修改方法四:
经过修改environment文件:
vim /etc/environment
加入PATH路径
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/tmp:/root/bin
生效方法:系统重启
有效期限:永久有效
用户局限:对全部用户
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它能够将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,不然将出现错误。
语法:
cp 选项 参数
选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号链接时,把目标文件或目录也创建为符号链接,并指向与源文件或目录链接的原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件以前先询问用户;
-l:对源文件创建硬链接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的全部文件与子目录一并处理;
-s:对源文件创建符号链接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,把目标目录中存在的相同名字文件加上指定后缀保留;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操做。
参数:
源文件:指定源文件列表。默认状况下,cp命令不能复制目录,若是要复制目录,则必须使用-R选项;
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
实例:
当目标目录中存在相同名字文件时,把目标目录中的同名文件备份名加上指定的后缀
[root@localhost ~]# cp 1.txt zhang/
[root@localhost ~]# cp -v -S.bak 1.txt zhang/
cp:是否覆盖"zhang/1.txt"? y
"1.txt" -> "zhang/1.txt" (备份:"zhang/1.txt.bak")
[root@localhost ~]# ls zhang/
1.txt 1.txt.bak
which cp能够看到cp命令是‘cp -i’的别名,因此当目标文件存在相同名字文件时会提示是否覆盖。
cp目录到目标目录时,若是没有此目录会把源目录更名成目标目录,若是此目标目录存在则会把源目录放倒此目录下面
mv命令用来对文件或目录从新命名,或者将文件从一个目录移到另外一个目录中。source表示源文件或目录,target表示目标文件或目录。若是将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
mv命令能够用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不一样的结果:
1: 若是目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2: 若是目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。若是源文件和目标文件在同一个目录下,mv的做用就是改文件名。当目标文件是目录文件时,源文件或目录参数能够有多个,则全部的源文件都会被移至目标文件中。全部移到该目录下的文件都将保留之前的文件名。
注意事项:mv与cp的结果不一样,mv好像文件“搬家”,文件个数并未增长。而cp对文件进行复制,文件个数增长了。
语法:
mv 选项 参数
选项:
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其建立一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操做,覆盖前先行询问用户,若是源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样能够避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操做。
参数:
源文件:源文件列表
目标文件:若是“目标文件”是文件名则在移动文件的同时,将其更名为“目标文件”;若是“目标文件”是目录名则将源文件移动到“目标文件”下。
实例:
cd /root/
mkdir zhang
mv --target-directory=/tmp/test/ /root/zhang/
#把root下的zhang目录移动到/tmp/test/,加了此选项后,源文件与目标文件位置调换。
which mv 能够看到mv是命令‘mv -i’的别名,默认当目标文件存在相同名字时会提示是否覆盖
mv移动目录时,当目标目录中存在同名目录,若是此同名目录为空能够移动覆盖,
若是同名目录不为空则不能移动。
linux下查看文件内容命令有:
cat 由第一行开始显示内容,并将全部内容输出
tac 从最后一行倒序显示内容,并将全部内容输出
more 根据窗口大小,一页一页的显示文件内容
less 和more相似,但其优势能够往前翻页,并且能够进行搜索字符
head 只显示头几行
tail 只显示最后几行
nl 相似于cat -n,显示时输出行号
1.cat 与 tac
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。可是cat并不经常使用,缘由是当文件大,行数比较多时,屏幕没法所有容下时,只能看到一部份内容。
cat语法:cat [-n] 文件名 (-n : 显示时,连行号一块儿输出)
cat [-A] 文件名 (-A:显示所有字符,例如每行的结尾符$)
cat file >>file2 把file的内容追加剧定向到file2
cat -b 忽略对空白行的编号
cat -s 将连续的空白行合并为一行
tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。咱们能够发现,tac其实是cat反过来写。这个命令也不经常使用。
tac语法:tac 文件名。
2.more和less(经常使用)
more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页没法所有输出时,能够用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还能够配合管道符“|”(pipe)使用,例如:ls -al | more
more的语法:more 文件名
Enter 向下n行,须要定义,默认为1行;
空格键 向下滚动一屏;
Ctrl b 返回上一屏;
= 输出当前行的行号;
:f 输出文件名和当前行的行号;
v 调用vi编辑器;
! 命令 调用Shell,并执行命令;
q 退出more
选项:
-<数字>:指定每屏显示的行数;
-c:不进行滚屏操做。每次刷新这个屏幕;
+<数字>:从指定数字的行开始显示。
实例:
more -c -10 /etc/passwd 锁定屏幕每翻一屏只显示10行
more +10 /etc/passwd 从第10行开始显示
less的功能和more类似,可是使用more没法向前翻页,只能向后翻。
less可使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。
less的语法:less 文件名
less还有一个功能,能够在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有root字符串,那么你能够这样来作:
[root@redhat etc]# less passwd
而后输入:
方式一:/root
回车
此时若是有root字符串,linux会把该字符已高亮方式显示。
按n向下搜索
按N向上搜索
方式二:?root
回车
此时若是有root字符串,linux会把该字符已高亮方式显示。
按n向上搜索
按N向下搜索
退出查看页面,请按“q”键。
使用less查看文档时,按g定位到行首,按G定位到行尾
3.head和tail
head和tail一般使用在只须要读取文件的前几行或者后几行的状况下使用。head的功能是显示文件的前几行内容
head的语法:head [-n number] 文件名 (number 显示行数)
head /etc/passwd 显示前10行
head -2 /etc/passwd 显示前2行
head -n 2 /etc/passwd 显示前2行
head -n -2 /etc/passwd 不显示最后2行
tail的功能刚好和head相反,只显示最后几行内容
tail的语法:tail [-n number] 文件名
tail /etc/passwd 显示后10行
tail -n 2 /etc/passwd 显示后2行
tail -n -2 /etc/passwd 显示后2行
tail -2 /etc/passwd . 显示后2行
tail -n +10 /etc/passwd 从第10行开始显示
下面的范例,结合了 head 与 tail 的指令,显示档案的第 11 行到第 20 行:
head -20 /etc/passwd |tail -10
head -20 /etc/passwd |tail -n +11
tail有一个很好用的参数 " -f ",动态循环读取最后几行,通常用于查看日志
tail -f /var/log/xx.log
4.nl
nl的功能和cat -n同样,一样是从第一行输出所有内容,而且把行号显示出来
nl的语法:nl 文件名
nl /etc/passwd