linux目录及常用命令-RH124学习笔记

目录结构

linux的目录结构是倒树状

1、二进制程序目录 (就是那些可执行文件,可执行程序,比如:ls mkdir touch…)

/bin /sbin                           启动系统必要的程序(仅仅是启动系统)
/usr/bin /usr/sbin                   为了完成系统的特定功能(完成功能)
/usr/local/bin  /usr/local/sbin      和系统功能无关的程序(第三方程序)
bin:binary                          (二进制)全部用户都可以执行
sbin:system binary                  系统二进制,管理系统的命令
/bin/install                         只有管理员用户可以执行的程序 

2、配置文件目录

存放各个程序的配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0   网卡配置文件
/etc/sysconfig/network                      主机名配置文件
/etc/passwd                                 用户配置文件(系统中的全部用户都保存在这个文件,每一行是一个用户)
/etc/shadow                                 用户密码

需求,统计当前系统共有多少用户?

[root@7 home]# cat /etc/passwd |wc -l
22

3、用户的家目录

/root: 管理员用户的家目录
/home: 普通用户的家目录在home下和用户名相同的那个目录就是普通用户的家目录
/tmp : 临时文件目录 (这个目录下的文件,如果在30天内没有被重复的访问或修改过,那么该文件被自动删除,所有用户都可以在这个目录下创建文件,每个用户都可以在这个目录下读取自己或者别的用户的文件,但是只能删除自己的,不能删除别人的)

普通用户只能在自己的家目录下创建文件

[zhangsan@7 ~]$ pwd
/home/zhangsan
[zhangsan@7 ~]$ touch a.txt
[zhangsan@7 ~]$ ls
a.txt
[zhangsan@7 tmp]$ rm -rf a.txt
[zhangsan@7 tmp]$ ls

注意:linux中的管理员root不受权限约束

4、存放内容经常变化的文件的目录/var

/var/log/messages    记录系统日志信息(经常产生新信息)
/var/log/secure      记录用户登录失败的信息(登录的用户名,客户的ip地址)
lastb:用来显示登录失败的信息
       如果发现,在短时间内有人频繁用相同或者不同的用户尝试登录系统,说明有人在暴力破解服务器,可以用防火墙封堵该IP
/var/log/lastlog     记录系统中每个用户上一次登录时间和IP,以及登录方式,用lastlog可以查看
/var/log/wtmp        显示每个用户的登录状态和最后的关机操作
命令:last
[root@7 home]# last
root     pts/2        111.197.230.203  Sun Apr 14 21:55   still logged in   
zhangsan pts/0        111.197.230.203  Sun Apr 14 21:46   still logged in   
root     pts/0        111.197.230.203  Sun Apr 14 21:46 - 21:46  (00:00)    
root     pts/1        111.197.230.203  Sun Apr 14 11:16   still logged in   
root     pts/0        111.197.230.203  Sun Apr 14 11:16 - 11:17  (00:00)    
reboot   system boot  3.10.0-957.5.1.e Sun Apr 14 18:37 - 22:27  (03:49)  
useradd lisi
[root@7 home]# passwd lisi
tail /var/log/secure
pr 14 21:59:13 AliYun useradd[14157]: new group: name=lisi, GID=1001
Apr 14 21:59:13 AliYun useradd[14157]: new user: name=lisi, UID=1001, GID=1001, home=/home/lisi, shell=/bin/bash
Apr 14 21:59:20 AliYun passwd: pam_unix(passwd:chauthtok): password changed for lisi

5、共享文件目录

注意:该目录下的文件有特点,只有读权限

/usr
/usr/share/include
/usr/share/man/man5
/usr/share/fonts

6、启动系统相关文件目录

/boot

boot分区不要太小 建议大于等于500M

7、设备文件目录(设备文件不能直接使用,需要将文件挂在到一个目录中才能使用,这个目录就是挂载点)

