Linux 学习重点记录之二

一,描述Linux发行版的系统目录名称的命名规则和用途。

文件和目录被诅咒成一个单根倒置树结构;文件系统从根目录下开始,用“/”表示;根文件系统:root filesystem;标准Linux 文件系统,文件名称大小写敏感;以 . 开头的文件为隐藏文件;路径分隔的/;文件名最初255个字符;包括路径在内文件名称最长4095个字

[16:56:54 root@bear wang]#tree -d -L 1 /

/

├── bin -> usr/bin

├── boot

├── data

├── dev

├── etc

├── home

├── lib -> usr/lib

├── lib64 -> usr/lib64

├── media

├── mnt

├── opt

├── proc

├── root

├── run

├── sbin -> usr/sbin

├── srv

├── sys

├── tmp

├── usr

└── var

/bin:普通用户的命令,centos7系统 软链接至usr/bin

/boot:引导文件存放于此目录,vimlinuz、grub

/dev:设备以及特殊文件存放目录,/dev/zero,/dev/null..

/etc : 系统配置文件存放目录

/home:普通用户的家目录

/lib :库文件存放目录

/lib64:x86_64库文件存放目录

/media:便携式挂载点

/mnt:其他文件临时挂载点

/opt:第三方程序安装目录

/proc:统启动后,cpu映射的虚拟文件系统

/root:root家目录

/run:系统启动的守护进程等

/sbin/:管理员用户命令存放目录

/srv:当前主机为服务提供的数据

/sys:统启动后,硬件设备映射的虚拟文件系统

/tmp:临时文件存放目录

/usr:系统默认的软件都会放置到/usr

/var:常用于存放可变化的数据,比如一些日志信息等。

二.元数据 指文件属性信息比如文件名称、文件大小、文件占用的磁盘块数(Blocks)、文件的inode编号、 文件的atime(Access Time)、mtime(Modify Time)、ctime(Change Time)、文件的硬链接数量、文件是普通文件还是目录还是符号链接等。

1、可以使用stat命令来查看:

[17:35:52 root@bear wang]#stat wang1.txt

  File: wang1.txt

  Size: 0        Blocks: 0          IO Block: 4096  regular empty file

Device: 802h/2050d Inode: 1772253    Links: 1

Access: (0664/-rw-rw-r--)  Uid: ( 1000/    wang)  Gid: ( 1000/    wang)

Context: unconfined_u:object_r:user_home_t:s0

Access: 2020-12-03 19:29:48.005034957 +0800

Modify: 2020-12-03 19:29:48.005034957 +0800

Change: 2020-12-03 19:29:48.005034957 +0800

Birth: -

2.文件的时间戳修改需要用touch命令进行修改,touch命令格式如下:

touch命令: touch - change file timestamps

touch [OPTION]… FILE… 需要注意的是Changetime无法指定进行修改,在atime以及mtime修改后,ctime自动进行更新。

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

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

文件的三个时间戳详细介绍如下:

atime:访问时间:读一次文件的内容,这个时间就会更新。比如more、cat等命令。ls、stat命令不会修改atime

mtime:修改时间:修改时间是文件内容最后一次被修改的时间。比如:vim操作后保存文件。ls -l列出的就是这个时间

ctime:状态改动时间。是该文件的inode节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新

[17:56:35 root@bear wang]#vim wang1.txt

[17:58:58 root@bear wang]#stat wang1.txt

  File: wang1.txt

  Size: 7        Blocks: 8          IO Block: 4096  regular file

Device: 802h/2050d Inode: 1772253    Links: 1

Access: (0664/-rw-rw-r--)  Uid: ( 1000/    wang)  Gid: ( 1000/    wang)

Context: unconfined_u:object_r:user_home_t:s0

Access: 2020-12-06 17:58:58.538247527 +0800

Modify: 2020-12-06 17:58:58.538247527 +0800

Change: 2020-12-06 17:58:58.539247527 +0800

Birth: -

[17:59:05 root@bear wang]#touch -m -t 202012121010.30 wang1.txt

[18:00:01 root@bear wang]#stat wang1.txt

  File: wang1.txt

  Size: 7        Blocks: 8          IO Block: 4096  regular file

Device: 802h/2050d Inode: 1772253    Links: 1

Access: (0664/-rw-rw-r--)  Uid: ( 1000/    wang)  Gid: ( 1000/    wang)

Context: unconfined_u:object_r:user_home_t:s0

