20160218自学Linux_根文件目录介绍+目录管理命令学习(mkdir,rmdir,tree,touch,stat,rm,nano,cp,mv,insatll)

07

Windows:PE

Linux:ELF

ELF:可执行的可链接的文件格式

文件系统(rootfs):根文件系统

FHS:Linux

下面开始了解/目录下的一级子目录,有以下一些:

/boot

/boot:系统启动的时候主要用到的一些相关的文件:如内核,initrd,以及grub(MBR只是一个存储空间,起作用的是grub:bootloader,这个才是主要的程序),都在/boot/目录下

/dev:设备文件

设备文件:

块设备:随机访问(可以实现随机访问的数据),数据块(数据被分成一个一个的块)

字符设备:线性访问模型(有次序的访问)

如:键盘,显示器都是线性访问模型

特殊文件没有大小(可以看到上图大小是10,5,这些不是他们的大小),只有元数据,如上图的c设备,还有b设备

设备号:主设备号(major)和次设备号(minor)|视频中这一段会有嘈杂的响声

/etc配置文件的主要存放路径,这里主要是纯文本的配置文件

/home:用户的家目录,每一个用户的家目录通常默认为 /home/USERNAME

在自己的家目录下是有所有权限的,root的用户的家目录就是/root

root用户的家目录就是/root,没有/home

工作中的root用户不经常登录的,因为root的权限非常的大

只有在管理员的权限要做的时候才用到root用户

/lib:主要是存放库文件。

当然除了lib,还有其他存放/lib/modules:内核模块文件

静态库:Linux的是 .a

动态库: window的是.dll

Linux的是.so(shared object)称为动态库也称为(共享库)

上图表示的是:我的共享库给你用,你的ls就可以用,但是你ls移植到了另外一个环境,你的ls就不能用了,因为另一个环境没有ls的共享库,也就是途中的.so

库文件是不能单独执行的,只能被调用,因为没有访问入口

/media:/mnt:这两个是我们经常用于挂载点的目录

我们光盘放进光驱以后,必须关联到某一个树的根节点上,才能访问

/media通常挂载移动设备的

/mnt:是挂载额外的临时文件系统,cd-rom常可以挂在到这里

/misc:杂项

/opt:可选目录,第三方官方的程序的安装目录,现在比较多放在了/usr/local

/proc:这个是一个伪文件系统

这里所有显示的文件,其实是内核映射的文件,一般是内核的可调参数

所以我们所说的系统调优跟这个很大相关,但是这也是非常难理解的目录

/sys 这是另一个伪文件系统,这个不是内核映射文件,是跟硬件设备相关的属性映射文件

通常实现对硬件相关的信息映射

[[email protected] sys]# ls

block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

/tmp:临时文件,可以用其他用户查看,还有一个临时文件目录在var/tmp下面

每一个可以在里面创建文件,当然也只能创建自己的文件(主要是因为其他属组是t权限没这是个特殊权限,其他两个是u+s,g+s。这个是o+t)

/var:可变化的文件,随着运行系统的时间,这个文件会越来越大

[[email protected] sys]# ls /var/

account  cache(缓存)  db     games  gopher    lib    lock(锁文件)  mail  opt       run(存储进程,有pid)    tmp (第二个临时文件目录) ypadm      crash  empty  gdm    kerberos  local  log(日志)   nis   preserve  spool  var

run里存放的有pid,这里存放的就是进程IP号

/bin:可执行文件,用户命令

/sbin:管理命令

s可以理解成super,所以,这两个里面放的是程序,lib放的是库,这两个程序运行的时候可能依赖于这个/lib里面的库,每一个库就有可能用到配置文件,配置文件在哪里啊,就在/etc下

/usr:这个不是user的简写,s表示的是shared ,r就是read-only

/usr表示的就是:全局的共享的只读文件

/usr/bin

/usr/sbin

/usr/lib

为什么要多这么一个路径呢

/bin和/sbin是跟系统启动相关的,而/usr/bin,和/usr/sbin是跟系统正常功能相关的,当然这只是方便大家认识做的分类,所以/usr/lib也是库文件存放路径