/dev
/dev/sda        第一个硬盘sda
/dev/sdb        第二个硬盘sdb
/dev/sr0        光盘
/dev/null       黑洞文件(任务文件和内容放到null中就自动消失)
/dev/zero       泡泡机

例子:将ls执行的结果屏蔽掉
#ls >/dev/null

例子:将ls执行结果的错误信息屏蔽掉
#ls /tmpa/ /home/ 2>/dev/null

例子:将正确和错误信息屏蔽掉
#ls /tmpa/ /home/ &>/dev/null
or
#ls /tmpa/ /home/ 2>1 1>/dev/null

8、库文件目录 (和软件安装相关)

/lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64

9、挂载点目录(设备文件需要挂载才能使用)

/mnt
/media
[root@localhost dev]# mount /dev/sr0 /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost dev]# ls /mnt/
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6

10、伪文件系统

/proc: 系统硬件和内核信息的映射
/sys:  外围设备的映射
注意:  此两个目录中的内容是空的,开机的时候,系统会扫描硬件,将硬件信息保存到这两个目录下。在关机的时候,这些信息消失,因此这两个文件下的信息就没有了。
/proc/cpuinfo       记录cpu信息
/proc/meninfo     记录内存信息

11、编译软件安装目录
/opt

linux中的文件类型
一般文件:-

目录文件:-d
套接字文件:  s
命令管道文件:p    
设备文件:
    字符设备 (线性设备):c(character)内容必须是顺序读写:例如:键盘
    块设备 :b  (block)内容是可以随机读写:例如:硬盘          
链接文件:
    这里的链接文件其实指的是文件的快捷方式
    [root@localhost tmp]# ln -s 1.txt nee1.txt
    [root@localhost tmp]# ls -l nee1.txt 
    lrwxrwxrwx 1 root root 5 Apr 15 21:32 nee1.txt -> 1.txt

常用命令

1、cd命令
全称:change Directory
作用:修改所在的目录
格式:cd /etc/sysconfig
pwd
特殊操作:
cd / :直接切换到根目录下
cd ~ :返回到当前用户家目录
cd ..:返回到当前所在位置的上一级目录
cd - :返回到上一次所在的目录(返回切换目录之前的那个目录)
补充:
家目录本质上就是一个目录而已,linux中每个用户都有一个自己的专属,
这个目录就是用户的家目录,用户可以在家目录下执行任意操作
用户家目录有两种情况
例如:用户zhangsan,家目录/home/zhangsan目录
例如:用户zhangsan执行命令cd ~,就切换到了/home/zhangsan
用户sy执行命令cd ~,就切换到了/home/sy
useradd zhangsan
passwd
cd ~
pwd
useradd lisi
passwd
cd ~
pwd

练习:
1、切换到目录/etc/sysconfig
    [root@localhost ~]# cd /etc/sysconfig
    [root@localhost sysconfig]# pwd
     /etc/sysconfig
2、切换到/home 目录下
    [root@localhost ~]# cd /home/
    [root@localhost home]# pwd
/home
3、切换到目录/etc/sysconfig
    [root@localhost ~]# cd /etc/sysconfig
    [root@localhost sysconfig]# pwd
        /etc/sysconfig
4、查看当前所在位置
    [root@localhost ~]# su zs
    [zs@localhost root]$ cd /etc/
    [zs@localhost etc]$ cd ~
    [zs@localhost ~]$ pwd
    /home/zs
5、返回到系统的根目录
    [zs@localhost /]$ su root
    Password: 
    [root@localhost /]# cd /
    [root@localhost /]# pwd
          /
2、pwd命令
    全称:Print Working Directory
    作用:打印所在目录(工作目录)
    linux中全部的文件都在根目录存放
    /:就表示linux的根目录(目录名是/)
    linux    是单根系统
    windows  是多根系统
