linux 常用terminal命令总结
Posted Kris_u
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 常用terminal命令总结相关的知识,希望对你有一定的参考价值。
1、当前目录下 查找"hello,world!"字符串
grep -rn "hello,world!" ./
./ : 表示路径为当前目录. -r 是递归查找 ; -n 是显示行号 ; 如果加上-i, 则为忽略大小写。
2、sed 替换
命令格式1:sed 's/原字符串/新字符串/' 文件
命令格式2:sed 's/原字符串/新字符串/g' 文件
没有“g”表示只替换第一个匹配到的字符串,有“g”表示替换所有能匹配到的字符串,“g”可以认为是“global”(全局的)的缩写。
3、将输出内容追加到文件 >; >> 和 tee ; tee -a
如果 Linux 命令返回错误,那么错误不会保存在文件中。你可以使用2>&1将命令的输出和错误保存到同一个文件中,如下所示:
command > file.txt 2>&
通常,0代表标准输入,1代表标准输出,2代表标准错误。在这里,你要将标准错误(2) 重定向(&)到与标准输出(1)相同的地址。
使用>
会覆盖文件,使用>>
会文件内容后面追加内容。
command > file.txt
command >> file.txt
tee命令将输出发送到终端以及文件(或作为另一个命令的输入):
command | tee file.txt
同样,如果该文件不存在,它将自动创建。
你还可以使用tee命令-a选项进入附加模式:
command | tee -a file.txt
4、cut -f1 -d'-' 以'-' 为分隔符,取第一个字段
#for p in $(cat yq.txt) #注意ip.txt文件的绝对路径
do
ip=$(echo "$p"|cut -f1 -d":") #取ip.txt文件中的ip地址. //cut -f1 -d':' 以':' 为分隔符,取第一个字段
password=$(echo "$p"|cut -f2 -d":") #取ip.txt文件中的密码 //cut -f2 -d':' 以':' 为分隔符,取第二个字段
5、字符串是否包含某子串,可使用*进行匹配
k8s_version=$(kubectl version)
server="Server Version: version.InfoMajor:"
if [[ $k8s_version == *$server* ]]; then
echo "K8s has installed."
else
echo "Error: K8s cluster is not installed"
exit -1
fi
6、检查CNI插件是否存在:
# check whether cni daemonsets exists
daemonsets=$(kubectl get daemonset -n kube-system | awk 'print $1')
result=$(echo $daemonsets | grep "$flannel") || true
if [ "$result" != "" ]; then
cni=$(kubectl get daemonset -n kube-system | grep flannel | awk 'print $1')
else
cni=$(kubectl get daemonset -n kube-system | grep calico | awk 'print $1')
if [ $cni == "" ]; then
echo "Error: the cni does not exist"
exit -1
fi
fi
7、开启路由转发:
sysctl 命令用于运行时配置内核参数,参数位于/proc/sys目录下
sysctl -p 表示从指定的文件家在系统参数,不指定默认从/etc/sysctl.conf加载。
sysctl -w net.ipv4.ip_forward = 1
sysctl -p | grep ip_forward
8、进程查询:
ps -ef | grep command 或者 ps aux | grep command #查看进程
更高级的用法如下:
ps aux | grep command | grep -v grep | awk 'print $1' | xargs kill -9 #这个表示直接通过command获取进程id并直接kill掉。
linux后台运行的几种方式(nohup、screen)。
9、ssh 登陆远程服务器:ssh 用户名@IP ,比如 :ssh root@10.101.12.255
上传文件至远程服务器指定目录: scp(本地文件) root@IP:/dir(远程服务器目录) 。 如:
scp ./test.txt root@10.101.12.255:/root/ ;
scp -r ./test root@10.101.12.255:/root/ #r 表示递归
从远程服务器下载文件到本地 :
scp root@10.101.12.255:/root/file.txt . #将远程服务区root目录下的file.txt文件下载至本机的当前目录
scp -r root@10.101.12.255:/root/file/ . # r 下载file文件夹下的全部文件。
10、netstat -tunlp 端口号
11、查看使用端口号的进程: lsof -i:端口号
ru@ru:~$ lsof -i:7475
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
baidunetd 6125 ru 105u IPv4 109077 0t0 TCP localhost:7475 (LISTEN)
12、 top 命令
[root@maomao365 ~]# top
---输出完整的进程信息
13、文件重命名: mv ./oldname.txt ./newname.txt
14、开启/关闭网卡
#关闭网关wlan0
ip link set wlan0 down
#查询网关wlan0是否被关闭
ip a | grep -A 1 "wlan0"
#开启网关wlan0
ip link set wlan0 up
ip a |grep -A 5 "wlan0"
以上是关于linux 常用terminal命令总结的主要内容,如果未能解决你的问题,请参考以下文章