第二周作业

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关实例演示

理论上,linux一切皆文件,对于linux的管理命令均算是文件管理命令。

Linux文件类型常见的有:常规文件、目录文件、块设备文件、字符设备文件、符号链接文件、命名管道、套接字文件等。

-:常规文件

[root@iZ25c28fe7fZ ~]# ls -lh checkmount.sh -rwxr-x,r-x 1 root root 304 Jun  5  2016 checkmount.sh

类似于这种以-开头的就是常规文件

d:directory,目录文件

[root@xlgoo /]# ls -lhdrwxr-xr-x    9 root root 4.0K Jun 17 21:54 alidata

类似于这种以d开头的就是目录文件

b:block device,块设备文件,支持以block为单位进行随机访问

[root@xlgoo dev]# ll /dev/loop1brw-rw—- 1 root disk 7, 1 Aug 30 16:39 /dev/loop1

类似于这种以b开头的就是块设备文件。比如硬盘、光驱等设备

c:character device,字符设备文件,支持以character为单位进行线性访问

[root@xlgoo /]# ls -la /dev/ttycrw-rw-rw- 1 root tty 5, 0 Sep 18 17:00 /dev/tty

类似于这种以c开头的就是字符设备文件。比如猫等串口设备

设备文件包含以下两种设备号

Major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序

Minor number:次设备号,用于标识同一类型中的不同设备

L:symblock link,符号链接文件

[root@xlgoo /]# ls -la /dev

lrwxrwxrwx 1 root root          15 Aug 30 16:39 stderr -> /proc/self/fd/2

类似于这种以l开头的就是符号链接文件,是通过ln -s 源文件名 新文件名产生的

P:pipe,命名管道

S:socker,套接字文件

[root@xlgoo /]# ls -lh /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 304 Jun  5  2016 /var/lib/mysql/mysql.sock

类似于这种以s开头的就是套接字文件

了解了命令类型以后,开始说linux的文件管理类命令

pwd:printing working directory

显示工作目录

cd:change directory

cd [/PATH/TO/SOMEDIR]

cd:切换回家目录

注意:bash中,~表示家目录

cd ~:切换回自己的家目录

cd ~USERNAME:切换至指定目录的家目录

cd -:在上一次所在目录与当前目录之间来回切换

PWD:当前工作目录

OLDPWD:上一次的工作目录

ls:list,列出指定目录下的内容

ls [OPTION]… [FILE]… -a:显示所有文件,包括隐藏文件

-A:显示除 . ..以外的所有文件

-l:–long,长格式列表,即显示文件的详细属性信息

-rw-r–r– 1 root root 1671

-:文件类型, -,d,b,c,l,s,p

rw-r–r–

rw-:文件属主的权限

r–:文件属组的权限

r–:其他用户(非属主、非属组)的权限

1:数字表示文件被硬链接的次数

root:文件的属主

root:文件的属组 1

671:数字表示文件的大小,单位是字节

Mar 22 19:25:文件最近一次的被修改的时间

AliAqsInstall_64.sh:文件名

-h –human-readable:对文件大小单位换算,换算后的结果可能非精确值

-d:查看目录自身而非其内部的文件列表

-r:reverse,逆序显示

-R:recursive,递归显示

cp命令:copy

源文件:目标文件
单源复制:cp [OPTION]… [-T] SOURCE DEST

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

单源复制:cp [OPTION]…[-T] SOURCE DEST

如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件

如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在,错误

如果DEST存在:

如果DEST是非目录文件:错误

如果DEST是目录文件,分别复制每个文件至目标目录中,并保持原名

常用选项:

-i:交互式复制,即覆盖之前提示用户确认

-f:强制覆盖目标文件

-r(-R ):递归复制目录

-d:复制符号链接文件本身,而非其指向的源文件

-a:-dR –preserve=all,archive,用于实现归档

–preserv

mode:权限

ownership:属主和属组

timestamps:时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…
常用选项:

-i:交互式

-f:force

rm命令:remove

rm – remove files or directories

常用选项:

-i:interactive

-f:force

-r:recursive
删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站)

chmod命令

chmod [OPTION]… MODE[,MODE]… FILE…

chmod [OPTION]… OCTAL-MODE FILE…

chmod [OPTION]… –reference=RFILE FILE…

三类用户:

u:属主

g:属组

o:其他

a:所有

(1)chmod [OPTION]… MODE[,MODE]… FILE…

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位

授权表示法:直接操作一类用户的一个权限位

(2)chmod [OPTION]… OCTAL-MODE FILE…

(3)chmod [OPTION]… –reference=RFILE FILE…

选项:

-R –recursive:递归修改

注意:用户仅能修改属主为自己的那些文件权限

chown命令:

chown [OPTION]… [OWNER][:[GROUP]] FILE…

chown [OPTION]… –reference=RFILE FILE…
选项:                       -R:递归修改

chgrp命令:

chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE…
注意:仅管理员可修改文件的属主和属组

umask:文件的权限反向掩码,遮罩码

文件:

666-umask

目录:

777-umask

注意:之所以文件用666去减,表示文件默认不能拥有执行权限.如果减得的结果中有执行权限,则+1

umask:023

666-023=644

777-023=754

umask命令:

umask:查看当前umask

umask MASK:设置umask

install命令

install – copy files and set attributes
单源复制:            install [OPTION]… [-T] SOURCE DEST

多源复制:

