一、环境变量

环境变量其实就是$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的更多相关文章

  1. 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  第四节课 ...

  2. linux 学习:环境变量设置

    一.临时环境变量 临时环境变量,只对当前打开的shell生效,shell关闭后,环境变量失效. 设置方法一: 分两步 MYPARA=hello export MYPARA 设置方法二:一步完成 exp ...

  3. Shell学习之环境变量配置文件(三)

    Shell学习之环境变量配置文件 目录 环境变量配置文件简介 环境变量配置文件作用 其他配置文件和登录信息 环境变量配置文件简介 环境变量配置文件简介 环境变量配置文件中主要是定义对系统操作环境生效的 ...

  4. NodeJS学习:环境变量

    简介 环境变量(environment variables) 不属于 NodeJS 范畴,它是操作系统用于设定执行环境的参数.会在程序运行时传递给应用程序. NodeJS 获取环境变量,是通过 glo ...

  5. (四)linux的常用环境变量及设置

    一.为什么要设置环境变量 1.环境变量能解决什么问题? 你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬:每一次都要输入$/home/tools ...

  6. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  7. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  8. Linux里设置环境变量的方法(export PATH)

    1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH ...

  9. [转]在Linux里设置环境变量的方法

    在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/a ...

  10. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

随机推荐

  1. 框架应用:Mybatis (一) - 入门案例

    ORM框架 在实际开发中,工程中本质的任务是从数据库中获取数据,然后对数据进行操作,又或者写入数据.开发时语言是大多是面向对象的工程语言,这个时候就必须进行工程语言和数据库连接语言的转换,也就是所谓的 ...

  2. Java多线程Runnable与Callable区别与拓展

    我们先来分别看一下这两个接口 Runnable: // // Source code recreated from a .class file by IntelliJ IDEA // (powered ...

  3. vue2.0 网页标题更新实现思路

    一.注册全局指令 1.注册一个全局指令 Vue.directive('title', { inserted: function (el, binding) { document.title = el. ...

  4. Xcode 上传代码到GitHub

    几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习.但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚 ...

  5. Java线程池详解

    一.线程池初探 所谓线程池,就是将多个线程放在一个池子里面(所谓池化技术),然后需要线程的时候不是创建一个线程,而是从线程池里面获取一个可用的线程,然后执行我们的任务.线程池的关键在于它为我们管理了多 ...

  6. 【POJ】1067 取石子游戏(博弈论)

    Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  7. 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID

    一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...

  8. fitnesse - 一个简单的例子(slim)

    fitnesse - 一个简单的例子(slim) 2017-09-30 目录1 编写测试代码(Fixture code)2 编写wiki page并运行  2.1 新建wikiPage  2.2 运行 ...

  9. java递归的应用和实例

    使用计算机计算组合数: 1.使用组合数公式利用n!来计算 设计思想 (1)首先解决求n!的函数 (2)再结合组合数公式,求组合数 程序流程图 源程序代码 package Zuote; import j ...

  10. Redis缓存项目应用架构设计二

    一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...