linux常用命令

变量赋值,要紧凑,不要有空格

``命令模式,无法换行

1,暴力赋权(a:所有用户,w:写,x:执行,-R:递归所有)

chmod a+wx -R  foldername

2,查看文件系统格式

 df  -T -h

file -s /dev/vda1

cat /etc/fstab

3,查看文件夹大小 du 查看目录占用空间大小

 du -h --max-depth=1 

du -k 以K为单位查看2017-09-27 09:25

du -m 以M为单位查看

5,查看系统文件使用率

df -h

6,查找进程

ps -ef|grep java

7,同时杀死多个进程

 ps -ef|grep hbase|grep -v grep|awk '{print $2}'|xargs -t -i kill -9 {}

8,统计进程数

ps -ef|grep hbase|grep -v grep|wc -l|awk '{print $1}'

 netstat -anpt|grep 443|awk '/tcp/ {print $6}'|sort|uniq -c

9,时间同步

service ntpd start

ntpdate 172.18.70.10 和另一主机时间同步

10,sed 操作

#在文件某行前,添加一行

sed -i '1 s/^/good baby\n/' tt.txt

#把匹配的行注释,原文件备份

sed -e 's/^Defaults    requiretty.*/# &/' -i.bak /etc/sudoers

11,根据端口号查进程

netstat -lnp | grep 20880

查看所有进程和端口

netstat -apn

12,查看系统默认编码

locale

13, 压缩加密

zip -q -r -P password zipfile.zip sourcefiles.txt     #password 是加密密码

unzip -q -n -P password zipfile.zip -d /home/admpub/

13,命令连接符

&& : 成功=》依次执行

||     :失败,执行后面一个

14:shell脚本获取当前目录

V_EXEC_PATH=$(cd `dirname $0`;cd .; pwd)

15,格式化输出date

V_DATE=`date "+%Y%m%d%H%M%S"`

#获得几天前的数据 

DATE=$(date +%Y%m%d --date '2 days ago')

16,替换

sed -i 's/原字符串/替换字符串/g' filename   //替换文件中的所有匹配项

sed -e 's/^d.*/#&/g' -i.bak  test.file   //以d开头的行注释(#),并把原文件备份(test.file.bak) &:匹配的部分

17,cpu信息

# 查看物理CPU个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo| grep "cpu cores"| uniq

18,gzip

Linux压缩保留源文件的方法: 
gzip –c filename > filename.gz 
Linux解压缩保留源文件的方法: 
gunzip –c filename.gz > filename 

19, telnet

telnet ip port

telnet 132.228.27.62 2181

20,环境变量

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置

/etc/profile

. /etc/profile #使环境变量生效  source  /etc/profile

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认

~/.bash_profile

21:可显示电脑以及操作系统的相关信息。

uname -a

说明正在运行的内核版本

cat /proc/version

cat /etc/redhat-release            cat /etc/*release*

22,rpm

安装:rpm  -ivh  

查看:rpm -qa|grep -E '^mysql'

卸载 :rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64

22.yum info  <包名>(tcl)    #查看安装包信息

repoquery -q -l <包名>    #查看包文件,需安装yum-utils

23,ln 建立连接

ln -s 源文件 目标

24,find查找

find .|xargs grep -ri "IBM" -l  #查找目录下文件中包含的字符传,并打印文件

find -name kafka   #查找文件 可以模糊匹配 '*kafka*'

grep "kafka" 文件  #查找文件包含的字符串

grep -n "ERROR" Controller.log|tail -1|head -n  1 

25,进程限制信息

ulimit -a    #查看

ulimit -u 10240 #修改一个进程可以打开的最大文件数

26,命令后面  < /dev/null

程序编写中判别标准输入,当没看到标准输入文件结束程序就不退出.

26:

scp -P 22  -r -f /etc/yum.repos.d/httpsys.repo root@finai17:/etc/yum.repos.d/

-P:端口号

-r:目录递归

-f:已存在,先删除再复制

#root@ 默认同一要用户可以省略

27:排序 sort

sort                 #正序

sort  -r             #倒序

28:more

more +/2017-09-21T00:03:01  mongodb.log    #指定到第一次出现的所在页

29:标准文件描述符              

0STDIN标准输入
1STDOUT标准输出
2STDERR标准错误输出

nohup java  -Djava.ext.dirs=./  -classpath ./  HttpUrlUtil 1>/dev/null  2>nohup.out 0</dev/null &

#标准输出到null文件,错误输出到nohup.out ,标准输入为空

30:读取文件

while read line

 do

      echo $line     

 done < filename

31:注释

#     单行注释

多行注释:

:<<!    

 内容 

 !

32:awk

,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本

awk [-F  field-separator]  'commands'  input-file(s)

其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。

33:查看dns

1,cat /etc/resolv.conf   #可修改

2,nslookup www.baidu.com

34:本机IP

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"

35,时间差

V_DATE=`date "+%Y-%m-%d %H:%M:%S"`

V_LAST_START=grep restart crontab.log |tail -n 1|awk '{print $1,$2}'

V_TIME=`date -d  "$V_DATE" +%s`

V_LAST_TIME=`date -d  "$V_LAST_START" +%s`

V_DURA=`expr $V_TIME - $V_LAST_TIME`

36,查看java进程情况

 jstat -gcutil 316(pid)

37:echo

echo -n 不换行输出

echo -e 处理特殊字符

38:exec

a:使用了exec之后,你当前的这个shell的pid就没有了,被exec的命令所替代

b:当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令

exec < file  #file做当前输入源

  •  exec<${HADOOP_CONF}/topology.data

  •  result=""

  •  while read line ; do

  •    ar=( $line )

  •    if [ "${ar[0]}" = "$nodeArg" ]||[ "${ar[1]}" = "$nodeArg" ]; then

  •      result="${ar[2]}"

  •    fi

  •  done

39:shift 位置参数可以用shift命令左移,参数总数变少.

比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1$2$3丢弃,$0不移动。

不带参数的shift命令相当于shift 1

 

40:数组

arr=(lili jone tom)

for i in ${arr[@]}

do

  echo ${i}

done

1) 使用${array_name[@]} 或者 ${array_name[*]} 都可以全部显示数组中的元素

2) 同样道理${#array_name[@]} 或者 ${#array_name[*]}都可以用来求数组的长度

3) 使用${#array_name[0]}   #获得数组第一个元素

 

41:删除恢复 不要用rm -rf

lsof

 

 #文件刚刚被删除,想要恢复,先尝试lsof.

  #lsof |grep data.file1

  # cp /proc/xxx/xxx/xx

 /dir/data.file1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值