linux经常使用文件命令

1、选项和参数的区别node

       在通过上一次的系统安装后咱们已经成功登录,登录LInux后,咱们就能够在#$符后面去输入命令,有的时候命令后面还会跟着“选择“(英文名:options)或“参数”(英文名:agruments)。即Linux中的命令格式为:数据库

command [options] [arguments]  //中括号表示可选的,即有些命令不须要选项也不须要参数,但有的命令在运行时须要多个选项或参数。编程

options(选项):选项是调整命令执行行为的开关,即,选项不一样决定了命令的显示结果不一样。vim

选项分为长选项和短选项。bash

短选项:例如-h,-l,-s等。(- 后面接单个字母)app

              一、短选项都是使用 ‘-’  引导,当有多个短选项时,各选项之间使用空格隔开less

              二、有些命令的短选项能够组合,例如 -l -h 能够组合为-lh编辑器

              三、有些命令的短选项能够不带 - ,这一般叫作BSD风格的选项。例如ps auxide

              四、有些短选项须要带选项自己的参数,例如 -L 512M函数

长选项:例如 --help,--list 等。(-- 后面接单词)

              一、长选项都是完整的单词

              二、长选项一般不能组合

              三、若是须要加参数,长选项的参数一般须要 "=",例如 --size=1G

agruments(参数):

              参数是指命令的做用对象。

              例如 ls 命令,不加参数的时候显示是当前目录,也能够加参数,例如 ls /dev,则输出的结果是 /dev 目录。

小结一下:

              选项是限定结果的显示结果

              短选项( - ):只能修饰一个字符的选项,例如:ls -a,固然多个短选项能够合并,例如tar -cvf

              长选项( -- ):既能够修饰单个字符,也能够修饰一个单词,例如:chkconfig --list,chkconfig --add xxx,service --status-all

              参数是指命令的做用对象

 我这里简单说明了选项和参数的区别,但具体Linux中哪条命令有哪些选项和参数,须要咱们靠经验积累或者查看Linux的帮助了(man帮助命令)。

2、权限管理:UNIX权限:U(rwx)g(rwx)0(rwx)

r   --可读权限

w  --可写权限

 --可执行权限

 

也能够用数字来表示 :

r=4 w=2 x=1 

例:rwx = 7(4+2+1)  ;  rw = 6   (4+2)   ;   r-w = 5   (4+0+1)   ;   r-- = 4   (4+0+0)   ;   --x = 1   (0+0+1);

示例:

(1)# chmod 777 test1  --赋予test1可读可写可执行权限(全部权限)

(2)# chmod 755 test1 --赋予test1用户全部权限,组可读可执行权限,其余用户可读可执行权限

 

3、Linux入门基础命令--文件和目录经常使用操做命令

       在学习以前咱们得先了解一下绝对路径和相对路径这两个概念

绝对路径:

              在Linux中,绝对路径是从/(即根目录)开始的,例如 /usr、/etc/X11。若是一个路径是从 / 开始的,它必定是绝对路径。举几个示例

[root@srv1 ~]# pwd   --判断当前用户所在的位置,也就是说他如今到底位于哪里
/root                           --用户当前位于/root

[root@srv1 doc]# cd /usr/share/doc/    --以绝对路径方式进入/usr/share/doc目录下
[root@srv1 doc]# pwd                          --判断用户当前所在的位置

/usr/share/doc                                      --用户位于/usr/share/doc,看来已经达到目的了

相对路径:

              是以 . 或 .. 开始的,  .户当前操做所在的位置,而 .. 表示上级目录,在路径中, .  表示用户当前所在的目录,而 .. 上级目录,要把 . 和 .. 当作目录来看,这里也举几个例子

 

[root@srv1 ~]# pwd  --经过pwd来判断当前用户所在的位置
/root                          --得出目录处于/root目录中;
[root@srv1 ~]# cd .    --咱们进入 .
[root@srv1 ~]# pwd   --判断当前用户所在的位置

