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文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
随机推荐
- 解决linux AMR转MP3出现转码成功却无法播放的问题
根据帖子:http://blog.csdn.net/z313731418/article/details/50218341 的提示,在linux安装ffmpeg,确实在linux下使用命令可以将am ...
- getOutputStream() has already been called for this response
错误日志里偶尔会有getOutputStream() has already been called for this response这个错误 最近发现了高概率复现条件,所以顺手解决了一下: 首先根 ...
- Zabbix 添加脚本检测IP变化
监控环境 IP和HOSTNAME 有时会有变化.但目前是通过IP地址监控,不是DNS名,添加一个外部脚本,发现IP和HOSTNAME发生变化时告警. vim /usr/local/etc/zabbix ...
- [LeetCode] 349 Intersection of Two Arrays && 350 Intersection of Two Arrays II
这两道题都是求两个数组之间的重复元素,因此把它们放在一起. 原题地址: 349 Intersection of Two Arrays :https://leetcode.com/problems/in ...
- PHP中isset和empty的区别(最后总结)
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
- XCode消除警告、错误
1.集成支付宝SDK后,报一堆warning: (arm64) /Users/scmbuild/workspace/standard-pay/.....警告 解决方法: 1) Go to Build ...
- 我的Spring学习记录(四)
虽然Spring管理这我们的Bean很方便,但是,我们需要使用xml配置大量的Bean信息,告诉Spring我们要干嘛,这还是挺烦的,毕竟当我们的Bean随之增多的话,xml的各种配置会让人很头疼. ...
- 分享基于分布式Http长连接框架--架构模型
我画了个简单的架构图来帮助说明: 其实为发布订阅架构模式. 生产者和消费者我们统一可理解为客户端,消息中间件可认为是服务端. 生产者和消费者做为客户端要跟服务端交互,则先通过代理订阅服务端,订阅成功后 ...
- R语言包下载(转载)
http://blog.csdn.net/hongjinlongno1/article/details/53130893 包含几乎所有包,很方便
- centos crontab(定时任务) 使用
一.介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会 ...