一)把空格连接改为|连接:
#cat b
a b c d

awk -vOFS="|" 'NF+=0' b
a|b|c|d


二)去空行:
cat a
1

2

3

awk NF a
1
2
3


三)
背景:鉴于安全的原因,如果你的电脑没有桌面锁密码,别人也能用,此时不安全,得把对应的自动填写的用户各、密码的Cookie清理掉,而对于那个Chrome记住并自动填写登录的用户名和密码也不安全,只需要输入验证码就进入了,于是查了下怎么给去掉这些的存在Chrome里,实践是可行的,很有必要记录下来,免得忘记了,无它。

一)如何在Chrome中删除特定于站点的Cookie:
chrome://settings/
高级-内容设置-Cookie-所有 Cookie 和网站数据[右侧有一个搜索Cookie:输入jackxiang.com]-点进去就有-XXXX.com 本地存储的数据:
PHPSESSID    --> X
userid            --> X
userpasswd    --> X

来自:http://mos86.com/67173.html


二)如何删除chrome保存的密码:
chrome://settings/
Ctrl+shift+del,里弹出一个清除浏览数据,里面有一个:密码项,再就是有一个选择是:过去七天、近四周、时间不限。
选一个时间,并勾选,其它给不勾选,执行即可。
如果你是当天数据的,选过去一天即可,依次类推。然后勾选<密码>项。最后选择清楚浏览数据。这样操作就完成啦。当你再次登录之前的网站时,你发现你就需要重新输入密码了。

来自:https://jingyan.baidu.com/article/f3ad7d0fe5e71309c3345baf.html
Sublime编辑器里,用正则把一堆IP粘贴选取出来:



来自:https://www.jb51.net/article/101221.htm
用ssh登录阿里云centos7主机,过一会儿会自动出现以下信息,
Message from syslogd@docker_test_bj_sjs_10_71_159_108 at Jun 11 17:49:08 ...
kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1
在这个信息中,我这里按ctrl+c可以退回到,  有兄弟说是内核版本太低,升级内核:
起因:

安装了Docker容器,运行过程中报:kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1

相似问题描述:https://segmentfault.com/q/1010000007045424

解决办法:https://github.com/moby/moby/issues/5618

尝试升级到最新的4.19+内核。

1.查看操作系统版本

https://blog.csdn.net/lijing742180/article/details/80662062

2.查看内核版本

uname -sr

3.升级的三种方案

参考:

https://blog.csdn.net/breeze915/article/details/79243673

https://blog.csdn.net/qq_27281257/article/details/82049634

https://blog.csdn.net/RBPicsdn/article/details/79642932

4.删除旧内核

https://blog.csdn.net/RBPicsdn/article/details/79642932

rpm -qa | grep kernel
sudo yum remove -y 旧内核的名字就好了
术语解析:

术语解析
kernel-ml
kernel-ml 中的ml是英文【mainline stable】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。

kernel-lt
kernel-lt 中的lt是英文【long term support】的缩写,elrepo-kernel中罗列出来的长期支持版本。



转载至链接:https://my.oschina.net/boreboluomiduo/blog/3035332。

摘自:https://www.liangzl.com/get-article-detail-123785.html

https://m.aliyun.com/yunqi/ask/2877/
[root@localhost ~]# mount -t xfs /dev/sdb /data        
mount: mount /dev/sdb on /data failed: Structure needs cleaning

--------------------------
可以使用xfs_repair来修复,但是要注意 xfs_repair修复的分区中的文件都会丢失,即使是du能正常显示的文件也会丢失。

[root@yw-0-0 /]# mount -a
mount: Structure needs cleaning

[root@yw-0-0 /]# xfs_repair /dev/sdl

来自:http://blog.51cto.com/zwcmcm/1650764
Linux中在终端打开图形界面的文件夹的方法   
终端输入nautilus /home进入home

       nautilus /etc 进入etc
一次类推吧,要是在以终端打开文件夹可以sudo apt-get install nautilus-open-terminal注销后登陆即可使用

