1、在卸载libpcap时,使用了-y 参数,导致很多关联的软件也一起被删除了,比如L2TP和PPTP、PPP,yum在删除时,会把一些配置文件备份下来(卸载日志中会有记录),下次安装时,直接将备份文件恢复即可。但是最好不要将关联软件删除,应该可以选择删除的,这个在以后验证一下;
2、yum有时不能使用,提示有另外的app正在使用中,要等待一段时间。劳资哪有时间等你,直接用rm -f /var/run/yum.pid 就可以关闭进程;
3、小米路由器原生不支持绑定arp,需要获取到SSH权限,进cli后,手动添加arp -s添加,但是这样重启后不能保存,需要在/etc/ethers中添加:192.168.31.106 74:d4:35:99:3e:48
4、linux下安装wireshark和libpcap后,有时还是会出现:
tshark: Unknown message from dumpcap, try to show it as a string: /usr/sbin/dumpcap: symbol lookup error: /usr/sbin/dumpcap: undefined symbol: pcap_set_tstamp_precision
对于这样的问题,我一直没有发现原因,只好将wireshark重装一遍。
5、Centos yum No package available,这使用 Epel 源解决:
rpm -i http://mirror.symnds.com/distributions/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
6、解决SSH会话连接超时问题
设置服务器向SSH客户端连接会话发送频率和时间
#vi /etc/ssh/sshd_config,添加如下两行
ClientAliveInterval 60
ClientAliveCountMax 86400
注:ClientAliveInterval选项定义了每隔多少秒给SSH客户端发送一次信号;ClientAliveCountMax选项定义了超过多少秒后断开与ssh客户端连接
#service sshd restart
7、wireshark在linux下的抓包命令:
# tshark -i eth0 -w ceshi.cap -q
抓好了之后传到windows下查看比较方便
8、配置文件的删除权限
一个文件或者目录能否被删除不是由它本身的rwx权限决定的,而是由其父目录是否具有w权限决定的,举个例子,test_dir目录下有个文件为test_file,test_file的权限为-rwxr-xr--,test_dir的权限为drwxr-xrwx,也就是other组的没法修改这个文件,但是test_file文件所在的目录test_dir具有被other可写的权限,因此虽然other没法修改test_file这个文件,但却可以删除这个文件,文件的r、w、x是针对文件的内容的。
要进入一个目录,需要该目录的执行权限x。
9、普通用户使用sudo无效
需要在root下修改visudo,在root ALL=(ALL) ALL下添加一行,如:
zhangjing ALL=(ALL) ALL
10、ps -ef|grep -v grep|grep seq|awk '{print "kill -9 " $2}'
ps -ef | 获取当前服务器所有进程
grep -v grep 相当于grep自己把自己过滤掉,就是不显示grep
grep seq 过滤出seq
awk 截取 $2 第二个域的pid号。通过调用外部命令kill 来干掉seq
或者
ps aux |grep -v 'grep '| grep ngrok | awk '$3 ~ /[0-9]+/ {print $2}' | while read s; do kill -9 $s; done
11、启用了IPV6之后,总是会同时生成很多多余的IPV6地址,不知道有什么用意,但是导致我访问网络时使用的源IP不是我设定的,默认网关也不是我设定的,这样导致我访问不了网络,需要使用以下命令来删除:
netsh interface ipv6 delete route ::/0 "以太网" fe80::1c15:239b:9bb:264 //删除默认网关,问题是,删除了之后还会自动生成。
netsh interface ipv6 delete address 以太网 fd6b:16db:a29b:5:c409:69e3:e7da:2e46 //删除IPV6地址
删除了IPV6默认网关之后,可以正常访问了,但是一段时间后还会自动生成,我发现在IPV6的默认网关中手动设置跃点数为2,即可正常访问。
12、在ubuntu上,不小心设置了默认编辑软件为nano,使用以下命令:
select-editor
即可重新设置默认编辑软件
13、64位linux系统上要安装32位的软件,需要安装32位运行库:
yum install xulrunner.i686 (可用)
或者
yum install ia32-libs.i686
14、卸载分区时出现busy,可以用
fuser -m -k /home/test
-m用来查看当前正在对这个分区进行查看的进程,然后-k是直接kill。
15、linux访问smb服务器:
smbclient //192.168.31.1/xiaomi # 后进入类似ftp的模式
mount -t cifs //192.168.31.1/xiaomi /home/xiaomi # 挂载到/home/xiaomi
16、ssh-keygen 用来创建ssh密钥,可以用ssh-keygen -t dsa 设置加密算法为dsa
用 ssh-copy-id把公钥复制到远程主机上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@139.224.10.128
17、显示时间:
date +"%Y-%m-%d %H:%M:%S"
0 */1 * * * date +"%Y-%m-%d %H:%M:%S" >> /home/download_backup.log && rsync -avz --progress --delete /var/www/html/owncloud/data/zhangjing/files/download /var/www/html >> /home/download_backup.log 2>&1 && date +"%Y-%m-%d %H:%M:%S" >> /home/download_backup.log
18、ubuntu开机自启设置:
sudo apt-get install sysv-rc-conf
19、linux命令后台运行
有两种方式:
1. command & : 后台运行,你关掉终端会停止运行
2. nohup command & : 后台运行,你关掉终端也会继续运行
3.nohup command > /dev/null 2>&1 & :后台运行,同时所有输出(正确和错误)都重定向到null中,也就是删除
使用date -d 选项:
date +"%Y%m%d" -d "+n days" 今天的后n天日期
date +"%Y%m%d" -d "-n days" 今天的前n天日期
21、自定义快捷键
编辑用户目录下的.bashrc文件,例如使用vi编辑器,vi ~/.bashrc
将你想设置的快捷键,保存至.bashrc, 例如
alias sl='screen -ls'
alias sr='screen -r'
alias sr='screen '
使用命令:source ~/.bashrc
重新 执行刚才保存的文件使其立即生效,而省去注销重新登录的麻烦。
22、shell 获取当前目录下最新更新的文件名
ls -l /home/moving/backup | tail -n 1 | awk '{print $9}'
23、手动设置ubuntu DNS,修改/etc/resolve.conf,重启后会失效,应该修改
/etc/resolvconf/resolv.conf.d/base
nameserver 223.5.5.5
修改好了之后
sudo resolvconf -u
24、秒数转换成小时分钟数
time=44543
echo "$(($time/3600))小时$(($time%3600/60))分钟$(($time%3600%60))秒"
25、apt-get不可用,提示:
E:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。
解决方法:输入以下命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
之后再安装想装的包,即可解决。
26、如何kill掉进程名包含某个字符串的一批进程:
kill -9 $(ps -ef|grep 进程名关键字|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
27、修改centos的yum源,需要通过yum clean all来清空缓存。
28、简单备忘一下Linux下的wget和curl如何使用http proxy
wget -e "http_proxy=porxyhost:port" www.baidu.com
curl -x http://proxyhost:port www.baidu.com
如果需要用户名密码,格式
curl -x "http://user:pwd@host:port" www.baidu.com
29、查看当前出口IP:
curl icanhazip.com
wget icanhazip.com -O - -q ; echo
30、安装proxychains,使用proxychains来进行代理
Make a config file at ~/.proxychains/proxychains.conf with content:
strict_chain proxy_dns remote_dns_subnet 224 tcp_read_time_out 15000 tcp_connect_time_out 8000 localnet 127.0.0.0/255.0.0.0 quiet_mode [ProxyList] socks5 127.0.0.1 1080
Then run command with proxychains. Examples:
proxychains4 curl https://www.twitter.com/ proxychains4 git push origin master
Or just proxify bash:
proxychains4 bash curl https://www.twitter.com/ git push origin master
31、批量对某个文件夹中的文件进行处理:
for file in `ls`
do
mv $file ${file}.TXT
done
32、逐行处理文本文件,使用for var in file 命令的话,结果不是按照行来执行的,是按照单个单词来执行的,不知问题出在哪里
cat data.dat | while read line
1、使用screen名字,kill掉。
screen -S session_name -X quit
2、激活screen:
screen -r session_name
并利用exit退出并kiil掉session。
34、重启screen某一个进程
screen -S ngrok -X quit #直接关闭该screen进程
screen -S ngrok -dm /home/software/ngrok -config=/home/software/ngrok.cfg start-all #重新启动
35、lsb_release命令不存在:
yum install redhat-lsb -y
36、
36、删除目录中文件名包含指定字符串的文件:
find -name '*flac*' -exec rm -rf {} \;
37、echo是自动换行的,如果不想自动换行,使用printf或者使用echo -e,后加\c
38、删除除某个文件之外所有文件:rm -fr !(file1) 、 rm -fr !(file1 | file2)
39、执行命令或脚本时,欲将输出显示在屏幕上同时记录在文件中,可在命令后加 | tee,如ifconfig | tee xx.log
40、在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限。
chmod +x /etc/rc.d/rc.local
然后就可以在里面添加你要开机自启的命令了
41、一步到位设置linux系统时间:
date -s "20091112 18:30:50" &&hwclock --systohc
同步别的ntp服务器的时间:
ntpdate 172.16.70.25
42、