linux 常用技巧
1--查看版本
查看内核版本
# cat /proc/version
查看linux版本
# lsb_release -a
或者 cat /etc/issue
,遇见了一个centos的虚拟机上边的都看不出来,可以 cat /etc/redhat-release
2--linux服务器测速
speedtest-cli
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli
运行
./speedtest-cli #不指定服务器未知
./speedtest-cli --server 5120 #编号获取:http://www.speedtest.net/speedtest-servers-static.php
关于wget
encode your username and password within a URL:
ftp://user:password@host/path
http://user:password@host/path
在命令行指定了包含密码的URL ,用户名和密码会在系统上的所有用户可见(用PS)
所以,用wget -i
一些选项(可以使用前边的省略形式)
“-q” “quiet” 关闭Wget的输出
“-O" "output" 制定写入到哪个文件。 比如wget -O haha.txt http://XXXXXXX
"--limit-rate=20k" 限制20k/s 还可以用m
3--Vim 保存只读文件的修改内容
:w !sudo tee %
w执行写文件操作。这里调用了sudo命令,使得我们有root权限;将文件写入到tee来处理,这里tee的后缀参数为文件名。而%在Vim中的意思是当前文件名。
4--使用except实现自动登陆脚本
示例(登陆一台机器后再上边登陆另一台机器):
#!/usr/bin/expect
set timeout 30
set password "123456789"
spawn ssh jcuan@222.222.222.222
expect "*password*"
send "$password\r"
expect "*Last login*"
send "ssh root@172.17.0.3\r"
expect "*password*"
send "1234567890\r"
interact
注意:
#!/usr/bin/expect
spawn是进入expect环境后才可以执行的expect内部命令!!
[interact]执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出。
5--用proxychains为程序设置代理
proxychains支持http/https/socks4/socks5。
sudo apt-get install proxychains
配置文件/etc/proxychains.conf
dynamic_chain,按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的。
strict_chain,按照后面列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的
random_chain,列表中的任何一个代理服务器都可能被选择使用,这种方式很适合网络扫描操作(参数chain_len只对random_chain有效)。
例子:shadowsocks,本地端口1080
[ProxyList]
socks5 127.0.0.1 1080
6--管理开机启动项目
相关目录
- /etc/init.d 包含许多系统各种服务的启动和停止脚本
/etc/init.d/networking restart #可以这样使用
-
/etc/rc*.d/ 每次系统进入这个脚本的时候都会运行这个下边的脚本
S开头的是需要运行的,K开头的是需要停止的
S或者K的后边有两位数,这个是有关运行顺序的,自己填的数字,运行update-rc.d mysql defaults
(比如我修改的是mysql的)会自动调整 -
关于inittab
ubuntu类似这个文件的功能是/etc/init/rc-sysinit.conf,在这个地方可以看见我的运行级别是2
关于运行级别
linux.com:introduction-services-runlevels-and-rcd-scripts
# 0 - 停机
# 1 - 单用户模式
# 2 - 多用户
# 3 -
# 4 – 多用户
# 5 - 多用户
# 6 - 重新启动
可以安装rcconf来快速地管理服务
--on service[,service,...]
Set services to be on. This option enables rcconf in command line
mode and no select menu will be displayed.
--off service[,service,...]
Set services to be off. This option enables rcconf in command
line mode and no select menu will be displayed.
--list
List services which includes current status(on/off). This option
enables rcconf in command line mode and no select menu will be
displayed. Use --expert option together if you want to list all
services. This result can be used as config_file of --config.
关于/etc/rc.local
This script is executed at the end of each multiuser runlevel.
7--允许root通过ssh登录
修改/etc/ssh/sshd_config,设置PermitRootLogin yes就行
8--boot分区满了
需要卸载掉以前安装的内核,一定不要乱删里边的东西!
deinstalled的表示已经移除了
#先查看安装过的内核版本
jxdz@jxdz:/$ sudo dpkg --get-selections |grep linux-imagelinux-image-3.13.0-143-generic install
linux-image-3.13.0-24-generic deinstall
linux-image-3.13.0-66-generic deinstall
linux-image-3.13.0-67-generic deinstall
linux-image-3.13.0-68-generic deinstall
linux-image-3.13.0-71-generic install
linux-image-3.13.0-74-generic install
linux-image-3.13.0-76-generic install
linux-image-3.13.0-77-generic install
linux-image-extra-3.13.0-143-generic install
linux-image-extra-3.13.0-24-generic deinstall
linux-image-extra-3.13.0-66-generic deinstall
linux-image-extra-3.13.0-67-generic deinstall
linux-image-extra-3.13.0-68-generic deinstall
linux-image-extra-3.13.0-71-generic deinstall
linux-image-extra-3.13.0-74-generic install
linux-image-extra-3.13.0-76-generic install
linux-image-extra-3.13.0-77-generic deinstall
linux-image-extra-3.13.0-79-generic deinstall
linux-image-generic install
### 查看当前使用的版本
uname -a
Linux jxdz 3.13.0-76-generic #120-Ubuntu SMP Mon Jan 18 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
### 删除非当前的版本
sudo apt-get remove linux-image-xxx-generic
9-kill多个进程
ps -ef|grep php-fpm|grep -v grep|cut -c 9-15|xargs sudo kill -9
- grep -v grep 是排除含有“grep”的进程
- cut用来截取PID
- xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令
10-在后台运行
nohup command 1>output 2>&1 &