一直在终端中用cd /目录 的方式进入字符界面的文件夹,有时你需要进入图形界面的文件夹,那么利用下面的方法从终端打开,替代或减少鼠标的点击次数,就能提高效率。   gnome-open /etc  ubuntu中 nautilus /etc  nautilus['nɔːtɪləs]这个命令就是以root权限打开一个窗口,来管理文件。比如你直接点击 计算机 里面有很多文件夹和文件是root用户才能操作,  所以你对该文件夹或文件不能进行粘贴,剪切,删除等操作,也不能建立新文件,而用nautilus命令后就可以了。 比如你要修改 /etc/apt/sources.list 不用终端的话,直接点文件夹进入该目录,你只有查看的权限,而用了nautilus命令后再进该目录,你就可以对里面的文件修改,删除,建新文件等。
mkfs.ext4 经yum update的升级到CentOS7.5后没了mkfs.ext4,于是 得安装:
安装https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/e2fsprogs-1.42.9-11.el7.x86_64.rpm这个包

[root@iZ889v050nrZ:~]
#cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

[root@iZ889v050nrZ:~]
#rpm -qf /sbin/mkfs.ext4
e2fsprogs-1.42.9-11.el7.x86_64
想鼠标切换又能复制,怎么办?
set mouse=a可视下,用:按住 shift 键,然后选择。
在~/.vimrc中加入 set mouse=a 后,vim鼠标右键变得不能复制了,解决办法如下:
按住 shift 键,然后选择,此时表示由 X 处理该选择,copy 选项就 enable 了。如果放掉shift键,则由 vim处理该选择。

所以配置文件中的set mouse=a启动了所有模式, vim接管了鼠标的控制。

其中涉及的背景知识是:
鼠标事件有两种处理方式,程序处理和 X 处理。
如果 X 负责处理,则是左键选择,中间粘贴。
要让 vim 中由 X 负责处理,有两个方法:
1. 按住 shift 键,然后选择,此时由 X 处理该选择,copy 选项就 enable 了。如果放掉shift键,则由 vim处理该选择。
2. 在 .vimrc 中设置 set mouse= (就是说清空),此时vim永远不再干涉鼠标选择,永远把处理权交给X,这个时候鼠标就处于无模式编辑状态, 当然也能用鼠标来切换vim里面的tab窗口了,vim中的编辑光标也不会跟随鼠标了。
实践Ok来自:https://blog.csdn.net/sinkary/article/details/7531747

:set mouse=v
但这样后,Vim的标签就无法用鼠标切换了,http://jackxiang.com/post/9110/
想用鼠标点vim里的Tab,能切换标签,得重新运行::set mouse=a ,实践是可行的。
阅读全文
option + command + space打开Finder,command + shift + G;注意:打开finder后,再快捷键,然后输入“/”,前往根目录。
二)常用目录:硬盘图标拖拽至侧边栏。
三)shift + space :相当于快速查看目录大小。

1、通过“前往文件夹”快捷键组合

(1)打开finder,点击上部菜单栏“前往”,然后“个人”,直接跳转。

(2)快捷键组合:command + shift + G;注意:打开finder后,再快捷键,然后输入“/”,前往根目录。

2、将Macintosh HD快捷方式放入Finder侧边栏

对于经常要访问根目录的用户来说,将Macintosh HD快捷方式会更高效一些。在任何文件夹内(除了“我的所有文件”)右键点击标题栏(文件夹窗口最上面,居中的标题栏),然后选择Macintosh HD。最后将Macintosh HD左侧的硬盘图标拖拽至侧边栏即可完成操作。以后需要访问根目录时,只需点击侧边栏的快捷方式即可。

3、在桌面上显示硬盘

打开Finder的“偏好设置”,在“通用”模式下在“硬盘”前面的方块内勾选即可。这样桌面上就会有Macintosh HD,双击即可访问。

4、使用命令行迅速导航

导航打开终端应用,然后输入下面的命令即可迅速导航至根目录。

CD/

上面的命令是在终端中访问根目录,如果你想通过终端打开Finder的根目录,只需下面的命令即可:

open/

在Finder里,也不是类似下载文件夹里,输入:
Command+Shift+G
会弹出一个输入路径的框,输入路径也就跳转过去了。

---------------------------------------------------------------
option + command + space
直接通过Spotlight窗口就能打开Finder。简单吧!




| 设置Spotlight窗口的快捷键
在系统偏好设置-Spotlight中自行设置即可。



| 跳转到某个文件夹
进入Finder窗口后,shift+command+g后输入文件夹路径即可跳转到相应文件夹。

> 常见文件夹路径
跳转到根目录,输入
/
跳转到当前目录,默认为apple目录,输入
~

来自:http://www.cnblogs.com/tangyikejun/p/3997728.html
遇到该问题并非安装的软件已损坏,而是Mac系统的安全设置问题,一般大多时候是在安装汉化或者破解版的时候会遇到。

但是之前设置过Mac的安全性和隐私,允许安装来自任何地方的软件。不应该出现该问题。

回去排查发现是因为自己升级Mac系统到最新版之后,安全性与隐私中没有了信任任何来源的选项。

