Linux常用命令备忘
拷贝
scp
1 2 3 4 5 6 7 8 9 10 11
| scp [-Cpqrv] [-P port] [[user@]host1:]file1 [...] [[user@]host2:]file2
scp [可选参数] file_source file_target
-C: 允许压缩。 -p:保留原文件的修改时间,访问时间和访问权限。 -q: 不显示传输进度条。 -r: 递归复制整个目录。 -v:详细方式显示输出。用于调试 -P port:注意是大写的P, port是指定数据传输用到的端口号。
|
rsync
与其他文件传输工具(如 FTP 或SCP)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。
1 2 3 4 5 6 7
| rsync -avz -e "ssh -p <port>" source/ user@remote_host:/destination
-a: 除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。 -v: 参数表示输出细节。 -z: 参数指定同步时压缩数据。 -e: 参数指定使用 SSH 协议传输数据。在端口号不是22时非常重要。
|
Note: rsync需要注意source后面加了**“ / ”** 的话就是只拷贝source下的所有文件目录,而不拷贝source这个目录
查找文件
Find
1 2 3 4 5 6 7 8 9 10 11 12
| find ./ -iname "*.c"
-i: 忽略大小写
find /home -size +1M
find /home -type f | xargs grep "hello" OR grep -r "hello" /home/*.tx
|
后台运行
nohup
1 2 3 4 5 6 7 8
| nohup Command <Arg> &
/dev/null 空设备文件 0 标准输入 1 标准输出 2 标准错误 > file <==> 1> file 2 > &1 表示将标准错误重定向到标准输出
|
例子
1
| nohup python tools/train.py >/dev/null 2>&1 &
|
查看ip端口
ip addr , netstat
1 2
| ip addr sudo netstat -tunp | grep 端口号
|
新用户
1 2 3 4 5
| adduser <username> deluser <username> usermod -g sudo <username> usermod -g root <username>
|