3、mkdir命令
    全称:make Directory
    作用:创建目录
    格式:mkdir [OPTION]... DIRECTORY...
    例子:创建三个目录bajie wukong guodegang
    [root@localhost ~]# mkdir bajie wukong guodegang
    [root@localhost ~]# ls
    bajie  guodegang  test1  wukong
    例子:创建三个目录/yunwei/linux/python
    [root@localhost ~]# mkdir yunwei/linux/python
    mkdir: cannot create directory `yunwei/linux/python': No such file or directory
        报错、没有父目录
        选项:
        -p:创建目录的时候先创建父目录,再创建子目录。
        -v:显示创建目录的过程信息
        [root@localhost ~]# mkdir -p yunwei/linux/python
        [root@localhost ~]# ls
        bajie  guodegang  test1  wukong  yunwei
        例子:创建目录/a1/a2/a3并显示创建目录的过程信息
        [root@localhost ~]# mkdir -pv a1/a2/a3
        mkdir: created directory `a1'
    mkdir: created directory `a1/a2'
        mkdir: created directory `a1/a2/a3'
    [root@localhost ~]# ls
    a1  bajie  guodegang  test1  wukong  yunwei
    例子:在home下创建yw1
    #mkdir -p/home/yw1
    例子:在根目录下创建目录yw1
    #mkdir /yw1
    例子:在当前用户的家目录下创建目录yw1
    #mkdir /root/yw1
    #mkdir ~/yw1
    例子:在当前位置下创建目录yw1
    #mkdir yw1
    #mkdir ./yw1
    例子:在上一级目录下创建目录yw1
    #cd ..
    #mkdir yw1
    或者
    #mkdir ../yw1
    补充:表示路径的时候
