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