install [OPTION]… SOURCE… DIRECTORY

install [OPTION]… -t DIRECTORY SOURCE…

创建目录:

install [OPTION]… -d DIRECTORY…
常用选项:

-m –mode=MODE:设定目标文件权限,默认为755

-o –owner=OWNER:设定目标文件属主

-g –group=GROUP:设定目标文件属组

mktemp命令:

mktemp – create a temporary file or directory

mktemp [option]… [TEMPLATE]

选项:

-d:创建临时目录

 

 

Bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其实例演示

当命令或程序执行后一般会有两类结果

1)命令执行状态返回值

命令或程序的返回值

举例:输出echo “hello wyh”,查看输出结果

[root@xlgoo ~]# echo “hello wyh”

hello wyh

命令或程序的执行状态结果(成功或失败),可通过bash的特殊变量$?查看

成功时返回:0

举例:创建一个文件夹wyh,查看执行状态

[root@xlgoo ~]# mkdir wyh;echo $?

0

错误时返回:1-255

举例:再次创建一个文件夹wyh,查看执行状态

[root@xlgoo ~]# mkdir wyh;echo $?

mkdir: cannot create directory `wyh’: File exists

1

2)命令行展开

~:展开为用户的家目录

举例:

[root@xlgoo ~]# cd ~

[root@xlgoo ~]# pwd

/root

{}:展开为多个路径

举例:

[root@xlgoo ~]# mkdir -p /tmp/wyh/wyh{1,2,3}

[root@xlgoo ~]# ls /tmp/wyh/

wyh1  wyh2  wyh3

3、请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@xlgoo /]# mkdir -pv {a,b}_{c,d}

mkdir: created directory `a_c’

mkdir: created directory `a_d’

mkdir: created directory `b_c’

mkdir: created directory `b_d’

 

(2)创建/tmp/mylinux目录下的:

mylinux/ mylinux/├── bin├── boot│   └── grub├── dev├── etc│   ├── rc.d│   │   └── init.d│   └── sysconfig│       └── network-scripts├── lib│   └── modules├── lib64├── proc├── sbin├── sys├── tmp├── usr│   └── local│       ├── bin│       └── sbin└── var    ├── lock    ├── log    └── run

[root@xlgoo /]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息

文件包含两类数据,一类叫做元数据(metadata),一类叫做数据(data)。简单的说,数据就是文件的实际数据,而元数据就是’data about data’,关于数据的数据,它是一种结构化的数据。一般是从文件中抽取出来,用来说明文件的特征、内容等一般可用命令stat来查看文件的元数据

stat

语法:stat(选项)(参数)

选项:

-L:支持符号连接;

-f:显示文件系统状态而非文件状态;

-t:以简洁方式输出信息;

–help:显示指令的帮助信息;

–version:显示指令的版本信息

参数:

文件:指定要显示信息的普通文件或者文件系统对应的设备文件名

举例:

File(文件名): `mylinux/’

Size(大小): 4096       Blocks(文件块数): 8          IO Block(IO块大小): 4096   directoryDevice(设备号): fc00h/64512d Inode(索引节点): 145940      Links(链接次数): 14

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-09-24 16:29:10.444469896 +0800(最近访问的时间)

Modify: 2017-09-24 16:28:44.178469896 +0800(最近改变数据的时间)

Change: 2017-09-24 16:28:44.178469896 +0800(最近改变元数据的时间)

至于修改时间戳,一般使用touch命令

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路径不存在时不予创建

-a:仅修改access time

-m:仅修改modify time

-t:STAMP

[[CC]YY]MMDDhhmm[.ss]

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87565

(1)
n27_wyhn27_wyh
上一篇 2017-09-25 14:25
下一篇 2017-09-27

相关推荐

  • 马哥教育网络19期+第十六周课程练习

    编译安装LNMP 一、安装Nginx: 1、解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries"。同时,还需要专门安装pcre-devel包: # yum -y ins…

    Linux干货 2016-08-22
  • 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为

    1.概述        你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象)。至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与官员之间耦合在一起,让多个(部门)对象都有可能接收请求,将这些(部门)对象连接成一条链,并且沿着这条链传递…

    Linux干货 2015-07-15
  • N26-第十二周

    1、请描述一次完整的http请求处理过程;        1、建立或处理链接:接收请求或拒绝请求        2、接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;接收请求的方式通常是并发访问响应模型        3、处理请…

    2017-05-14
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@localho…

    Linux干货 2016-08-15
  • N26 第一周博客作业

    1、描述计算机的组成及其功能。 现代的计算机大多遵循的是 冯·诺依曼 计算机体系,主要有如下几个组成部分: 运算器      :也被称为算术逻辑单元(ALU),可视为计算机的大脑,它主要进行算术运算和逻辑运算; 逻辑控制器  :则负责将计算机的其他部件联系起来,其功能是从存储设备和输入输出设备中读取指令和数据,对指令进…

    Linux干货 2017-01-08
  • 雷人的程序注释

    使用Google code search可以搜索到一些比较有趣的代码注释,呵呵。下面的这些程序注释有搞笑的,也有粗口,看来写程序本来也不是一件很枯燥的事,关键看你的心态如何了。读到这些注释的时候,只能想到一个词,那就是“疯狂的程序员”,哈哈。Have a Fun  ;-) 写个程序时不忘表达自己的感情,以免以后忘了。 呵呵,看来自己也不是很自信。 …

    Linux干货 2016-05-10