/root                          --得出在root目录中
[root@srv1 ~]# cd ..   --咱们切入/root的上级目录
[root@srv1 /]# pwd    --判断当前用户所在的位置
/                                  --用户当前处于 /(根目录)中              

       下面来说讲Linux中文件和目录中经常使用命令的【命令做用】,【命令语法】,【经常使用选项】,【参数说明】和【命令示例】

1.ls

【命令做用】

 列出文件和目录的内容

 

【命令语法】

ls    [选项]    [参数]

【经常使用选项】

-l    --以长格式显示,列出文件的详细信息,如建立者,建立时间,文件的读写权限列表等等

-L    --列出文件的连接名,Link(连接)

-A   --列出除了 "." 和 ".."之外的文件

-a   --列出文件下全部的文件,包括以 "." 和 ".."开头的隐藏文件 (Linux下文件隐藏文件是以 . 开头的,若是存在 .. 表明存在着父目录)

-d   --列出目录自己而非目录内的文件,一般要与-l一块儿使用

-i    --显示每一个文件的inode号

-R   --同时列出全部子目录层,与-l类似,只是不显示出文件的全部者,至关于编程中的“递归”实现

-t    --按照时间进行文件的排序,Time(时间)

-F   --在每个文件的末尾加上一个字符说明该文件的类型。"@" 表示符号连接、"l" 表示FIFOS、"/" 表示目录、"=" 表示套接字。

-s    --在每一个文件的后面打印出文件的大小,size(大小)

-S    --以文件的大小进行排序

【参数说明】

目录或文件  (须要注意绝对路径和相对路径,详解请看第二部分开头)

【命令示例】

# ls  -l    --以长格式列出当前目录中的文件及目录

 

2.pwd

【命令做用】

  查看”当前工做目录“的完整路径 

【命令语法】

pwd    [选项]

【经常使用选项】

【参数说明】

通常状况下不带任何参数

【命令示例】

# pwd   --查看默认工做目录的完整路径 

 

3.cd

【命令做用】

显示当前目录的名称,或更改当前的目录(打开特定目录)

【命令语法】

cd    [选项]    [参数]

【经常使用选项】

【参数说明】

切换用户当前目录,例如 . 表示当前目录 .. 表示上一级目录 ,~ 表示家目录 / 表示根目录

【命令示例】

[root@srv1 ~]# cd     --切换到前期用户家目录
[root@srv1 ~]# cd .   --切换到当前目录
[root@srv1 ~]# cd ..  --切换到当前目录上一级目录
[root@srv1 /]# cd ~   --切换到用户家目录
[root@srv1 ~]# cd /   --切换到根目录下

 

 4.touch

【命令做用】

建立空文件或文件时间戳修改

【命令语法】

touch    [选项]    [参数]

【经常使用选项】

-a  --修改文件的存取时间

-m  --修改文件的变更时间

-t    --使用指定的日期时间,而非如今的时间

-c   --若是要修改的文件不存在,此选项使touch不去建立它 

-d   --使用时间值 time代替指定文件的戳记值.能够包含月份名,时区名以及`am'和 `pm'等等

-f  --此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题

-r    --把指定文档或目录的日期时间,通通设成和参考文档或目录的日期时间相同

-t  使用指定的日期时间,而非如今的时间

【参数说明】

建立文件的文件名

【命令示例】

# touch /home123   --在home目录下建立文件123 (这是一个绝对路径)

 

5.echo

【命令做用】

 在显示器上显示一段文字,通常起到一个提示的做用

 补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

【命令语法】

 echo    [选项]    [参数]

【经常使用选项】

 -e  --容许下面列出的加反斜线转义的字符进行解释

         \n   --换行符

         \f    --换页符

         \t    --水平制表符

         \v   --纵向制表符

【参数说明】

 须要打印的内容或变量

【命令示例】

(1)文本的直接输入:

# echo 'Welcome To WCZY'    

(2) 输出变量的值:假设定义一个变量:

# bl="Welcome To WCZY"

# echo $bl

解释:bl是定义的变量名,=号后面是赋值,字符串须要用“”括起来。$后面直接跟上变量名便可

(3)echo 后跟单双引号的区别:

 

