1. 设置自动登录Linux服务器

  1. 创建shell文件 ```shell

    !/usr/bin/expect -f

set password “123456”

set timeout -1

spawn ssh user@xxx.xxx.xxx.xx

expect “assword:

send “$password\r”

expect “Last*”

interact

  1. 2. 给权限
  2. - chmod a+x login.sh
  3. 3. 设置别名
  4. - alias lo='./login.sh'
  5. - source ~/.bash_profile (mac)
  6. <a name="iladZ"></a>
  7. ### 2. 查看磁盘文件
  8. ```shell
  9. df -h
  • 查看当前目录下文件大小
    • du -h -x —max-depth=1

3. iterm2 实现rz/sz 上传和下载文件(mac 系统)

  1. 一、mac安装lszsz
  2. brew install lrzsz
  3. 二、安装执行脚本
  4. git clone https://github.com/snow-sprite/rzsz.git
  5. iterm2-send-zmodem.shiterm2-recv-zmodem.sh保存到/usr/local/bin目录下
  6. 三、添加权限
  7. chmod +x /usr/local/bin/iterm2-*
  8. 四、设置iterm2 使用trigger
  9. 设置Iterm2Tirgger特性,profiles->default->editProfiles->Advanced中的Tirgger
  10. 添加两条trigger,分别设置 Regular expressionActionParametersInstant如下:
  11. Regular expression: rz waiting to receive.\*\*B0100
  12. Action: Run Silent Coprocess
  13. Parameters: /usr/local/bin/iterm2-send-zmodem.sh
  14. Instant: checked
  15. Regular expression: \*\*B00000000000000
  16. Action: Run Silent Coprocess
  17. Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
  18. Instant: checked
  19. 五、在服务端使用
  20. 1rz 上传文件
  21. 2sz 下载文件

配置效果图

image.png

搜寻文件或目录:

find ./ -name “core*” | xargs file

显示时同时显示行号:

cat -n

查看两个文件间的差别:

diff file1 file2

清空文件:

:> a.txt

去掉文本重复行

awk ‘ !x[$0]++’ new2.md > new3.md

awk 的基本执行流程是,对文件的每一行,做一个指定的逻辑判断,如果逻辑判断成立,则执行指定的命令;如果逻辑判断不成立,则直接跳过这一行。
我们这里写的 awk 命令是 !x[$0]++,意思是,首先创建一个 map 叫 x,然后用当前行的全文 $0 作为 map 的 key,到 map 中查找相应的 value,如果没找到,则整个表达式的值为真,可以执行之后的语句;如果找到了,则表达式的值为假,跳过这一行。由于表达式之后有 ++,因此如果某个 key 找不到对应的 value,该 ++ 操作会先把对应的 value 设成 0,然后再自增成 1,这样下次再遇到重复的行的时候,对应的 key 就能找到一个非 0 的 value 了。
我们前面说过,awk 的流程是先判断表达式,表达式为真的时候就执行语句,可是我们前面写的这个 awk 命令里只有表达式,没有语句,那我们执行什么呢?原来,当语句被省略的时候,awk 就执行默认的语句,即打印整个完整的当前行。就这样,我们通过这个非常简短的 awk 命令实现了去除重复行并保留原有文件顺序的功能。