2007-04-22 12:26:00 tommy_lgj 阅读数 3700
  • Linux操作系统及常用基础命令深入讲解

    本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    29585 人正在学习 去看看 马永亮
  • –b 当file存在并且是块文件时返回真
  • -c 当file存在并且是字符文件时返回真
  • -d 当pathname存在并且是一个目录时返回真
  • -e 当pathname指定的文件或目录存在时返回真
  • -f 当file存在并且是正规文件时返回真
  • -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
  • -h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
  • -k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
  • -p 当file存在并且是命令管道时返回为真
  • -r 当由pathname指定的文件或目录存在并且可读时返回为真
  • -s 当file存在文件大小大于0时返回真
  • -u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
  • -w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
  • -o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。

UNIX Shell 里面比较字符写法:

  • -eq   等于
  • -ne    不等于
  • -gt    大于
  • -lt    小于
  • -le    小于等于
  • -ge   大于等于
  • -z    空串
  • =     两个字符相等
  • !=    两个字符不等
  • -n    非空串  
2019-06-21 18:02:34 qq_34595352 阅读数 32
  • Linux操作系统及常用基础命令深入讲解

    本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    29585 人正在学习 去看看 马永亮

if-then语句

# if 根据 后面命令执行的退出状态码决定是否执行后面的语句,只有退出码为0时,才会执行;
# 命令执行出错的提示也会显示在终端--这个问题待解决
if pwd
then
	echo "pwd is success"
fi
# 另一种形式
if pwd; then
	echo "pwd is success"
fi

if-then-else语句

# if后面的命令执行失败后会执行else后面的语句
if pwd
then
	echo "pwd is success"
else
	echo "pwd is failure"
fi

嵌套if

if pwd
then
	echo "pwd is success"
else
	if who
	then
			echo "who is success"
	fi
fi
#另外一种形式的嵌套, 注意在elif语句中,后面的else属于elif 代码块,而不属于之前的if-then
if pwd
then
	echo "pwd is success"
elif who
then 
	echo "who is success"
else
	echo "who is failure"
fi

test命令
测试命令状态退出码之外的条件

# 如果不写test后面的内容,直接智选哪个else部分
if test
then
	echo a
else
	echo b
fi
# 测试变量时,若变量值为空则执行else中的语句 var=""
if test $var
then
fi
# 另外一种测试方法,无需声明test命令,用 [ ] 代替,但要注意的是方括号前后要加空格!!!
if [ somethint ];
then
	echo a
fi

test命令可以判断三类条件:数值比较字符串比较文件比较

数值比较

比较 描述
n1 -eq n2 相等
n1 -ge n2 大于等于
n1 -gt n2 大于
n1 -le n2 小于等于
n1 -lt n2 小于
n1 -ne n2 不等于

*注意单词缩写,方便记忆
*bash shell 只能处理整数,处理浮点数时会报错

if [ $var1 -lt 5 ];
then
fi

if [ $var1 -lt $var2 ];
then
fi

字符串比较
*字符串比较时需要对 > 和 < 进行转义
*大于和小于顺序和sort顺序相反,test中大写字母小于小写字母,sort中相反
*test用标准的ASCII顺序,sort用系统的本地语言设置中定义的排序顺序
*空的和未初始化的变量会对shell脚本测试造成灾难性的影响!!!

比较 描述
str1 = str2 相等
str1 != str2 不相等
str1 < str2 小于
str1 > str2 大于
-n str2 字符串长度是否非0
-z str2 字符串长度是否为0
if [ $var1 \> $var2 ];
then
fi
var1=test
var2=''
if [ -n $var1 ];then
	echo not empty
fi
if [ -z $var2 ]; then
	echo empty
fi
# 对于未定义的变量,长度仍然为0
if [ -z $var111 ]; then
	echo empty
fi

文件比较

比较 描述
-d file 检查是否存在并是一个目录
-e file 检查file是否存在
-f file 检查file是否存在并是一个文件
-s file 检查file是否存在并非空
-w file 检查file是否存在并可写
-r file 检查file是否存在并可读
-x file 检查file是否存在并可执行
-O file 检查file是否存在并属于当前用户所有
-G file 检查file是否存在并且默认组与当前用户相同
file1 -nt file2 检查file1是否比file2新
file1 -ot file2 检查file1是否比file2旧

-nt 和 -ot 检查是如果文件不存在,可能会返回一个错误的结果,所以使用是必须保证两个文件都是存在的

if [ -d file1 ]; then
fi

符合条件测试
使用布尔逻辑来组合测试

if [ -d $HOME ] && [ -w $HOME/testing ]; then
fi
if [ -d $HOME ] || [ -w $HOME/testing ]; then
fi