Access: 2020-12-06 17:58:58.538247527 +0800

Modify: 2020-12-12 10:10:30.000000000 +0800

Change: 2020-12-06 18:00:01.524249599 +0800

Birth: -

三.硬链接与软链接的联系与区别

[18:19:44 root@bear ~]#ln p1.txt ppt.txt 创建硬链接

[18:19:59 root@bear ~]#ll

-rw-r--r--. 2 root root  28 Dec  2 20:12 p1.txt

-rw-r--r--. 2 root root  28 Dec  2 20:12 ppt.txt

创建软链接

[18:20:47 root@bear ~]#ln -s pasd.txt /data/pphx.txt

[18:21:42 root@bear ~]#ll -i

201353716 -rw-r--r--. 1 root root  41 Dec  4 19:30 pasd.txt

[18:21:51 root@bear ~]#ll -i /data/pphx.txt

132 lrwxrwxrwx. 1 root root 8 Dec  6 18:21 /data/pphx.txt -> pasd.txt

四.文件管理类命令

ls 查看文件或目录的工具 

-l 出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信息

-a 不隐藏任何以. 开始的项目

-A 列出除. 及.. 以外的任何项目(不列出“.”当前目录及“..”父目录)

-R 递归列出目录内容,若目录下有项目(文件或目录),则以下之文件皆依序列出

-n 类似 -l,但列出UID 及GID 号

-F 在列出的文件名称后加一个符号,去区分文件类型;例如*代表可执行文件;/代表是目录;@代表链接文件;普通文件之后不加符号

注意:ls -l命令可以缩写为ll

[19:26:12 root@bear ~]#ll

drwxr-xr-x. 2 root root  6 Nov 23 19:29 Desktop

drwxr-xr-x. 2 root root  6 Nov 23 19:29 Documents

drwxr-xr-x. 2 root root  6 Nov 23 19:29 Downloads

cd 更改目录,切换目录 用法:cd 目标目录 注意:cd 命令之后不可以跟文件 

[19:29:57 root@bear ~]#cd /data

pwd 显示当前所处的目录,目前所在的目录 【选项】: pwd -P 显示实际的工作目录,而非使用链接路径

[19:32:48 root@bear data]#pwd

/data

stat

显示文件的所有信息 ,甚至包括存储该文件的设备的设备号

touch

用于修改文件或目录的时间属性,包括存储时间、更改时间。如果文件不存在,则系统或建立一个新文件。

创建空文件(衍生出来的)


cp:复制

格式:复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

       多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

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

       -f:强制覆盖目标文件

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

[19:19:06 root@bear ~]#cp p1.txt ppt.txt test2.txt /data

[19:19:10 root@bear ~]#ll /data

-rw-r--r--. 1 root root  28 Dec  6 19:19 p1.txt

-rw-r--r--. 1 root root  28 Dec  6 19:19 ppt.txt

-rw-r--r--. 1 root root    0 Dec  6 19:19 test2.txt

 [19:20:55 root@bear ~]#cp -r Music /data

[19:21:39 root@bear ~]#ll /data

drwxr-xr-x. 2 root root    6 Dec  6 19:21 Music

mv:剪切

格式:单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

       多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

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

       -f:强制覆盖目标文件

[19:24:06 root@bear ~]#mv -i /data/Music /tmp

[19:24:14 root@bear ~]#ll /tmp

drwxr-xr-x. 2 root root  6 Dec  6 19:21 Music

rm:删除

格式:rm [OPTION]... FILE...

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

       -f:强制覆盖目标文件

       -r,-R:递归处理,将制定目录下的所有文件包括目录一并删除

[19:25:21 root@bear ~]#rm -fri /tmp/Music

rm: remove directory '/tmp/Music'? y

file 查看文件类型 格式 file filename

[19:36:01 root@bear data]#file ppt.txt

ppt.txt: ASCII text

[19:36:15 root@bear data]#file -L /sbin

/sbin: directory

tree 显示目录树

常见选项  -d 只显示目录  -L level 指定显示层级数目

五.复制/etc/profile 至目录/tmp 下,并使用查找替换命令删除/tmp/profile中行首的空白字符。

cp /etc/profile  /tmp

vim /tmp/profile

:%s#^[[:space:]]##g

六 vim中设置tab 缩进为4个字符

vim .vimrc  

set ts =4

你可能感兴趣的:(Linux 学习重点记录之二)