Fix
解决的办法除了从 系统偏好设置中设置还可以通过如下命令来设置,设置完毕就会出现“任何来源”

修改系统配置:系统偏好设置… -> 安全性与隐私。修改为任何来源
如果没有这个选项的话 (macOS Sierra 10.12) ,打开终端,执行 sudo spctl –master-disable 即可。

bogon:~ root# sudo master-disablespctl
sudo: master-disablespctl: command not found
bogon:~ root# master-disablespctl
-sh: master-disablespctl: command not found
bogon:~ root# spctl --master-disable
bogon:~ root#


实践来源:https://blog.csdn.net/eagle5063/article/details/78802510
排序
按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序

查找重复行
排序好后,按Ctrl+F,调出查找面板
查找字符串:

^(.+)$[\r\n](^\1$[\r\n]{0, 1})+
注意:确保正则模式开关打开;若不可用,按Alt+R进行切换
点击Find。
实践发现先得F9,再查找重复,重复的一块,不同的线隔开。


删除重复行
排序好后,按Ctrl+H,调出替换面板
查找字符串:

^(.+)$[\r\n](^\1$[\r\n]{0, 1})+
注意:确保正则模式开关打开;若不可用,按Alt+R进行切换。
后面替换为空,即可留下一个即可。

替换字符串:
\1
点击Replace

来自:http://www.cnblogs.com/final/p/5427223.html
一)Yum安装:centos7编译好的strace安装源,在devtoolset-3包中有。

先添加 devtoolset-3 的安装源

yum install centos-release-scl-rh -y
yum install strace --enablerepo=centos-sclo-rh -y

直接安装

yum install strace

其他

1、devtoolset还有很多其他的工具可用,列表见 http://mirror.centos.org/centos/7/sclo/x86_64/rh/

2、还可以通过devtoolset切换高版本gcc编译环境,高版本的py等,详见  http://blog.fungo.me/2016/03/centos-development-env/

参考:https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

二)源码装:
strace是一个功能强大的调试,分析诊断工具,主要用来监视系统调用。

1.下载strace-xxx.tar.xz

    下载网址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819;

2.解压

      $  xz -d   ***.tar.xz

      $  tar -xvf   ***.tar


      可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。

      补充:目前可以直接使用 tar xvJf  ***.tar.xz来解压

3.配置

        ./configure

4.编译

      make

5.安装

    make  install

6.使用



见博文:http://blog.csdn.net/u011630575/article/details/52077563
原因:外网试图登录SSH破解密码太多,出现大量的/usr/bin/ssh-agent -s进程。
解决办法如下:
cat  /etc/profile.d/ssh-agent.sh  

运行:
[root@localhost ~]# sh  /etc/profile.d/ssh-agent.sh  
Starting ssh-agent...
Agent pid 3625
[root@localhost ~]# ps -ef|grep 3625
root      3625     1  0 22:57 ?        00:00:00 ssh-agent
root      3647  3325  0 22:57 pts/2    00:00:00 grep --color=auto 3625

后面再多个SSH,只有四个ssh-agent进程:
ps -ef|grep ssh-agent            
root      3625     1  0 22:57 ?        00:00:00 ssh-agent
root      2442     1  0 22:54 ?        00:00:00 /usr/bin/ssh-agent -s
root      2785     1  0 22:55 ?        00:00:00 /usr/bin/ssh-agent -s
root      3131     1  0 22:56 ?        00:00:00 /usr/bin/ssh-agent -s
root      3527     1  0 22:57 ?        00:00:00 /usr/bin/ssh-agent -s
root      3878     1  0 22:58 ?        00:00:00 /usr/bin/ssh-agent -s

cat ~/.agent.env
SSH_AUTH_SOCK=/tmp/ssh-X1RtYLOVI2iq/agent.3623; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3625; export SSH_AGENT_PID;
echo Agent pid 3625;

感觉进程数还是变多,无鸟用,于是干掉这个SSH-Client:
[root@localhost ~]# rpm -qf /usr/bin/ssh-agent
openssh-clients-7.4p1-13.el7_4.x86_64
[root@localhost ~]# rpm -e openssh-clients
错误:依赖检测失败:
        openssh-clients 被 (已安裝) virt-viewer-5.0-7.el7.x86_64 需要
        openssh-clients 被 (已安裝) python-meh-0.25.2-1.el7.noarch 需要
