linux学习 Centos 7(二)
linux学习 Centos 7(二)
常用的基本命令
目录管理
绝对路径、相对路径
绝对路径路径的全称:C:\ProgramData\360safe\xxx.xx
在360safe目录下,xxx.xx的相对路径就是\xxx.xx
cd 切换目录
绝对路径:/开头 相对路径:../home
cd :切换目录命令
cd ./:当前目录
cd .. :返回上一级目录
ls 列出目录
在Linux中,ls是最常使用的命令!
-a:all,查看所有文件,包括隐藏文件
-l:列出所有文件的属性和权限 不包括隐藏文件
pwd 显示当前用户所在的目录
[root@localhost ~]# pwd /root
mkdir 创建目录
[root@localhost ~]# ls abc anaconda-ks.cfg usermin-webmail-1.510 usermin-webmail-1.510.tar.gz [root@localhost ~]# mkdir ll [root@localhost ~]# ls abc anaconda-ks.cfg ll usermin-webmail-1.510 usermin-webmail-1.510.tar.gz
-p:递归创建目录
#直接创建失败 [root@localhost ~]# mkdir test1/t2/t3 mkdir: 无法创建目录"test1/t2/t3": 没有那个文件或目录 #递归创建 [root@localhost ~]# mkdir test1/t2/t3 -p [root@localhost ~]# cd test1/t2/t3 [root@localhost t3]# pwd /root/test1/t2/t3
rmdir 删除目录
[root@localhost ~]# ls abc anaconda-ks.cfg ll test1 usermin-webmail-1.510 usermin-webmail-1.510.tar.gz [root@localhost ~]# rmdir ll [root@localhost ~]# ls abc anaconda-ks.cfg test1 usermin-webmail-1.510 usermin-webmail-1.510.tar.gz
-p:递归删除
[root@localhost ~]# ls abc anaconda-ks.cfg test1 usermin-webmail-1.510 usermin-webmail-1.510.tar.gz #非空删除失败 [root@localhost ~]# rmdir test1/ rmdir: 删除 "test1/" 失败: 目录非空 #-p 需要加全部路径 [root@localhost ~]# rmdir test1/ -p rmdir: 删除 "test1/" 失败: 目录非空 #删除成功 [root@localhost ~]# rmdir -p test1/t2/t3 [root@localhost ~]# ls abc anaconda-ks.cfg usermin-webmail-1.510 usermin-webmail-1.510.tar.gz
rmdir 仅能删除空的目录,如果下面存在文件,需要先删除文件。
cp 复制文件或者目录
cp 原来的地方 新的地方
[root@localhost home]# touch as [root@localhost home]# ls as ceshi dockerfile docker-test docker-test-volume lin ll mysql shu ssl sun tomcat [root@localhost home]# cp as ssl [root@localhost home]# cd ssl [root@localhost ssl]# ls as build
rm (移除文件或者目录)
-f:忽略不存在的文件,不会出现警告,强制删除!
-r:递归删除目录
-i:互动,删除询问是否删除
#终极奥义,删除所有文件 rm -rf /
mv 移动文件或者目录
-f :强制移动
-u:只替换已经更新的文件
[root@localhost home]# ls as ceshi dockerfile docker-test docker-test-volume lin ll mysql shu ssl sun tomcat #移动文件 [root@localhost home]# mv as ll [root@localhost home]# ls ceshi dockerfile docker-test docker-test-volume lin ll mysql shu ssl sun tomcat #重命名 [root@localhost home]# mv ll lll [root@localhost home]# ls ceshi dockerfile docker-test docker-test-volume lin lll mysql shu ssl sun tomcat
基本属性
文件属性 权限
[root@localhost /]# ll 总用量 66 lrwxrwxrwx. 1 root root 7 3月 12 2022 bin -> usr/bin dr-xr-xr-x. 6 root root 1024 3月 12 2022 boot drwxr-xr-x. 20 root root 3260 9月 4 10:04 dev drwxr-xr-x. 92 root root 4096 9月 4 10:04 etc drwxr-xr-x. 13 root root 164 9月 4 10:48 home lrwxrwxrwx. 1 root root 7 3月 12 2022 lib -> usr/lib lrwxrwxrwx. 1 root root 9 3月 12 2022 lib64 -> usr/lib64 drwx------. 2 root root 16384 3月 12 2022 lost+found drwxr-xr-x. 2 root root 4096 4月 11 2018 media drwxr-xr-x. 2 root root 4096 4月 11 2018 mnt drwxr-xr-x. 3 root root 4096 9月 1 11:59 mydata drwxr-xr-x. 3 root root 4096 4月 11 2022 opt drwxr-xr-x. 2 root root 4096 3月 28 2022 perl dr-xr-xr-x. 221 root root 0 9月 4 10:03 proc dr-xr-x---. 5 root root 4096 9月 4 10:31 root drwxr-xr-x. 26 root root 780 9月 4 10:04 run lrwxrwxrwx. 1 root root 8 3月 12 2022 sbin -> usr/sbin drwxr-xr-x. 2 root root 4096 4月 9 2022 shell drwxr-xr-x. 2 root root 4096 4月 11 2018 srv dr-xr-xr-x. 13 root root 0 9月 4 10:03 sys drwxrwxrwt. 12 root root 4096 9月 4 10:04 tmp drwxr-xr-x. 13 root root 4096 3月 12 2022 usr drwxr-xr-x. 21 root root 4096 3月 28 2022 var
一共分为10个字符:
在linux中第一个字符代表这个文件是目录、文件或链接文件等:
- 【d】 目录
- 【-】 文件
- 【l】 链接文档
- 【b】装置文件里面的可供储存的接口设备(可随机存取装置)
- 【c】装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
其他字符,三个为一组,且均为【rwx】的三个参数组合。
其中,r代表read读,w代表write写, x代表execute 可执行
分别代表:属主权限,数组权限,其他用户权限
后面分别是:属主 属组
修改文件属性
- chgrp:更改文件所属组
chgrp [-R] 数组名 文件名
-R:递归更改文件属组。
- chown:更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名 chown [-R] 属主名:属组名 文件名
- chmod:更改文件属性
chmod [-R] xyz 文件或目录 #x 属主权限,y 数组权限,z 其他用户权限 #有两种设置方式 数字,符号 #每一个权限可以用数字代表 r:4 w:2 x:1 rwx:7 rw-:6 r-x:5 r--:4 -wx:3 -w-:2 --x:1 ---:0 #可以理解为二进制数
文件内容查看
Linux系统中使用以下命令来查看文件的内容︰
- cat:由第一行开始显示文件内容
[root@localhost network-scripts]# cat ifcfg-ens33 TYPE=Ethernet BOOTPROTO=no NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.32.6 GATEWAY=192.168.32.2 NETMASK=255.255.255.0 DNS1=144.144.144.144 DNS2=8.8.8.8
- tac:从最后一行开始显示,可以看出tac是cat的倒着写!
[root@localhost network-scripts]# tac ifcfg-ens33 DNS2=8.8.8.8 DNS1=144.144.144.144 NETMASK=255.255.255.0 GATEWAY=192.168.32.2 IPADDR=192.168.32.6 ONBOOT=yes DEVICE=ens33 NAME=ens33 BOOTPROTO=no TYPE=Ethernet
- nl: 显示的时候,顺道输出行号!
[root@localhost network-scripts]# nl ifcfg-ens33 1 TYPE=Ethernet 2 BOOTPROTO=no 3 NAME=ens33 4 DEVICE=ens33 5 ONBOOT=yes 6 IPADDR=192.168.32.6 7 GATEWAY=192.168.32.2 8 NETMASK=255.255.255.0 9 DNS1=144.144.144.144 10 DNS2=8.8.8.8
- more:一页一页的显示文件内容(空格代表翻页,enter代表翻一行,:f 显示行号)
[root@localhost network-scripts]# more ifcfg-ens33 TYPE=Ethernet BOOTPROTO=no NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.32.6 GATEWAY=192.168.32.2 NETMASK=255.255.255.0 DNS1=144.144.144.144 DNS2=8.8.8.8
- less:与more类似,但是比more更好的是,他可以往前翻页!(空格代表翻页,PageUp PageDown键代表翻行,q:退出;查找字符串:/向下查询字符串 ?向上查找字符串 n下一个N上一个)
[root@localhost network-scripts]# more ifcfg-ens33 TYPE=Ethernet BOOTPROTO=no NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.32.6 GATEWAY=192.168.32.2 NETMASK=255.255.255.0 DNS1=144.144.144.144 DNS2=8.8.8.8
- head:只看头几行
[root@localhost network-scripts]# head ifcfg-ens33 -n 5 TYPE=Ethernet BOOTPROTO=no NAME=ens33 DEVICE=ens33 ONBOOT=yes
- tail :只看后几行
[root@localhost network-scripts]# tail -n 5 ifcfg-ens33 IPADDR=192.168.32.6 GATEWAY=192.168.32.2 NETMASK=255.255.255.0 DNS1=144.144.144.144 DNS2=8.8.8.8
可以使用man[命令]来查看各个命令的使用文档,如 : man cp。
网络配置目录:/etc/sysconfig/network-scripts
拓展:Linux链接的概念
Linux的链接分为两种:硬链接和软链接。
硬链接:A---B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软链接:类似windows下的快捷方式,删除的源文件,其快捷方式也访问不了!
创建连接 ln
#硬链接 ln f1 f2 #软链接 ln -s f1 f2
touch 命令创建文件
echo 输入字符串
echo "kdksdaks" >>f1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!