解释:echo后的单引号表示强引用,单引号里面是什么就输出什么,而双引号是弱引用,变量的值会代替变量名输出。

(4)选项中加入 -e ,转义字符可用:

          \t:插入制表符,即跳格显示

          echo -e “Hello Linux\tHello World” 

          不加 -e 的对比,以下:

          echo "Hello Linux\tHello World"

 

6.mkdir

【命令做用】

建立指定的名称的目录,要求建立目录的用户在当前目录中具备写权限,而且指定的目录名不能是当前目录中已有的目录。

【命令语法】

mkdir    [选项]    [参数]

【经常使用选项】

-p  --能够是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动创建好那些尚不存在的目录,即一次能够创建多个目录(递归)

-v  --每次建立新目录都显示信息

-m  --设定权限<模式> (相似 chmod),而不是 rwxrwxrwx 减 umask

【参数说明】

须要建立的目录

【命令示例】

(1)建立一个空目录

# mkdir test1

(2)递归建立多个目录

# mkdir -p test2/test22

(3)建立权限为777的目录

 # mkdir -m 777 test3

test3 的权限为rwxrwxrwx

(4)建立新目录都显示信息

# mkdir -v test4

 

7.cp

【命令做用】

复制文件或者目录

【命令语法】

cp [选项]    源    目标

【经常使用选项】

-f   --若是目标文件没法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)

-n  --不要覆盖已存在的文件(使前面的 -i 选项失效)

-i   --覆盖前询问(使前面的 -n 选项失效)

-p  --保持指定的属性(默认:模式,全部权,时间戳),若是可能保持附加属性:环境、连接、xattr 等

-P  --不跟随源文件中的符号连接

-R,-r  --复制目录及目录内的全部项目

-v  --显示过程 (一般与-r一块儿使用)

-s  --对源文件创建符号链接,而非复制文件

【参数说明】

源文件

目标文件

【命令示例】

(1)将home目录中的abc文件复制到根目录下

# cp /home/abc /

(2)目标文件存在时,会询问是否覆盖

# cp /home/abc /

解释:目标文件存在时,会询问是否覆盖。这是由于cp是cp -i的别名。目标文件存在时,即便加了-f标志,也还会询问是否覆盖。

(3)复制整个目录

 

当目标目录不存在时

 

解释:注意目标目录存在与否结果是不同的。目标目录存在时,整个源目录被复制到目标目录里面

(4)复制的abc文件创建一个连结档abc.log

# cp -s abc abc.log

 

 

 

8.mv

【命令做用】

移动文件或者将文件更名(move (rename) files),常常用来备份文件或者目录。

【命令语法】

mv     [选项]     源文件或目录     目标文件或目录

【经常使用选项】

-b  --若需覆盖文件,则覆盖前先行备份

【参数说明】

源文件

目标文件

【命令示例】

(1)文件更名

# mv abc qwe 

解释:将文件abc重命名为qwe

(2)移动文件

# mv test3 test4

 

9.rmdir

【命令做用】

删除空目录

【命令语法】

rmdir    [选项]    目录

【经常使用选项】

-p  --递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。若是整个路径被删除或者因为某种缘由保留部分路径,则系统在标准输出上显示相应的信息。

-v  --显示指令执行过程

【参数说明】

须要删除的目录

【命令示例】

(1)不能删除非空目录

# rmdir bus

(2)递归删除当前目录下的1/2/3/4/5/6目录

rmdir -pv 1/2/3/4/5/6

 

10.rm

【命令做用】

删除一个目录中的一个或多个文件或目录,它也能够将某个目录及其下的全部文件及子目录均删除。对于连接文件,只是删除了连接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别小心,尤为对于新手,不然整个系统就会毁在这个命令(好比在 /(根目录)下执行rm * -rf)。因此,咱们在执行rm以前最好先确认一下在哪一个目录,到底要删除什么东西,操做时保持高度清醒的头脑

【命令语法】

rm    [选项]    文件

【经常使用选项】

-f  --忽略不存在的文件,从不给出提示

