姥爷的10刀论依然有效,抢购就是要抢便宜的,10刀以下随便抢,超过10刀,让了,让了,另注意,抢一台机换一个账号,信姥爷不吃亏!
有趣的Linux命令1:
为了查看自己的vps被别人登陆,俺们需要查询最近的登陆IP,这个时候俺们可以用
当然姥爷还是希望你们用ssh来登陆,然后禁止密码登陆,姥爷博客搜索“ssh”,可以找到答案!
为了查看自己的vps被别人登陆,俺们需要查询最近的登陆IP,这个时候俺们可以用
last 或者 who 来查询最近的登陆IP,俺们还可以用 lastb 来查询试图登陆你vps的坏人。当然姥爷还是希望你们用ssh来登陆,然后禁止密码登陆,姥爷博客搜索“ssh”,可以找到答案!
#ssl
Let's Encrypt官方已经放弃了传统的letsencrypt-auto或者certbot-auto安装方式了,利用snap来安装证书方法:
# 安装snapd
Let's Encrypt官方已经放弃了传统的letsencrypt-auto或者certbot-auto安装方式了,利用snap来安装证书方法:
# 安装snapd
apt install snapd
snap install core; snap refresh core
# 安装certbotsnap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
# 申请证书certbot certonly --standalone --email email@gmail.com -d xxxx.com
# cron自动更新证书0 2 1 * * certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"有趣的Linux命令2:
今晚要讲的是
top,进入后,默认是按cpu百分比排列的,再按下下面的字母即可显示相应的内容:
P:以占据CPU百分比排序
M:以占据内存百分比排序
T:以累积占用CPU时间排序
q:退出命令:按q键退出top查看页面
s:修改刷新时间间隔。按下s键,然后按下数字,即可修改刷新时间间隔为你输入的数字,单位为秒。例如:按下s键,在按数字1键,即可实现每秒刷新一次
k:终止指定的进程。按下k键-->再输入要杀死的进程的pid-->按enter键-->常用为-9
今晚要讲的是
top 命令,top显示系统当前的进程和其状况,是一个动态显示过程。top,进入后,默认是按cpu百分比排列的,再按下下面的字母即可显示相应的内容:
P:以占据CPU百分比排序
M:以占据内存百分比排序
T:以累积占用CPU时间排序
q:退出命令:按q键退出top查看页面
s:修改刷新时间间隔。按下s键,然后按下数字,即可修改刷新时间间隔为你输入的数字,单位为秒。例如:按下s键,在按数字1键,即可实现每秒刷新一次
k:终止指定的进程。按下k键-->再输入要杀死的进程的pid-->按enter键-->常用为-9
有趣的Linux命令3:
今晚要讲的命令是
两个命令的最大区别是:
今晚要讲的命令是
su ,此命令的主要作用是让你可以在已登录的会话中切换到另一个用户,经常被用于切换到root用户,其实此命令还可以切换到非root用户。su = Shift user 切换用户whoami 显示当前用户pwd 显示当前目录su root 切换到root用户su git 切换到git用户su 和 su - 的区别:su 命令和 su - 命令最大的区别是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。 su 切换成root用户以后, pwd 一下,发现工作目录仍然是普通用户的工作目录;而用 su - 命令切换以后,工作目录变成root的工作目录了。su 和 sudo 的区别:sudo = Super user do 超级用户do两个命令的最大区别是:
sudo 命令需要输入当前用户的密码, su 命令需要输入root用户的密码。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的Shell有趣的Linux命令4:
今晚要讲的是
今晚要讲的是
cd 命令,这是俺们常用到的命令。cd = change directory 用于切换当前工作目录cd 切换到用户目录或者root目录cd / 切换到根目录cd /etc 切换到etc目录cd .. 切换到上级目录cd - 返回进入此目录之前所在的目录有趣的Linux命令5:
今天要讲的是
ls常用命令:
cat常用命令:
今天要讲的是
ls 和 cat 命令,ls命令用于显示文件目录列表,cat命令用于查看和创建文件,这是俺们常用到的命令。ls = list filescat = concatenatels常用命令:
ls 显示文件目录ls -a 列出所有文件,包括隐藏文件ls -l 列表详细显示,包括权限、用户等,Ubuntu中的命令为 llls /home 列出home目录下的文件ls -R 递归显示出所有的子目录和子文件cat常用命令:
cat file.txt 会在终端打印file.txt文件内容cat > newfile 会创建newfile文件,输入文件内容,完成后按下 `ctrl + d`返回cat file1 file2 > newfile 把file1和file2文件合并成一个新newfilecat /dev/null > newfile 清空newfile文件内容有趣的Linux命令6:
今天要讲的是
比如v2ray的配置文件从
再比如你不确定caddy的二进制文件具体是在
硬链接,由于硬链接不能跨文件系统创建,不能链接目录,所以硬链接实际应用中很少。
比如创建一个caddy的硬链接:
今天要讲的是
ln 命令,ln命令是为一个文件在另一个位置创建一个同步链接。ln = link files比如v2ray的配置文件从
/etc/v2ray/config.json 搬到了 /usr/local/etc/v2ray/config.json 那么只需要创建一个软链接就可以了,而不需要cp一番。ln -s /etc/v2ray/config.json /usr/local/etc/v2ray/config.json再比如你不确定caddy的二进制文件具体是在
/usr/local/bin/ 还是在 /usr/bin/ 目录下,那么你创建一个软链接后,也就不用管它到底在那个文件目录下了。ln -s /usr/local/bin/caddy /usr/bin/caddy硬链接,由于硬链接不能跨文件系统创建,不能链接目录,所以硬链接实际应用中很少。
比如创建一个caddy的硬链接:
cd /usr/binln caddy hard_link_for_caddy有趣的Linux命令7:
今晚要讲的是
cp常用命令:
把etc目录下config.json文件复制到/usr/local/etc目录下
test目录下的所有文件复制到新目录newtest下,加上
scp常用命令:
比如本地复制config.json文件到vps上,127.0.0.1为服务器ip
从vps拉取nginx.conf文件
本地复制文件目录到vps
从vps拉取books文件夹
指定端口从vps拉取文件
今晚要讲的是
cp 和 scp 命令,cp命令主要用于复制文件或目录,scp命令用于Linux之间复制文件和目录,比如服务器之间。cp = copy filescp = secure copycp常用命令:
把etc目录下config.json文件复制到/usr/local/etc目录下
sudo cp /etc/config.json /usr/local/etctest目录下的所有文件复制到新目录newtest下,加上
-r 会递归复制目录下的所有文件sudo cp -r test/ newtestscp常用命令:
比如本地复制config.json文件到vps上,127.0.0.1为服务器ip
sudo scp /home/config.josn root@127.0.0.1:/etc/v2ray从vps拉取nginx.conf文件
sudo scp root@127.0.0.1:/etc/nginx/nginx.conf /home本地复制文件目录到vps
sudo scp -r /home/books root@127.0.0.1:/root从vps拉取books文件夹
sudo scp -r root@127.0.0.1:/root/books /home指定端口从vps拉取文件
sudo scp -P 2233 root@127.0.0.1:/etc/nginx/nginx.conf /home有趣的Linux命令8:
今晚要讲的是
mv常用命令:
把config.json文件改名为config.bak
把config.json文件移动到etc目录下
移动books目录到cloud目录下
移动file.txt文件到/usr/local/etc下,并改名newfile.txt
rm常用命令:
删除file.txt文件
删除books目录
删除目录下的所有内容
删除根目录下所有内容,慎用
今晚要讲的是
mv 和 rm 命令,mv命令用来为文件或目录改名、或将文件或目录移入其它位置。rm命令用于删除文件或者目录。mv = move filerm = removemv常用命令:
把config.json文件改名为config.bak
mv config.json config.bak把config.json文件移动到etc目录下
mv config.json /etc移动books目录到cloud目录下
mv books /cloud移动file.txt文件到/usr/local/etc下,并改名newfile.txt
mv /etc/file.txt /usr/local/etc/newfile.txtrm常用命令:
删除file.txt文件
rm file.txt删除books目录
rm -rf books删除目录下的所有内容
rm -rf *删除根目录下所有内容,慎用
rm -rf /*#ssl #certbot #cron
博客教程里已全面更新了Let's Encrypt证书申请方式,更简单了,下面是更新部分:
安装certbot
博客教程里已全面更新了Let's Encrypt证书申请方式,更简单了,下面是更新部分:
安装certbot
apt install certbot
certbot申请证书certbot certonly --standalone --email youmail@mail -d abc.com -d www.abc.com
下面是cron每月1号凌晨2点自动检查更新ssl证书配置crontab -e
0 2 1 * * /usr/bin/certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
service cron restart有趣的Linux命令9:
今晚要讲的是
下载单个文件:
下载并重命名:
断点续传:
后台下载:
递归下载/下载文件夹:
比如俺要下载xvideo目录下的MP3文件,完整命令应该是
下载多个文件,首先创建一个txt下载文件,比如download.txt,一行一个URL下载链,内容如下:
接下来就是批量下载命令:
今晚要讲的是
wget 命令,wget是一个独立的下载程序,许多发行版Linux都是默认自带的,无需额外安装。下载单个文件:
wget https://starts.sh/cloud/docs/torrc下载并重命名:
wget -O torrc.txt https://starts.sh/cloud/docs/torrc断点续传:
wget -c https://starts.sh/cloud/docs/torrc后台下载:
wget -b https://starts.sh/cloud/docs/torrc递归下载/下载文件夹:
-r 递归下载整个站点-nd 不创建层层目录-np 不搜索上层目录-A 指定下载后缀-R 排除下载后缀-L 递归时不进入其它主机比如俺要下载xvideo目录下的MP3文件,完整命令应该是
wget -r -nd -np -L -A mp3 https://starts.sh/cloud/xvideos/下载多个文件,首先创建一个txt下载文件,比如download.txt,一行一个URL下载链,内容如下:
URL1
URL2
URL3
URL4
接下来就是批量下载命令:
wget -i download.txt更新一下ws代理使用cloudflare的优选ip方法:
域名使用cf的dns解析,然后客户端ip填写你找到的cf ip,伪装域名填你的域名就可以了。(不管点不点亮旁边的小云朵都可以)而不用去worker反代。
域名使用cf的dns解析,然后客户端ip填写你找到的cf ip,伪装域名填你的域名就可以了。(不管点不点亮旁边的小云朵都可以)而不用去worker反代。
小内存vps,增加或删除swap分区方法:
检查分区:
如果出现上面字样说明你的vps是存在swap分区的,这个时候想调整分区大小,俺们就要先删除原有分区,再创建。
找到swapfile文件:
cd到存放swapfile的文件夹
停用swap空间:
删除swapfile文件:
上面完事后就等于删除swap分区了,接下来创建swap分区。
创建swap文件,后面的2048是分区大小2g,自己可以根据需要调整。
将文件标记为交换空间:
启用该交换文件:
另建议给swapfile文件权限为600,也就是root权限,以免出现安全隐患:
再次检查一下swap分区是否可用:
最后,设置swap分区为开机自动挂载:
建议swap分区大小和RAM大小保持差不多。
检查分区:
free -htotal used free shared buff/cache available
Mem: 470M 69M 271M 3.6M 129M 386M
Swap: 1.0G 0B 1.0G
如果出现上面字样说明你的vps是存在swap分区的,这个时候想调整分区大小,俺们就要先删除原有分区,再创建。
找到swapfile文件:
find -name swapfilecd到存放swapfile的文件夹
停用swap空间:
swapoff swapfile删除swapfile文件:
rm swapfile上面完事后就等于删除swap分区了,接下来创建swap分区。
cd / && mkdir swap && cd swap创建swap文件,后面的2048是分区大小2g,自己可以根据需要调整。
dd if=/dev/zero of=swapfile bs=1M count=2048将文件标记为交换空间:
mkswap swapfile启用该交换文件:
swapon swapfile另建议给swapfile文件权限为600,也就是root权限,以免出现安全隐患:
chmod 600 swapfile再次检查一下swap分区是否可用:
swapon --show最后,设置swap分区为开机自动挂载:
echo "/swap/swapfile none swap sw 0 0" >> /etc/fstab建议swap分区大小和RAM大小保持差不多。
有趣的Linux命令10:
今晚要讲的的是
.tar.gz压缩和解压
解压:
解压到目标路径:
压缩:
将cloud文件夹压缩为cloud.tar.gz
.gz解压缩
解压:
压缩:
.zip解压缩
解压:
压缩:
压缩,递归压缩,文件夹压缩
今晚要讲的的是
tar 解压缩命令,一般发行版会自带。tar = tape archive.tar.gz压缩和解压
解压:
tar -zxvf cloud.tar.gz解压到目标路径:
tar -zxvf cloud.tar.gz -C /cloud压缩:
将cloud文件夹压缩为cloud.tar.gz
tar -zcvf cloud.tar.gz cloud .gz解压缩
解压:
gunzip cloud.gzgzip -d cloud.gz压缩:
gzip cloud.zip解压缩
解压:
unzip cloud.zip压缩:
zip cloud.zip cloud 压缩,递归压缩,文件夹压缩
zip -r cloud.zip cloudvps规格测试脚本:wget -qO- bench.sh | bash
vps查看回程线路脚本:wget -qO- git.io/besttrace | bash
vps的cpu性能测试:wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh && chmod +x unixbench.sh && ./unixbench.sh
有趣的Linux命令11:
今晚要讲的是查看服务器状态命令,比如内核,系统,cpu信息,硬盘,分区,内存,swap,端口信息等命令。
查看内核/操作系统
查看CPU信息
查看硬盘各分区使用情况
查看内存和swap交换区使用情况
查看所有进程
查看所有监听端口
查看所有已经建立的连接
今晚要讲的是查看服务器状态命令,比如内核,系统,cpu信息,硬盘,分区,内存,swap,端口信息等命令。
查看内核/操作系统
uname -a查看CPU信息
cat /proc/cpuinfo查看硬盘各分区使用情况
df -h查看内存和swap交换区使用情况
free -h查看所有进程
ps -ef查看所有监听端口
netstat -lntp查看所有已经建立的连接
netstat -antp有趣的Linux命令12:
今晚要讲的是
下面列出常用的ps的命令:
显示所有进程信息:
显示指定用户信息:
显示所有进程信息,连同命令行:
ps 与 grep 组合使用,查找特定进程:
列出目前所有的正在内存中的程序:
今晚要讲的是
ps 命令,用于显示当前进程的状态,类似于 windows 的任务管理器。上次俺们讲过 top 命令,用于动态显示进程信息。而这次的 ps 命令列出的是当前那些进程的快照。ps = process status下面列出常用的ps的命令:
显示所有进程信息:
ps -A显示指定用户信息:
ps -u root显示所有进程信息,连同命令行:
ps -efps 与 grep 组合使用,查找特定进程:
ps -ef | grep nginx列出目前所有的正在内存中的程序:
ps auxnginx出现
1:修改
2:修改系统open files
1)
2)
3)
4)
3:修改file-max
重启vps后,可以使用命令
worker_connections are not enough 错误,主要是程序和Linux打开open files数目问题。主要是增加nginx和ulimit打开文件的最大数可解决。1:修改
nginx.conf 如下:worker_rlimit_nofile 65535;
events {
worker_connections 10240;
}
2:修改系统open files
1)
vi /etc/security/limits.conf 添加:* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
root soft nproc 65535
root hard nproc 65535
root soft nofile 65535
root hard nofile 65535
bro soft nproc 65535
bro hard nproc 65535
bro soft nofile 65535
bro hard nofile 65535
2)
echo "session required pam_limits.so" >> /etc/pam.d/common-session3)
echo "session required pam_limits.so" >> /etc/pam.d/common-session-noninteractive4)
echo "DefaultLimitNOFILE=65535" >> /etc/systemd/system.conf3:修改file-max
echo "fs.file-max = 6553560" >> /etc/sysctl.conf重启vps后,可以使用命令
ulimit -n 或者 ulimit -a 查看 open files 参数。有趣的Linux命令13:
今晚平安夜,给大家讲一个有趣的命令,`screenfetch` 命令,用于在终端里展示Linux发行版的logo及系统信息。
首先debian,ubuntu,linux mint,elementary OS用户使用下面的命令安装:
然后直接运行,就可以看见漂亮的发行版logo了:
今晚平安夜,给大家讲一个有趣的命令,`screenfetch` 命令,用于在终端里展示Linux发行版的logo及系统信息。
首先debian,ubuntu,linux mint,elementary OS用户使用下面的命令安装:
apt install screenfetch然后直接运行,就可以看见漂亮的发行版logo了:
screenfetch