这里列举了我常用的一些Linux命令行下的技巧,希望对大家有帮助。
即第一个文件的第一行接第二个文件的第一行,然后是第一个文件的第二行和第二个文件的第二行,举例: a.txt
1
2
3b.txt
a
b
c期望的结果:
1
a
2
b
3
c命令:
paste -d '\n' a.txt b.txt > c.txt\r一般在Windows平台创建的文件行尾有多余的\r,在Linux命令行操作的时候会报错。
命令:
# method 1:
tr -d '\r' < infile > outfile
# method 2:
cat infile |sed 's/\r$//g' >> outfile例如我想创建dir1,dir2, … dir100的目录。 命令:
mkdir dir{1..100} # 创建目录dir1, dir2, dir3, ... dir100
mkdir {1..100} # 创建目录1,2,3,... 100命令:
# 删除空目录
find /path/to/target/dir -type d -empty -exec rmdir {} \;
# 删除空文件
find /path/to/target/dir -type f -empty -exec rm {} \;在rm后面加--,然后对文件名加双引号。
命令:
rm -- "--abc"
rm -- ")abc"如要搜索当前目录中包含include的所有文件。
命令:
grep -RIn "include" * # R:递归搜索,I:区分大小写,n:显示行号命令:
# 只列出目录
ls -l /path/to/dir |grep '^d'
# 只列出文件
ls -l /path/to/dir |grep '^-'命令:
ls /pat/to/dir |wc -l如文件a.txt如下:
10
12
13
1
2
15
16期望得到的结果文件b.txt:
1
2
10
12
13
15
16命令:
sort -n a.txt > b.txt命令:
ldconfig -v |grep libnameapt list --installed # 不加--installed 选项则会列出源里面的所有包名iostatwatch -n 1 nvidia-smi # -n 后面的参数表示刷新的秒数如文件a.txt如下:
ustc-123
ustc-222
ustc-bcd
fdu-222
pku-222现在要删除不包含ustc的所有行,得到b.txt如下:
ustc-123
ustc-222
ustc-bcd命令:
sed '/ustc/!d' a.txt > b.txtsed '/ustc/d' a.txt > b.txtsudo nmap -sP 192.168.110.0/24rsync -aPhv src --exclude "excluded_dir" user@host:~/dstrsync命令的详细用法可以参考这里
例如我想在本地屏幕上显示在远程服务器上执行某条命令的结果。
ssh user@host command