目录和文件管理(一)

一,linux命令概述

# 在字符操作界面中输入能够完成特定操作和任务的字符串,都可以称为“命令”。

# “命令”通常只代表了实现某一类功能的指定或程序的名称。

二,命令的分类

        # Linux命令的执行必须依赖于shell命令解释器。

        # shell是在Linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,

负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,

          Shell在用户和内核之间充当了一个“翻译官”的角色。

        # BashLinux系统中默认使用的shell程序,文件位于/bin/bash

1,内部命令

是没有文件的,自动载入在内存里,集成在shell解释器程序内部的一些特殊指令,也称“内建命令”,存储在内存条上的命令。

2,外部命令

能找到文件的命令,存储在硬盘里面的









用户                                                                                                                                                                                                                                                                                                                                                        Shell                                                                                                                                                                                                                                                                                                                                                         内核硬件(示意图)

三,Linux命令行的格式

命令字   [ 选项]         [ 参数 ]

1,命令字:区分英文字符的大小写

2,选项:调节命令的具本功能,决定这条命令如何执行


          -
1个杠,表示单词简写,“例如:-a

          --2个杠,表示完整的单词,“例如:--help

3,参数:参数是命令字的处理对象


Tab
键:可以将输入不完整的命令字、文件、目录名自动补全

\反斜杠:自动换行

Ctrl+u快速删除当前光标处之前的所有字符内容

Ctrl+k快速删除从当前光标处到行尾的所有字符内容


Ctrl+l
快速清空当前屏幕

Ctrl+c取消当前命令行的编辑,并切换为新的一行命令提示符

四,获得命令帮助

1,help命令

# 查看各shell内部命令的帮助信息(如:help  pwd

2--help

        # 会显示中文帮助信息,不过是在图形界面下操作(如:ls --help

3,man手册页

# 只显示英文(如:man  file可以查看file命令的手册页信息)

4,“|”和“>

        # 例:man  ls  | col  -b  > lshelp.txt

spacer.gifcol”:是一个命令程序,用于过滤文本中的一些特殊控制字符。

|”:管道,把前面的命令交给后面的命令进一步处理。

>”:重定向输出,前面的命令成功执行后,其屏幕输出结果将保存到“>后边指定的文件中(有点类似于另存为的功能)。

五,查看及切换目录

