且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux常用的基本命令08

更新时间:2022-08-18 17:04:59

file
作用:查看文件的类型
常用选项:
 -b 列出文件辨识结果时,不显示文件名称
 -f 列出文件中文件名的文件类型(相当于把文件或目录位置写在一个文件里,批量查看,f后要紧跟文件)
实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@jacken ~]# file /etc
/etc: directory
[root@jacken ~]# file /etc/passwd
/etc/passwd: ASCII text
[root@jacken ~]# file /dev/sda
/dev/sda: block special
[root@jacken ~]# file -b /dev/sda
block special
[root@jacken ~]
[root@jacken ~]# cat 1
/etc
/etc/passwd
/dev/sda
[root@jacken ~]# file -f 1
/etc:        directory
/etc/passwd: ASCII text
/dev/sda:    block special
[root@jacken ~]# file -bf 1
directory
ASCII text
block special
[root@jacken ~]#

which
作用: 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
实例:

1
2
3
4
5
6
7
8
9
10
11
[root@jacken ~]# which ls
alias ls='ls --color=auto'
 /bin/ls
[root@jacken ~]# which pwd
/bin/pwd
[root@jacken ~]# which cp
alias cp='cp -i'
 /bin/cp
[root@jacken ~]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@jacken ~]#


因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的

wc
作用:统计文件相关信息
常用选项: 
 -l 统计行数
 -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
 -c 统计字节数
 -L 打印最长行的长度
实例:

1
2
3
4
5
6
7
8
9
10
11
[root@jacken ~]# wc -l /etc/passwd
37 /etc/passwd           #37行
[root@jacken ~]# wc -w /etc/passwd
57 /etc/passwd           #57个字
[root@jacken ~]# wc -c /etc/passwd
1752 /etc/passwd         #1752个字节
[root@jacken ~]# wc /etc/passwd
  37   57 1752 /etc/passwd #默认显示行数、字数、总字节数
[root@jacken ~]# wc -L /etc/passwd
79 /etc/passwd           #最长的一行有79个字节
[root@jacken ~]#

ln
作用:为某一个文件在另外一个位置建立一个同步的链接
注释:
链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,
而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。
硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
这里有两点要注意:
 第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
 第二,ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像
  ,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,
  无论是软链接还是硬链接,文件都保持同步变化。
 ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。
 若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。
常用选项:
 -s 软连接(符号链接)
实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@jacken ~]# echo "123">/tmp/hi
[root@jacken ~]# ln -s /tmp/hi hi_solink
[root@jacken ~]# ll
total 0
lrwxrwxrwx. 1 root root 7 Mar 30 13:04 hi_solink -> /tmp/hi
[root@jacken ~]# cat hi_solink 
123
[root@jacken ~]# echo 321 >> hi_solink 
[root@jacken ~]# cat hi_solink /tmp/hi 
123
321
123
321
[root@jacken ~]# rm -rf hi_solink 
[root@jacken ~]# cat /tmp/hi 
123
321
[root@jacken ~]#
[root@jacken ~]# echo "hardlink" > /tmp/hello
[root@jacken ~]# ln /tmp/hello hd_link
[root@jacken ~]# ll
total 4
-rw-r--r--. 2 root root 9 Mar 30 13:06 hd_link
[root@jacken ~]# echo "plus" >> hd_link 
[root@jacken ~]# cat hd_link /tmp/hello 
hardlink
plus
hardlink
plus
[root@jacken ~]# rm -rf hd_link 
[root@jacken ~]# cat /tmp/hello 
hardlink
plus
[root@jacken ~]#

link 源文件 目标文件
link只可以做硬链接


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1626381,如需转载请自行联系原作者