-r --指示rm将参数中列出的所有目录和子目录均递归地删除。

【参数说明】

须要删除的文件或目录

【命令示例】

(1)删除某个文件时,系统会先询问是否删除

# rm 文件名

解释:输入rm qwe命令后,系统会询问是否删除,输入y后就会删除文件,不想删除文件则输入n

(2)强制删除某个文件

# rm-rf abc.log

解释:强制删除文件abc.log

11.nano

【命令做用】

文本编辑器

【命令语法】

 nano    [选项]    [+行,列]    [参数]

【经常使用选项】

【参数说明】

文件名

【命令示例】

# nano abc  编辑名为abc的文本


12.vi/vim

【命令做用】

文本编辑器,若文件存在则是编辑,若不存在则是建立并编辑

【命令语法】

vim    [选项]    [参数]

【经常使用选项】

 

【参数说明】

文件名

【命令示例】

# vim abc 编辑名为abc的文本


13.shred

【命令做用】

用随机值重写覆盖文件,让文件没法恢复

【命令语法】

shred    [选项]    文件    [参数]

【经常使用选项】

-n  --自行指定重写覆盖的次数,默认为三次

-s  --覆盖指定的字节数(可接受K、M、G等等的单位)

-u  --在重写覆盖后截断和删除文件

-v  --显示过程

-z  --添加一个带有0的最终覆盖,以隐藏分解

【参数说明】

指定要覆盖的文件名

【命令示例】

# shred -n 3 -u app  覆盖app文件三次,并删除

 

14.cat

【命令做用】

链接文件并在标准输出上输出。这个命令经常使用来显示文件内容,或者将几个文件链接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

【命令语法】

cat    [选项]    [参数]

【经常使用选项】

-E  --在每行结束显示 $

-n  --给全部输出行编号

-v  --使用 ^ 和 M- 引用,除了 LFD 和 TAB 以外

【参数说明】

文件名

【命令示例】

(1)将123和456的内容输入到789里

# cat 123 456 > 789

(2)显示123文件内容和换行符

# cat -E 123

(3)显示123文件内容

# cat 123

(4)显示123文件内容和行号

# cat -n 123

 

15.nl

【命令做用】

计算文件中行号。nl 能够将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太同样, nl 能够将行号作比较多的显示设计,包括位数与是否自动补齐 。 等等的功能。  

【命令语法】

nl    [选项]   [参数]

【经常使用选项】

-b a  --表示不管是否为空行,也一样列出行号(相似 cat -n)

-b t   --若是有空行,空的那一行不要列出行号(默认值)

【参数说明】

文件名

【命令示例】

(1)用nl列出/(根目录)123文件里的内容

# nl /123

(2)用 nl 列出/123文件的内容,空本行也加上行号

# nl -b a /123

 


16.tac

【命令做用】

倒序查看指定文件内容

【命令语法】

tac    [选项]    [参数]

【经常使用选项】

【参数说明】

文件名

【命令示例】

# tac /123  --倒叙查看/123文件内容

 

17.more

【命令做用】

相似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,并且还有搜寻字串的功能 。more命令从前向后读取文件,所以在启动时就加载整个文件。

【命令语法】

more    [选项]    [参数]

【经常使用选项】

【参数说明】

文件名

【命令示例】

(1)# more [文件名]  --分屏查看指定文件内容

(2)显示文件中从第3行起的内容

 

# more +3 /123

(3)从文件中查找第一个出现"1a"字符串的行,并从该处前两行开始显示输出 

# more +/1a /123

(4)列一个目录下的文件,因为内容太多,咱们应该学会用more来分页显示。这得和管道 | 结合起来 

# ls -l | more -7

解释:每页显示7个文件信息,按 Ctrl+F 或者 空格键 将会显示下5条文件信息。

18.less

【命令做用】

工具也是对文件或其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,咱们并无办法向前面翻, 只能日后面看,但若使用了 less 时,就可使用 [pageup] [pagedown] 等按键的功能来往前日后翻看文件,更容易用来查看一个文件的内容!除此以外,在 less 里头能够拥有更多的搜索功能,不止能够向下搜,也能够向上搜。

