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
下一篇 2017-07-15

相关推荐

  • mysql/mariadb基于ssl的主从复制

     当mysql/mariadb跨越互联网进行复制时别人可以窃取到mysql/mariadb的复制信息, 这些信息是明文的, 因此存在不安全性, 这里通过ssl对复制的信息进行加密      1. 创建证书中心 在主服务器上创建证书中心 cd /etc/pki/CA 生成私钥 (umask&…

    Linux干货 2016-12-05
  • Linux yum客户端的配置及yum命令

    一、什么是yum我们在Linux系统上安装处理软件,一般是使用RPM,它是通过预先编译完成并且把软件打包为RPM文件格式后,再加以安装的一种方式,使用者只要拿到这个打包好的软件,然后将里头的文件放置到应该摆放的目录,这样就完成了安装。但是,由于有些软件是有依赖于其他软件的,当你要安装某个RPM类型的软件时,RPM会检验RPM软件数据库,它所依赖的相关软件包是…

    2017-06-11
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; [root@localhost test]# ./exercise3.sh  be eable to login us…

    Linux干货 2016-08-05
  • shell-变量

    bash中变量的种类 根据变量的生效范围等标准:     本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效     环境变量:生效范围为当前shell进程及其子进程    …

    Linux干货 2016-08-21
  • 分享我自己的一个最小化安装CentOS6的初始化脚本

    #!/bin/bash # #Filename:postinstall_init.sh #Description:系统安装完成后,对系统进行一些配置,以符合自己的试验环境 #Author:renpingsheng #Email:995883352@qq.com #Version:1.0 #Date:2017.5.5 setenforce 0 #更改selin…

    Linux干货 2017-05-07
  • 马哥教育网络19期+第十五周课程练习

    1、总结sed和awk的详细用法;   a).sed命令 sed可以实现grep的大部分功能,而且还可以查找替换 [root@localhost ~]# sed '10'p -n 1.txt [root@localhost ~]# sed &#039…

    Linux干货 2016-08-22

评论列表(1条)

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

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