if-then的高级特性
用于数学表达式的 双括号

符号 描述
val++ 后增
val– 后减
++val 先增
–val 先减
! 逻辑求反
~ 位求反
** 幂运算
<< 左移位
>> 右移位
& 位布尔和
| 位布尔或
&& 逻辑和
|| 逻辑或
# 不需要将双括号内的符号转义, 这是另一个高级特性
if (( $val ** 2 > 90 ));then
fi

用于高级字符串处理的 双方括号

# 可以使用test命令的标准字符串比较
if [[ $var = "hahah" ]];then
fi
# 高级特性,模式匹配, 双等号将右边的字符串视为一个模式
if [[ $USEER == ro* ]];then
fi

case命令

case $var in
tra2 | tra4)
	echo "it's me"  #此处没有双 ;; 号
	echo "2,4";;
tar1)
	echo "1";;
*)
	echo "you are not allowed here";;
esac
2016-03-10 21:05:21 ZUOYEXIFENG_VIP 阅读数 291
  • Linux操作系统及常用基础命令深入讲解

    本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    29585 人正在学习 去看看 马永亮

Linux命令总结

卸载linux : sudo dd if=/usr/lib/syslinux/mbr.bin

of=/dev/sda”以重置 mbr

Linux命令严格区分大小写

几个简单命令

date:显示系统的时间;

cal:显示当月的日历;

df :显示磁盘驱动器可用的空间

free :显示可用内存;

exit :结束终端;

导航

pwd :显示当前工作目录;

ls :列出目录的内容;

ls 也可以列出制定目录的内容;

ls 还可以列出多个目录的内容

cd :改变工作目录;

绝对路径:表示根目录

相对路径:.表示工作目录;..表示父目录;

操作文件与目录

cp 复制文件;

mv 移动或重命名文件和目录;

mkdir 创建目录;

rmdir 删除目录;     只能删除非空目录

rm 删除文件;

ln 创建硬链接和符号链接;

2019-06-05 10:46:31 maqingbin8888 阅读数 54
  • Linux操作系统及常用基础命令深入讲解

    本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    29585 人正在学习 去看看 马永亮

查找字符在一个目录下

在 /home 目录下的所有文件中查找包含 test 字符串的文件
grep -r -e "test" /home/

解压/压缩jar包

解压缩包

unzip xxx.jar -d test/ 将xxx.jar包解压到test目录里

打jar包