【命令语法】

less    [选项]    [参数]

【经常使用选项】

【参数说明】

文件名

【命令示例】

 (1)# less 123  --查看文件123内容

(2)ps查看进程信息并经过less分页显示

# ps -ef |less

(3)浏览多个文件

# less 123 456

输入  :n 后,切换到 456;输入 :p 后,切换到123

*附加备注*

1.全屏导航

ctrl + F  --向前移动一屏

ctrl + B  --向后移动一屏

ctrl + D  -- 向前移动半屏

ctrl + U  -- 向后移动半屏

 

2.单行导航

j  -- 向前移动一行

k  -- 向后移动一行

 

3.其它导航

G  -- 移动到最后一行

g   -- 移动到第一行

q / ZZ  -- 退出 less 命令

 

4.其它有用的命令

v  -- 使用配置的编辑器编辑当前文件

h  -- 显示 less 的帮助文档

&pattern  -- 仅显示匹配模式的行,而不是整个文件

 

5.标记导航

当使用 less 查看大文件时,能够在任何一个位置做标记,能够经过命令导航到标有特定标记的文本位置:

ma  -- 使用 a 标记文本的当前位置

'a    -- 导航到标记 a 

19.head

【命令做用】

head 与 tail 就像它的名字同样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想固然尔就是看档案的结尾。

【命令语法】

head    [选项]    [参数]

【经常使用选项】

-q  --隐藏文件名

-v  --显示文件名

-c  --<字节> 显示字节数

-n  --<行数> 显示的行数

-#  --显示文件开头#行内容

【参数说明】

文件名

【命令示例】

(1)#head 123  --显示文件123前十行内容

(2)#head -12 123  --显示文件123前十二行内容

(3)# head -n -5 123   --显示文件123除了最后5行的所有内容

(4)# head -c -7 123  --显示文件123的除了最后7个字节之外的内容

 

20.tail

【命令做用】

从指定点开始将文件写到标准输出.使用tail命令的-f选项能够方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,而且不但刷新,使你看到最新的文件内容. 

【命令语法】

tail    [必要参数]    [选择参数]    [文件]

【经常使用选项】

-f  -- 跟踪显示文件新追加的内容

-#  --显示末尾到#号的内容

-n  --显示行数

【参数说明】

文件名

【命令示例】

(1)循环查看文件内容

# tail -f 888  --ping 192.168.0.1 > 888 & //在后台ping远程主机。并输出文件到888;这种作法也使用于一个以上的档案监视。用Ctrl+c来终止

(2)从第5行开始显示文件

# tail -n +5 123  --从第五行开始显示文件123的内容

(3)显示文件末尾内容

# tail -n 5 123  --从后五行开始显示文件123的内容

 

21.grep

【命令做用】

文本过滤,模糊查找

【命令语法】

grep    [选项]    [须要查找的内容]    [参数]

【经常使用选项】

--color=auto  --对匹配到的文本着色显示

-v  --显示不可以被pattern匹配到的行

-i   --忽略字符大小写

-n  --显示行号

-q  --静默模式,不输出任何信息;

-A #  --after, 后#行

-B #  --before, 前#行

-C #  --context, 先后各#行

【参数说明】

文件名

【命令示例】

(1)# grep a  /123  --在根目录下的文件123中查找含字母a的行

(2)# grep -i a /123 --在根目录下的文件123中查找含a或者A的行

(3)# grep -n a /123  --在根目录下的文件123中查找含a的行,并显示行号

 

(4)# grep -v a /123  --在根目录下的文件123中查找不含a的行

 

 

22.cut

【命令做用】

剪切

【命令语法】

cut    [选项]    [文件]

【经常使用选项】

-d  --指明分隔符 (一般与-f一块儿使用)

-f  --指定区域

【参数说明】

文件名

【命令示例】

# cut -d : -f 1,4,7 /etc/passwd  --显示etc目录下passwd文件的第1,4,7

 

23.sort

【命令做用】

对文件进行排序

【命令语法】

sort    [选项]    [参数]