[root@localhost ~]# yum remove  openssh-clients -y
作为依赖被删除:
  anaconda-core.x86_64 0:21.48.22.121-1.el7.centos    anaconda-gui.x86_64 0:21.48.22.121-1.el7.centos  
  anaconda-tui.x86_64 0:21.48.22.121-1.el7.centos     initial-setup.x86_64 0:0.3.9.40-1.el7.centos      
  initial-setup-gui.x86_64 0:0.3.9.40-1.el7.centos    python-meh.noarch 0:0.25.2-1.el7                  
  python-meh-gui.noarch 0:0.25.2-1.el7                virt-viewer.x86_64 0:5.0-7.el7

参考自:https://blog.csdn.net/diamondxiao/article/details/52488628

一)SSH现象:



二)Linux桌面没了,出现:
系统出现kernel: audit: backlog limit exceeded提示
error: audit:backlog limit exceeded报错,audit缓冲大小瓶颈
来自:http://blog.51cto.com/jschu/1769025

三)如何强制重启?
有时候,linux 由于硬盘或者其它原因,
某个进程挂住了,怎么也杀不死,
输入 reboot 命令也无法重启。
这时候,一般只能按机箱上的reset健来重启了。
如果是远程ssh,那怎么办呢?


下面两行命令可以搞定:


echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
=========================================================
Linux使用shutdown -r now 或者 reboot、init 6 命令无法重启时使用以下两条命令可强制重启:
echo 1 > /proc/sys/kernel/sysrq  
echo b > /proc/sysrq-trigger  
1./proc/sys/kernel/sysrq
向 sysrq 文件中写入1是为了开启 SysRq 功能。根据 linux/Documentations/sysrq.txt 中所说:SysRq 代表的是 Magic System Request Key。开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作。但是这需要内核支持(CONFIG_MAGIC_SYSRQ 选项)。向 /proc/sys/kernel/sysrq 中写入0是关闭 SysRq 功能,写入1是开启,其他选项请参考 sysrq.txt。

2./proc/sysrq-trigger
立即重新启动计算机:
echo "b" > /proc/sysrq-trigger
立即关闭计算机:
echo "o" > /proc/sysrq-trigger



来自:https://my.oschina.net/dongsong/blog/915358

