工作中用到的shell命令
- 1、查看自己的系统版本:
- 2、登陆远程服务
- 第一种情况(没做端口映射):
- 第二种情况(做了端口映射):
- 3、 ls -l -f
- 4、grep
- 5、scp
- 6、zip
- 7、标准输入输出
- 8、dirname
- 9、date
1、查看自己的系统版本:
- 命令:
- cat /etc/redhat-release
- CentOS Linux release 7.9.2009 (Core)
2、登陆远程服务
第一种情况(没做端口映射):
- 命令:
- ssh 用户名@主机ip 端口号
例子:比如要远程到主机22.22.22.22的12345端口,命令为
- ssh root@22.22.22.22 12345
第二种情况(做了端口映射):
- 命令:
- ssh 用户名@主机ip -p 映射的端口号
例子:比如要远程到主机22.22.22.22的12345端口,但是12345端口被映射到了54321端口,所以要访问12345端口的命令为
- ssh root@22.22.22.22 -p 54321
3、 ls -l -f
- 列出当前目录下所有文件和文件夹,包括隐藏文件,但不进行排序和格式化
|:将 ls 命令的输出作为输入传递给下一个命令。
- ll -t:按时间倒序
- ll -rt:按时间升序
- ll -F:是文件夹的话后面加/
- ls -t1F|grep ^iotdb-enterprise | grep -m1 zip$
- ls -t1F|grep ^iotdb-enterprise | grep -m1 /$
4、grep
- grep -m1:多个匹配只取第一个匹配到的(数字几就取前几次匹配到的截至)
5、scp
scp
如果你在本地当前的目录:
scp -P15022 username@111.11.11.11:/home/username/data/data/data/neucon_demodata_b5f1.zip .
如果想拷贝到你想要的目录:
scp -P15022 username@111.11.11.11:/home/username/data/data/data/neucon_demodata_b5f1.zip /home/your_dir
6、zip
某个路径下的所有文件及文件夹
zip -r /home/Desktop/xxx.zip ./*
将zip解压到指定目录
unzip -o -d /home/Documents /home/Desktop/xxx.zip
7、标准输入输出
名称 | 代码 | Linux 下文件描述符(Debian 为例) |
---|---|---|
标准输入(stdin) | 0 | /dev/stdin -> /proc/self/fd/0 -> /dev/pts/0 |
标准输出(stdout) | 1 | dev/stdout -> /proc/self/fd/1 -> /dev/pts/0 |
标准错误输出(stderr) | 2 | /dev/stderr -> /proc/self/fd/2 -> /dev/pts/0 |
- 1)cat test 2>&1 >file : 错误输出到终端,标准输出被重定向到文件file。
- 2)cat test >file 2>&1 : 标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以也错误输出到文件file。
-
- command >out.file 2>&1 & command >out.file 是将command的输出重定向到out.file文件,输出内容不打印到屏幕上,而是输出到out.file文件中。2>&1 是将标准出错重定向到标准输出,因为标准输出已经重定向到了out.file文件,所以标准出错也输出到out.file文件中。 最后一个&,是让该命令在后台执行。
8、dirname
$(dirname $0)
在linux中,dirname命令可以返回文件所在的目录。$0 表示当前动行的命令名。
因此此写法的作用为: 切换到 脚本 所在的目录
9、date
1)显示未来一天
date +%F -d "+1day"
或
date +%F -d "1 next day"
2)显示当年周数
date +%W
或
date +%U
3)时间按格式输出年月日
date +%Y-%m-%d: 2023-04-20
date +%y-%m-%dT%H-%m-%S: 23-04-20T11-04-04
4)设置时间为指定日期
date -s "2000-06-07 CST"
注:CST是时区
5)判断指定日期周几
date -d "2020-4-20" +%w
周日为0
6)显示星期(英文)、月份(英文)、日期、年份
date "+%a %b %d %Y"
7)显示当前位今年第几天
date +%j : 110
8)显示12小时制时间
date +%r : 11:35:16 AM
9)显示系统当前时间
date