Linux basics–part2

一、Linux上的文件管理类命令,及常用的使用方法

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

常用选项:

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

ls [OPTION]… [FILE]…

-a: 显示所有文件,包括隐藏文件;

-A:显示除.和..之外的所有文件;

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

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

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

-r: reverse, 逆序显示;

-R: recursive,递归显示;

2.pwd:printing working directory 显示工作目录

3.mkdir:make directories

常用选项:

mkdir [OPTION]… DIRECTORY…

-p: 自动按需创建父目录;

-v: verbose,显示详细过程;

-m MODE:直接给定权限;

4.rmdir:remove empty directories

常用选项:

rmdir [OPTION]… DIRECTORY…

-p:删除某目录后,如果其父目录为空,则一并删除之;

-v: 显示过程;

5.touch:change file timestamps

常用选项:

touch [OPTION]… FILE…

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

-a: 仅修改access time;

-m:仅修改modify time;

-t :使用指定的时间值作为指定文件相应时间戳记的新值

6.cp:复制文件和目录

常用选项:

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

-f:强制覆盖目标文件;

-r, -R:递归复制目录;

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

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

7.mv:移动 (改名) 文件

常用选项:

-i:交互式;

-f:–force覆盖前永不提示

8.rm:remove

常用选项:

-i:interactive

-f:force

-r: recursive

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

