LINUX 常用操作命令及知识

1,vi 读文件(类似于读记事本)

写文件时先摁i启动编辑

编辑完成后摁esc

shift+;  wq 表示保存退出(或者shift + zz)    q!表示不保存退出     set nu 显示行号

vi + 22 读取文件第22行    vi  +  直接到最后一行  或者vi 用shift+g

vi +/after profile   在profile文件中搜索after 光标会停留在第一个匹配到的位置

光标所在位置按i光标前输入,I,行首,按a光标后输入,O行尾

按小写o,下方新建一行输入,按大小O,上方新建一行

h  左移,l右移,j上,k下   w 下个单词跳跃   0 直接去第一个字符,shift+6行首,shift+4行尾

G文章最后一行  ctrl+f 向下翻屏  ctrl+b向上翻屏    x删除光标所在字符,r替换

dd删一行,dw 删除一个单词  ,2dd删2行,p粘贴

yy复制一行,2yy复制2行,yw复制单词,U撤销,ctrl+r重做撤销操作,.重复上述命令

末行模式      /after 查找after,$代表最后一行  ,    1,$s/after/before   第一行到最后一行将after替换成before  加g一行内全部替换,.获取当前光标行     ! 加命令可执行  按空格返回,            .,$-1d除了最后一行,删除到光标位置


2,pwd 显示当前路径

3,ls -l  = ll 显示当前路径下的文件,并且长格式

ls-l 显示出的第一个字符为-说明为普通的文件,d为目录,c字符流(对编码方式有规则),b字节流为特殊文件,l链接

4,ifconfig 看网络配置

5,service network restart 网络重启

6,ping www.baidu.com

7,ctrl c 停止

8,clear清屏

9,cat 看文件内容   文件太长则不能显示完全     

more 可以先看一屏,空格先看一屏,回车一点点看

head 只看头部十行     tail  只看后十行    或者head -4 前4行 

tail -f   tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

10,rm -f 强制删除   rm -rf 强制删除文件夹

11,poweroff关机

12,type 接命令 表示返回该命令在系统的所在位置

13,file 加文件 输出字符串中如果有elf 表示为可执行二进制文件,类似exe

14,echo 打印输出

15,yum install 安装

16, man 学习外部命令, help学习内部命令 

17,linux优点,代码移植性非常好

18,bin,sbin可执行程序,etc 通用配置,控制面板,lib,扩展库,boot引导目录,dev设备抽象到目录下,home,普通用户的交互文件,var,程序运行生成的数据,usr,rtm安装包安装的位置,opt,自己安装的文件

19,mkdir -p 创建多级目录, mkdir        ./abc/{x,y,z}dir    在abc目录下创建xdir文件夹,ydir文件夹,zdir文件夹

20,df -h 类似于打开我的电脑

