• 目录结构和命令


     

    1 Linux目录结构    1

    1.1 安装tree    1

    1.2 /bin    1

    1.3 /boot    1

    1.4 /dev    1

    1.4.1 /dev目录:存储磁盘文件的目录    1

    1.4.2 分区方案    1

    1.5 /etc    1

    1.6 /home    1

    1.7 /root    1

    1.8 /lib    1

    1.9 /lib64    1

    1.10 /media    1

    1.11 /mnt    1

    1.12 /mount    1

    1.13 /opt    1

    1.14 /srv    1

    1.15 /tmp    1

    1.16 /usr    1

    1.17 /var    1

    1.18 /proc    1

    1.19 /sys    1

    2 基础命令    1

    2.1 特殊目录    1

    2.2 相对路径和绝对路径    1

    2.3 命令提示符    1

    2.4 ls命令    1

    2.5 cd命令    1

    2.6 mkdir命令    1

    2.7 touch    1

    2.8 cp    1

    2.9 mv    1

    2.10 rm    1

    3 总结cpmvrm命令选项区别    1

    命令    1

    -f    1

    -r    1

    -i    1

    -b    1

    cp    1

    强制复制文件或目录    1

    若源文件是目录,复制所有目录和文件    1

    交互,覆盖是询问    1

    目标存在,先备份,在询问是否覆盖    1

    mv    1

    直接覆盖文件或目录    1

        1

    目标存在,互交,询问    1

    标存在,先备份,在询问是否覆盖    1

    rm    1

    强制删除    1

    递归删除    1

        1

    1. Linux目录结构

    2. 安装tree

    tree:目录树;

    yum install –y tree

    [root@oldboy ~]# yum install -y tree

    已加载插件:fastestmirror

    Loading mirror speeds from cached hostfile

    * base: mirrors.aliyun.com

    * extras: mirrors.aliyun.com

    * updates: mirrors.aliyun.com

    base | 3.6 kB 00:00:00

    extras | 3.4 kB 00:00:00

    updates | 3.4 kB 00:00:00

    软件包 tree-1.6.0-10.el7.x86_64 已安装并且是最新版本

    tree L 1 / (显示/目录下的所有1级目录和文件)

    [root@oldboy ~]# tree -L 1 /

    /

    ├── bin -> usr/bin

    ├── boot

    ├── dev

    ├── etc

    ├── home

    ├── lib -> usr/lib

    ├── lib64 -> usr/lib64

    ├── media

    ├── mnt

    ├── opt

    ├── proc

    ├── root

    ├── run

    ├── sbin -> usr/sbin

    ├── srv

    ├── sys

    ├── tmp

    ├── usr

    └── var

     

    19 directories, 0 files

    1. /bin

    /bin目录:所有用户可用的基本命令程序文件;相当于windows下面的C:Windowssystem32

    /sbin:供系统管理使用的工具程序;

    注意:在Linux7中,/bin ;/sbin;/lib;lib64都以软链接到/usr/目录下;

    如:

    lrwxrwxrwx. 1 root root 7 8月 2 20:07 bin -> usr/bin

    lrwxrwxrwx. 1 root root 7 8月 2 20:07 lib -> usr/lib

    lrwxrwxrwx. 1 root root 9 8月 2 20:07 lib64 -> usr/lib64

    1. /boot

    /boot目录:引导加载器必须用到的个静态文件,主要有kernel、initramfs(initrd)、grub等;

    开机启动顺序:电源>>>BIOS做硬件自检>>>磁盘>>>MBR(主引导记录)>>>分区表(PT)

    注意:windows中win+r>>>msconfig(进入开机起动机配置界面)

    1. /dev

      1. /dev目录:存储设备文件的目录

    df –-h命令:查看磁盘状态

    [root@oldboy ~]# df -h

    文件系统 容量 已用 可用 已用% 挂载点

    /dev/sda3 17G 1.2G 16G 7% /

    devtmpfs 225M 0 225M 0% /dev

    tmpfs 236M 0 236M 0% /dev/shm

    tmpfs 236M 5.6M 230M 3% /run

    tmpfs 236M 0 236M 0% /sys/fs/cgroup

    /dev/sda1 1014M 124M 891M 13% /boot

    tmpfs 48M 0 48M 0% /run/user/0    

    /dev/sda3 17G 1.2G 16G 7% /

    其中sd:磁盘的类型,特殊磁盘类型vd(KVM)

    a:磁盘顺序

    3:分区编号(1-4:为主分区;5以后:为逻辑分区)

    1. 分区方案

    MBR:最多4个主分区,如果需要更多分区,需要将一个主分区变为扩展分区,然后才能在扩展分区基础上创建逻辑分区,操作系统只能安装在主分区上;

    GPT:主分区数量没有限制

    1. /etc

    /etc目录:系统程序的配置文件,只能为静态文件;

    1. 不能将磁盘挂在到此目录下
    2. 不能用删除及rm –rf 这个目录
    3. 修改此目录下的配置文件,必须先做备份
    4. /home

    /home目录:所有普通用户的家目录都集中在这个目录下面,一般每个普通用户的家目录默认为此目录下与用户名同名的目录;

    1. /root

    /root目录:管理员的家目录,相当于windows下的C:user用户名目录

    宿主目录,家目录

    pwd命令:查看当前所在位置的路径

    [root@oldboy ~]# pwd

    /root

    useradd user1:创建名为user的普通用户

    root@oldboy ~]# useradd user1

    [root@oldboy ~]# ll /home/

    drwx------ 2 user1 user1 62 8月 6 19:57 user1

    su – user1:切换用户,不需要

    [root@oldboy ~]# su - user1

    [user1@oldboy ~]$

    从user切换root,需要输入密码

    [user1@oldboy ~]$ su - root

    密码:

    上一次登录:一 8月 6 17:57:27 CST 2018pts/0 上

    [root@oldboy ~]#

    1. /lib

    /lib目录:为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块;

        libc.so.*:动态连接的C库

        ld*:云心事链接器/加载器;

        modules:用于存储内核模块的目录;

    1. /lib64

    /lib64:64位系统特有的存放64位共享库的路径;

    1. /media

    /media目录:便携式设备挂载点,cdrom,floppy,u盘等

    1. /mnt

    mnt目录:其他文件系统的临时挂载点;

    1. /mount

    mount目录 :mount/dev/cdrom/mnt

    1. /opt

    opt目录:附加应用程序的安装位置,可选路径;

    1. /srv

    /srv目录:当前主机为服务提供的数据,主机特有的;

    1. /tmp

    /tmp目录:为那些会产临时文件的程序提供的用于存储零时文件的目录,可供所用用户执行写入操作,有图书权限,默认情况下,只有管理员可以对所有文件及目录具有读写权限,其他用户是没有写权限的;

    1. /usr

    /usr目录:全局共享只读数据,重要性仅次于根目录;

        等同于windows的"program file"

        bin,sbin,lib,lib64

        include:C程序头文件;

        share:命令手册页和自带文档等架构特有的文件的存储位置;

        local:另一个层级目录,让系统管理员安装本地应用程序,也通常用于安装第三方程序;

        X11R6:X-Window程序的安装位置;

        src:程序源码文件的存储位置;

    1. /var

    /var目录:存储常发生变化的数据的位置;

    1. /proc

    proc目录:基于内存的虚拟文件系统,用于实现为内核及进程存储器相关信息,他们多为内核参数,

    例如:net.inv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward;

    1. /sys

    /sys目录:sysfs文件系统的挂载点,为虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,主要作用在于为管理Linux设备提供一种统一模型的接口。

    1. 基础命令

    2. 特殊目录

    .:当前目录

    ..:上一级目录

    [root@oldboy ~]# pwd

    /root

    [root@oldboy ~]# cd .

    [root@oldboy ~]# pwd

    /root

    [root@oldboy ~]# cd ..

    [root@oldboy /]# pwd

    /

    [root@oldboy /]#

    1. 相对路径和绝对路径

    相对路径:根据当前环境

    绝对路径:从根开始唯一的路径

    1. 命令提示符

    [root@oldboy ~]#

    root:当前用户登录名

    oldboy:当前主机的名称

    ~:当前所在的目录

    #:表示管理员;$:表示普通用户

    1. ls命令

    1、-a:显示全部文件包括隐藏文件

    [root@oldboy ~]# ls -a

    . .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc

    2、-l:长格式显示文件详细信息

    [root@oldboy ~]# ls -l

    总用量 4

    -rw-------. 1 root root 1442 8月 2 20:11 anaconda-ks.cfg

    [root@oldboy ~]#

    1. cd命令

    cd命令:切换目录

    . 表示用户所在的当前目录

    .. 表示伤及目录

    ~ 表示当前用户的家目录

    cd - :#切换上次所在的目录

    cd . :#表示当前目录,一般在拷贝,移动的情况下使用

    cd .. :#表示切换到上级目录

    cd ~ :#切换到当前用户的家目录和cd后面不接参数功能相同

    1. mkdir命令

    mkdir:创建目录

        -p:为递归创建目录,存在不做提示,不存在创建

        [root@oldboy ~]# mkdir -p 1/2/3/4

    [root@oldboy ~]# tree 1/

    1/

    └── 2

    └── 3

    └── 4

     

    1. directories, 0 files

    一次创建多个连续的目录mkdir a{1..5}

    1. touch

    touch命令:创建文件命令

    -a:只更改存取时间

    -t<日期时间>:修改时间,不是现在的时间

        创建多个文件

        touch 文件1 文件2 文件3

     

    [root@oldboy ~]# touch 1 2 3 4 5 6

    [root@oldboy ~]# ll

    总用量 4

    drwxr-xr-x 3 root root 15 8月 6 21:51 1

    -rw-r--r-- 1 root root 0 8月 6 21:51 2

    -rw-r--r-- 1 root root 0 8月 6 21:51 3

    -rw-r--r-- 1 root root 0 8月 6 21:51 4

    -rw-r--r-- 1 root root 0 8月 6 21:51 5

    -rw-r--r-- 1 root root 0 8月 6 21:51 6

    注意:创建多个名称排列的文件touch a{1..5}.txt

    1. cp

    cp:复制命令

    -f:强制复制文件,不管目标文件存在与否;

    -p:保留源文件或者目录的属性;

    -b:覆盖之前先做备份

    1. mv

    mv:

    mv:移动文件或者文件夹;重命名

    -f:直接覆盖文件夹或者目录

    -b:文件存在,覆盖前先做备份(覆盖前会提示是否覆盖,覆盖前备份再进行覆盖)

    [root@oldboy ~]# mv -b text/text1.txt Music/

    mv:是否覆盖"Music/text1.txt"? y

    [root@oldboy ~]# ll Music/

    总用量 0

    -rw-r--r-- 1 root root 0 8月 7 09:06 text1.txt

    -rw-r--r-- 1 root root 0 8月 7 09:08 text1.txt~

    -i:互交模式,询问用户是否覆盖,输入y覆盖,输入n不覆盖,回车不覆盖

    -S<后缀>:为备份文件指定后缀,不使用默认后缀

    1. rm

    rm:删除命令

    -r:递归删除

    -f:强制删除

    -rf:不显示任何信息,直接删除文件或者文件夹

    -v:显示过程

    [root@oldboy ~]# rm -rv a/

    rm:是否进入目录"a/"? y

    rm:是否删除普通空文件 "a/text1.txt"?y

    已删除"a/text1.txt"

    rm:是否删除普通空文件 "a/text2.txt"?y

    已删除"a/text2.txt"

    rm:是否删除普通空文件 "a/text3.txt"?y

    已删除"a/text3.txt"

    rm:是否进入目录"a/b"? y

    rm:是否进入目录"a/b/c"? y

    rm:是否进入目录"a/b/c/d"? y

    rm:是否进入目录"a/b/c/d/e"? y

    rm:是否删除目录 "a/b/c/d/e/f"?y

    已删除目录:"a/b/c/d/e/f"

    rm:是否删除目录 "a/b/c/d/e"?y

    已删除目录:"a/b/c/d/e"

    rm:是否删除目录 "a/b/c/d"?y

    已删除目录:"a/b/c/d"

    rm:是否删除目录 "a/b/c"?y

    已删除目录:"a/b/c"

    rm:是否删除目录 "a/b"?y

    已删除目录:"a/b"

    rm:是否删除目录 "a/"?y

    已删除目录:"a/"

     

    1. 总结cp、mv、rm命令选项区别

    命令

    -f

    -r

    -i

    -b

    cp

    强制复制文件或目录

    若源文件是目录,复制所有目录和文件

    交互,覆盖是询问

    目标存在,先备份,在询问是否覆盖

    mv

    直接覆盖文件或目录

    目标存在,互交,询问

    标存在,先备份,在询问是否覆盖

    rm

    强制删除

    递归删除

     

  • 相关阅读:
    Unbuntu--安装VMware Tools
    方法引用的基本使用
    Stream流
    Stream流的常用方法
    枚举
    编程式路由导航
    向路由组件传递数据
    缓存路由组件
    嵌套路由
    基本路由
  • 原文地址:https://www.cnblogs.com/majinhai/p/9534050.html
Copyright © 2020-2023  润新知