一、环境变量

环境变量其实就是$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. 基于注解方式实现Aop

    开启注解扫描 <context:component-scan base-package="aopSpring"></context:component-scan& ...

  2. NSTimer、CADisplayLink 内存泄漏

    NSTimer.CADisplayLink 内存泄漏 内存泄漏的原因 CADisplayLink 要用 Taget 和 Selector 初始化,NSTimer 也可以用类似的方法初始化.这样初始化之 ...

  3. 基于 Electron 的爬虫框架 Nightmare

    作者:William 本文为原创文章,转载请注明作者及出处 Electron 可以让你使用纯 JavaScript 调用 Chrome 丰富的原生的接口来创造桌面应用.你可以把它看作一个专注于桌面应用 ...

  4. Delphi中 StrToIntDef函数的用法

    Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtoi ...

  5. fitnesse - Variables and Symbols

    fitnesse - Variables and Symbols 2017-09-30 目录 1 Variables(静态变量)  1.1 定义及使用  1.2 Variable作用域    1.2. ...

  6. 入门VMware Workstation下的Debian学习之Vim简单使用(三)

    什么是Vim? Vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. Vim是从vi发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广 ...

  7. webpack——devtool里的7种SourceMap模式

    我们先来看看文档对这 7 种模式的解释: 模式 解释 eval 每个module会封装到 eval 里包裹起来执行,并且会在末尾追加注释 //@ sourceURL. source-map 生成一个S ...

  8. ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQL

    之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据.本章将介绍如何使用My SQL来完成数据管理. 在使用My SQL之前需确保开发环境中安装了My SQL数据库和Con ...

  9. Vue与swiper想结合封装全屏轮播插件

    项目需求介绍: 1.页面图文混排, 2.点击图片后全屏展示图片,并在底部显示文字,如果没有则不显示 3.关闭全屏后依然停留在上次浏览的位置 4.浏览图片时,不管点击的哪张图片,全屏展示的时候也要显示这 ...

  10. c# Linq操作XML,查找节点数据

    /*查找XML*/ var filePath = Server.MapPath("~/xml/sample.xml"); XDocument doc = XDocument.Loa ...