1. 设置自动登录Linux服务器
set password “123456”
set timeout -1
spawn ssh user@xxx.xxx.xxx.xx
expect “assword:“
send “$password\r”
expect “Last*”
interact
2. 给权限
- chmod a+x login.sh
3. 设置别名
- alias lo='./login.sh'
- source ~/.bash_profile (mac)
<a name="iladZ"></a>
### 2. 查看磁盘文件
```shell
df -h
- 查看当前目录下文件大小
- du -h -x —max-depth=1
3. iterm2 实现rz/sz 上传和下载文件(mac 系统)
一、mac安装lszsz
brew install lrzsz
二、安装执行脚本
git clone https://github.com/snow-sprite/rzsz.git
将iterm2-send-zmodem.sh和iterm2-recv-zmodem.sh保存到/usr/local/bin目录下
三、添加权限
chmod +x /usr/local/bin/iterm2-*
四、设置iterm2 使用trigger
设置Iterm2的Tirgger特性,profiles->default->editProfiles->Advanced中的Tirgger
添加两条trigger,分别设置 Regular expression,Action,Parameters,Instant如下:
Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
五、在服务端使用
1、rz 上传文件
2、sz 下载文件
配置效果图
搜寻文件或目录:
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 命令实现了去除重复行并保留原有文件顺序的功能。