【经常使用选项】

-f  --忽略字符大小写

-r  --逆序

-t DELIMITER  --字段分隔符

-k #  --以指定字段为标准排序

-n  --以数值大小进行排序

-u  --uniq,排序后去重

【参数说明】

文件名

【命令示例】

(1)# sort -r /123  以倒序的方式显示根目录下123文件内容

(2)# sort -k 3 -t : -n /etc/passwd  以etc目录中的passwd文件中的第三列为主,按数值方式排序

 

24.tr

【命令做用】

字符替换和删除(一般接在管道符后面使用)

【命令语法】

tr    [选项]    [参数]

【经常使用选项】

-d  --删除文件中的指定字符

【参数说明】

源字符串

【命令示例】

(1)# echo "HELLO" | tr 'A-Z' 'a-z'  --将大写字母转成小写字母

(2)# echo "HELLO" | tr -d 'L,H'  --删除LH这两个字符

 

25.wc

【命令做用】

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。 

【命令语法】

 wc    [选项]    文件 

【经常使用选项】

-c  --统计字节数

-w  --统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

-l   --统计行数

-m  --统计字符数。这个标志不能与 -c 标志一块儿使用

【参数说明】

 文件名

【命令示例】

(1)# wc -l /123  --查看123有多少行

(2)# wc -w /123  --查看123中有多少个字数

(3)# wc -c /123  --查看文件123的大小是多少

(4)# ls -l | wc -l  --统计当前目录下的文件数

 

26.uniq

【命令做用】

 删除排序文件中的重复行,一般与sort一块儿使用

【命令语法】

 uniq    [选项]    [参数]

【经常使用选项】

-c  --显示每行重复出现的次数

-d  --仅显示重复过的行

-u  --仅显示未曾重复的行

【参数说明】

 文件名

【命令示例】

(1)查找文件123中的重复行

# sort 123 |uniq -d

(2)统计全部字符出现的次数

# sort 123 |uniq -c

(3)查找123中仅出现过一次的行

# sort 123 |uniq -u

 

27.tee

【命令做用】

 既输出到文件又输出到屏幕

【命令语法】

 tee    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 文件名

【命令示例】

# ls | tee 123  --将ls看到的内容输出到屏幕并写入到555.log文件里

 

28.diff

【命令做用】

 比较文件之间的差别

【命令语法】

 diff    [参数]    [文件1或目录1]    [文件2或目录2]

【经常使用选项】

 无

【参数说明】

文件1或目录1

文件2或目录2

【命令示例】

# diff a1 a2    --对比a1a2的不一样

 

29.du

【命令做用】

查看使用空间,可是与df命令不一样的是Linux du命令是对文件和目录磁盘使用的空间的查看,仍是和df命令有一些区别的.

【命令语法】

du    [选项]    [参数]

【经常使用选项】

-s  --仅显示总计,只列出最后加总的值

-h  --以K,M,G为单位,提升信息的可读性

-a  --显示目录中个别文件的大小

【参数说明】

目录名

【命令示例】

(1)# du -s /home  --显示home目录的大小

(2)# du -h /home --显示home目录大小。以K,M,G为单位

(3)# du -a /mnt  --显示mnt目录下的文件大小详细状况

 

30.ln

【命令做用】

建立软硬连接,不带选项为硬连接。

为某一个文件在另一个位置创建一个同步的连接.当咱们须要在不一样的目录,用到相同的文件时,咱们不须要在每个须要要的目录下都放一个必须相同的文件,咱们只要在某个固定的目录,放上该文件,而后在 其它的目录下用ln命令连接(link)它就能够,没必要重复的占用磁盘空间。

【命令语法】

 ln    [选项]    [参数]

【经常使用选项】

-b  --删除,覆盖之前创建的连接

-s  --软连接(符号连接)

【参数说明】

 源文件

被连接的文件

【科普】:

Linux文件系统中,有所谓的连接(link),咱们能够将其视为档案的别名,而连接又可分为两种 : 硬连接(hard link)与软连接(symbolic link),硬连接的意思是一个档案能够有多个名称,而软连接的方式则是产生一个特殊的档案,该档案的内容是指向另外一个档案的位置。硬连接是存在同一个文件系统中,而软连接却能够跨越不一样的文件系统

