1、(方法一)ls -lht会列出当前目录下每个文件的大小,同时也会给出当前目录下所有文件大小总和
【查看谬个文件的大小,】
2、(方法二)du -sh *也会列出当前文件夹下所有文件对应的大小
【把*替换为具体的文件名,会给出具体文件的大小】
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务程序
# rpm -qa # 查看所有安装的软
对程序员来说,一定要掌握 Linux 操作系统嘛?
回想下你用的 Google 搜索,淘宝购物,用 QQ、微信聊天的时候,其实这些软件和服务的背后,都是成千上万的 Linux 服务器在支撑。
对软件工程师来说,几乎一定会遇到 Linux 的应用场景,如果你无法熟练地操作 Linux ,基本上等于少了一半的功力,也少了一半的机会。
但学习 Linux 最大的困难就是,它的指令涉及方方面面,每个命令又有一大堆相关参数,学起来毫无头绪,网络上的资料也参差不齐,遇到问题简直不知从何下手。
掌握里基本知识后,对 Linux 性能优化又束手无策了,怎么根据指标找工具?或者根据工具找指标?怎么快速定位性能问题,性能分析有什么逻辑和步骤可言?
又或者还想深入学习操作系统原理,但总是记不住核心流程,不知道是否有清晰简洁的示意图辅助理解。
今天给你推荐一个“大物件儿”,1.56 米(大概双臂展开长度)的Linux 操作系统知识地图,极客时间团队出品,可谓 2019 年最硬核的 IT 技能图谱,以上问题都可以帮你解决。
只要你的工作与操作系统相关,这份知识地图定会成为你面试、工作中不可或缺的神助攻。
NO1.3 大体系,22 个模块提炼核心思路
Linux 指令太多太复杂?再也不怕了!这份包含“基础知识体系”“性能优化实战”“操作系统原理” 3 大体系,共 22 个模块的总结性内容,呈现形式为脑图、流程图、表格等。简洁又清晰,想找的知识点一目了然。
NO2.快速构建 Linux 操作系统知识体系
内容简直面面俱到,超全实用,干货满满,能帮你学习并快速搭建起整个 Linux 知识框架,查漏补缺,点亮自己的技能树。
NO3.速查常用 Linux 操作命令、性能工具与指标
非常实用,可以帮你快速定位工作中 80% 高频问题,分析问题、解决方法一步到位,放在工位上莫名有种安全感。遇到性能问题再也不慌了,按照逻辑条理分析,分分钟解决。
所谓一图胜千言,不管是技术小白,还是资深程序员,想少走弯路,快速掌握 Linux 知识体系,这份地图绝对值得你仔细研读,贴在任何地方都可以,常看常新,时时有收获。
本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz 、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar这10种压缩文件进行操作
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:
tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:
1 | # tar -cf all.tar *.jpg |
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包 ,-f指定包的文件名。
1 | # tar -rf all.tar *.gif |
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
1 | # tar -uf all.tar logo.gif |
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
1 | # tar -tf all.tar |
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
1 | # tar -xf all.tar |
这条命令是解出all.tar包中所有文件,-x是解开的意思
以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。
1) tar调用
gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip 相对的解压程序是gunzip。tar中使用-z这个参数来调用g
很多时候, 我们linux服务器默认就是22的端口, 这样给那些破解登录软件有机可乘. 下图是我某一台服务器被扫描的截图
这还只是我截图的一部分. 我在同一个服务商下面订购了两天服务器, 一台已改端口, 基本上就没有被扫描过, 而没有修改的端口服务器, 就是上图情况
下面我教大家怎么处理
1, 先用命令查询日志
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2" = "$1;}'
如果发现很多数据, 说明很多软件在登录破解你的服务器, 如果没有错误数据, 那倒问题不大
2,修改22端口
首先修改配置文件 vi /etc/ssh/sshd_config
找到#Port 22一段,这里是标识默认使用22端口,修改为如下:
Port 22
Port 2666
然后保存退出
执行/etc/init.d/sshd restart 这样SSH端口将同时工作与22和2666上。
记得把端口加入防火墙
测试: 找一台别的服务器ssh下此服务器 ssh -P 2666 root@此服务器ip 能连成功那就ok
下面的话直接复制网路上别人的话
现在请使用ssh工具连接2666端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。
之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。
top命令用法
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
top的使用方式 top [-d number] | top [-bnp]
参数解释:
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。
在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
?:显示在top当中可以输入的命令 P:以CPU的使用资源排序显示 M:以内存的使用资源排序显示 N:以pid排序显示 T:由进程使用的时间累计排序显示 k:给某一个pid一个信号。可以用来杀死进程 r:给某个pid重新定制一个nice值(即优先级) q:退出top(用ctrl+c也可以退出top)。
top各输出参数含义
下面是使用top命令来进行性能检测的截图:
图一(ubuntu):
图二(centos):
一、top前5行统计信息
第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30
第1行是任务队列信息,其参数如下:
内容 含义
05:43:27 表示当前时间
up 4:52 系统运行时间 格式为时:分
2 users 当前登录用户数
load average: 0.58, 0.41, 0.30 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:
内容 含义
159 total 进程总数
1 running 正在运行的进程数
158 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zom
1、(方法一)ls -lht会列出当前目录下每个文件的大小,同时也会给出当前目录下所有文件大小总和
【查看谬个文件的大小,】
2、(方法二)du -sh *也会列出当前文件夹下所有文件对应的大小
【把*替换为具体的文件名,会给出具体文件的大小】
ps -ef | grep "服务名" | grep -v "grep" | awk '{print $2}'
# ps -ef|frep "被查询的服务名" 查询服务进程号命令
# grep -v grep 在文档中过滤掉包含有grep字符的行
# awk '{print $2}' 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段。
没有安装EPEL的话,先执行,如果安装就跳过。
yum -y install epel-release
rpm 安装 Php7 相应的 yum源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
卸载原有的php
yum remove php* php-common
直接yum安装php7
yum install php70w php70w-mysql php70w-mbstring php70w-mcrypt php70w-gd php70w-imap php70w-ldap php70w-odbc php70w-pear php70w-xml php70w-xmlrpc php70w-pdo
查看php安装了那些拓展模块
php -m
安装其他你需要的拓展模块
yum -y install php70w-xxx
需求:当你需要访问一台linux服务器或两台服务器互相访问时,ssh keyz这时需要,创建办法是当前主机上执行命令:
ssh-keygen 或 ssh-keygen -t rsa 或 ssh-keygen -t dsa
执行后会在当前用户登录目录下生成.ssh目录和两个文件(/home/root/.ssh):
-rw------- 1 tomcat tomcat 1675 Oct 17 17:28 id_rsa
-rw-r--r-- 1 tomcat tomcat 393 Oct 17 17:28 id_rsa.pub
-rw-r--r-- 1 tomcat tomcat 412 Oct 17 17:23 known_hosts
id_rsa.pub里是公钥,如果需要登录到远程主机,需要到远程主机/home/root/.ssh目录下,新建authorized_keys文件,并将id_rsa.pub里的内容复制进去:
-rw-------. 1 root root 407 Jul 20 17:34 authorized_keys
-rw-r--r--. 1 root root 175 Aug 2 11:49 known_hosts
这个操作看要不要登录到远程的机器上,如果需要,就添加,不需要,可以不建。
注意:新建后,需要更改authorized_keys文件的用户权限,不然文件无法生效,ssh公钥生效需满足至少下面两个条件:
1 .ssh目录的权限必须是700;
2 .ssh/authorized_keys文件权限必须是600;
执行下面命令
chmod 600 ~/.ssh/authorized_keys
1.软件安装
1)编译安装
root 账号登陆后,依次执行以下命令:
cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
2)yum安装
root 账号登陆后执行以下命令:
yum install -y lrzsz
2.用说明
sz命令发送文件到本地:
rz命令本地上传文件到服务器:
执行该命令后,在弹出框中选择要上传的文件即可。
说明:打开SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的目录。