oracle touch命令,【Linxu学习002】Linux常用命令/目录相关

一、Linux目录

在/目录下有若干个文件夹,初始的时候比较头疼不知道干什么用的,有一本书专门介绍各个目录的作用,该书已经上传到附件。

1. /boot:系统启动相关的文件,内核以及grub(bootloader)、initrd

2. /dev:设备文件

块设备:随即访问

字符设备:线性访问,按照字符为单位

鼠标和显示器都是字符设备

ll显示/dev特殊设备的时候,不再显示大小,而是显示主设备号和次设备号,中间使用,隔开。

3. /etc/:配置文件

4. /home:用户的家目录

5. /root:root的家目录

6. /lib:库文件

(1). 库文件分类

库文件有两类:

动态库:windows上表现为.dll,在linux上表现为.so(shared Object)

静态库:Linux上表现为.a

(2). 动态库和静态库有什么区别?

动态库在内存中只有一份,如果多个模块都需要一个库文件,那么除了第一次加载该动态库之外,其他模块都直接在内存中调用该动态库即可。

静态库是直接链接为程序的一部分而存在

如果直接将一个程序移植到另外一个主机上,如果是静态库,则不需要考虑其他一定能够运行,但是如果是动态库,则必须保证该主机上有相应的库文件才行。

(3). .so文件类型

.so文件不是LSB executable类型的文件,而是LSB shared object类型的文件,使用file命令就能够直接看出来,.so类型的文件只能够被调用,不能够单独运行。

(4). /lib是存放库文件的,但是实际上其它目录也能够存放库文件

7. /media:挂载点目录,移动设备

8. /mnt:额外的临时文件,比如,额外的临时文件系统

9. /opt:第三方程序的安装目录,但是现在已经约定俗称的不将其安装到该目录下了,但是Oracle等特殊软件仍然会默认将软件安装到该目录下。

10. /proc:为文件系统,该目录本来是空的,但是系统启动起来之后就不是空的了。实际上是内核映像文件。

11. /sys:也是一种伪文件系统,他是和硬件设备相关的属性映射文件

12. /tmp:临时文件夹

13. /var:可变化的文件,随着系统的运行,该文件会越来越大。

/var/tmp也是一个临时文件

14. /bin:binary,存放的都是可执行文件,用户命令

15. /sbin:管理命令

17. /usr:universal shared readonly,全局的,共享的,只读的文件

/usr/bin

/usr/sbin

/usr/lib

/usr/local

/usr/local/bin

/usr/local/sbin

/usr/local/lib

二、如何创建目录

mkdir

-p #如果父目录不存在,则创建之

-v #打印创建的信息

示例:

kdyzm@kdyzm:~$ mkdir -pv /tmp/a/b/c/d

mkdir: created directory ‘/tmp/a’

mkdir: created directory ‘/tmp/a/b’

mkdir: created directory ‘/tmp/a/b/c’

mkdir: created directory ‘/tmp/a/b/c/d’

可以使用命令行展开创建多个目录:

kdyzm@kdyzm:~$ mkdir -pv /tmp/a/{b,c}/d

mkdir: created directory ‘/tmp/a’

mkdir: created directory ‘/tmp/a/b’

mkdir: created directory ‘/tmp/a/b/d’

mkdir: created directory ‘/tmp/a/c’

mkdir: created directory ‘/tmp/a/c/d’

Linux中"{}"称之为命令行展开,"~"称之为波浪线展开。

三、查看文件状态信息和修改文件时间戳

1.查看文件状态信息

kdyzm@kdyzm:~/datastructure$ stat graph/ #查看某个文件的状态信息

File: ‘graph/’

Size: 4096 Blocks: 8 IO Block: 4096 directory

Device: 809h/2057d Inode: 278398 Links: 6

Access: (0775/drwxrwxr-x) Uid: ( 1000/ kdyzm) Gid: ( 1000/ kdyzm)

Access: 2016-01-25 13:26:21.862111974 +0800

Modify: 2016-01-23 13:53:49.997066495 +0800

Change: 2016-01-23 13:53:49.997066495 +0800

Birth: -

stat `ls` #查看当前目录下所有文件的状态信息

这里我们对三个时间戳信息比较感兴趣

Access: 2016-01-25 13:26:21.862111974 +0800

Modify: 2016-01-23 13:53:49.997066495 +0800

Change: 2016-01-23 13:53:49.997066495 +0800

从上到下依此是访问时间、修改时间、改变时间。

2.修改时间和改变时间有什么区别?

“修改时间”指的是内容改变的时间;“改变时间”则不仅仅包含“内容”的改变,而且还包含文件本身各个“属性”的改变,当然“修改时间”本身就是文件的一种属性,所以如果“修改时间”被改变,那么“改变时间”也会随着发生变化。

3.使用touch命令修改文件的时间戳信息

touch

-a 只修改访问时间

-m 只修改“修改时间”

-c 如果文件不存在,不创建文件

-t 设置时间戳信息,格式:[[CC]YY]MMDDhhmm[.ss]

示例:

kdyzm@kdyzm:~/datastructure$ stat graph/

File: ‘graph/’

Size: 4096 Blocks: 8 IO Block: 4096 directory

