Linux命令

常用命令

查找

find /- name java
ps -ef | grep 

top:监控linux的系统状况,比如cpu、内存的使用

tail -n 200 xx.log查看log日志的最新n条

 tailf 总是从文件开头一点一点的读, 而tail -f 则是从文件尾部开始读

ps --ppid 进程号  根据进程号查看进程信息

cat /dev/null > /var/log清除日志内容

netstat -antp | grep pid 查看进程id号下有tcp连接

chmod +x  fileName 给文件执行权限

uptime 当前系统的启动时间

显示目前登入系统的用户信息

cat /proc/net/dev 查看正在使用的网卡名

1、dir命令 同ls 命令,用以查看目录、文件权限等详细信息

dir -l
dir -l filename 

2、 dirname指令

功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

用法:dirname filename

 

 

3、basename

功能:从给定的包含绝对路径的文件名中去除左边目录部分或者同时去除某个后缀的内容(目录的部分),然后返回剩下的部分(非目录的部分)

用法:basename filename [suffix]




4、

·(倒引号)如果被“倒引号”括起来,  表示里面需要执行的是命令。比如 `dirname $0`,  就表示需要执行   dirname $0  这个命令

“”被双引号括起来的内容,里面出现 $ (美元号: 表示取变量名) `(倒引号: 表示执行命令)\(转义号: 表示转义),其余的才表示字符串。

‘’被单引号括起来的内容,里面所有的都表示串,包括上面所说的三个特殊字符。

在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。


这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。


返回cd /root/temp


这样就可以知道一些和脚本一起部署的文件的位置了,只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行

5、

 BASH_SOURCE[0] 等价于 BASH_SOURCE, 取得当前执行的shell文件所在的路径及文件名。

5.1于/root/temp/zgf新建t1.sh

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
echo $DIR
DIR=$( cd "$( dirname ${BASH_SOURCE[0]} )/../" && pwd )
echo $DIR
DIR=`cd $( dirname ${BASH_SOURCE[0]} )/../ && pwd`
echo $DIR
结果输出

/root/temp
/root/temp
/root/temp

5.2于/root/temp/zgf新建文件t.sh,赋权限chmod +x t1.sh

echo "${BASH_SOURCE[0]}"
echo "${BASH_SOURCE}"
echo "$( dirname "${BASH_SOURCE[0]}" )"
DIR="$( cd "$( dirname ${BASH_SOURCE[0]} )" && pwd )"
echo $DIR

1.取得当前执行的shell文件所在的完整路径 

2. 执行dirname,并进入父级目录 

3. 打印当前工作目录 的过程


6、java -cp

-cp 参数后面是类路径,是指定给解释器到哪里找到你的.class文件。

要指定各个JAR文件具体的存放路径,相同路径有多个可使用通配符 

java -cp .;c:/classes/myClass.jar;d:/classes/*.jar packname.mainclassnam

packname.mainclassname为包含main方法的完全限定类名,如果在classpath中有多个还有main方法的类,通过此命令可以方便选定程序的入口

7、linux中shell变量$#,$@,$0,$1,$2的含义解释

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
区别:@ *
相同点:都是引用所有参数
不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数(分别存储在123)则"*" 等价于 “123"(传递了一个参数);而“@" 等价于 "1""2" "3"(传递了三个参数)

#t2.sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"
结果


例子

#!/bin/sh
num=$#
name=$0
echo "number:$num"
echo "scname:$name"
echo $0
echo $1
echo $2

for ((i=0; i<$num; i++))
do
    echo "$i"
done

echo "argume:$@"
for key in $@
do
    echo $key
done
echo "-----------------"
for key in "$@"
do
    echo $key
done
echo "-----------------------------"
for key2 in $*
do 
    echo $key2
done
echo "-----------------"
for key2 in "$*"
do 
    echo $key2
done

echo "show process id:$$"
cho
echo "show precomm stat: $?"

结果分析


8、df

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
-a或--all:包含全部的文件系统; 
--block-size=<区块大小>:以指定的区块大小来显示区块数目; 
-h或--human-readable:以可读性较高的方式来显示信息; 
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes; 
-i或--inodes:显示inode的信息; 
-k或--kilobytes:指定区块大小为1024字节; 
-l或--local:仅显示本地端的文件系统; 
-m或--megabytes:指定区块大小为1048576字节; 
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值; 
-P或--portability:使用POSIX的输出格式; 
--sync:在取得磁盘使用信息前,先执行sync指令; 
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息; 
-T或--print-type:显示文件系统的类型; 
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息; 
--help:显示帮助; --version:显示版本信息。

9、linux显示一个文件的某几行

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

9.1 显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000

9.2 从第3000行开始,显示1000行。即显示3000~3999行

cat filename | tail -n +3000 | head -n 1000

9.3 用sed命令

 sed -n '5,10p' filename 只查看文件的第5行到第10行。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值