对于操作系统立场来讲,上面的是必须的,而下面的/usr/local/*就不是必须的,存放的是第三方软件的东西,但不影响系统的启用

/usr/local:

/usr/local/bin

/usr/local/sbin

/usr/local/lib

之前的目录没有了是不能正常启动的,但是第三方的路径下格式化了也是没有问题的,系统是可以启动的

命名规则:

1、长度不能超过255个字符;

2、不能使用/当文件名

3、严格区分大小写

Linux是没有注册表的概念

所以弄出的系统可以随时移植

我们运维的工作——这里对目录管理先作介绍

1.文件管理2.目录管理3.运行程序4.设备管理5软件管理6.进程管理7.网络管理

目录管理

之前讲过ls,cd,pwd

一、mkdir

-p:自动也创建副目录    如  mkdir -p /aaa/bbb/ccc 即使bbb不存在也会一并创建

-v:verbose 表示的是详细信息,很多都是这个v是详细信息,如tar命令。

二、tree 查看文件系统树的

mkdir -pv /mnt/test/{x/m,y}

花括号展开(命令行展开),默认将逗号前后分成两个

波浪线展开 cd ~   自动进入当前用户的家目录

Linux重要的哲学思想之一:输出没有信息就是最好的信息

二、rmdir

rmdir (remove direction)

只能删除空目录,不是空目录它删不了

rmdir的-p选项是一脉相传的才可以删除

意思:就是子目录删了,父目录只有你这个子目录(没有其他文件),父目录才会被删除

Linux下目录和文件都是文件,所以Linux下不允许一个目录叫a,一个文件也叫a,在cp和mv命令下就要注意了,它没有隐藏扩展名之说

三、touch

touch 主要不是用来生产文件的,而是修改时间戳

时间戳:最近一次的访问时间,修改时间,改变时间

Access访问时间    modify修改时间    change改变时间

stat 显示文件的时间戳等信息---这个就是可以显示这三个参数

修改内容是access    修改属性是modify   修改改变是change

[[email protected] test]# touch -c c

改变一个文件的时间戳用touch---------黑客经常用   -a   -m  -t (直接修改指定的时间,具体看man touch )

改变时间戳的access用-a参数

改变时间戳的modify用-m参数

直接指定某个时间戳的时间用-t

touch -c c  -c就是不创建c文件命令

为什么没有改变时间戳的改变时间的参数呢?因为改变access和modify的话,他的change就会改变了,但是如果用-t直接修改时间戳的时间,那么change不会随着变化

[[email protected] test]# touch a

[[email protected] test]# stat a

Access: 2015-07-22 05:41:14.838002612 -0400

Modify: 2015-07-22 05:41:14.838002612 -0400

Change: 2015-07-22 05:41:14.838002612 -0400

[[email protected] test]# touch -a a

[[email protected] test]# stat a

Access: 2015-07-22 05:41:29.895888459 -0400

Modify: 2015-07-22 05:41:14.838002612 -0400

Change: 2015-07-22 05:41:29.895888459 -0400

[[email protected] test]# touch -m a

[[email protected] test]# stat a

Access: 2015-07-22 05:41:29.895888459 -0400

Modify: 2015-07-22 05:41:39.797278103 -0400

Change: 2015-07-22 05:41:39.797278103 -0400

这个命令还是挺常用的命令

文本编辑器:就是编辑纯ASCII码

什么叫做ASCII:纯文本,没有任何字符,其他信息。

就是一个美国的标准,标准化,比如97就是a,65就是A,规定了一定的规则

延生的说,我们中国的汉字也是有标准的,也就是国标GB18030,GBK,GB2312,所以不同的国标标准翻译的东西可能是不一样的。

Unicode代码:实现全球化。全球的常用字符都保存在Unicode,方便全球化

四、Nano

nano - Nano‘s ANOther editor, an enhanced free Pico clone

这个nano就是纯文本编辑的一个命令,但是功能非常小,所以以后我们会讲一个vim

五、rm

rm=删除

Type是查看命令类型,file是查看文件类型

[[email protected] test]# type cd

cd is a shell builtin

[[email protected] test]# type rm

rm is aliased to `rm -i‘   避免误操作默认有-i参数,意思是“每次删除前提示”

如果不想它提示就用   \rm

使用命令自身的意思,而不是用别名,可以加\,当然针对没有别名的意义不大

-f 强行删除,  删除目录用-r

rm -rf 对于关于管理员,这种命令是非常致命的

08

六、cp

cp :copy

cp SRCFILE DESTFILE

cp file1 file2 file3(这种是不允许的,不能多个文件合并成一个文件,所以多个源目标文件,目的地一定是一个目录)

cp如果源是目录,那么目的地不能是已经存在的文件,可以是已经存在的目录

对于copy来说,只有一个目的地,一个文件到一个文件,多个文件到多个目录

第一条是复制到/tmp/下,名字依然是passwd

第二条是复制到/tmp/下,名字修改成test

cp默认是不复制目录的,只复制文件

要复制整个目录用选项-r,或者是-R,都是递归,一样的

用-r来复制目录

-f强行复制

-i就是默认的   别名:cp就是 -i

谁复制的,属主属组就是谁的,会随用户是什么就修改成什么,但是用-p就可以保留

如果是-p选项,就会保留了属组,不会改变属组

cp -a 就是保留文件的所有的属性,比-p保留的更多

-a:归档复制,常用于备份东西,因为什么都保留了

记住 -a这一个选项,cp 的时候可以复制所有的属性

-L复制的如果是链接的话,复制出来的是文件,是链接指向的那个文件,而不是链接。默认不加-L的话也是这样子的。

-P 保持复制链接,而不是链接指向的文件

七、mv

mv :move ------------mv SRC DEST

移动文件,移动文件跟cp基本上是一样的

mv移动目录的时候不需要-r选项

不能拿一个目录  mv  到一个已存在名字的 文件 下

如果都是目录,他会mv到目录下,而不会覆盖掉目录的

[[email protected] tmp]# mkdir /tmp/abc

[[email protected] tmp]# touch /var/tmp/123

[[email protected] ~]# mv /tmp/abc/  /var/tmp/123

mv: cannot overwrite non-directory ‘/var/tmp/123’ with directory ‘/tmp/abc/’

[[email protected] ~]# mkdir /var/tmp/aaa

[[email protected] ~]# mv /tmp/abc/ /var/tmp/aaa

[[email protected] ~]# cd /var/tmp/aaa/

[[email protected] aaa]# ls

abc

mv 还可以重命令   mv abc aaa  可以直接操作目录,也可以直接操作文件

[[email protected] tmp]# type mv

mv is aliased to `mv -i‘

-f强制进行覆盖

-t 先指定目标,再指定源

八、install

install 安装(我们之所以会讲这个是因为以后在rpm包制作的时候会用到这个命令,况且对于我们而言,这也是另外一种复制文件的方法)

install - copy files and set attributes

源是多个,目标只能有一个

其实这个跟我们的cp用法是一样的

install -d DIRECOTRY ... :创建目录   (-d选项是创建目录,默认是创建文件)

install的一个特性:用install复制的话,会复制成有执行权限的

如果用-m选项可以指定权限,不指定就是上面的权限

install 没有-R,所以不像copy可以复制目录,所以一般来讲install只能copy文件的,也就是复制文件的,不能复制目录的,所以源只能是文件的

下一次课:文本处理命令

cat,more,less,head,tail,cut,sort,uniq,grep

管道和重定向> <  >>   << & 之类的

用户、组、权限

正则表达式

这些东西讲完了之后,我们会讲一下bash及其特性,然后引用shell编程

时间: 2024-10-12 13:33:08

20160218自学Linux_根文件目录介绍+目录管理命令学习(mkdir,rmdir,tree,touch,stat,rm,nano,cp,mv,insatll)的相关文章

Linux命令之目录管理类命令:mkdir, rmdir, tree, dirname, basename

mkdir命令:新建目录 语法:mkdir [OPTION] /PATH/TO/SOMEWHERE 常见参数选项: -p:创建父目录 -v: 显示创建过程 示例: 如何/tmp/下创建目录:x_m, x_n, y_m, y_n # mkdir /tmp/{x_,y_}{m,n} rmdir命令:删除目录 语法:rmdir /PATH/TO/SOMEWHERE 常见的参数选项: -p:连同上层的空目录一起删除(慎重使用) tree命令:以树状图列出目录的内容 语法:tree [OPTION]...

Linux_目录管理命令

本篇博文主要介绍一下Linux系统的目录管理命令,有mkdir,rmdir,ls,cd,pwd,file,tree. 1.mkdir -- 创建目录 用法: mkdir [options] directory... options: -m, --mode=MODE:定义目录的权限 -p, --parents: 创建目录时, 若目录的父目录不存在, 就先创建其父目录, 再创建子目录 -v, --verbose: 显示创建每个目录的信息 2.rmdir -- 删除空目录 用法: rmdir [opt

002-Linux文件类型、权限及目录管理命令

l  1.基本概念: 1.)魔数(magic number):标识二进制程序的执行格式 2.)目录详解 1.目录(directory):文件,路径映射 工作目录(working directory) 当前目录(currentdirectory) 2.路径:从指定起始点到目的地所经过位置 绝对路径:以根为基准进行查找 相对路径:以当前目录为基准进行查找 3.文件系统(file system):层次化管理 3.)文件类型: -:普通文件(file) d: 目录文件(directory file) b

LINUX文件及目录管理命令基础(2)

Linux文件类型 文件作为Linux操作系统中最常见的对象,在系统中被分为了多种类型 如下: - 普通文件 d 目录 l 链接 b 块设备 c 字符设备 p 管道设备 s 套接字文件 Linux目录结构 绝对路径及相对路径 绝对路径:一切从根开始"/" 相对路径:从当前所在路径开始 LINUX普通文件及目录核心命令 ls pwd cd tree mkdir touch cp mv rm ls命令 ls 查看当前目录下的内容 ls 常用选项: -a 显示指定目录下所有子目录与文件,包括

linux基础篇-05,linux目录管理ls cd pwd mkdir rmdir tree

目录管理ls cd pwd mkdir rmdir tree ################################################################ ls:显示目录 cd:切换目录 pwd:显示当前目录 mkdir:创建目录 rmdir:删除目录 tree:显示目录树 ################################################################ 1>, ls:list directory content

总结五:Linux文件系统之层次结构及目录管理命令

总结五:Linux文件系统之层次结构及目录管理命令 1.FHS:(Filesystem Hierarchy Standard)--文件系统层次结构标准 /bin,/sbin:系统自身启动和运行时可能会用到的核心二进制命令 /lib:共享库文件和内核模块 /lib64:共享库文件和内核模块 /etc:配置文件 /usr:universal shared read-only /usr/bin,/usr/sbin:系统运行中,用户为完成某些操作可能用到的命令 /usr/lib,/usr/lib64:库

第5章 LINUX文件及目录管理命令基础

第5章 LINUX文件及目录管理命令基础5.1 操作LINUX必知必会基础知识5.1.1 Linux命令行组成结构root @ oldboy ~ # :当前用户名 分隔符 主机名 当前用户登陆后的位置,这是个变量 提示符 5.1.2 基本的Linux命令操作语法示例5.1.3 Linux与Windows的目录结构对比5.2 Linux文件及目录核心命令5.2.1 pwd:显示当前所在位置信息"print working directory"-L:逻辑路径:-P:物理路径系统Bash命令

Linux 的目录处理命令:mkdir

第四讲 Linux 常用命令 第1.2节 目录处理命令 一.目录处理命令:mkdir    命令所在路径:/bin/mkdir ; 语法:mkdir -p [目录名] ;  功能:创建新目录.        选项:-p 指递归创建  即:可以在一个本身不存在的目录被创建的同时再创建它的子目录.              注:创建新目录时,不要轻易再 "/" 下创建新目录或文件,但是可以在"/tmp"目录下进行练习.因为"/tmp"目录是可以存放临

文件与目录管理命令(三)

目录管理类命令包括:cd,pwd,ls,mkdir,rmdir,tree,cp,mv,rm,touch,stat 1.1.ls 功能:列出文件或目录 命令帮助: man ls info ls ls --help help cd  #只有内部命令才能用ls /usr/share/man 文档位置 常用选项: -a:列出所有的文件(包含隐藏文件) -l:以长格式的形式列出信息 -i:显示文件inode号 -h:单位换算 -m:以逗号分割文件名列出 -t:按照修改时间来排序 -r:按照修改时间来反向排