21,du -sh ./* 统计当前目录下各文件大小,du -a  显示所有文件大小,不光只有文件夹

23,linux 扩展名毫无意义

24,cd 什么都不加直接返回根目录,cd- 返回刚才所在目录

25,cp 拷贝 cp -r a /tmp  拷贝文件夹    不加-r为拷贝文件 

scp 远程拷贝   scp   -r    ./hadoop.2.6.5/     xutianyu2:`pwd`   文件夹       `pwd`   为xutianyu1的当前路径

scp id_dsa.pub xutianyu2:`pwd`/xutianyu1.pub   文件    xutianyu1.pub为重命名

26,mv 移动  mv a /tmp  也可以重命名   mv a o    a文件命名为o

27,ln a   b   a与b建立硬链接,a修改b同样修改,a删除,b继续存在,物理地址一样

ln -s 软链接,删除源文件,链接一样不会被删除,但是会爆红,物理地址不一样

28,stat  看文件元数据    access  访问时间  modify 内容修改,change 发生改变

29,touch 已有文件可更改stat的三个时间,touch不存在的文件可创建一个空大小的文件

20 管道概念    连接两个简单命令    例如head -4   profile   |   tail   -1 读取profile 文件的低4行

echo '/'  |   xargs ls-l     显示根目录下的内容      ll | more   分屏显示    文件目录 

21 grep 匹配行 grep  "after"   profile

显示profile文件中包含after的所有行  加-v反显,展示出没匹配到的

22,模式匹配   ls -l ./a*   显示当前目录下,任意数目,包括0的字符名文件,以a开头

a?表示只能为2个字符

23,正则表达式

匹配ooxx这个单词      grep    "\"   grep.txt    匹配ooxx在行首的单词   "^ooxx\>"

"oo[0-9]/+xx"匹配oo后出现任意次数的数字    \(oo\)\(xx\).*\1\2    1,2表示oo和xx出现的顺序

24,cut  剪切,  cut -d  ' ' -s -f1-3  grep.txt

-d  表示按列,-s 表示只显示切分过的,-f1-3 表示显示切分后的第一列到第三列

25,sort  排序   sort -t ' ' -k2 -nr sort.txt

-t 自定义分隔符    -k 选择排序列   -n  按数值排序   -r  倒序   默认为字典序

26,wc  统计  -l按行,   cat  profile | wc -l    输出为行数  例如 3

27,set    行编辑器

address 为指定行或字符串

sed -i "1a\hello world"  sort.txt  在第一行后添加hello world

sed "2d" sort.txt  删除文件第二行    sed "/apple/d" sort.txt  删除apple那一行

sed "s@hello@nihao@" sort.txt   将hello 替换成nihao

sed "s/\(id:\)[0-6]\(:initdefault:\)/\15\2/"  inttab

sed "s/is handle/is shangxuetang handle/" sort.txt

28,awk


awk -F ':'  ' {print $1}' passwd     -F为自定义分隔符,$1表示第一列   表示以:分割,输出第一列

awk -F   ':'      ' BEGIN{print   "name\tshell"}      {print $1 "\t" $7}   END{print  "end"}   ' passwd

awk -F ':'    '/root/{print   $0}'   passwd     $0为第0行,为匹配到root就显示第该行

NR行号,NF列号   split($3,data,"-")切割,切割第三列,按-切,结果放入data

29,useradd sxt01 增加用户,passwd sxt01 改密码   passwd --stdin  接收标准输入作为密码   例如:echo  $1  |   passwd  --stdin  $1

30,id 看元数据,看属于哪个组

31 usermod -a -G sharesxt sxt01   将sxt01 加到sharesxt这个组里   groupadd sharesxt   增加这个组

32 chown root:sharetxt    sxtshare    改变sxtshare文件的持有组权限 

33,chmod g+w sxtshare    给sxtshare 的组权限增加写     chmod o-rx   sxtshare   把sxtshare文件的其他人权限的读和执行减去 (r读,w写,x执行)   

34,su  切换用户

35,tar -zxvf  -C 解压缩,      -C可指定路径

36,$$打当前进程的id(BASHPID效果相同),  source file1.txt   将文件里的语句都执行(.效果相同)

37,bash 启动进程    bsah    file1.txt  与source 相同   或者在文件头输入#!/bin/bash   当执行文件执行(脚本本质)   bash  sh03.sh  &   后台执行

nohup后台启动

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

38,定义方法    sxt(){

}中间用分号隔开

39,IO重定向,0标准输入,1标准输出,2错误输出

ls -l  / 1>ls.txt  将ls 的显示输出到ls.txt中   两个大于号为追加

ls -l /   /god     1>ls07.txt    2>&  1   将错误的输出传给1,再将正确的输出和错误的输出再传给ls07.txt

id   $1 &>  /dev/null   将读取$1的信息重定向发到  /dev/null

read    sxt    0<<<"hello"    将hello   赋给sxt     

40,一个程序覆盖当前进程    exec   

41,local   只有在函数内生效,local  sxt = 100

42,     $#位置参数个数,$*参数列表,$@参数列表   ${11}引用第几个参数    $?  去除上一个命令的运行状态,0是成功,非0是失败

43,export导出变量,子进程可以使用父进程的变量

44,双引号弱引用,单引号强引用

45,$?取上一个命令的退出状态码,  &&全真为真, 

||有真为真,全假为假   (或)

46,a =1   ((a++))   c = $((a++))    echo$c    为2

47,test   3 -gt  8   -gt 大于, echo   $?     输出为1  1为假   与  [ ]效果一样

[ $#   -eq    1 ]   ||    exit      输入参数大于等于1向下执行,否则退出   ,-f检查是否为文件

48,./ 执行当前目录下的文件

49,if    ls-l /god  ;  then  echo "hello"   ;   else   "no ok"   fi

50,for  ((i=0;i<10;i++));do echo $i;    done

for i  in sdfkl  ssd sdsdfd   sdsdsd ;  do echo  $i;   done

51 , seq  10,    输出1到10,10个数,   

for i  in  'seq 10';  do echo $i;  done

52,while command  ;  do  command;  done  

53,``命令替换,将命令输出的结果变为变量

54,建立负载均衡模块

监控包

ipvsadm -A -t 192.168.9.100:80 -s rr      -A表添加,-tTCP协议,-s选择模式,rr循坏模式,只有端口为192.168.9.100:80可以访问

负载包 

-a -t|u|f service-address -r  service-address [-g|i|m] [-w weight]

-a 添加   -t|u|f service-address 事先定义好的某集群服务 ,-r  service-address 负载的服务地址  [-g|i|m]  表示为lvs模型   -g DR  -i TUN   -m NAT  [-w weight]  权重

 -L|l  查看     -lnc   lvs负载的记录   -C清空   -S 重定向保存     -R读取

55,ssh 远程访问      ssh [email protected]   'll'

56   ssh -nal    显示端口号

netstat -atunlp

你可能感兴趣的:(LINUX 常用操作命令及知识)