1,pwd:查看当前工作目录(print working  directory

2,cd切换工作目录(change directory

绝对路径:以“/”作为起点,如“/boot/grub”。

相对路径:在开头不使用“/”符号,一般以当前工作目录作为起点


                           #
直接使用目录名或文件名,用于表示当前工作目录中的子目录,文件位置

例如:“grub.conf”可以表示当前目录下的grub.conf文件。

                     #使用一个点“.”开头,可以明确表示以当前的工作目录作为起点,

例如:“./grub.conf”。

                         #使用两个点“..”开头,表示以当前目录的上一级目录(父目录)作为点

例如:“../vmlinuz”等同于“/boot/vmlinuz”。

                         #使用“~用户名”的形式开头,表示以指定用户的宿主目录作为起点,省

略用户名时缺省为当前用户

3,cd- 两个运行过的目录直接来回切换

4ls列表(List)显示目录内容


-l
以长格式(long)显示文件和目录的列表,包括权限、大小、最后更新时间等

-a显示所有(All)子目录和文件的信息,包括名称以点”.”开头的隐藏目录、文件

-A-a的作用基本类似,但是“.”和“..”的文件将不会显示

-d显示目录(Directory)本身的属性,而不是显示目录中的内容

-h以更人性化(Human)的方式显示出目录或文件的大小,默认大小单位为字节

使用-h后,将显示为KM等单位,需要结合-l选项一起死回生使用“-lh”。

-R以递归(Recursive)的方式显示指定目录及其子目录中的所有内容

--color在字符模式中以颜色区分不同的文件

spacer.gif         #如果使用“—color=tty”,表示使用终端预定义的颜色方案

        #深蓝色:表示目录

        #白色:表示一般文件

        #绿色:表示可执行文件

spacer.gif         #×××:表示设备文件

        #红色:表示压缩文件

组合键:

ls  –lh:可以同时查看多个文件的信息

ls  -ld可以只显示当前目录的详细信息,而不显示目录下的内容

通配符:“?”、“*

?:可以匹配文件名中的一个未知字符

        *:可以匹配文件名中的任意多字符

例如:ls -lh  /etc/ns*.conf(列出/etc/目录下以“ns”开头,“conf”结尾文件)

4,du统计目录及文件的空间占用情况

-a:统计磁盘空间占用时包括所有的文件,而不仅仅是目录

-h显示单位的方式(默认以KB计数),使用-h后,以KM等单位显示

-s只统计每个参数所占用空间总的大小,而不是统计子目录、文件的大小

-sh统计某个目录所占用的空间大小(常用组合键)

-ah统计某个目录中所有文件、子目录各自占用的空间大小

6df查看以挂接磁盘使用情况

六,创建目录和文件

1,mkdri创建新的目录

-p:一次性创建嵌套的多层目录

2,touch:创建空的文件

3ln创建链接(Link)文件

软链接格式:ln  -s  源文件或目录链接文件或目标位置

例如:ln -s /etc/httpd/conf/httpd.conf  /etc/

                     ls -lh  /etc/httpd.conf

含义:为文件/etc/httpd/conf/httpd.conf创建一个软链接文件/etc/httpd.conf

硬链接格式:ln  源文件链接文件或目标位置

#软链接:又称符号链接,删除原始文件后,软链接失效

适用于文件或目录

与原始文件可以位于不同的文件系统中

#硬链接:删除原始文件后,硬链接仍旧可以用

只适用于文件,不能为目录建立硬链接

必须与原始文件在同一个文件系统中(如Linux一个分区内)

七,复制、删除、移动目录和文件

1,cp复制(copy)文件或目录

格式:cp  [选项]  源文件或目录目标文件或目录

          -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(force)复制

          -i覆盖目标同名文件或目录时提醒用户确认(interactive,交互式)

          -p复制时保持(preserve)源文件的权限、属主及时间标记等属性不变

          -r表示递归复制所有文件及子目录

2,rm删除(remove)文件或目录

格式:rm  [选项] 文件或目录

-f删除文件或目录时不进行提醒,而直接强制删除

        -i删除文件或目录时提醒用户确认

        -r表示递归删除整个目录树

        -rf:通常结合这两个一起用

3mv移动(move)文件或目录/还可用于改名

格式:mv  源文件或目录.. 目标文件或目录

八,查找录和文件

1,which查找Linux命令文件并显示所在的位置

#搜索范围主要由用户的环境变量PATH决定

#可以执行echo  $PATH命令查看

#which  -a 在所有搜索路径中查找

#shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时,将找不到对应的程序,例如查找cd  ,which cd”将查找不到

2,find查找文件或目录

格式:find  查找范围查找条件表达方式

例如:find  /  -name initab

-name按名称查找,根据目标文件的名称进行查找,允许使用*?号通配符

-size按文件大小查找,用“+ -”号设置超过或小于指定的大小作为查找条件

-user按文件属主查找,根据文件是否属于目标用户进行查找

        -type按文件类型查找,(f)普通文件,(d)目录,(b)块设备文件

c)字符设备文件。

注意:

使用*?通配符时,最好将文件名用双引号括起来

需要同时使用多个查找条件时,各表达之间可以使用逻辑运算符:-a  -o

        -a表示而且(And),表示两个条件必须同时满足

-o表示或者(or),表示两个只需满足其中任何一个条件即可

格式:find  /boot  -size +1024k  -a -name  vmlinuz

          find /boot  -size  +1024k -o -name  vmlinuz