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)
N27_ronnyN27_ronny
上一篇 2017-07-14 21:30
下一篇 2017-07-15 08:09

相关推荐

  • 小东北Eric的学习宣言

      大家好,我是网络班24期新加入的学员,之前工作了几年,一直没有找到一个很明确的工作方向,现在终于可以有一个很明确的努力方向啦,那就是跟着马哥,成为技术大牛,听马哥说过,键盘敲烂,月薪两万,为了这个目标,并且努力超越它,加油!冲!冲!冲!

    Linux干货 2016-10-19
  • 浅谈Openssl与私有CA搭建

        随着网络技术的发展、internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务、电子商务日益增多并愈加被人们工作和生活依赖。但是,由于互联网的开放性和通用性,网络上的信息是对所有人公开的,这就使网络上的数据传输过程中存在被窃听、篡改等安全隐患,并极有可能给用户带来不可估量的损失。为此,各种保证数据在互联网上…

    Linux干货 2015-06-04
  • Linux基础知识(三)

     本文的主要内容是:  1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  2、取出最后登录到当前系统的用户的相关信息。  3、取出当前系统上被用户当作其默认shell的最多的那个shell。  4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全…

    Linux干货 2016-10-03
  • 4

    1;复制/etc/skel目录为/home/tuinser1, 要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 #   install -d -m 700 /etc/skel /home/tuser1  #  &nbsp…

    Linux干货 2017-01-16
  • Linux发行版、发行版联系与区别

    参考这篇文章<2016年最佳Linux发行版排行榜> http://mt.sohu.com/20160128/n436204298.shtml #1 最好的回归发行版:OpenSUSE OpenSUSE背后的SUSE公司是最古老的Linux企业,成立于Linus Torvalds放出Linux的一年之后。它其实早于Red Hat诞生,同时也是社区…

    Linux干货 2016-08-15
  • Linux高级磁盘管理-RAID管理

    在冯诺依曼体系机构中,输入输出要存储的外部磁盘I/O能力实在太低,尤其是企业面对高并发的访问量,在系统内部需要大量调度磁盘的上的网页文件资源,这些都会产生大量的I/O,一个磁盘的I/O能力不管如何提升毕竟是有线的,尤其是机械硬盘;同时为了保障业务的连续性,磁盘故障时必须提供冗余能力,面对这样的实际需求环境,RAID技术产生了,通过组织磁盘阵列方式提供I/O,…

    Linux干货 2016-09-06

评论列表(1条)

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

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