linux学习(七)环境变量、cp、mv、cat,less,more,head,tail
一、环境变量
环境变量其实就是$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 ls
alias 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/profile
else
. "$i" >/dev/null
fi
fi
done unset i
unset -f pathmunge
export PATH=/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/node/bin:$PATH
PATH=$PATH:/tmp/
二、cp命令
cp命令用来复制文件或者目录。
复制文件:
[root@iZ25lzba47vZ ]# ls
a.txt
[root@iZ25lzba47vZ ]# cp a.txt b.txt
[root@iZ25lzba47vZ ]# ls
a.txt b.txt
复制目录:
[root@iZ25lzba47vZ ]# ls
a.txt b.txt
[root@iZ25lzba47vZ ]# cp -r .bak
[root@iZ25lzba47vZ ]# ls
.bak a.txt b.txt
注意,在复制目录时,如果目标目录存在,会把复制的目录复制到存在的目录下面:
[root@iZ25lzba47vZ ]# cp -r .bak/
[root@iZ25lzba47vZ ]# tree .bak/
.bak/
└── directory, files
常用命令:
!$,上一条命令的最后一个单词,比如上面的cp -r 1 1.bak/里的1.bak。
如果还想使用上一条命令,可以:
tree !$
我们which cp看一下:
[root@iZ25lzba47vZ ~]# which cp
alias cp='cp -i'
/usr/bin/cp
发现cp是cp -i的缩写。-i的意思就是说,如果复制目标文件和那个目录下有重名有提示:
[root@iZ25lzba47vZ ~]# cd
[root@iZ25lzba47vZ ]# ls
a.txt demo
[root@iZ25lzba47vZ ]# cd ..
[root@iZ25lzba47vZ ~]# ls
.ipt Application iptables.bak oneinstack shellscripts
.cap .txt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
[root@iZ25lzba47vZ ~]# cp .cap /a.txt
cp: overwrite ‘/a.txt’? y
如果不要提示,直接用绝对路径:
[root@iZ25lzba47vZ ~]# /usr/bin/cp .cap /a.txt
[root@iZ25lzba47vZ ~]#
三、mv
mv命令用来移动文件或者目录。它的语法和cp大致一样,只是它是“剪切”,如果在同一个目录下移动,那么它就是“重命名”。
重命名:
[root@iZ25lzba47vZ ~]# ls
.ipt Application iptables.bak oneinstack shellscripts
.cap .txt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
[root@iZ25lzba47vZ ~]# mv
[root@iZ25lzba47vZ ~]# ls
.ipt .txt Application iptables.bak oneinstack shellscripts
.cap a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
移动文件:
[root@iZ25lzba47vZ ~]# tree directories, files
[root@iZ25lzba47vZ ~]# mv .txt /
[root@iZ25lzba47vZ ~]# tree └── .txt
移动目录:
[root@iZ25lzba47vZ ~]# tree directories, files
[root@iZ25lzba47vZ ~]# ls
.ipt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
.cap Application iptables.bak oneinstack shellscripts
[root@iZ25lzba47vZ ~]# mv /
[root@iZ25lzba47vZ ~]# tree └──
└── .txt
同样,我们可以看看which mv:
root@iZ25lzba47vZ ~]# which mv
alias mv='mv -i'
/usr/bin/mv
发现和cp一样有个-i参数,代表重复的话就提示:
[root@iZ25lzba47vZ ~]# cp a.php /
[root@iZ25lzba47vZ ~]# tree ├──
│ └── t.txt
├── .bak
│ └──
├──
│ └──
│ └── t.txt
├── a.php
├── a.txt
└── b.txt directories, files
[root@iZ25lzba47vZ ~]# mv a.php /
mv: overwrite ‘/a.php’?
四、cat
cat用来查看全部文件,没什么好说的:
[root@iZ25lzba47vZ ~]# cat a.txt
i love linux!
五、more
more用来一屏一屏的看文档,在查看比较长的文档时用,不过它完全可以被less代替。
[root@iZ25lzba47vZ ~]# more /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
polkitd:x:::User for polkitd:/:/sbin/nologin
avahi:x:::Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
libstoragemgmt:x:::daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
postfix:x::::/var/spool/postfix:/sbin/nologin
sshd:x:::Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x::::/var/lib/chrony:/sbin/nologin
nscd:x:::NSCD Daemon:/:/sbin/nologin
tcpdump:x::::/:/sbin/nologin
mysql:x::::/home/mysql:/sbin/nologin
www:x::::/home/www:/sbin/nologin
memcached:x::::/home/memcached:/sbin/nologin
systemd-bus-proxy:x:::systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:::systemd Network Management:/:/sbin/nologin
saslauth:x:::Saslauthd user:/run/saslauthd:/sbin/nologin
ruanwenwu:x::::/home/ruan
按空格向下翻,按ctrl+b往上翻。
六、less
上面已经说了,less可以代替more,它的功能有上下翻页,搜索,一行一行上翻下翻。
上翻:ctrl+b
下翻:ctrl+f / 空格
方向键:一行一行翻
/keyword 搜索关键词,n向下翻查找,N向上翻查找
?keyword搜索关键词,n向上翻查找,N向下翻查找
七、head
查看头10行,可以查看头任意行:
[root@iZ25lzba47vZ ~]# head -n !$
head -n /etc/my.cnf
[client]
port =
socket = /tmp/mysql.sock
八、tail
查看结尾10行,也可以查看尾任意行:
[root@iZ25lzba47vZ ~]# tail -n !$
tail -n /etc/my.cnf
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
tail还可以动态的查看文件的写入:
[root@iZ25lzba47vZ ~]# tail -f !$
tail -f /etc/my.cnf [mysqldump]
quick
max_allowed_packet = 100M [myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
linux学习(七)环境变量、cp、mv、cat,less,more,head,tail的更多相关文章
- centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask 第四节课
centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask 第四节课 ...
- linux 学习:环境变量设置
一.临时环境变量 临时环境变量,只对当前打开的shell生效,shell关闭后,环境变量失效. 设置方法一: 分两步 MYPARA=hello export MYPARA 设置方法二:一步完成 exp ...
- Shell学习之环境变量配置文件(三)
Shell学习之环境变量配置文件 目录 环境变量配置文件简介 环境变量配置文件作用 其他配置文件和登录信息 环境变量配置文件简介 环境变量配置文件简介 环境变量配置文件中主要是定义对系统操作环境生效的 ...
- NodeJS学习:环境变量
简介 环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数.会在程序运行时传递给应用程序. NodeJS 获取环境变量,是通过 glo ...
- (四)linux的常用环境变量及设置
一.为什么要设置环境变量 1.环境变量能解决什么问题? 你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬:每一次都要输入$/home/tools ...
- linux配置java环境变量(详细)
linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...
- linux配置java环境变量
linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...
- Linux里设置环境变量的方法(export PATH)
1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH ...
- [转]在Linux里设置环境变量的方法
在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/a ...
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
随机推荐
- 自定义Django的中间件
分析Django的生命周期,我们知道所有的http请求都要经过Django的中间件. 假如现在有一个需求,所有到达服务端的url请求都在系统中记录一条日志,该怎么做呢? Django的中间件的简介 D ...
- EGit使用教程:第一篇 添加工程到版本控制
配置 确定身份 当每次提交的时候,Git需要跟踪这次提交,确认是哪个用户提交的.用户由 user.name 和 user.email 组成,这个信息包含在 ~/.gitconfig 文件中. ~ 代表 ...
- border-radius:50%和100%究竟有什么区别
之前写css圆形时总是直接设置border-radius为50%.后来看某css动画网站时发现作者都是用的100%.遂去了解了一下2者的差别. border-radius的值是百分比的话,就相当于盒子 ...
- 使用phpmailer插件发邮件失败提示:SMTP -> ERROR: Failed to connect to server: Connection timed out (110) smtp connect() failed;
一个邮件发送问题,整整弄了我一周时间,起因是这样的,之前弄的一个网站,需要在邮箱里面认证之后才可以注册成功.网站上线了差不多一年之后,客户突然跟我说,网站不能注册了,然后我就查看了一下代码. 发现报这 ...
- WebApi实现原理解析笔记
这是我看过WebApi实现代码后的一些总结,一方面加深自己的记忆,另外也希望能够帮助大家更深入的了解WebApi. 注:暂时没有好好的整理,可能有些晦涩难懂. Webapi 控制器类必须实现IHttp ...
- P1045
问题 A: P1045 时间限制: 1 Sec 内存限制: 128 MB提交: 145 解决: 127[提交][状态][讨论版] 题目描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加 ...
- dubbo负载均衡策略及对应源码分析
在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用.我们还可以扩展自己的负责均衡策略,前提是你已经从一个小白变成了大牛,嘻嘻 1.Random LoadBalance 1 ...
- 为什么ABAP开发者需要使用面向对象技术?
ABAP对面向对象的支持已有十多年的历史,然而在生产实践中,我们对这门技术的应用十分有限. 一方面,面向过程的惯性长期存在着:另一方面,对于大部分二次开发工作而言,似乎并没有足够的理由促使开发者使用面 ...
- HDU2282 Chocolate KM算法
第一次做这样的题,其中有几个细节是反复思考反复调试,最后一A的,ORZ,又加深了对KM算法的理解.能不参考网上的题解,而是平静下来思考,参透,最后敢于尝试.....真的很重要,以后遇到才会有更深的印象 ...
- c# 【MVC】WebApi开发实例
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using S ...