一.环境变量PATH
关于PATH的作用:
PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。
关于新增自定义路径:
现在假设你新安装了一个命令在/usr/locar/new/bin下面,而你又想像ls一样在任何地方都使用这个命令,你就需要修改环境变量PATH了,准确的说就是给PATH增加一个值/usr/locar/new/bin。你只需要一行bash命令export PATH=$PATH:/usr/locar/new/bin。这条命令的意思太清楚不过了,使PATH自增:/usr/locar/new/bin,既PATH=PATH+":/usr/locar/new/bin";通常的做法是把这行bash命令写到/root/.bashrc的末尾,然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),新的默认路径就添加进去了。当然这里你直接用source /root/.bashrc执行这个文件重新登陆了。你可以用echo $PATH命令查看PATH的值。
查看PATH:echo $PATH
以添加mongodb server为列
修改方法一:
export PATH=/usr/local/mongodb/bin:$PATH
//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户
修改方法二:
通过修改.bashrc文件:
vim ~/.bashrc
//在最后一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户
修改方法三:
通过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户
修改方法四:
通过修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/usr/local/mongodb/bin”
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户
二.cp命令
1.语法
cp [选项] [源文件] [目标文件]
2.选项 参数
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
3.示例
①复制文件
[root@cc01 ~]# cp 1.txt /home/cc/
[root@cc01 ~]# ls /home/cc/
1.txt
②复制并更名
[root@cc01 ~]# cp 1.txt /home/cc/2.txt
[root@cc01 ~]# ls /home/cc/
1.txt 2.txt
③复制目录并复制目录下所有文件
[root@cc01 ~]# cp -r shell/ /home/cc/
[root@cc01 ~]# ls /home/cc/shell/
! a day1 day10 day11 day12 day13 day2 day3 day4 day5 day6 day7 day8 day9
l
④覆盖前问用户 (是否有相同文件)
[root@cc01 ~]# cp 1.txt /home/cc/
cp:是否覆盖"/home/cc/1.txt"? y
三.MV命令
1.语法
mv [选项] 源文件 目标文件
2.选项
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
3.示例
①移动并更名
[root@cc01 ~]# mv 1.txt /home/cc/cc.txt
[root@cc01 ~]# ls /home/cc/
1.txt 2.txt 3.txt cc.txt shell
②移动
[root@cc01 ~]# mv test/ /home/cc/
[root@cc01 ~]# ls /home/cc/
1.txt 2.txt 3.txt cc.txt shell test
四.文档查看cat/more/less/head/tail
1.cat
1.语法
cat file
2.参数
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-e : 等价于 -vE。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
3.示例
[root@cc01 ~]# cat 1.txt
11
22
33
4
aa
[root@cc01 ~]# cat -n 1.txt
1 11
2 22
3 33
4
5 4
6 aa
[root@cc01 ~]# cat -e 1.txt
11$
22$
33$
$
4$
aa$
[root@cc01 ~]# vim 1.txt
[root@cc01 ~]# cat 1.txt
11
22
33
4
aa
[root@cc01 ~]# cat -n 1.txt
1 11
2 22
3 33
4
5
6 4
7 aa
[root@cc01 ~]# cat -e 1.txt
11$
22$
33$
$
$
4$
aa$
[root@cc01 ~]# cat -s 1.txt
11
22
33
4
aa
2.more
1.语法
more [参数] file
2.参数
-d 显示帮助,而不是响铃
-f 统计逻辑行数而不是屏幕行数
-l 抑制换页(form feed)后的暂停
-p 不滚屏,清屏并显示文本
-c 不滚屏,显示文本并清理行尾
-u 抑制下划线
-s 将多个空行压缩为一行
-NUM 指定每屏显示的行数为 NUM
+NUM 从文件第 NUM 行开始显示
+/STRING 从匹配搜索字符串 STRING 的文件位置开始显示
-V 输出版本信息并退出
3.示例
[root@cc01 ~]# more 1.txt
11
22
33
4
aa
[root@cc01 ~]# more -s 1.txt
11
22
33
4
aa
[root@cc01 ~]# more +2 1.txt
22
33
4
aa
[root@cc01 ~]# more -3 1.txt
11
22
33
...跳过 3 行
aa
4.常用操作命令
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
3.less
1.语法
less [参数] file
2.参数
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
3.示例
less 1.txt
less 1.txt 2.txt 3.txt
4.常用操作
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
4.head
1.语法
head 参数 file
2.参数
-q 隐藏文件名
-v 显示文件名
-c 显示字节数
-n 显示的行数
3.示例
head -c -100 filename 显示除了最后n个字节以外的其他内容
head -n 5 filename 显示文档中的前5行
head -n -5 filename 显示文件除了最后n行以外的其他内容
5.tail
1.语法
tail [参数] file
2.参数
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n <行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
3.示例
tail filename 显示最后10行内容
tail -f filename 跟踪文件的增长情况
tail +20 filename 显示从第20行至末尾
tail -c 10 filename 显示最后10字符