LINUX基础命令学习
LINUX优点
-
系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
-
当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
-
避免令人困惑的用户界面就是没有复杂的图形界面。()我想怎么使用程序,win程序
文件夹 位置 决定了你能访问的文件
命令 |
效果 |
Cd cd ~ |
若不指定目标位置,切换到当前用户的宿主目录(家目录) |
Cd - |
到上一次目录 |
一个点号“.”开头(自己) |
表示以当前的工作目录作为起点(以点开头的是) |
两个点号“..”(上一级) |
表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名形式开头” |
表示以指定用户的宿主目录(家目录)作为起点 |
“.”开头文件 |
表示隐藏文件 |
~ky23(有个用户叫ky23家目录为起点) |
表示以指定用户的宿主目录作为起点 |
切换到家目录
回到上一次目录
代表自己
回到上一级
以23为起点
切换到上两层目录
3、ls
ctrl alt + r b o p
生产环境中慎重直接使用,文件量过大会直接死机(有的服务器上的文件是千万级别)
ls [选项] [文件或目录… ]
-a:显示所有文件,隐藏文件也包括 .(当前目录) ..(当前目录的上级文件)
-A:显示所有文件包括隐藏文件不包括 . 和 ..
-l:长格式显示详细信息 ls -l = ll
-h:人性化显示,加单位
-d:只显示当前文件
-R:递归显示所有文件
-t:以时间排序
-r:倒序
-i:indoe编号
-S:以文件大小排序
7种文件类型
- d 目录文件directory
- l 符号链接文件link
- b 块设备block 比如直接读1块 /dev 4k (512*8(扇区)=4096字节=4k)
- c 字符设备character 一个字符一个字符读取 /dev/zero (/dev/null)
- p 管道文件pipe 两个软件联系 A-管道文件-B A 写 B 读 单向的
file命令可以识别文件类型,文件后缀无法判断文件类型,文件后缀无所谓
颜色表示的文件类型:
-
黑色数据文件 普通文件
-
绿色 可执行文件
-
黄色 块设备文件硬件设备(硬盘)
-
红色 压缩包
-
蓝色 文件夹
-
天蓝色 链接文件(快捷方式)
长格式显示ll= ls -l
显示所有文件,包括隐藏文件
显示所有文件,不包括隐藏文件
只显示当前文件
递归显示该目录及该目录的子目录下的所有内容
人性化显示长格式
在etc下分别显示mnrp开头的文件
4、通配符
通配符作用:匹配文件的名字,去模糊查找文件
正则表达式:匹配文章里的内容
* 任意长度字符
? 一个字符
[0-9] 代表单个数字
[a-z] 没有大Z
[A-Z] 没有小a
[^mcl] 反向选择 不会出现mcl中任意一个
{1..10} 1到10
{a..z} 小写的a 到小写的z
\ 转义 代表原来的意思
不显示当前目录的隐藏文件
11:当前文件
显示隐藏文件
显示不包括 . 开头的文件
显示包括 . . 上层目录中的文件
ls f[mcl].log:三个其中一个有就全部显示
显示A B b C c D d E e f,不包括 a
显示 a A b B c C d D e ,不包括 E
5、权限
rw-(创建者) r--(所属组) r--(其他) rwx
权限 可读 可写 可执行
r:可读
w:可写
x:可执行
-:没有该权限
root:创建者
root:所属性
11:文件大小
9月15:创建时间
1:文件名
-:代表文件属性,普通文件
rw-r--r--:权限
root: 拥有者
root: 拥有组
2045: 文件大小
19:08: 创建时间
initial: 文件名
6、alias
新建别名
alias 自定义=’原始命令’ 临时的
例子
alias may=’hostnamectl set-hostname’
删除别名
unalias 自定义命令
alias 直接显示所有别名
\cd /opt 临时用一次
\转义符,使用原来的
优先级:绝对路径>别名>内部>hash>外部
永久修改
-
在/etc/.bashrc 会影响全部
-
/root/.bashrc只影响当前用户( 当前用户的家目录 )root
创建别名,要加引号,否则无法识别
删除别名
显示所有别名
7、du(disk usage)
du:统计文件占用磁盘大小
-a:每个文件但大小
-s:只显示总大小
注意 -as不能一起使用
du和ls
du:统计的当前文件占磁盘的大小,不足4k按4k算
ls:看到的是真是大小
du -d 1:代表第一层
--exclude=*.txt 排除你想要的东西
单独显示每个文件的大小
只显示总大小
显示一层大小
二、创建
-
-
包括路径在内文件名称最长4095个字节
-
1、mkdir (mkdir make directories)
mkdir [选项] 目录位置及名称…
mkdir
-p:递归建立文件夹
-v:显示建立目录的过程
mkdir -pv /data/{11,22,33}/{aa,bb,cc}
2、touch
-
touch 新文件…(可为空)
-
touch 不会破坏已有文件 刷新时间
每个文件有三个时间戳:
-
access time 访问时间,atime,读取文件内容
-
modify time 修改时间,mtime,改变文件内容(数据)
-
change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )
建立空的文件 1 2 3
创建4空的文件
3、硬链接与软连接
硬连接:同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个连接数加一,多路径访问。
In 源文件绝对路径 放连接文件的地方
软连接:类似于windows里快捷方式,软连接,符号连接,会指向原来的文件ln(link)
ln [-s] 源文件或目录… 链接文件或目标位置
In -s 源文件绝对路径 放连接文件的地方
对比项 |
硬链接 |
软连接 |
本质 |
本质是同一个文件 |
本质不是同一个文件 |
Indoe(身份证号) |
相同 |
不同 |
连接数 |
创建新的硬链接,连接数会增加,删除硬链接,连接数减少 |
删除,新建都不会改变 |
文件夹 |
不支持 |
支持 |
删除源文件 |
只是连接数减一,但连接文件的访问不受影响 |
无法访问链接文件 |
文件类型 |
和源文件相同 |
连接文件和源文件无关 |
文件大小 |
和源文件相同(指向硬盘上的同一个文件) |
源文件的路径长度 |
建立软连接,
可以跨设备
可以支持文件夹
4、cp 复制
cp 源文件/目录.... 目标文件/目录...
-i 提示覆盖同名文件
-f 强制覆盖不提示
-a 强力保留权限 基本所有
-p 只保留一部分
-u 选择掌握 差异备份
强制复制文件,不提示
复制文件时提示,加'\'转义字符,是因为有别名了,加上转义字符就是原来的意思了
第一次命令是改名字
第二次变成 etc.bak 的子目录
第三次会问你要不要覆盖,cp是别名 加\cp 直接覆盖
复制文件夹时要加 -r ,否则不让复制
5、rm 删除文件
rm -rf 文件或目录......
-r 递归删除
-f 强制删除
文件删除不掉
1.有其他用户正在使用
echo “ 1” > 大文件
千万别删根
[root@localhost ~]# rm -rf / 不让执行
[root@localhost ~]# echo * 删根后查看
[root@localhost ~]# rm -rf /data/*
[root@localhost ~]# rm -rf /data /* 之间的区别误操作,等于删根
6、mv 移动或改名
mv 源文件 目标文件 如果路径一致改名 如果路径不一致移动
7、locate
通过 数据库去找文件 速度较快 不即时
updatedb 慎用
通过数据库去寻找mcl或包含mcl文件
8、which
which 命令
查看命令
9、find
find [OPTION]... [查找路径] [查找条件] [处理动作]
-name 名字 查找 可以使用 通配符 " "
-size 大小 范围 k M G 在没有 + — 写的越小越好
-user 根据 文件的主人
-type 文件类型 -f 普通 -d 目录 -s 套接字 -l 连接 -p 管道 -c 字符 -b 块设备
-maxdepth 最大层次
-mindepth 最小层次
-mtime 时间 +3 第4天 到正无穷 -3 0-2 3 3
-nouser 无主用户 用户被删除
-inum inode号
-empty 空文件
查找名字时passwd的文件
查找以 .conf 结尾的文件,不要在当前路径下找自己路径下的文件
查找用户为root的用户
查找大小为3k的文件
10、处理动作
默认print是不需要你输入的
-ls 长格式
-delete 删除
-ok 执行一次询问一次
-exec 直接移
11、查看硬件信息以及其他系统信息
lscpu 看cpu
free 看内存
df 看磁盘余量
arch 机器架构
cat /etc/redhat-release 系统版本
lsblk 硬盘详细信息