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命令总结的主要内容,如果未能解决你的问题,请参考以下文章

Mac中常用终端(terminal)命令总结

Linux terminal 终端快捷键汇总

Linux bash命令行常用快捷键(Xshell和secure CRT以及gnome-terminal)

Linux terminal 终端快捷键

Linux/Mac OS 个人常用Terminal技巧整理

Linux指令(Terminal命令):