zoukankan      html  css  js  c++  java
  • 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 3]# ls
    1  a.txt
    [root@iZ25lzba47vZ 3]# cp a.txt b.txt
    [root@iZ25lzba47vZ 3]# ls
    1  a.txt  b.txt

    复制目录:

    [root@iZ25lzba47vZ 3]# ls
    1  a.txt  b.txt
    [root@iZ25lzba47vZ 3]# cp -r 1 1.bak
    [root@iZ25lzba47vZ 3]# ls
    1  1.bak  a.txt  b.txt

    注意,在复制目录时,如果目标目录存在,会把复制的目录复制到存在的目录下面:

    [root@iZ25lzba47vZ 3]# cp -r 1 1.bak/
    [root@iZ25lzba47vZ 3]# tree 1.bak/
    1.bak/
    └── 1
    
    1 directory, 0 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 2
    [root@iZ25lzba47vZ 2]# ls
    a.txt  demo
    [root@iZ25lzba47vZ 2]# cd ..
    [root@iZ25lzba47vZ ~]# ls
    1      1.ipt  3       4      Application   iptables.bak   oneinstack  shellscripts
    1.cap  2      33.txt  a.php  Document.pdf  npm-debug.log  ruanwenwu   syncwithgit.sh
    [root@iZ25lzba47vZ ~]# cp 1.cap 2/a.txt
    cp: overwrite ‘2/a.txt’? y

    如果不要提示,直接用绝对路径:

    [root@iZ25lzba47vZ ~]# /usr/bin/cp 1.cap 2/a.txt 
    [root@iZ25lzba47vZ ~]#  

    三、mv

    mv命令用来移动文件或者目录。它的语法和cp大致一样,只是它是“剪切”,如果在同一个目录下移动,那么它就是“重命名”。

    重命名:

    [root@iZ25lzba47vZ ~]# ls
    1      1.ipt  3       4      Application   iptables.bak   oneinstack  shellscripts
    1.cap  2      33.txt  a.php  Document.pdf  npm-debug.log  ruanwenwu   syncwithgit.sh
    [root@iZ25lzba47vZ ~]# mv 3 5
    [root@iZ25lzba47vZ ~]# ls
    1      1.ipt  33.txt  5      Application   iptables.bak   oneinstack  shellscripts
    1.cap  2      4       a.php  Document.pdf  npm-debug.log  ruanwenwu   syncwithgit.sh

    移动文件:

    [root@iZ25lzba47vZ ~]# tree 4
    4
    
    0 directories, 0 files
    [root@iZ25lzba47vZ ~]# mv 33.txt 4/
    [root@iZ25lzba47vZ ~]# tree 4
    4
    └── 33.txt

    移动目录:

    [root@iZ25lzba47vZ ~]# tree 1
    1
    
    0 directories, 0 files
    [root@iZ25lzba47vZ ~]# ls
    1      1.ipt  4  a.php        Document.pdf  npm-debug.log  ruanwenwu     syncwithgit.sh
    1.cap  2      5  Application  iptables.bak  oneinstack     shellscripts
    [root@iZ25lzba47vZ ~]# mv 4 1/
    [root@iZ25lzba47vZ ~]# tree 1
    1
    └── 4
        └── 33.txt

    同样,我们可以看看which mv:

    root@iZ25lzba47vZ ~]# which mv
    alias mv='mv -i'
            /usr/bin/mv

    发现和cp一样有个-i参数,代表重复的话就提示:

    [root@iZ25lzba47vZ ~]# cp a.php 5/
    [root@iZ25lzba47vZ ~]# tree 5
    5
    ├── 1
    │   └── t.txt
    ├── 1.bak
    │   └── 1
    ├── 2
    │   └── 1
    │       └── t.txt
    ├── a.php
    ├── a.txt
    └── b.txt
    
    5 directories, 5 files
    [root@iZ25lzba47vZ ~]# mv a.php 5/
    mv: overwrite ‘5/a.php’? 

    四、cat

    cat用来查看全部文件,没什么好说的:

    [root@iZ25lzba47vZ ~]# cat a.txt 
    i love linux!

    五、more

    more用来一屏一屏的看文档,在查看比较长的文档时用,不过它完全可以被less代替。

    [root@iZ25lzba47vZ ~]# more /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
    libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    chrony:x:997:996::/var/lib/chrony:/sbin/nologin
    nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    mysql:x:1000:1000::/home/mysql:/sbin/nologin
    www:x:1001:1001::/home/www:/sbin/nologin
    memcached:x:1002:1002::/home/memcached:/sbin/nologin
    systemd-bus-proxy:x:996:994:systemd Bus Proxy:/:/sbin/nologin
    systemd-network:x:995:993:systemd Network Management:/:/sbin/nologin
    saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
    ruanwenwu:x:1003:1003::/home/ruan

    按空格向下翻,按ctrl+b往上翻。

    六、less

    上面已经说了,less可以代替more,它的功能有上下翻页,搜索,一行一行上翻下翻。

    上翻:ctrl+b

    下翻:ctrl+f / 空格

    方向键:一行一行翻

    /keyword 搜索关键词,n向下翻查找,N向上翻查找

    ?keyword搜索关键词,n向上翻查找,N向下翻查找

    七、head

    查看头10行,可以查看头任意行:

    [root@iZ25lzba47vZ ~]# head -n 3 !$
    head -n 3 /etc/my.cnf
    [client]
    port = 3306
    socket = /tmp/mysql.sock

    八、tail

    查看结尾10行,也可以查看尾任意行:

    [root@iZ25lzba47vZ ~]# tail -n 3 !$
    tail -n 3 /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
    坚持!
  • 相关阅读:
    让人难以想出的动态转移方程小集
    初识DP
    CSP复赛day2模拟题
    通知
    未完成作业
    2019年东莞特长生 散步
    营救
    农场主
    安全密码
    开发区规划
  • 原文地址:https://www.cnblogs.com/doubilaile/p/7721918.html
Copyright © 2011-2022 走看看