危险操作:rm -rf /*

9.查看文件命令

cat:concatenate文件文本查看工具;

tac:文件文本查看工具

more:more FILE 特点:翻屏至文件尾部后自动退出;

less:同more命令

head:查看文件的前n行  如:~]#  FILE -n #

tail:查看文件的后n行  如:~]#FILE-n #

10.ln:文件之间建立连接

ln -s /etc/php.ini php.soft 生成软链接文件

ln /etc/php.ini php.hard 生成硬链接文件

11.du -sh / 统计根目录的大小

12.file:确定文件类型

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

1.命令执行状态返回值

命令执行的状态结果:

bash通过状态返回值来输出此结果:

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

例如:

[root@ronny1 ~]# ll /tmp/issue

-rw-r–r–. 1 root root 0 7月  13 22:55 /tmp/issue

[root@ronny1 ~]# echo $?

0

[root@ronny1 ~]# ll /tmp/iss

ls: 无法访问/tmp/iss: 没有那个文件或目录

[root@ronny1 ~]# echo $?

2

2.命令行展开所涉及的内容

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例如:

(1)

[root@ronny1 tmp]# pwd

/tmp

[root@ronny1 tmp]# cd ~

[root@ronny1 ~]# pwd

/root

[root@ronny1 ~]#

(2)

[root@ronny1 ~]# ll /tmp/x

总用量 4

-rw-r–r–. 1 root root 215 7月  14 15:03 issue

drwxr-xr-x. 2 root root  6 7月  12 15:45 y2

[root@ronny1 ~]# mkdir -pv /tmp/x/{a,b}_{c,d}

mkdir: 已创建目录 “/tmp/x/a_c”

mkdir: 已创建目录 “/tmp/x/a_d”

mkdir: 已创建目录 “/tmp/x/b_c”

mkdir: 已创建目录 “/tmp/x/b_d”

[root@ronny1 ~]# ll /tmp/x

总用量 4

drwxr-xr-x. 2 root root  6 7月  14 22:28 a_c

drwxr-xr-x. 2 root root  6 7月  14 22:28 a_d

drwxr-xr-x. 2 root root  6 7月  14 22:28 b_c

drwxr-xr-x. 2 root root  6 7月  14 22:28 b_d

-rw-r–r–. 1 root root 215 7月  14 15:03 issue

drwxr-xr-x. 2 root root  6 7月  12 15:45 y2

[root@ronny1 ~]#

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

1.创建/tmp目录下的:a_c, a_d, b_c, b_d

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

mkdir: 已创建目录 “/tmp/a_c”

mkdir: 已创建目录 “/tmp/a_d”

mkdir: 已创建目录 “/tmp/b_c”

mkdir: 已创建目录 “/tmp/b_d”

2.创建/tmp/mylinux目录下的:

[root@ronny1 ~]# 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}}

mkdir: 已创建目录 “/tmp/mylinux”

mkdir: 已创建目录 “/tmp/mylinux/bin”

mkdir: 已创建目录 “/tmp/mylinux/boot”

mkdir: 已创建目录 “/tmp/mylinux/boot/grub”

mkdir: 已创建目录 “/tmp/mylinux/dev”

mkdir: 已创建目录 “/tmp/mylinux/etc”

mkdir: 已创建目录 “/tmp/mylinux/etc/rc.d”

mkdir: 已创建目录 “/tmp/mylinux/etc/rc.d/init.d”

mkdir: 已创建目录 “/tmp/mylinux/etc/sysconfig”

mkdir: 已创建目录 “/tmp/mylinux/etc/sysconfig/network-scripts”

mkdir: 已创建目录 “/tmp/mylinux/lib”

mkdir: 已创建目录 “/tmp/mylinux/lib/modules”

mkdir: 已创建目录 “/tmp/mylinux/lib64”

mkdir: 已创建目录 “/tmp/mylinux/proc”

mkdir: 已创建目录 “/tmp/mylinux/sbin”

mkdir: 已创建目录 “/tmp/mylinux/sys”

mkdir: 已创建目录 “/tmp/mylinux/tmp”

mkdir: 已创建目录 “/tmp/mylinux/usr”

mkdir: 已创建目录 “/tmp/mylinux/usr/local”

mkdir: 已创建目录 “/tmp/mylinux/usr/local/bin”

mkdir: 已创建目录 “/tmp/mylinux/usr/local/sbin”

mkdir: 已创建目录 “/tmp/mylinux/var”

mkdir: 已创建目录 “/tmp/mylinux/var/lock”

mkdir: 已创建目录 “/tmp/mylinux/var/log”

mkdir: 已创建目录 “/tmp/mylinux/var/run”

[root@ronny1 ~]# tree /tmp/mylinux/

/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

24 directories, 0 files

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

1.文件数据是由2个部分组成:

(1).数据-data

(2).元数据-metadata(当你用ls -l 命令 或者ll命令时,列出的信息就是元数据。

2.使用stat查看,如下:

[root@localhost ~]# stat /tmp/

File: ‘/tmp/’

Size: 4096            Blocks: 8          IO Block: 4096  directory

Device: fd00h/64768d    Inode: 67160136    Links: 17

Access: (1777/drwxrwxrwt)  Uid: (    0/    root)  Gid: (    0/    root)

Context: system_u:object_r:tmp_t:s0

Access: 2017-07-14 02:21:49.746629085 -0400

Modify: 2017-07-14 11:05:21.984956234 -0400

Change: 2017-07-14 11:05:21.984956234 -0400

stat命令列出的元数据信息:

size   表示文件的理论长度,单位是字节

Block 与 IO Block 的乘积是文件所占的实际大小,在linux下文件所占的空间分配,最小的单位是块(Bolck),而块的大小与块的数量,决定了文件实际占用的磁盘空间.

Device 表示内核对该设备的编号

Inode  是内核为每一个文件分配的标志

Links   表示文件名指向的inode节点的数量

Access:(0755/-rwxr-xr-x) 表示了访问权限,以及文件类型

uid:     表示了文件所有者,包括了系统为所有者分配的数值id

gid:     表示了文件组,包括了系统为组分配的数值id

接下来有三个时间通常被叫做文件的Access, Modify, Change:

文件时间信息

缩写全称名称描述

eaccess time访问时间文件数据每次被阅读后所记录的时间

modify time修改时间文件内容数据被修改后记录的时间

change time改变时间文件的inode节点信息被改变后记录的时间

3.touch命令:

touch – change file timestamps

touch [OPTION]… FILE…

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

-a: 仅修改access time;

-m:仅修改modify time;

-t :使用指定的时间值作为指定文件相应时间戳记的新值

原创文章,作者:N27_ronny,如若转载,请注明出处:http://www.178linux.com/80448

评论列表(0条)

  • 马哥教育
    马哥教育 2017-07-22 21:34

    个人非常喜欢这种风格的文章,内容也很棒,再接再励。

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code