Linux命令-文件管理(二)

1.查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

语法说明  

ls [options]  [路径如果没路径  就代表显示当前所在的文件

命令名称:ls

命令英文原意:list

命令所在路径:/bin/ls

执行权限:所有用户

功能描述:显示目录文件和文件夹

语法:ls  选项[-ald]  [文件或目录可以通过 ls --help

    -a  显示指定目录下所有子目录与文件,包括隐藏文件

    -l  以列表方式显示文件的详细信息

    -h  配合 -l 以人性化的方式显示文件大小

    -d  可以查看当前目录的属性

案例

    ls -a 显示当前目录下的所有文件包含隐藏文件

    ls -al 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息

    ls -alh 显示当前目录下的所有文件包含隐藏文件以列表方式显示文件的详细信息和大小

ls -dl 查看当前文件夹的属性

ll  = ls -l显示当前文件夹下面的所有内容  

通配符

通配符

含义

*

文件代表文件名中所有字符

ls te*

查找以te开头的文件

ls *html

查找结尾为html的文件

代表文件名中任意一个字符

ls ?.c

只找第一个字符任意,后缀为.c的文件

ls a.?

只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[]

[”“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc]

匹配abc中的任意一个

[a-f]

匹配从af范围内的的任意一个字符

ls [a-f]*

找到从af范围内的的任意一个字符开头的文件

ls a-f

查找文件名为a-f的文件,“-”处于方括号之外失去通配符的作用

\

如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”“*”处于方括号内时不用使用转义字符就失去通配符的作用。

ls \*a

查找文件名为*a的文件

 

2 切换工作目录: cd

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感

语法说明

命令名称:cd

命令英文原意:change directory

命令所在路径:shell内置命令

执行权限:所有用户

语法:cd [目录]

功能描述:切换目录

        cd   /   进入用户的主目录。

        cd  test 进入当前目录下的test目录 【这个是相对目录】

        cd /root/test 进入root目录下的test目录  【这个是绝对目录】

        cd ~ 切换到当前用户的主目录(/home/用户目录)

        cd .  切换到当前目录

        cd .. 切换到上级目录

        cd - 可进入上次所在的目录

3,清屏:clear

clear作用为清除终端上的显示(类似于DOScls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )

 

4,显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。

语法说明

命令名称:pwd

命令英文原意:print working directory

命令所在路径:/bin/pwd

执行权限:所有用户

语法:pwd

功能描述:显示当前所在的工作目录

范例:pwd

 

5,创建目录:mkdir  文件夹

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

语法说明

命令名称:mkdir

命令英文原意:make directories

命令所在路径:/bin/mkdir

执行权限:所有用户

语法:mkdir  [目录名]

功能描述:创建新目录

    参数说明  -p  如果上层目录不存在,则会创建上层目录

范例:

        mkdir  test  在当前目录下创建一个test的目录

        mkdir  /root/test 在root目录下创建一个test目录

        mkdir  /root/test1/test2/test3 创建目录 这里会报错,因为test1,test2目录不存在 解决办法是  mkdir -p  /root/test1/test2/test3

        mkdir  /root/test4  /root/test4  同时创建两个目录

        mkdir  test6  test7 在当前目录下创建两个目录

        mkdir 'pargam files'创建一个有空格的目录【不推荐使用】

特别说明

         windows不文件不区分大小写  

         Linx 严格区分大小写 如hello   Hello代表的意思不一样

 

6,创建文件:touch

通过touch命令可以创建一个新空文件

语法说明

命令名称:touch

命令所在路径:/bin/touch

执行权限:所有用户

语法:touch [文件名]

功能描述:创建空文件

范例:

        touch test 在当前目录下创建一个test的文件

        touch /root/test在root下创建一个test的空文件

        touch test1 test2 在当前目录下创建两个空文件

        touch 'test1 test2'在当前目录下创建一个有空格的文件[不推荐使用]

 

7,拷贝文件:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
常用选项说明:

选项

含义

-a

该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。

-n

已经存在的目标文件而不提示

-i

交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r

若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v

显示拷贝进度

语法说明

命令名称:cp

命令英文原意:copy

命令所在路径:/bin/cp

执行权限:所有用户

语法:cp -R [源文件或目录] [目的目录]

-R 复制目录

    功能描述:复制文件或目录 ,默认的cp只能复制文件,不能是目录 如果是目录要使用-r

    案例

        cp -r /root/mywork  /root/helloworld  把mywork复制到helloworld里面

        cp - /root/install.log  /root/helloworld 把install.log文件复制到helloworld里面

        cp -rvif /root/install.log  /root/helloworld 把install.log文件复制到helloworld里面 并显示进度

 

特别注意

如果是拷贝文件夹 必须加 -r的选项

 

8,移动文件:mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

 

选项

含义

-f

禁止交互式操作,如有覆盖也不会给出提示

-v

显示移动进度

 

语法说明

命令名称:mv

命令英文原意:move

命令所在路径:/bin/mv

执行权限:所有用户

语法:mv  [源文件或目录]  [目的目录]

功能描述:移动文件、更名

    案例

        mv /root/install.log /root/mywork/install.log  把install.log移动到mywork里面

        mv /root/install.log /root/ins.log 把install.log改成ins.log

       

 

9,删除目录:rmdir【太垃圾,不用】

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。

 

10,删除文件:rm

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

参数

含义

-f

强制删除,忽略不存在的文件,无需提示

-r

递归地删除目录下的内容,删除文件夹时必须加此参数

-v

显示删除进度

语法说明

命令名称:rm

命令英文原意:remove

命令所在路径:/bin/rm

执行权限:所有用户

语法:rm  -r   [文件或目录]

    案例

        rm test1 删除test1文件

        rm -r test1 删test1文件或者test1文件夹里面的所有内容会提示

        rm -rf test1删除test1文件或者文件夹不提示

        rm -rf /root/mywork 删除root下面的mywork文件或者文件夹不提示

        rm -rf / 删除所有的操作系统文件 【千万不要使用】

 

11,查看或合并文件:cat

cat 命令用于连接文件并打印到标准输出设备上。

常用参数及含义如下表所示:

参数

含义

-n

显示文件里数据的行号

语法说明

命令名称:cat

命令英文原意:concatenate and display files

命令所在路径:/bin/cat

执行权限:所有用户

语法:cat [文件名]

功能描述:显示文件内容

范例: 

        cat  install.log 查看当前目录下的install.log文件

        cat  /root/install.log 查看绝度目录下的文件

        cat  test1.txt test2.txt >>test3.txt 把test1.txt test2.txt里面的内容追加到test3里面

        cat test1.txt test2.txt > test3.txt 先清空test3.txt再把test1.txt test2.txt里面的内容追加到test3里面

        >   >>的区别是前者先清空再追加  后者直接追加

 

12,分屏显示:more  [它是一个控制台阻塞的命令]

当输入这个命令之后不能再敲其它命令

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

语法说明

命令名称:more

命令所在路径:/bin/more

执行权限:所有用户

语法:more  [文件名]

    (空格) 或f显示下一页

    (Enter)显示下一行

    q或Q退出

功能描述:分页显示文件内容

范例:   $ more  /etc/services  显示services里面的内容。并分显示

 

13,查看文件前几行:head

语法说明

指令名称:head

指令所在路径:/bin/head

执行权限:所有用户

语法:head  -num  [文件名]

        -num  显示文件的前num行

功能描述:查看文件的前几行

范例:$ head  -20  /etc/services  查看services文件的前20行,一般用于看代码的注释

 

14,查看文件后几行:tail

语法说明

指令名称:tail

指令所在路径:/bin/tail

执行权限:所有用户

语法:tail  -num  [文件名]

        -num  显示文件的后num行

功能描述:查看文件的前几行

范例:$ tail  -20  /etc/services  查看services文件的后20行

 

 

15,建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

区别:

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录,会同步更新。

使用格式:

ln 源文件 链接文件

ln -s 源文件 链接文件    --就是一个wind里面快捷方式

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

语法说明

命令名称:ln

命令英文原意:link

命令所在路径:/bin/ln

执行权限:所有用户

语法:ln  -s  [源文件]  [目标文件]

-s  创建软链接

功能描述:产生链接文件

    案例

        ln /etc/issue  /root/etc/issue.bak.hard  硬链接

                |--如果删除了issue文件 issue.bak.hard可以使用

        可以使用命令echo 'www.whsxt.com' >> /etc/issue去修改issue文件

            看看issue.bak.hard里面内容是否更新了

        ln -s /etc/issue /root/etc/issue.soft  软链接

                |--如果删除了etc/issue文件,那么issue.soft就失效了

        ls -ilh可以查看文件的硬盘地址,可以看到硬链接的地址的原文件的地址一样

        这也就是为什么能同步更新的原因了

 

16,输出重定向命令

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

如:ls >> test.txt ( test.txt 如果不存在,则创建,存在追加其内容 )

 

17,搜索命令:which

作用:显示系统命令所有目录 

语法说明

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法:which  [命令名称]

功能描述:显示系统命令所在目录\

范例: which ls  可以查看命令所在的目录

 

18,文件搜索命令:find

作用:查找文件

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

命令

含义

find  test.sh

查找当前目录下所有名为test.sh的文件

find  *.sh

查找当前目录下所有后缀为.sh的文件

find  [A-Z]*

查找当前目录下所有以字母开头的文件

find /tmp -size 2M

查找在/tmp 目录下等于2M的文件

find /tmp -size +2M

查找在/tmp 目录下大于2M的文件

find /tmp -size -2M

查找在/tmp 目录下小于2M的文件

find -size +4k -size -5M

查找当前目录下大于4k,小于5M的文件

find  -perm 777

查找当前目录下权限为 777 的文件或目录

 

语法说明

命令名称:find

命令所在路径:/usr/bin/find

执行权限:所有用户

语法:find [搜索路径]  [搜寻关键字]

功能描述:查找文件或目录

    $ find  /etc  -name  init 在目录/etc中查找文件init

    $ find  /  -size  +204800 在根目录下查找大于100MB的文件

    $ find  /  -user  sam 在根目录下查找所有者为sam的文件

    $ find  /etc  -ctime  -1 /etc下查找24小时内被修改过属性的文件和目录

    $ find  /etc -size  +163840 -a -size  -204800  /etc下查找大于80MB小于100MB      的文件

    $ find /etc -name inittab -exec ls -l {} \; /etc下查找inittab文件并显示其详细信息

 

19,文件搜索命令:grep

搜索文件里面的内容的命令

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。

常用选项说明:

选项

含义

-v

显示不包含匹配文本的所有行(相当于求反)

-n

显示匹配行及行号

-i

忽略大小写

grep搜索内容串可以是正则表达式。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

grep常用正则表达式

参数

含义

^a

行首,搜寻以 a 开头的行;grep -n '^a' 1.txt

ke$

行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll]

匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

.

(点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

语法说明

命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep  [指定字串] [源文件
功能描述:在文件中搜寻字串匹配的行并输出
范例:# grep  ftp  /etc/services |--在/etc/services文件里面找有没有ftp这个一个字符串

 

20,归档管理:tar  【重点掌握】

计算机中的数据经常需要备份,tarUnix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

注意:除了f需要放在参数的最后,其它参数的顺序任意。

语法说明

命令名称:tar

命令所在路径:/bin/tar

执行权限:所有用户

语法:tar  选项[cvf]  [目录]

              -c    产生.tar打包文件

              -v    显示详细信息

              -f    指定压缩后的文件名

              -z        打包同时压缩

        -x    解压

功能描述:打包目录

压缩后文件格式:.tar.gz

    案例

        tar -zcvf test.tar.gz test  把test文件或文件夹压缩成test.tar.gz

        tar -zxvf test.tar.gz 解压test.tar.gz

        tar -zxvf xxx.tar.gz -C ./dir1 #解压到指定目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值