一、查看资源信息
1)查看系统运行资源
查看内存使用量和交换区使用量
[root@localhost ~]# free -h
total used free shared buff/cache available Mem: 7.4G 5.8G 313M 348M 1.4G 807M Swap: 2.0G 1.3G 744M
查看各分区情况
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 398G 27G 371G 7% / devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 3.8G 386M 3.4G 11% /run tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/sda1 497M 119M 379M 24% /bo
查看指定目录大小
[root@localhost ~]# du -sh /opt
929M /opt
查看系统运行时间、用户数、负载
[root@localhost ~]# uptime
10:49:07 up 167 days, 1:53, 1 user, load average: 0.37, 0.45, 0.54
2)查看网络资源
查看所有网络接口的属性
[root@localhost ~]# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.253.50.182 netmask 255.255.252.0 broadcast 10.253.51.255
inet6 fe80::3f0a:743c:8ac4:9ada prefixlen 64 scopeid 0x20<link>
inet6 fe80::7e83:ba42:8df9:9188 prefixlen 64 scopeid 0x20<link>
inet6 fe80::3133:a03d:82e5:4e8d prefixlen 64 scopeid 0x20<link>
ether 00:50:56:ab:7e:1a txqueuelen 1000 (Ethernet)
RX packets 557207307 bytes 237853049497 (221.5 GiB)
RX errors 0 dropped 3891 overruns 0 frame 0
TX packets 18407153 bytes 4318601246 (4.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看路由表
# route -n
# 查看路由表
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.253.51.254 0.0.0.0 UG 100 0 0 ens192
10.253.48.0 0.0.0.0 255.255.252.0 U 100 0 0 ens192
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker_gwbridge
查看所有监听端口
# netstat -lntp
# 查看所有监听端口
# netstat -lntp |grep 9201
# 查看指定端口9201
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9201 0.0.0.0:* LISTEN 11424/docker-proxy
tcp 0 0 0.0.0.0:8500 0.0.0.0:* LISTEN 11467/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1201/sshd
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 11360/docker-proxy
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1462/master
tcp 0 0 0.0.0.0:99 0.0.0.0:* LISTEN 27210/docker-proxy
[root@localhost ~]# netstat -lntp |grep 9201
tcp 0 0 0.0.0.0:9201 0.0.0.0:* LISTEN 11424/docker-proxy
tcp6 0 0 :::9201 :::* LISTEN 11431/docker-proxy
查看所有已经建立的连接
# netstat -antp
# 查看所有已经建立的连接
[root@localhost ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9201 0.0.0.0:* LISTEN 11424/docker-proxy
tcp 0 0 0.0.0.0:8500 0.0.0.0:* LISTEN 11467/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1201/sshd
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 11360/docker-proxy
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1462/master
二、常用命令
1)目录相关
建立目录 mkdir
mkdir -p [目录名]
-p 递归创建
命令英文原意:make directories
删除空目录:rmdir
rmdir[目录名]
英文原意:remove empty directories
2)复制cp
cp [选项] [原文件或目录][目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr ,目标文件和源文件一样
#复制文件
[root@kode dmp]# cp export.log export.log_bak
[root@kode dmp]# ll
total 60
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 root root 26341 Sep 15 13:29 export.log_bak
#复制目录
[root@kode dmp]# cp -r uat uat_bak
[root@kode dmp]# ll
total 32
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 oracle oinstall 349 Jul 28 09:05 import.log
drwxr-xr-x 2 oracle oinstall 55 Jul 25 14:59 prod
drwxr-xr-x 2 oracle oinstall 82 Aug 27 09:09 uat
drwxr-xr-x 2 root root 82 Sep 15 13:28 uat_bak
[root@kode dmp]#
3)剪切或改名命令:mv
mv [原文件或目录][目标目录]
[root@kode dmp]# ll
total 32
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 oracle oinstall 349 Jul 28 09:05 import.log
drwxr-xr-x 2 oracle oinstall 55 Jul 25 14:59 prod
drwxr-xr-x 2 oracle oinstall 82 Aug 27 09:09 uat
[root@kode dmp]# mv export.log uat/
[root@kode dmp]# cd uat
[root@kode uat]# ll
total 242908
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
#同一个目录下时就是改名
[root@localhost tmp]# mv anaconda-ks.cfg longls
4)删除文件或目录:rm
删除文件或目录:rm
rm -rf [文件或目录]
英文原意:remove
选项:
-r 删除目录
-f 强制
注:请谨慎使用删除命令!!!
5)传输文件到其他机器:scp
传输文件到其他机器:scp [选项] [文件目录] [其他机器用户@IP:/目录]
选项:
-r 复制目录
#复制文件到其他机器
[admin@localhost ~]$ scp su_root.sh admin@10.253.50.183:/home/admin
admin@10.253.50.183's password:
#复制目录到其他机器
[admin@localhost ~]$ scp -r df admin@10.253.50.183:/home/admin
admin@10.253.50.183's password:
6)文件搜索
文件搜索命令locate
1.locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# locate install.log
/root/install.log
/root/install.log.syslog
文件搜索命令find
find [搜索范围][搜索条件] #搜索文件
find / -name instal.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。
- * 匹配任意内容
- ?匹配任意一个字符
- [] 匹配任意一个中括号内的字符
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# find / -name install.log
/root/install.log
[root@localhost ~]# find /root -name "install.log*"
/root/install.log
/root/install.log.syslog
[root@localhost ~]#
7)打包压缩/解打包解压缩
tar
a.打包
tar -cvf 打包文件名 源文件
选项:-c 打包 -v 显示过程 -f 指定打包后的文件名
e.g.
[root@localhost ~]# tar -cvf jp.tar jp
jp/
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog jp jp.tar
b.解打包
tar -xvf 打包文件名
选项: -x 解打包
e.g.
tar -xvf longzls.tar
tar.gz压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
打包:
tar -zcvf 压缩包名.tar.gz 源文件
选项:-z:压缩为.tar.gz格式
解打包
tar -zxvf 压缩包名为.tar.gz
选项:-x:解压缩.tar.gz
打包时排除某个文件
打包settlement目录并排除config.js文件
tar -zcvf settlement.tar.gz settlement --exclude=settlement/config.js
三、查找大文件
使用场景:磁盘空间不足
查找大于100MiB的文件
find / -size +100M -ls
也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件
find / -size +100M -size -200M -ls
如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令:
du -h -a /opt | grep "[0-9]G\b"
四、权限
1)身份权限说明
linux中访问文件/目录有三种身份:
- u:文件的拥有者
- g:文件所属的群组
- o:其他用户
对于每个身份,又有四种权限
-
r:读权限(read)
对于文件来讲就是可以读取其内容的权限,对于目录来讲无法查看目录里面的内容(ls 失败) -
w:写权限(write)
写权限:对于文件来讲就是可以向文件写数据,对于目录来讲无法删除目录里面的文件 -
x:可执行权限(execute)
对于可执行文件来讲无法运行(可以看到颜色都变了),对于目录来讲无法进入目录(cd 失败) -
s:特殊权限
2)数字权限使用格式
我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5
即
若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
3)授权(chmod命令)
chmod [可选项] <mode> <file...>
参数说明:
a.可选项(常用):
-R, --recursive change files and directories recursively
(以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
b.[mode]
权限设定字串,详细格式如下 :
[ugoa...][[+-=][rwxX]...][,...],
其中
[ugoa...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[+-=]
+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
[rwxX]
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
c.[file...]
文件列表(单个或者多个文件、文件夹)
举例说明:
给脚本添加可执行权限:chmod +x start.sh
-rw-r--r--. 1 root root 275 Jul 19 10:36 jenkins_start.sh
[root@localhost ~]# chmod +x jenkins_start.sh
-rwxr-xr-x. 1 root root 275 Jul 19 10:36 jenkins_start.sh
设置所有人可以读写及执行:chmod 777 file
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置所有人可以读写及执行,并递归子目录及文件:chmod -R 777 file
drwxr-xr-x. 2 root root 6 Sep 15 13:05 file
[root@localhost ~]# chmod -R 777 file
[root@localhost ~]# ll
drwxrwxrwx. 2 root root 6 Sep 15 13:05 file
4)更改文件拥有者(chown命令)
chown [可选项] user[:group] file...
参数说明:
使用权限:root
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
设置文件的用户为users群体的admin用户:chown admin:users import_sys.sql
设置当前目录下与子目录下的所有文件的拥有者为 oinstall 群体的 oracle:chown -R oracle:oinstall *
[root@kode prod]# ll
total 160604
-rw-r--r-- 1 oracle oinstall 0 Jul 25 14:59 import_sys.sql
-rw-r--r-- 1 root root 164454400 Jul 25 09:57 settle_20220722.dmp
[root@kode prod]# chown admin:users import_sys.sql
[root@kode prod]# ll
total 160604
-rw-r--r-- 1 admin users 0 Jul 25 14:59 import_sys.sql
[root@kode prod]# chown -R oracle:oinstall *
[root@kode prod]# ll
total 160604
-rw-r--r-- 1 oracle oinstall 0 Jul 25 14:59 import_sys.sql
-rw-r--r-- 1 oracle oinstall 164454400 Jul 25 09:57 settle_20220722.dmp
[root@kode prod]#
五、vi&&vim
1)几种模式(这里只列举2种)
- 普通模式(Normal mode)
在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是vi&&vim启动后的默认模式。
在普通模式中,有很多方法可以进入插入模式,比较普通的方式是按a(append/追加)键或者i(insert/插入)键进入插入模式。 - 插入模式(Insert mode)
在这个模式中,大多数按键都会向文本缓冲中插入文本。
在插入模式中,可以按ESC键回到普通模式。
2)常用场景举例说明
修改配置文件
a.编辑配置文件application.yml
vi application.yml
b.输入 i
进入到插入模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZmVYoZt-1663290353944)(http://10.253.50.182:99/server/index.php?s=/api/attachment/visitFile&sign=b028f88e5bbc5dc32d3756dd95d54565)]
c.光标移动位置修改配置文件
d.插入模式下保存修改并退出:wq
e.插入模式下不保存修改并强制退出:q!