​   ./: 表示当前位置(如果不指定路径也是表示当前位置)
​   ../: 表示上一级目录
​   mkdir abc >>> 在当前位置下创建目录abc
    mddir ./abc  >>>在当前位置下创建目录abc
    echo "mkdir abc"   输出mkdir abc
    [root@localhost tmp]# echo "mkdir abc"
    mkdir abc
    [root@localhost tmp]# ls
    yw1
    4、touch命令
    作用:创建空白文件
    例子:创建三个文件 a.txt b.doc c.ppt
    touch a.txt b.doc d.ppt
    [root@localhost ~]# ls
     a.txt    b.doc  d.ppt  
     例子:根创建文件1.txt
     touch /1.txt
     例子:在根下创建三个文件1.txt 2.txt 3.txt
    [root@localhost ~]# touch /1.txt /2.txt /3.txt
    [root@localhost ~]# cd /
    [root@localhost /]# ls
    1.txt  2.txt  bin   cgroup  etc   lib    lost+found  misc  net  proc  sbin     srv  tmp  var
    1.xtx  3.txt  boot  dev     home  lib64  media       mnt   opt  root  selinux  sys  usr
    补充:花括号展开
    需求:三个目录a b c ,在三个目录中分别创建文件1.txt 2.txt 3.txt
    #mkdir a b c
    #touch a/1.txt a/2.txt a/3.txt
    #touch b/1.txt a/2.txt a/3.txt
    #touch c/1.txt a/2.txt a/3.txt
    或者
    #mkdir a b c
    #touch {a,b,c}/{1.txt,2.txt,3.txt}
    或者
    #mkdir a b c
    #touch {a,b,c}/{1,2,3}.txt
    #touch file.{doc,ppt,txt} = touch file.doc file.ppt file.txt
    #touch {1,2,3}.txt = touch 1.txt 2.txt 3.txt
    例子:创建三个目录 a b c,在每个目录下创建文件a.txt
    #mkdir a b c
    #touch a/a.txt b/a.txt c/a.txt 
    或者
    touch {a,b,c}/a.txt
    需求:创建一个文件,文件名是 年-月-日-小时:分钟:秒.log
    [root@localhost ~]# touch `date +%F-%H:%M:%S`.log
    [root@localhost ~]# touch `date +%F-%H:%M:%S`.log
    [root@localhost ~]# ls
    2019-04-12-04-21:55.log  2019-04-12-04:22:35.log  
    2019-04-12-04:22:33.log  2019-04-12-04:22:36.log
    需求:创建一个文件,文件名是 主机名-小时:分钟:秒
    [root@localhost ~]# hostname
    zs
    [root@localhost ~]# touch `hostname`-`date +%H:%M:%S`.log
    [root@localhost ~]# ls
    zs-04:34:52.log
    补充:linux 中的变量和输出
    echo 
    补充:linux中的引号
    单引号:'' 弱引用,会将变量中的内容原样输出
    [root@localhost ~]# name="I love python"
    [root@localhost ~]# echo '$name'
    $name
    双引号:"" 强引用,是将变量名替换成变量值
    [root@localhost ~]# name="I love linux"
    [root@localhost ~]# echo "$name"
    I love linux
    反引号:命令替换成命令的执行结果
    5、history命令
    作用:查看和使用历史命令(最多纪录1000条)
    保存位置:~/.bash_history
    1、在启动终端的时候,会自动从~/.bash_history中读取历史命令,加载到内存中
    2、在终端中执行命令,命令的历史记录是保存在内存中
    3、在关闭终端的时候,会将内存中的历史命令自动保存到~/bash_history中
    history的快捷操作
    !num:执行历史命令中编号为num的历史命令
    !string:在历史命令中找以指定字符串为开头的命令执行一次,从下向上进行查找
    !!:执行的是上一个命令
    !-num:执行历史命令中倒数第num条命令
    如果保留了历史命令,******了我们的系统,通过历史命令,知道服务器进行了哪些操作。有些时候需要对历史命令进行控制。
    -c:清空历史命令 (内存中的)
    在启动终端的时候,会从~/.bash_history读取历史命令
    [root@localhost ~]# history -c
    [root@localhost ~]# 
    [root@localhost ~]# history
    1  history
    -a:手动将内存中的历史命令保存到文件中
    -r:重新从~/.bash_history中读取历史命令
    -d: num:删除指定编号的历史命令(***别人系统的时候,抹掉自己的操作命令)

    6、ls命令
    作用:显示当前或者指定目录下的文件
    选项
    -a:显示目录下的全部文件(包括隐藏文件)
    -l:显示文件和目录的详细属性
    -d:显示目录自身(如果不使用-d则是显示目录中的文件)
    -h:结合-l使用,以易读的方式显示目录的大小,(只显示
    文件的大小,不显示目录的大小)
    -t: 按照文件的修改时间排序,将最后修改的文件排在前边
    -r:结合-l -t使用,倒序排序
    例子:显示跟下有哪些文件
    [root@localhost ~]# ls /
    1.txt  2.txt  bin   cgroup  etc   lib    lost+found  misc  net  proc  sbin     srv  tmp  var
    1.xtx  3.txt  boot  dev     home  lib64  media       mnt   opt  root  selinux  sys  usr
    黑白颜色是一般文件,蓝颜色的是目录
    例子:显示当前目录下有哪些文件
    #ls ./
    #ls
    (当前位置是./,但是可以省略)
    例子:创建文件并查看文件的详细信息
    [root@localhost tmp]# mkdir book
    [root@localhost tmp]# touch book/{linux,python,go}
    [root@localhost tmp]# ls book/
    go  linux  python
    [root@localhost tmp]# ls -l book/
    total 0
    -rw-r--r-- 1 root root 0 Apr 12 18:03 go
    -rw-r--r-- 1 root root 0 Apr 12 18:03 linux
    -rw-r--r-- 1 root root 0 Apr 12 18:03 python
    例子:显示a.txt的详细属性
    #ls -l a.txt
    例子:显示book目录的详细属性
    [root@localhost tmp]# ls -ld book
    drwxr-xr-x 2 root root 4096 Apr 12 18:03 book
    [root@localhost tmp]# cd book/
    [root@localhost book]# ls
    go  linux  python
    [root@localhost book]# vi go
    [root@localhost book]# vi linux
    [root@localhost book]# vi python 
    [root@localhost book]# ls -l
    total 12
    -rw-r--r-- 1 root root 164 Apr 12 18:11 go
    -rw-r--r-- 1 root root  83 Apr 12 18:13 linux
    -rw-r--r-- 1 root root 165 Apr 12 18:13 python
    ls -lh
    total 45M  
    -rw-r--r-- 1 root root 164 Apr 12 18:11 go
    -rw-r--r-- 1 root root 45M Apr 12 19:01 linux  
    -rw-r--r-- 1 root root 98K Apr 12 18:48 python
    -h只显示文件的大小,不显示目录的大小
    例:
    [root@localhost book]# cd ..
    [root@localhost tmp]# ls -l -h
    total 4.0K
    drwxr-xr-x 2 root root 4.0K Apr 12 19:04 book
    显示目录的大小用du命令,此处不过多解释。讲解磁盘的时候会详情讲解。
    -t将最后修改的文件排在前面
    [root@localhost tmp]# cd book/
    [root@localhost book]# ls
    go  linux  python
    [root@localhost book]# ls -l
    total 45676
    -rw-r--r-- 1 root root      164 Apr 12 18:11 go
    -rw-r--r-- 1 root root 46661650 Apr 12 19:01 linux
    -rw-r--r-- 1 root root    99824 Apr 12 18:48 python
    [root@localhost book]# vi linux 
    [root@localhost book]# ls -l -t
    total 45676
    -rw-r--r-- 1 root root 46661656 Apr 12 22:27 linux
    -rw-r--r-- 1 root root    99824 Apr 12 18:48 python
    -rw-r--r-- 1 root root      164 Apr 12 18:11 go
    [root@localhost book]# vi go 
    [root@localhost book]# ls -l -t
    total 45676
    -rw-r--r-- 1 root root      167 Apr 12 22:27 go
    -rw-r--r-- 1 root root 46661656 Apr 12 22:27 linux
    -rw-r--r-- 1 root root    99824 Apr 12 18:48 python
    绝对路径和相对路径
    绝对路径:就是从根目录下开始查找
    相对路径:相对当前位置的路径
    在home目录下的a中创建一个文件a.txt
    [root@localhost home]# mkdir a 
    [root@localhost home]# touch /home/a/a.txt 绝对路径
    [root@localhost home]# touch ./a/a.txt 相对路径(前提必须在home之下)
    [root@localhost home]# touch a/a.txt   相对路径(前提必须在home之下)
    touch ./a/a.txt(前提必须在home之下)    
    touch a/a.txt  (前提必须在home之下)
    例子:切换到/etc/init.d目录下
    要求1:在init.d下新建目录abc
    要求2:在/etc下新建目录abc
    1:方法1:相对路径
    [root@localhost home]# cd /etc/init.d
    [root@localhost init.d]# mkdir abc
    [root@localhost init.d]# ls
    abc        autofs            cups        kdump         netconsole  ntpdate      rdisc        
    [root@localhost ~]# mkdir /etc/init.d/abc
    [root@localhost ~]# .ls /etc/init.d/
    abc        autofs            cups        kdump         netconsole  ntpdate      rdisc        rpcsvcgssd  sssd
    绝对路径:mkdir /etc/abc
    相对路径:mkdir ../abc
    7、cat命令 
    全称:concatenate(连接并显示:拼接多个文件)
    作用:显示一个文本文件中的内容
    格式:cat [选项] 文件
    选项:
    -n:在每行的前面显示行号
    361  cat /etc/init.d/halt
    362  cat -n /etc/init.d/halt
    -E:显示出来行结束符
    补充:windows中的文件的换行符:/n
    linux中的文件的换行符:$ 
    (这样的符号都是隐性符号-都是默认不可见的)
    8、tac命令
    作用:将一个文件中的内容倒序显示出来
      最后一行变成第一行)
    [root@localhost tmp]# vi 1.txt
    11111
    2222
    3333
    444
    555
    [root@localhost tmp]# tac 1.txt
    555
    444
    3333
    2222
    11111
    9、head
    作用:显示一个文件的前若干行(默认是10行)
    格式:
    head -n file
    选项:
    -n NUM:指定显示前NUM行
    例子:显示文件1.txt的前10行
    # head 1.txt
    例子:显示文件1.txt的前3行
    # head -n 3 1.txt
    10、tail
    作用:显示一个文件的末尾若干行(默认是10行)
    格式:tail 选项file
    选项:
    -n: 指定显示末尾n行
    -f:动态监控一个文件中的内容变化
    例子:显示文件1.txt的末尾10行
    #tail 1.txt
    例子: 显示文件1.txt的末尾3行
    #tail -n 3 1.txt
    监控1.txt中的内容变化情况
    [root@localhost tmp]# tail -f  1.txt 
    退出监控ctrl+c
    只要文件1.txt中的内容发生改变,会立刻显示在终端之上。
    11、more
    作用:显示一个文件中的内容(分屏显示)
    12、less
    作用:显示一个文件中的内容(分屏显示)
    操作
    回车:显示下一行
    空格:显示下一屏幕
    b:向上翻一屏
    q:退出more或者less
    补充:more和less的区别只有一个 
    more当到达文件末尾的时候,会自动退出
    less是不会自动退出的
    补充:  cat 、tac: 显示比较内容较少的文件
    head、tail:  显示文件的一部分
    more、less: 显示一个内容很大文件的全部
    在文件中检索内容        

    13、rm命令
    全称:remove(移除)
    作用:删除文件或者目录
    格式:rm 选项 文件1 文件2

    例子:删除文件1.txt 2.txt 3.txt
    root@7.4 ~# touch 1.txt 2.txt 3.txt
    root@7.4 ~# ls
    1.txt  2.txt  3.txt  Readme  y.sh       
    选项:
        -f --force 强制删除
        -r 删除目录
    rm -f 1.txt 2.txt 3.txt
    root@7.4 ~# mkdir book1 book2 book3
    root@7.4 ~# rm -f book1 book2 book3
    rm: cannot remove ‘book1’: Is a directory
    rm: cannot remove ‘book2’: Is a directory
    rm: cannot remove ‘book3’: Is a directory
    root@7.4 ~# ls
    book1  book2  book3  Readme  y.sh
    root@7.4 ~# rm -f -r book1 book2 book3
    root@7.4 ~# ls
    Readme  y.sh
    或者 rm -rf book1 book2 book3
    通配符介绍
    *:表示任意长度的任意字符(可以表示任何东西)
    *abc 表示文件名的后三位是abc的情况,顺序要严格匹配   
    例子:删除文件名的结尾是.txt的文件
    root@7.4 ~# touch 2.txt 3.txt a.txt a.conf b.conf 
    root@7.4 ~# ls
    2.txt  3.txt  a.conf  a.txt  b.conf  Readme  y.sh
    root@7.4 ~# rm -rf *.txt
    root@7.4 ~# ls

    例子:删除文件名开头是a的文件
    root@7.4 ~# ls
    a.conf  b.conf  Readme  y.sh
    root@7.4 ~# rm -rf a*
    root@7.4 ~# ls
    b.conf  Readme  y.sh
    例子:删除文件名中包含a的文件

    root@7.4 test# touch a.txt abad.txt b.txt bag.xt 3.txt dk vb 
    root@7.4 test# ls
    3.txt  abad.txt  a.txt  bag.xt  b.txt  dk  vb
    root@7.4 test# rm -rf *a*
    root@7.4 test# ls
    3.txt  b.txt  dk  vb
    例子:删除当前目录下的全部文件
    rm -rf ./*
    或者
    rm -rf *

    例子:删除homo下全部以a为开头,字母b为结尾的文件
    rm -rf /home/a*b
    例子:删除home下全部以a为开头,字母b为结尾的文件,文件名中包含c的文件
    rm -rf /home/a*c*b

    注意:删除之前一定要确定要删除的文件 ,切记:自己创建的
    可以删除,系统自带的不要删除,确认系统是不是有快照。
    rm -rf / * 删除系统中所有的文件
    删除后,系统不能启动,有些文件删除不掉,是伪文件。
    系统启动时按esc可以看系统启动过程中的详细信息
    14、mv 
    全称:move
    作用:移动文件和目录

    例子:将tmp下的1.txt移动到home下  
    # mv /tmp/1.txt /home
    例子:将tmp下的2.txt移动到home下,并改名为new2.txt 
    # mv /tmp/2.txt /home/new2.txt

    工作中不建议使用mv命令,从一个磁盘复制到另一个磁盘
    复制过程中断电数据丢失,文件会崩溃先把文件复制过去,
    确定数据完整性后,删除源文件。

    例子:将tmp下3.txt移动到tmp下并改名new3.txt
    # mv/tmp/3.txt /tmp.new3.txt
      mv/tmp/3.txt /tmp/new3.txt
    #mv /tmp/book2 /home/newbook2 (对于目录的移动)
    此命令是将命令book2移动到home下
    如果home下没有目录book2,此时会将book2复制到home下并改名newbook2
    如果home下已经有newbook2,那此时将book2移动到newbook2的下面
    [root@7 tmp]# mv /tmp/book2 /home/newbook2
    [root@7 tmp]# ls /home
    newbook2
    [root@7 tmp]# mkdir book2
    [root@7 tmp]# mv /tmp/book2 /home/newbook2
    [root@7 tmp]# ls /home
    newbook2
    [root@7 tmp]# ls /home/newbook2/
    book2
    mv /tmp/1.txt /home/new1.txt
    (移动命令)
    此命令是将1.txt移动到home下
    如果home下有new1.txt,此时会提示覆盖
    如果home下没有new1.txt,会将1.txt复制到home下并改名为new1.txt
    15、cp命令
    作用:复制文件和目录
    格式:cp 选项 原始文件 目标文件
    选项:-a: 复制过程中保留文件的属性不变
               如果复制的目的是备份系统文件,通常要使用-a来保留文件的属性不变
               直接备份会导致文件的属性改变直接备份会导致文件的属性改变
          -f: 复制过程中如果需要覆盖,则强制执行(不询问)
          -i: 在执行覆盖操作前询问用户,如果使用该选项,则-f无效
          -r: 复制目录(复制目录必须用上此选项)
               先复制目录到目标位置,然后将目录中的全部内容复制过去
               [root@7 home]# cp -r -v /tmp/book3 /home/
                ‘/tmp/book3’ -> ‘/home/book3’
          -v: 显示复制过程信息(分析命令怎么执行)
    注意:系统默认为cp命令设置了别名,别名中已经使用了选项-i

    例子:将tmp下的1.txt复制home下
        [root@7 tmp]# cp 1.txt /home/
        [root@7 tmp]# ls /home
        1.txt
    注意:如果再次复制,会提示覆盖,如果想自动强制覆盖需要使用
    cp的原意
        # /cp /tmp/1.txt /home

    例子:将tmp下的2.txt复制到home并改名为new2.txt
        [root@7 tmp]# cp /tmp/2.txt /home/new2.txt
        [root@7 tmp]# ls /home
        1.txt  new2.txt
    例子:将目录book2复制到home下并改名为newbook2
        [root@7 tmp]# cp -r /tmp/book1 /home/
        [root@7 tmp]# ls /home/
        1.txt  book1  new2.txt
    例子:将目录book1复制到home下并改名为newbook1
        cp -r /tmp/book1 /home/newbook1

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/183540.html

(0)
上一篇 2021年11月2日 03:57
下一篇 2021年11月2日 03:57

相关推荐

发表回复

登录后才能评论