Device: 809h/2057d Inode: 278398 Links: 6

Access: (0775/drwxrwxr-x) Uid: ( 1000/ kdyzm) Gid: ( 1000/ kdyzm)

Access: 2016-01-25 13:26:21.862111974 +0800

Modify: 2016-01-23 13:53:49.997066495 +0800

Change: 2016-01-23 13:53:49.997066495 +0800

Birth: -

kdyzm@kdyzm:~/datastructure$ touch -at 191909092359.59 graph/

kdyzm@kdyzm:~/datastructure$ stat graph/

File: ‘graph/’

Size: 4096 Blocks: 8 IO Block: 4096 directory

Device: 809h/2057d Inode: 278398 Links: 6

Access: (0775/drwxrwxr-x) Uid: ( 1000/ kdyzm) Gid: ( 1000/ kdyzm)

Access: 1919-09-09 23:59:59.000000000 +0800

Modify: 2016-01-23 13:53:49.997066495 +0800

Change: 2016-01-28 12:07:23.752351674 +0800

Birth: -

上述示例中,使用touch命令修改了graph文件夹的最后一次访问时间,为1919-09-9 23:59:59,但是可以发现change时间也改变了,改变成了当前时间,也就是说随着访问时间的改变,“改变时间”会更新到了最新的时间。

四、删除文件和文件夹

rmdir :删除空文件夹

rm :删除文件或者文件夹

使用rmdir只能删除空文件夹,使用rm能够删除文件和文件夹,所以rm命令要比mkdir更加常用。

rm

-i #删除每个文件之前提示

-r #递归删除文件,通常用于删除文件夹中及其子文件夹中的所有文件和目录

-f #不提示直接删除,强制删除

示例删除:

kdyzm@kdyzm:~$ rm -ir /tmp/a

rm: descend into directory ‘/tmp/a’? y

rm: descend into directory ‘/tmp/a/c’? y

rm: remove directory ‘/tmp/a/c/d’? y

rm: remove directory ‘/tmp/a/c’? y

rm: descend into directory ‘/tmp/a/b’? y

rm: remove directory ‘/tmp/a/b/d’? y

rm: remove directory ‘/tmp/a/b’? y

rm: remove directory ‘/tmp/a’? y

kdyzm@kdyzm:~$

五、复制命令

cp #该命令用于复制文件和目录

...source... destDir #复制多个源到一个目录

-t destDir ...source... #同上

-r/R #递归的复制目录

-a #保留文件的所有属性,长用于归档备份

-d #如果复制的是软链接,则还是软链接而不是源文件

-p #保留文件的属主和属组以及时间戳等信息

示例:

kdyzm@kdyzm:~$ mkdir -pv /tmp/a/{b,c}/{d,e}/f

mkdir: created directory ‘/tmp/a’

mkdir: created directory ‘/tmp/a/b’

mkdir: created directory ‘/tmp/a/b/d’

mkdir: created directory ‘/tmp/a/b/d/f’

mkdir: created directory ‘/tmp/a/b/e’

mkdir: created directory ‘/tmp/a/b/e/f’

mkdir: created directory ‘/tmp/a/c’

mkdir: created directory ‘/tmp/a/c/d’

mkdir: created directory ‘/tmp/a/c/d/f’

mkdir: created directory ‘/tmp/a/c/e’

mkdir: created directory ‘/tmp/a/c/e/f’

kdyzm@kdyzm:~$ cp -r /tmp/a/ /tmp/newa

kdyzm@kdyzm:~$ tree /tmp/newa

/tmp/newa

├── b

│ ├── d

│ │ └── f

│ └── e

│ └── f

└── c

├── d

│ └── f

└── e

└── f

可见已经复制成功,但是文件夹被重命名了。

注意:复制时的规则如下

对于上述复制文件夹的例子来说,如果目标文件夹不存在,则直接复制该目录并将该目录重命名为指定文件夹名称;如果目标文件夹存在,则讲源文件夹复制到目标文件夹下

如果目标是文件,如果文件存在,则删除文件然后复制新文件;如果目标文件不存在,则直接复制文件。

六、install命令

通过whatis可以看出install命令的作用是复制文件并且设置属性的命令。

该命令的最大特色就是能够自定义复制文件之后的访问权限、文件属主、文件属组等信息,使用该命令只能复制文件二不能复制目录。

install

-m #设置9个权限位,设置方法和chmod相同

-o #设置属主

-g #设置属组

-t #设置目标目录

示例:

kdyzm@kdyzm:~$ touch a.txt

kdyzm@kdyzm:~$ ll ./a.txt

-rw-rw-r-- 1 kdyzm kdyzm 0 1月 28 13:32 ./a.txt

kdyzm@kdyzm:~$ install -m 777 -o root -g root a.txt b.txt

install: cannot change ownership of ‘b.txt’: Operation not permitted

kdyzm@kdyzm:~$ su root

Password:

root@kdyzm:/home/kdyzm# install -m 777 -o root -g root a.txt b.txt

root@kdyzm:/home/kdyzm# ll b.txt

-rwxrwxrwx 1 root root 0 1月 28 13:35 b.txt*

如果想要设置属主属组信息需要相应的权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值