操作系统(Linux)
May 10
-- begin how-linux-get-dir-laster-file-name
linux获取文件夹下最新的文件名
ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}'

逐条解释:

ls -lt /dirname/
 列出此目录下的所有文件并按照时间先后排序

grep filename
 过滤出包含关键字的文件

head -n 1
 查看排名第一的文件

awk '{print $9}'
打印出第九字段

其他命令
shell从字符串中提取数字
echo "2019年05月21日" | tr -cd "[0-9]"
这样就可以提取出20190521

按时间反序排序当前文件夹中文件(-r反序)
在当前文件夹内查找最近一天内更改的文件(包括子文件夹):
find . -type f -mtime -1
1天以前更改的文件:
find . -type f -mtime +1
最近10分钟内状态变化的文件:
find . -type f -cmin -10

查找所有文件的名称
ll -rth|grep -v "total"|awk -F ' ' {'print $NF'} 
-- end how-linux-get-dir-laster-file-name
Tags:
May 10
---begin linux中awk提出字符串中的数字、小写字母、大写字母等
awk提出字符串中的数字、小写字母、大写字母等
若是需要提取一个字符串中想要的数据,可以思考下awk
1、提取字符串中出现的阿拉伯数字
echo "ABC123abc"| awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i ~ /[[:digit:]]/){str=$i;str1=(str1 str)}}print str1}'

2、提取字符串中的小写字母
echo "ABC123abc"| awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i ~ /[[:lower:]]/){str=$i;str1=(str1 str)}}print str1}'

3、提取字符串中的大写字母
echo "123abcABC"| awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i ~ /[[:upper:]]/){str=$i;str1=(str1 str)}}print str1}'

4、提取字符串中非阿拉伯数字
echo "123abcABC"| awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i ~ /[^0-9]/){str=$i;str1=(str1 str)}}print str1}'

5、提取字符串终中的字母,不分大小写
 echo "123abcABC"| awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i ~ /[[:alpha:]]/){str=$i;str1=(str1 str)}}print str1}'
---end
Tags: ,
Apr 7
----begin
Linux下sudo 报错xxx is not in the sudoers file.This incident will be reported.的解决方法
1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去.
比如 su - username
2.添加sudo文件的写权限,命令是:
chmod u+w /etc/sudoers

3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

ps:这里说下你可以sudoers添加下面四行中任意一条
youuser            ALL=(ALL)                ALL
%youuser           ALL=(ALL)                ALL
youuser            ALL=(ALL)                NOPASSWD: ALL
%youuser           ALL=(ALL)                NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers
这样普通用户就可以使用sudo了
----end
Tags: ,
Jun 30
Linuxcentos 根目录爆满解决(/dev/mapper/centos-root 100%问题)
一、使用df -h命令查看,发现/根目录的剩余空间为0。总共系统盘容量才20G。一般默认空间必须小
二、使用du -h -x --max-depth=1  查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间
三、CentOS 7 调整 home分区扩大 root分区
总体过程:
把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容
dev/mapper/centos-root 100
Tags:
Dec 28
利用ssh-copy-id复制公钥到多台服务器
一直都是手工用scp和ssh命令执行这一任务的,刚发现原来有这个便利的命令!
ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下。
ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下。                                                                                                          
达到的功能:
  ssh-copy-id - 将你的公共密钥填充到一个远程机器上的authorized_keys文件中。   
如果没有生成密钥对,要先生成密钥,再将公钥复制到远程主机,usernaem是远程主机的用户名,host是远程主机的ip地址或域名

#生成密钥
ssh-keygen -t rsa
#复制公钥到远程主机
ssh-copy-id username@host

bigdata01.itlife365.com
bigdata02.itlife365.com
bigdata03.itlife365.com
[itlife365@bigdata01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/itlife365/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/itlife365/.ssh/id_rsa.
Your public key has been saved in /home/itlife365/.ssh/id_rsa.pub.
The key fingerprint is:
91:85:79:81:df:fb:50:3a:69:9d:1d:63:65:61:90:ea itlife365@bigdata01.itlife365.com
The key's randomart image is:
+--[ RSA 2048]----+
|         +o. .oo.|
|        +o.  .. o|
|        oo ..  ..|
|         .... .+ |
|        S .  *.oo|
|           EB o .|
|           . +   |
|              .  |
|                 |
+-----------------+
[itlife365@bigdata01 ~]$ ssh-copy-id bigdata01.itlife365.com
The authenticity of host 'bigdata01.itlife365.com (192.168.1.211)' can't be established.
RSA key fingerprint is 33:bc:e8:df:00:90:41:4d:66:f4:0e:35:39:d5:ed:21.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bigdata01.itlife365.com,192.168.1.211' (RSA) to the list of known hosts.
itlife365@bigdata01.itlife365.com's password:
Now try logging into the machine, with "ssh 'bigdata01.itlife365.com'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[itlife365@bigdata01 ~]$ ssh-copy-id bigdata02.itlife365.com
itlife365@bigdata02.itlife365.com's password:
Now try logging into the machine, with "ssh 'bigdata02.itlife365.com'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[itlife365@bigdata01 ~]$ ssh-copy-id bigdata03.itlife365.com
itlife365@bigdata03.itlife365.com's password:
Now try logging into the machine, with "ssh 'bigdata03.itlife365.com'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[itlife365@bigdata01 ~]$
[itlife365@bigdata01 ~]$ ssh bigdata01.itlife365.com
[itlife365@bigdata01 ~]$ ssh bigdata02.itlife365.com
Last login: Sun Dec 17 06:46:05 2017 from bigdata01.itlife365.com
[itlife365@bigdata02 ~]$ exit
logout
Connection to bigdata02.itlife365.com closed.
[itlife365@bigdata01 ~]$ ssh bigdata03.itlife365.com
Last login: Sun Dec 17 06:48:32 2017 from localhost
[itlife365@bigdata03 ~]$
[itlife365@bigdata03 ~]$ exit
logout
Connection to bigdata03.itlife365.com closed.
[itlife365@bigdata01 ~]$

----
linux ssh-copy-id
分页: 1/19 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]