目录结构和命令

 

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

强制删除

递归删除

 

原文地址:https://www.cnblogs.com/majinhai/p/9534050.html