linux基础命令

154 阅读4分钟

查看、切换、显示、统计目录或文件

ls--列表显示目录内容

显示目录中的内容,包括子目录和文件相关属性信息

ls    [选项]    [文件或目录… ]

常用选项

  • -l        长格式显示文件和目录列表 文件属性比较详细 ll=ls –l
  • -a       显示全部包括隐藏文件 且包括 . .. (在linux当中已.开头的隐藏文件)
  • -A        显示全部文件或隐藏文件,但不包括 . 和..
  • -d        只显示当前目录的属性
  • -h        人性化显示(加了文件大小属性)
  • -R        递归显示该目录及该目录的子目录下的所有内容
  • --color   显示颜色
  • -s        以文件容量大小排序
  • -I        显示indne号

ls 一般不单独使用

1.  功能有限 要加上选项

2.  Ls单独使用 显示当前文件夹下的所有文件 (假如有1000w文件 直接ls显示会导致直接死机)

Ls 会配合通配符 去过滤需要的文件

通配符

去匹配文件名(包括文件夹)ls

任意单个字符
*任意长度的任意字符
{1..10}1到10 10个数
[123][123]中代表一个数值
[a-z]注意范围 不包括大写Z
[0-9]代表单个数字
[^a-c]反向匹配
\显示原来的意思

Alias 别名

1.  将常用的一些比较复杂的命令,简单化

alias  自行定义的命令=‘常用的复杂命令’

image.png

2.  单独使用alias 会显示所有的别名命令

image.png

3.  别名、内部、外部??大

别名>内部>hash>外部

删除别名:

unalias 别名命令

image.png

Du (disk use)

1.查看文件或目录 占用磁盘的空间大小

  • -a  分开显示每个文件的大小
  • -s  显示当前文件夹的总大小
  • -h  人性化显示
  • --max-depth=n (-d 1)  最大显示到第n层

  2.du 不统计文件的实际大小 只是统计文件所占磁盘的大小 磁盘一块一块来存储文件 最小一块4k,ls 显示文件实际大小

  a和s不能同时使用

image.png

拓展:

统计/etc目录下 第一层文件夹占用多少磁盘空间

du –d 1  目录

-d 代表目录层数

1 代表目录层数的第一层

image.png

du 统计包括隐藏文件么?

包括隐藏文件也会统计

Mkdir (创建空文件夹)

-p  递归创建文件夹

-v  显示详情过程

image.png

image.png

补充: 在mysql下创建3306.3307.3308 文件夹,分别在这三个文件夹创建date,etc,socket,log,bin,pid 如何创建

image.png

  image.png

Touch

创建新的文件夹 或空的新文件

Touch 文件名

新建一个文件 1.txt

image.png

如果当前文件夹下有同名的文件,刷新修改此文件的时间

image.png

 

硬连接与软链接文件

区别:

对比项硬链接软链接
本质本质是同一文件本质不是同一文件
Inode号(身份证号)相同不同
连接数创建新的硬链接,链接数会增加,删除链接数,链接数会减少删除,新建也不会改变
文件夹不支持支持
删除源文件只是链接数减一,访问正常无法访问文件
文件类型和源文件相同链接文件,与源文件无关
文件大小和源文件相同(指向硬盘上的同一文件)源文件的路径的长度

软链接:

Ln –s 源文件(夹)路径 目标文件夹路径

一定使用绝对路径

image.png

硬链接:

Ln 源文件(夹)路径 目标文件夹路径

image.png

硬链接不支持文件夹

image.png

Cp  复制文件或目录

基本功能

Cp  要复制文件,放置复制文件的位置也可以重命名

image.png

-f 有相同文件时强制覆盖不提醒

-I 有相同文件时覆盖提醒

-p 保留文件的源权限

image.png

-r 复制文件夹一定需要

image.png

-a 保留权限更强大 包括连接文件的属性也可以保留(建议使用-a)

 

拓展:三次复制有什么提示

[root@localhost data]# cp -r /etc/ /opt/etc.bak #改名字

[root@localhost data]# cp -r /etc/ /opt/etc.bak #变成 etc.bak 的子目录

[root@localhost data]# cp -r /etc/ /opt/etc.bak #会问你要不要覆盖,cp是别名 加\cp 直接覆盖

image.png

注意:

Cp 复制多个文件 最后一定要跟文件夹 不能跟文件

 

Mv 移动改名

mv   源文件或目录  单个文件

移动/改名

-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖

-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)

image.png

-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户

-v:显示文件或目录的移动过程

批量

rename log log.bak*   所有log文件改成log.bak

rename 旧字符 新字符 目标文件

[root@test1 opt]# rename txt txt.bak *.txt   #把 txt 改成 txt.bak

Rm  选择 要删除文件或目录

-f 强制

-I 交互

-r 递归(删除目录需要)

[root@localhost ~]# rm –rf  文件/目录

image.png

Which 查找

只能找到命令位置

image.png