软连接:

1.软连接,以路径的形式存在。相似于Windows操做系统中的快捷方式

2.软连接能够 跨文件系统 ,硬连接不能够

3.软连接能够对一个不存在的文件名进行连接

4.软连接能够对目录进行连接

硬连接:

1.硬连接,以文件副本的形式存在。但不占用实际空间

2.不容许给目录建立硬连接

3.硬连接只有在同一个文件系统中才能建立(不能跨分区进行)

 

区别:

a.硬连接不会产生新的inode,软连接则会产生新的inode

b.删除源文件以后,硬连接仍然可用,但软连接就不可用

c.硬连接只能用于文件,而软连接能够用于文件和目录

d.硬连接不能跨分区,而软连接能够

这里有两点要注意:

第一,ln命令会保持每一处连接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化

第二,ln的连接又分软连接和硬连接两种,软连接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬连接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,不管是软连接仍是硬连接,文件都保持同步变化。

ln指令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的全部文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并不是是一个已存在的目录,则会出现错误信息

【命令示例】

 (1)# ln -s 123 link123  --为123文件建立软连接link123,若是123丢失,link123将失效

 

(2)# ln 123 ln123  --为123建立硬连接ln123123ln123的各项属性相同

 

(3)结合前两步示例,连接完毕后删除和重建连接原文件

解释:

1.源文件123被删除后,并无影响硬连接文件;软连接文件在Linux系统下不断的闪烁,提示源文件123已经不存在

2.重建源文件123后,软连接不在闪烁提示,说明已经连接成功,找到了连接文件系统;重建后,硬连接文件并无受到源文件影响,硬连接文件的内容仍是保留了删除前源文件的内容,说明硬连接已经失效

 

31.type

【命令做用】

 查看命令的类型

例:

alias:别名

keyword:关键字,Shell保留字

function:函数,Shell函数

builtin:内建命令,Shell内建命令

file:文件,磁盘文件,外部命令

unfound:没有找到

【命令语法】

 type    [选项]    [参数]

【经常使用选项】

-t   --简单显示命令属于外部命令内部命令仍是别名命令

-p  --若命令为外部命令,则显示其绝对路径

【参数说明】

 命令名

【命令示例】

(1)type cat  --查看cat属于什么命令

(2)type -t cat  --简单显示cat属于什么命令

(3)type -p cat  --显示外部命令cat的绝对路径

 

32.file

【命令做用】

 肯定文件类型

若是文件系统肯定成功,则输出文件类型,输出的文件类型以下:  

text :文件中只有ASCII码字符,能够将字符终端显示文件内容  

executable:文件能够运行  

data:其余类型文件,此类文件通常是二进制文件或不能再字符终端上直接显示的文件

【命令语法】

 file    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 文件名,或者目录名

【命令示例】

# file 123  --查看文件123的类型

 

33.stat

【命令做用】

 查看文件属性

【命令语法】

 stat    [选项]    [参数]

【经常使用选项】

 -f  --显示文件系统状态

【参数说明】

 文件名,或者目录名

【命令示例】

# stat 123  --显示文件123的属性

 

34.which

【命令做用】 

咱们常常在Linux要查找某个文件,但不知道放在哪里了,可使用下面的一些命令来搜索: 

which  --查看可执行文件的位置

whereis  --查看文件的位置
locate   --配合数据库查看文件位置
find   --实际搜寻硬盘查询文件名称

which命令的做用是,在PATH变量指定的路径中,搜索某个系统命令的位置,而且返回第一个搜索结果。也就是说,使用which命令,就能够看到某个系统命令是否存在,以及执行的究竟是哪个位置的命令

【命令语法】

 which    [可执行的文件名称]

【经常使用选项】

 无

【参数说明】

命令名

【命令示例】

(1) # which which  --用which去找出which

解释:居然会有两个which,其中一个是alias(别名命令),意思是输入which会等于后面的那串命令