一)查看根路径下各个文件夹的文件数:
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
二)发现/var的最多,于是再运行命令:
for i in /var/*; do echo $i; find $i |wc -l|sort -nr; done
/var/spool
2428535
三)再次进入:
for i in /var/spool/*; do echo $i; find $i |wc -l|sort -nr; done
/var/spool/postfix
2428437

四)再次深入:
for i in /var/spool/postfix/*; do echo $i; find $i |wc -l|sort -nr; done
/var/spool/postfix/maildrop
2428402

五)估计上面安装了postfiex,检查下:
rpm -qa|grep postfix
postfix-2.6.6-2.2.el6_1.x86_64

六)Google上搜索下原因:
mail没有成功的邮件。由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面。如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。

七)解决方法:
     1)修改“/etc/crontab” ,将‘MAILTO=root’替换成‘MAILTO=""’修改之后没有成功,需要重启crond服务才可以,也可从在crontab(crontab -e)中最前面直接加入MAILTO=""
     2)find /var/spool/postfix/maildrop -type f -exec rm -rf {} \;

参考:http://www.coooz.com/archives/825
          https://blog.csdn.net/zhangxinrun/article/details/51539587
centos7部署运行docker-compose 出现 ImportError: No module named 'requests.packages.urllib3' 错误 的处理:
ImportError: No module named 'requests.packages.urllib3'
#解决办法
pip install requests urllib3 pyOpenSSL --force --upgrade
pip install --upgrade --force-reinstall 'requests==2.6.0'

参考:https://www.52zheteng.info/%E6%9C%8D%E5%8A%A1%E5%99%A8/centos7-%E4%BD%BF%E7%94%A8certbot-%E5%87%BA%E7%8E%B0-requests-packages-urllib3-%E9%94%99%E8%AF%AF-%E7%9A%84%E5%A4%84%E7%90%86/
Mac下安装md5sum:https://blog.csdn.net/cup_chenyubo/article/details/52982986
brew install md5sha1sum

背景:公司网不好传入rz -bye的稍微大点的文件就断开了,再运行rz -bye,还会继续重头再传(只要失败再SSH上去运行rz -bye就会继续传,和默认SSH的目录无关,这个有点意思,但要是rz -bye支持断点上传就好了。),于是这就有一个比对文件是否是真的传上去了的md5sum比对,而Linux下有md5sum filename,FreeBSD下有md5,但输出格式和Linux下的不大一样,但都是求Md5,于是找了找,发现一个叫md5deep的可以Port安装,输出还和Linux下的一样,相当友好,偶尔会用到,记录三种都能达到目录,个人认为以第二种较为精简有力,符合Linux思想,现在用FreeBSD多吗?嘿嘿。

零)系统自己默认的md5也能求出文件内容的md5值:
md5 harbor-offline-installer-v1.2.0.tgz
MD5 (harbor-offline-installer-v1.2.0.tgz) = 235fcfb9fe00ad61f6cbc2de4920b477
#which md5
/sbin/md5
#ln -sf /sbin/md5 /sbin/md5sum  #作个软链接且名字修改成md5sum
#md5sum harbor-offline-installer-v1.2.0.tgz  #SecureCRT下新开SSH窗口:
MD5 (harbor-offline-installer-v1.2.0.tgz) = 235fcfb9fe00ad61f6cbc2de4920b477

==== 上面格式和Linux有点出入,找到一个和Linux一样的类似md5sum的Port安装包命令md5deep====

一)/usr/port/security/md5deep
make && make install
上面这个md5deep的输出和Linux的md5sum一样的:
On FreeBSD:
#md5deep /opt/harbor-offline-installer-v1.2.0.tgz
235fcfb9fe00ad61f6cbc2de4920b477  /opt/harbor-offline-installer-v1.2.0.tgz

On Linux:
#md5sum  harbor-offline-installer-v1.2.0.tgz  
235fcfb9fe00ad61f6cbc2de4920b477  harbor-offline-installer-v1.2.0.tgz


于是这样:
#which md5deep
/usr/local/bin/md5deep
#rm -rf  /sbin/md5sum    #删除前面的软链接。
vi /root/.cshrc
alias md5sum '/usr/local/bin/md5deep'

#which md5sum
md5sum:          aliased to /usr/local/bin/md5deep

重新开一个FreeBSD的终端,和Linux一样运行md5sum filename获取文件内容的md5值:
#md5sum harbor-offline-installer-v1.2.0.tgz
235fcfb9fe00ad61f6cbc2de4920b477  /opt/harbor-offline-installer-v1.2.0.tgz



二)/usr/ports/sysutils/coreutils
make clean
make deinstall
make && make install
弹出一个窗体,选取消:
coreutils-8.25.tar.xz                          12% of 5590 kB  382 kBps 00m20s
md5sum is part of GNU coreutils. The FreeBSD port to install is sysutils/coreutils. This will install all the GNU coreutils with a g prefix, so md5sum will be available as gmd5sum.
安装完后,md5sum生成在这个位置,直接拷贝到/usr/local/bin下面得了:
/usr/ports/sysutils/coreutils/work/coreutils-8.25/src/md5sum /opt/harbor-offline-installer-v1.2.0.tgz
235fcfb9fe00ad61f6cbc2de4920b477  /opt/harbor-offline-installer-v1.2.0.tgz
cp -rf /usr/ports/sysutils/coreutils/work/coreutils-8.25/src/md5sum /bin/md5sum   #和Linux目录一样。
#which md5sum
/bin/md5sum
#md5sum /opt/harbor-offline-installer-v1.2.0.tgz   #/bin/md5sum
235fcfb9fe00ad61f6cbc2de4920b477  /opt/harbor-offline-installer-v1.2.0.tgz
#ldd /bin/md5sum
/bin/md5sum:
        libc.so.7 => /lib/libc.so.7 (0x800836000)
我只要这一个coreutils编译出来的md5sum,于是make deinstall卸载掉没有用到的一些东西:
cd /usr/ports/sysutils/coreutils
make clean && make deinstall
因为它只是用到libc.so.7这个动态链接库,即使卸载掉后,依然能够运行这个md5sum的可执行文件求出输出文件的MD5值:
#md5sum /opt/harbor-offline-installer-v1.2.0.tgz
235fcfb9fe00ad61f6cbc2de4920b477  /opt/harbor-offline-installer-v1.2.0.tgz

参考:https://unix.stackexchange.com/questions/439974/how-to-install-md5sum-in-freebsd
文中两Port摘自:https://forums.freebsd.org/threads/md5-compare-long-file-list-to-md5-file-contents.21795/

产生可能原因:之前执行yun update命令时ctrl + c将其中断了, 现在重新执行yum update时出现如下错误:
问题描述:


解决方法
在stackovreflow网站找到了答案

列出重复的包

# package-cleanup --dupes
删除重复的包

# package-cleanup --cleandupes
执行完上面两个命令, 再yum update成功解决问题

OK, Enjoy it~

来自:https://blog.csdn.net/Cryhelyxx/article/details/51121407


yum install openssh-server -y
systemctl start sshd
分页: 10/333 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]