linux - QLGQ/learning-python GitHub Wiki
SCP
功能说明
scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下:
- scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径
- scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名
scp使用第一种格式是将远程Linux系统上的某个文件或者目录拷贝到本地Linux上来,使用第二种是将本地的某个文件或者目录拷贝到远程Linux系统的某个路径下。
举例
- scp /home/ixdba/etc.tar.gz [email protected]:/tmp
- scp [email protected]:/home/ixdba/etc.tar.gz /tmp
如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,例如:
scp -P 62222 [email protected]:/home/ixdba/etc.tar.gz /tmp
Linux下查看文件和文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。
df命令
**df:可以显示目前所有文件系统的可用空间及使用情形。**请看下列这个例子:
[root@controller longrise]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 18G 5.4G 13G 31% /
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 42M 1.9G 3% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 497M 188M 309M 38% /boot
tmpfs 394M 12K 394M 1% /run/user/42
tmpfs 394M 0 394M 0% /run/user/1000
du命令
du:查询文件或文件夹的磁盘使用情况。
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
以下是代码片段:
[root@bsso yayu]# du -h --max-depth=1 work/testing
27M work/testing/logs
35M work/testing
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
8.0K work/testing/func.php
27M work/testing/logs
8.1M work/testing/nohup.out
8.0K work/testing/testing_c.php
12K work/testing/testing_func_reg.php
8.0K work/testing/testing_get.php
8.0K work/testing/testing_g.php
8.0K work/testing/var.php
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
27M work/testing/logs/
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
24K work/testing/logs/errdate.log_show.log
8.0K work/testing/logs/pertime_show.log
27M work/testing/logs/show.log
systemctl VS service
centos7 上面启动服务以及关闭服务已经不是以前的service xxxx stop/start了而是systemctl命令。
service
service是一个脚本命令,分析service可知是去/etc/init.d目录下执行相关程序。service和chkconfig结合使用。
服务配置文件存放目录是/etc/init.d/
# 启动sshd服务
service sshd start
# 设置sshd服务开机启动
chkconfig sshd start
systemd
centos7版本中使用了systemd,systemd同时兼容service,对应的命令就是systemctl。
Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。 使用systemd的目的是获取更快的启动速度,为了减少系统启动时间,systemdde目标是尽可能启动较少的进程,尽可能将更多进程并发启动,可以去查看系统进程的pid,initd的pid是0,如果支持systemd的系统的systemd进程pid为1。
systemd把不同的资源称为Unit,每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit。
存放目录:/etc/systemd/system和/usr/lib/systemd/system
systemctl融合service和chkconfig功能。
# 开启服务
systemctl start sshd.service
# 设置开机启动
systemctl enable sshd.service
# 本质上是建立一个软链接 ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service
- 启动一个服务:systemctl start postfix.service
- 关闭一个服务:systemctl stop postfix.service
- 重启一个服务:systemctl restart postfix.service
- 显示一个服务的状态:systemctl status postfix.service
- 在开机时启用一个服务:systemctl enable postfix.service
- 在开机时禁用一个服务:systemctl disable postfix.service
- 查看服务是否开机启动:systemctl is-enabled postfix.service
- 查看已启动的服务列表:systemctl list-unit-files|grep enabled
- 查看启动失败的服务列表:systemctl --failed
使用命令 systemctl is-enabled postfix.service 得到的值可以是enable、disable或static,这里的 static 它是指对应的 Unit 文件中没有定义[Install]区域,因此无法配置为开机启动服务。启用服务就是在当前“runlevel”的配置文件目录/etc/systemd/system/multi-user.target.wants/里,建立/usr/lib/systemd/system里面对应服务配置文件的软链接;禁用服务就是删除此软链接,添加服务就是添加软连接。