(2)# which cd  --查找cd的绝对路径

解释:发现并无找到cd的位置(绝对路径),由于 cd 是 bash 内建的命令,可是 which 默认是找 PATH 内所规范的目录,因此找不到

 

35.whatis

【命令做用】

查看帮助文件的位置。

使用makewhatis命令可将当前系统上全部的帮助手册及与之对应的关键字建立为一个数据库

【命令语法】

 whatis    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 命令名

【命令示例】

# whatis cat  --查看命令cat的做用

 

36.whereis

【命令做用】

whereis命令只能用于程序名的搜索,并且只搜索二进制文件(参数-b)man说明文件(参数-m)和源代码文件(参数-s)。若是省略参数,则返回全部信息

find相比,whereis查找的速度很是快,这是由于Linux系统会将系统内的全部文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,经过遍历硬盘来查找,效率天然会很高。

可是该数据库文件并非实时更新,默认状况下时一星期更新一次,所以,咱们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚创建文件,却没法查找到,缘由就是由于数据库文件没有被更新。

【命令语法】

 whereis    [选项]    [参数]

【经常使用选项】

-b   --仅查找二进制程序和命令

-m  --仅查找man帮助手册文件

-s   --仅查找源代码文件

【参数说明】

 命令名

【命令示例】

(1)查看cp文件及相关文件路径

# whereis cp

(2)# where -b cp  --只将cp的二进制文件查找出来

         # where -m cp  --查找cpman帮助

         # where -s cp   --查找cp源代码文件

 

37.locate

【命令做用】

 快速定位文件的路径。

依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新数据库(updatedb);索引构建过程须要遍历整个根文件系统,极消耗资源;

工做特色是:查找速度快,模糊查找,非实时查找

【命令语法】

 locate    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 文件名

【命令示例】

(1)# locate pwd  --和pwd相关的全部文件

 

(2)# locate /etc/sh  --搜索在etc目录下全部以sh开头的文件


38.find

【命令做用】

 用于在文件树种查找文件,并做出相应的处理 

【命令语法】

 find    [选项]    [参数]

【经常使用选项】

-name  --按照文件名查找文件

-iname  --按照文件名查找文件,不区分字母大小写

-user  --查找属于指定用户的全部文件

-group  --按照文件所属的组来查找文件

-uid  -- 查找属主为指定的 UID 号的文件

-gid  --查找属组为指定的 GID 号的文件

-size  --根据文件大小来查找文件

-type  --根据文件类型查找

     f (普通文件)

     d (目录文件)

     b (块设备)

     c (字符设备)

     s (套接字文件)

     p (管道文件)

     l (符号连接文件

 

-exec COMMAND {} \  --对查找到的每一个文件执行由COMMAND指定的命令;{}: 用于引用查找到的文件名称自身

       注意:find传递查找到的文件至后面指定的命令时,查找到全部符合条件的文件一次性传递给后面的命令;有些命令不能接受过多参数,此时命令执行可能会失败;另外一种方式可规避此问题:

【参数说明】

 要查的起始目录,查找的名称是什么

【命令示例】

(1)根据关键字查找

# find . -name "*.1"

解释:在当前目录中查找,以1结尾的文件, "." 表明当前目录

 

(2)根据权限进行查找

# find . -perm 777

解释:在当前目录中查找权限为777的文件

 

(3)按类型查找

# find -type f -name "*6"

解释:在当前目录中,查找以6结尾的普通文件

 

(4)按大小查找文件

# find . -size +1000c -print

解释:在当前目录下,查找大于1K的文件

 

39.help

【命令做用】

 查看内部命令的帮助信息

【命令语法】

 help    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 指定命令名显示帮助信息

【命令示例】

# help pwd  --查看内部命令pwd的帮助信息

 

40.man

【命令做用】

 命令帮助手册

【命令语法】

 man    [选项]    [参数]

【经常使用选项】

 无

【参数说明】

 所要搜索帮助信息的命令

【命令示例】

# man cd 查看cd的帮助信息

相关文章
相关标签/搜索