工作中常用linux相关命令

时间:2021-07-25 01:49:28
<pre class="html" name="code">

 


1.  grep  key  * -r                                         --可以快速从一个目录下所有文件和目录里面搜索某个关键字

2.  打开一个文件file1,  :sp file2,可以新建file1文件的模板,使用ctrl +w 可以在不同文件之间切换。  然后使用nyy和p 可以拷贝内容

3. dmesg | tail -n                 可以在出错的时候 查看后面出错的信息

4. history:  history | more -20(不写行数,默认是50行满屏; history |more, 然后 !num 执行那个命令; !!(or ctrl +P or !-1)执行上一条; ctrl +r 搜索命令

5. 在以当前目录为起点的树型结构中,删除所有以“.bak”为后缀的文件。
      回答:rm -rf *.bak  ---错,删除不了子目录里面的。bak

      正确:find ./  -name "*.bak" -exec rm {} ; 或者find ./  -name "*.bak" |xargs rm -rf


6.  统计在/etc为起点的目录树中,包含字符串“telnet”的文件的数目。
          回答:find /etc -name "*telnet*" | wc -l      --------------------错误,统计的是文件名中包含关键字,而不是内容里面

          正确:grep -lr "telnet" *|wc -l              -r,递归查找所有文件文件夹, -l,列出包含匹配内容的文件名

 7. ssh 无密码访问:

     ssh-keygen -t rsa

     scp  id_rsa.pub  root@r17lp48:~/.ssh

      cat id_rsa.pub ~/.ssh/authorized_keys

      注意:.ssh -->700          authorized_keys --->600

 

8. 可以将某个经常使用的很长的命令,使用alias scp48='scp xxxx  yyyy'   放入/etc/bashrc(永久生效)或者~/.bashrc或者/etc/profile(用户自己的配置文件)

   /etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统(每一位用户都生效的别名)一个是设置给单用户使用.  --->单纯在命令行使用alias, 则只对本次登陆有效