Shell:
Linux系统中运行的一种特殊程序
在用户和内核之间充当(翻译官)
用户登录Linux系统时,自动加载一份Shell程序
Bash是Linux系统中默认使用的Shell程序
当管理员敲入命令后,Shell将这个指令解释为内核能读懂的格式。
linux命令的分类:
(type加命令):可查看是内部命令还是外部命令
(enable):可以查看当前解释器所有内部命令
(which加命令):可以查找该命令存放的路径
Linux命令行的格式:
例:(ls - l /etc): ls:为关键字,-l:选项 ,etc:参数 /:表示目录
关键字:命令执行功能
选项:调节输入方式
参数:命令执行的对象
编辑Linux命令行的辅助操作:
获得命令的帮助方法:
help一般用于内部命令,--help一般用于外部命令,man使用的范围更为广阔。man是manual的缩写。 (history查看曾经命令) (cat加命令查看命令的内容)
目录和文件基本操作:
Linux 中查看目录的常用命令有 pwd、cd、ls 和 du 命令。这些命令都是对文件目录进行操作,但各自实现的功能略有不同。
pwd 命令 (Print Working Directory)
绝对路径与相对路径
目录前不带 / 就是相对路径,目录前带 / 就是绝对路径
绝对路径:以目录“ / ”作为起点。
(通常用来表示Linux系统中目录结构比较稳定不经常改变的目录或文件位置)
相对路径:一般以当前目录作为起点。
(通常用于表示当前目录“附近”的目录或文件)
目录就是文件夹,在Linux系统中称为目录,在Windows中称为文件夹
在目录后面可以加 / 在文件后面不可以加 /
cd命令--切换工作目录
每一个用户都有一个家,家用来存放数据文件,快速切换到某个用户的家,用~
宿主目录就被称为家目录
cd只能切换目录,不能切换文件.
ls 命令——列表(List)显示目录内容
ls 命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。
可以是目录名,也可以是文件名,允许在同一条命令中同时使用多个参数。
ls能查看目录详细信息和文件详细信息
在Linux中凡是深蓝的就代表目录,不是深蓝色就代表普通文件
以点结尾的文件或文件 . 代表当前路径 .. 代表上一级路径
在运行当中以点开头的文件代表隐藏文件,目录和文件都可以隐藏
-A可以显示隐藏文件和隐藏目录,但不会显示路径
ls后面的选项可以随意组合且不分顺序
凡是看不到 / 都是相对路径,超过两级用绝对路径
文件类型:
第一个字母:代表文件类型
d:目录
-:普通文件
l:链接文件
b:块文件(存储)
c:字符文件(键盘)
rwx r-x r-x
属主 属组 其他
属主:我是谁的
属组:我是哪个组(包含多个用户)的
其他:既不是属主,也不是属组
r:read读
w:write:写
x:excute:执行
链接:
软链接:针对文件,目录,可跨分区
硬链接:只针对文件,不可跨分区
设置别名:
对于经常使用的比较长的命令行,可以通过 alias 别名机制进行简化,以提高使用效率。例如,执行“alias myls='ls -alh'”命令可以定义一个名为 myls 的命令别名,以后再执行“myls”命令时即等同于执行“ls -alh”命令。
设置别名用alias 取消别名unalias myls
统计目录及文件占用磁盘空间大小 - du:
du 命令可用于统计指定目录(或文件)所占用磁盘空间的大小,使用目录或文件的名称作为参数
-a统计目录下所有文件所占四盘空间的总大小 而不仅仅统计目录
ls是查看文件大小,不是占用文件磁盘的大小。
统计一个目录所占空间的大小用du命令
如果需要统计一个文件夹内所有文件总共占用的空间大小,可以结合“-sh”选项,将要统计的目录作为参数。如果需要分别统计多个文件所占用的空间大小,可以结合“-ah”选项,当使用目录作为参数时,最后将列出该目录总共占用的空间大小。
创建目录和文件
Linux 中,mkdir、touch、ln 命令分别用于创建目录和文件。
(1)mkdir 命令——创建新的空目录(Make Directory)
如果需要一次性创建嵌套的多层目录,必须结合“-p”选项,否则只能在已经存在的目录中创建一层子目录。
创建空文件 - touch
没有指定文件夹就默认在当前路径下创建
创建链接文件 - ln
链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。
软链接与硬链接的区别主要在于,删除原始文件后,软链接将失效,但硬链接仍然可用;软链接适用于文件或目录,但硬链接只可用于文件,不能为目录建立硬链接;软链接与原始文件可以位于不同的文件系统中,但硬链接必须与原始文件在同一个文件系统(如一个 Linux分区)内。使用 ln 命令时,默认创建的是硬链接。如果需要创建软链接,必须结合“-s”选项明确指定
复制、删除、移动目录和文件
(使用 cp、rm、mv 命令可以复制、删除和移动 Linux 目录和文件。)
1.cp——复制(Copy)文件或目录
cp 命令用于复制文件或目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(可保存到其他目录中)
命令选项
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
-i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)。
-p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
如果需要复制的数据包括完整的目录,则需要结合“-r”选项才能成功执行,否则目录将被忽略。
目标文件名字和源文件名字可以保持一致,但是路径要改变,如果不改变路径会直接覆盖,源文件可以用相对路径也可以用绝对路径,目标文件也可以用相对路径和绝对路径。复制目录需要加 - r,复制文件不需要加 - r,不复制目录不需要加 - r。
rm 命令——删除(Remove)文件或目录
rm 命令用于删除指定的文件或目录,在 Linux 命令行界面中,删除的文件是难以恢复的,因此使用 rm 命令删除文件时需要格外小心。rm 命令使用要删除的文件或目录名作为参数。对于已经确定不再使用的数据(包含目录、文件),通常结合“-rf”选项直接进行删除而不进行提示。
命令选项:
-f:删除文件或目录时不进行提醒,而直接强制删除。
-i:删除文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
.如果需要在执行删除操作前进行确认,可以使用“-i”选项(不要和-f 选项同时使用),rm命令将对每个待删除的文件或目录提示用户是否真的删除,需要输入 y(表示删除)或 n(表示不删除)进行确认。
mv 命令——移动(Move)文件或目录
mv 命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件或目录改名。需要移动多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在。如果在同一个目录下移动文件或目录,则相当于执行重命名操作。移动一个文件,源文件就会不存在,相当于剪切。移动目录的时候不需要加选项。有两个作用,从命名和移动。
查找目录和文件
which 命令——查找用户所执行的命令文件存放的目录
搜索一个命令的绝对路径通过which
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。which 命令使用要查找的命令或程序名作为参数,默认当找到第一个目标后即不再继续查找,若希望在所有搜索路径中查找,可以添加“-a”选项。
由于 Shell 内置的命令并没有对应的程序文件,因此使用 which 查找内部命令时,将找不到对应的程序
find 命令——查找文件或目录
find只能查找文件名和目录名,不能查找目录里的内容
find 命令是 Linux 操作系统中功能非常强大的查找命令,可以根据目标的名称、类型、大小等不同属性进行精细查找。find 命令在查找时采用递归的方式,其使用形式相当灵活,也可以相当复杂。
查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了 find 命令根据哪些属性、特征进行查找。
设置 find 命令的查找条件时,若需要使用“*”或“?”通配符,最好将文件名用双引号括起来,以避免当前目录下符合条件的文件干扰查找结果。使用“-type”查找条件可以过滤出指定类型的文件。需要同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”与“-o”别表示而且(and)、或者(or)。
本章总结:
shell是一种特殊程序
linux命令的分类,格式及使用方法
llinux常用命令:
查看及切换目录(pwd,cd,ls,du)
创建目录及文件(mkdir,touch,ln)
复制,删除,移动目录和文件(cp,rm,mv)
查找目录和文件(which,find)