jar cvf0 xxxx.jar ./* 将当前目录打成一个jar包 0表示里面的内容不压缩
一个小例子
在这里插入图片描述

增加MANIFEST.MF文件

jar -uvfm xxx.jar MANIFEST.MF 将MANIFEST.MF文件放入jar包里 通常有时MANIFEST.MF不正确我们要手动弄

lsof

lsof -i:9002 知道9002端口现在运行什么程序

查看磁盘

df -hl 磁盘大小空间使用情况
du -h --max-depth=1 磁盘目录文件大小
du -sh * 查看当前目录下的文件大小

日志操作

不输出日志

/dev/null表示将产生的信息丢弃
nohup sh start.sh &>/dev/null &
nohup java -jar qbsea.jar &>/dev/null &

输出到日志文件

nohup sh start.sh &>xxx.log 2>&1 &
nohup java -jar qbsea.jar &>xxx.log 2>&1 &

清空日志

echo “” > xxx.log

shell

引用变量

APP_NAME=user
xxx/$APP_NAME/xxx

#! /bin/sh
JAR_VERSION=1.0.4-SNAPSHOT
JAR_NAME=globalrouter-service-${JAR_VERSION}_original.jar

脚本传参

aaa.sh

#! /bin/sh
MY_PARAM1_INPUT=$1
MY_PARAM2_INPUT=$2
echo $MY_PARAM1_INPUT $MY_PARAM2_INPUT

执行时
./aaa.sh aaa bbb
会输出 aaa bbb
判断脚本的个数 $#

if [$#==2] ; then
    echo "录入了两个参数"
fi

逻辑与 逻辑非

-a 代表逻辑与

#判断两个字符串都不能为空
if[ ! -z "$SEVER_ADDRESS" -a ! -z "$RAFT_CONF" ];
then
    echo " 这两个变量都不能为空"
else
    echo"xxxx"
fi

case

case "$1" in      #$1为变量
   xxxstartxxx)   #匹配上xxxstartxxx
           echo "this is start" #写你要执行的命令
           ;;              #代表命令执行完毕
   xxxstopxxxx)   #匹配上xxxstopxxx
           echo "this is stop" #写你要执行的命令
           ;;              #代表命令执行完毕
   *)           #默认值,没有匹配的模式
           echo "this is default value"  #默认值执行的命令
    ;; 
esac          #代表case语句的结束

if语句

if fi的用户

a=10
b=20
if [ $a < $b ]
then
   echo "a is equal to b"
fi

判断一个字符串变量是否为空

c=""
if [  -z "$c" ]   #判断一个字符串是否为空
then
   echo "c is null"
fi

#判断两个字符串都不能为空
if[ ! -z "$SEVER_ADDRESS" -a ! -z "$RAFT_CONF" ];
then
    echo " 这两个变量都不能为空"
else
    echo"xxxx"
fi

if else fi

a=10
b=20
if [ $a == $b ]
then
  echo "a is equal to b"
else
  echo "a is not equal to b"
fi

敲击脚本目录,具有通用性

#! /bin/bash
cd `dirname $0`
DEPLOY_DIR=`pwd`
echo $DEPLOY_DIR

./bbb.sh 后执行
/applog/maqingbin/shtest

pid记录到文件中去

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45
SERVICE_DIR=/maqingbin
PID=qbsea.pid
nohup JAVA_HOME/bin/java -jar qbsea.jar &>/dev/null & #执行程序的命令丢弃日志
echo $!> $SERVICE_DIR/$PID   #$!为最后运行的后台Process的PID 会往qbsea.pid文件里写

调用带返回值命令

kill `cat $SERVICE_DIR/$PID` 也可以利用进行linux调用java获得值
gate=`/usr/lib/jvm/jdk1.7.0_45/bin/java -jar /tmp/maqingbin/linuxCmd.jar` 
if [ $gate -ge  90 ] ; then  
     delFile; 
fi

ps -ef|grep

ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}' 
ps -ef |   全格式显示当前所有进程 
grep -w "$SERVICE_NAME" 滤出"$SERVICE_NAME"的进程
grep -v grep        把grep这个进程忽略掉 
awk '{ print $1; }'    输出第一列```

linux的日期

currentDate=`date +%Y%m%d_%H%M%S`  #20180525_190115 
mkdir ${currentDate}

linux的rpm

rpm -qa | grep -i mysql   查询mysql这个应用是否有安装 如果有安装会有列表

rpm -ev  xxxMySQL-devel-5.6.23-1.linux_glibc2.5 xxx    删除列表中的组件 
也可以写成  rpm -e --nodeps xxxmysql-libs-5.1.71-1.el6.x86_64xxx 
2019-12-03 17:14:22 weixin_40214019 阅读数 7
  • Linux操作系统及常用基础命令深入讲解

    本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    29585 人正在学习 去看看 马永亮

常用的linux命令

Linux系统启动默认为字符界面,Linux常见命令包括:cd、ls、pwd、mkdir、rm、cp、mv、touch、cat、head、tail、chmod、vim等。

Linux命令集

基础命令相关一:

cd、ls、pwd、help、man、if、for、while、case、select、read、test、ansible、iptables、firewall-cmd、salt、mv、cut
uniq、sort、wc、source、sestatus、setenforce

基础命令相关二:

date、ntpdate、crontab、rsync、ssh、scp、nohup、sh、bash、hostname、hostnamectl、source、ulimit、export
env、set、at、dir、db_load、diff、dmsetup、declare

用户权限相关:

useradd、userdel、usermod、groupadd、groupmod、groupdel、Chmod、chown、chgrp、umask、chattr、lsattr、id、who
whoami、last、su、sudo、w、chpasswd、chroot

文件管理相关:

touch、mkdir、rm、rmdi、vi、vim、cat、head、tail、less、more、find、sed、grep、awk
echo、ln、stat、file

软件资源管理:

rpm、yum、tar、unzip、zip、gzip、wget、curl、rz、sz、jar、apt-get、bzip2
service、systemctl、make、cmake、chkconfig

系统资源管理:

fdisk、mount、umount、mkfs.ext4、fsck.ext4、parted、lvm、dd、du、df、top、iftop、free、w、uptime、iostat
vmstat、iotop、ps、netstat、lsof、ss、sar

网络管理相关:

ping、ifconfig、ip addr、ifup、ifdown、nmcli、route、nslookup、traceroute、dig、tcpdump、nmap
brctl、ethtool、setup、arp、ab、iperf

Linux系统开关机

init、reboot、shutdown、halt、poweroff、runlevel、login、logout、exit

cd命令详解

cd命令主要用于目录切换,例如:cd  /home切换至/home目录,cd /root表示切换至/root目录 ;cd ../切换至上一级目录;cd  ./切换至当前目录。

linux命令之ifconfig

阅读数 212

没有更多推荐了,返回首页