Day6-Linux常用命令

一,文件属性

ll -h:我们常用这个命令来查看当前目录下的文件的属性。


[root@Fang ~]# ll -h

total 40K

-rw-------. 1 root root 1.6K Jul 19 13:35 anaconda-ks.cfg

-rw-r--r--. 1 root root  25 Jul 29 21:38 fang.txt

-rw-r--r--. 1 root root  24 Jul 29 22:10 file

-rw-r--r--. 1 root root  11 Jul 29 23:17 file1

-rw-r--r--. 1 root root  48 Jul 29 23:39 file2

-rw-r--r--. 1 root root  744 Apr  2 14:57 ip.txt


# 每一列的第一个字符表示该文件的类型

# rw-r--r--    表示该文件的权限

# 1               表示该文件被链接的次数

# root            该文件的用户(拥有者)

# root            该文件的拥有组

# 1.6k           该文件的大小

# Jul 19 13:35 该文件的日期,以及创建的时间

# anaconda-ks.cfg 表示文件的名称

二,文件类型


[root@Fang ~]# ll -d /etc/hosts /tmp /bin/ls /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log

-rwxr-xr-x.  1 root root 117680 Oct 31  2018 /bin/ls

srw-rw-rw-.  1 root root      0 Jul 31 14:48 /dev/log

brw-rw----.  1 root disk  8, 0 Jul 31 14:48 /dev/sda

crw--w----.  1 root tty    4, 1 Jul 31 14:49 /dev/tty1

lrwxrwxrwx.  1 root root    22 Jul 19 13:49 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

-rw-r--r--.  1 root root    158 Jun  7  2013 /etc/hosts

drwxrwxrwt. 21 root root  4096 Jul 31 14:49 /tmp


以上是Linux中很典型的几个文件类型,他们分别表示

# - 文件(无法区分具体的文件,图片,压缩包)

# s 本地进程与进程间的一种通信方式

# b 块设备文件  (硬盘 光盘 分区一类的)

# c 字符设备        用于提供用户的输入与输出

# l 链接文件          类似于Windows的快捷方式

# d 目录                类似于Windows的文件夹

刚才“-”表示文件 但是他不能具体的分别出来到底是什么文件,这时候我们就要用到file这个命令了。


[root@Fang ~]# file ip.txt

ip.txt: ASCII text

[root@Fang ~]# file oldboy/

oldboy/: directory

[root@Fang ~]# file test.txt

test.txt: ASCII text


这样我们就能很清晰的分辨一个文件是文本还是图片,还是可执行程序,压缩包啊什么的。

注意:Linux不区分文件的后缀名,通常都是创建者自己加上去的,为了方便自己以后分辨。

二,链接文件

链接文件分两种:软连接,硬链接(几乎用不到)。

如何创建一个软连接,我们要用到这条命令

ln -s  (源文件的位置)   (我们做的软连接的名称及路径)都是绝对路径

我们一般不对文件做软链接。经常用到软链接的几个场景:1,软件升级     软件退回:具体思路就是将我们要升级的文件做个软连接 来替换旧版本   并且同时删除旧版本的软链接。

2,代码升级 秒级回退:思路同上

3,不方便移动的目录:我们遇到一些比较大的文件的时候,不方便移动,或者比较重要的文件的时候,我们就给他做一个软链接,来指向他。

硬链接:创建硬链接   用法跟软链接差不多   硬链接不用-S 这个选项

软链接与硬链接有什么不同呢?

1)ln命令创建硬链接,ln -s命令创建软链接

2)目录不能创建硬链接,并且硬链接不可以跨越分区系统

3)目录软链接特别常用,并且软链接支持跨越分区系统

4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同

5)删除软链接文件,对源文件及硬链接文件无任何影响。

6)删除文件的硬链接文件,对源文件及链接文件无任何影响

7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效

8)删除源文件及其硬链接文件,整个文件会被真正的删除

9)软连接就是一个快捷方式,删除软连接不会影响源文件

10)硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删 除所有的硬链接及其源文件,这个文件才算彻底被删除

命令执行流程

1.判断命令是否通过绝对路径执行 (是绝对路径,就直接输出了 如果不是就会进行下一步)

2. 判断命令是否存在alias别名 

3. 判断用户输入的是内置命令还是外置命令 

4. Bash内部命令直接执行,外部命令检测是否存在缓存 

5. 通过$PATH变量查找命令,有执行,无报错 command not found

绝对路径-->alias--->hash缓存-->$PATH变量路径--->有执行--->没有 command not found

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容